파이썬으로 음성 해석 #1FFT편

4882 단어 Python3PythonFFT

Python으로 음성 분석을 해보도록 하겠습니다.


이 기사에서 파이썬의 음성 해석을 순서대로 소개한 이리보.

선결 조건

  • Python이 설치되었습니다
  • cmd는py나python을 통해python 해석기를 시작할 수 있습니다
  • 내 환경

  • Windows10 Home 64bit
  • Python3.7.4
  • Visual Studio Code(VSCode)
  • Vim
  • 필요한 Python 라이브러리

  • numpy
  • wave
  • matplotlib.pyplot
  • 설정 가져오기
    import numpy as np
    import matplotlib.pyplot as plt
    

    제1장~ 데이터의 준비~


    나는 적당한 음성 데이터를 읽고 분석하는 것이 하나의 절차라고 생각하지만, 우선 간단하게 보기 위해 데이터를 제작한다. 우리는 다음과 같이 정현파를 제작한다.
    정현파 생성하기
    def make_wave():
        fs = 48000 # サンプリングレート
        f = 10 # 周波数
        t = np.linspace(0,1,fs) # 1秒を48,000分割
        y = np.sin(2*np.pi*f*t) # 正弦波を作成
        return y
    
    나중에 재활용하고 싶어서 함수로.

    2장~ 그려보자~


    그럼 준비된 파도를 그려서 외관을 봅시다.
    드로잉
        sig = make_wave()
        plt.plot(sig)
        plt.show()
    
    확실히 진동파를 10번이나 만들었어요.
    이때 가로축은 단순한 데이터 수이기 때문에 0~4800이 된다.

    3장 ~ 해석편 전~


    지금까지의 코드를 총괄하면 다음과 같다.
    총결산
    # -*- coding: utf-8 -*-
    
    import numpy as np
    import matplotlib.pyplot as plt
    
    def make_wave():
        fs = 48000
        f = 10
        t = np.linspace(0,1,fs)
        y = np.sin(2*np.pi*f*t)
        return y
    
    def main():
        sig = make_wave()
        plt.plot(sig)
        plt.show()
    
    if __name__ == '__main__':
        main()
    
    매우 간단한 코드지만 이것만으로도 데이터를 만들고 확인할 수 있다.
    python 참 편리하네요.
    다음에 분석을 정리해 보겠습니다. 이번에는 짧지만 이만 가보겠습니다.

    다음 장 ~ Fast Fourier Transform ~


    빠른 부립엽 변환 정보

    좋은 웹페이지 즐겨찾기