2017-10-12 5 views
0

음성 샘플을 변환하여 데이터베이스에 기록해야합니다.음성을 녹음하고 주파수를 분석하는 가장 좋은 방법은 무엇입니까?

저는 디지털 신호 처리에 완전히 익숙하지 않아 도움이 될 수 있습니다. 누군가 나를 위해 손을 잡고 조금이라도 할 수 있다면, 그것은 매우 감사 할 것입니다.

궁극적으로 목표는 음성 샘플에서 이상 치를 찾는 것입니다. 그러나 이렇게하려면 주파수와 헤르쯔를 얻어야합니다. 그러나 나는 어디에서 시작해야할지 모른다.

참고 저는 대부분의 프로그래밍 언어, Java, Python, Node 및 Ruby에 대한 지식이 있습니다. 실제로 코드 샘플이 가장 높이 평가됩니다. 감사.

답변

1

시계열을 주파수로 분해하는 데는 여러 가지 방법이 있습니다. 출발점으로 SciPy 라이브러리에 관한 문서를 읽으면서 SciPy 내의 신호 처리 도구 상자 인 scipy.signal을 읽어 볼 것을 제안합니다.

신호의 주파수를 간단히 분석하려면 여기에서 설명한 웰치 방법을 사용하는 것이 좋습니다 : https://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.signal.welch.html. 그래서, 샘플링 속도 Fs를 가진 신호 x 주어, 당신은 pwelch 방법을 사용하여 각각의 주파수 빈의 전력을 얻을 수있는이 (파이썬 배)와 같은 :

당신은 선택적 매개 변수와 함께 연주에 따라 시도해야
from scipy import signal 
decomposed = signal.welch(x, fs = Fs) 

# Output is a tuple with frequency bins and the power at each bin 

데이터 구조 및 원하는 파워 스펙트럼 밀도의 분해능. 예 :

decomposed = signal.welch(x, fs = Fs, nperseg = Fs*4, noverlap = Fs*2)