나는 신경망을 사용하여 음성 인식 작업을하고 있습니다. 그렇게하려면 해당 교육용 오디오 파일 (.wav)의 스펙트로 그램을 가져와야합니다. 파이썬으로 그 스펙트로 그램을 얻는 방법?음성 분석에서 스펙트로 그램 플롯
답변
이렇게하는 방법은 다양합니다. 가장 쉬운 방법은 Kaggle competition TensorFlow Speech Recognition Challenge에있는 Kernels에서 제안 된 방법을 확인하는 것입니다. This one은 특히 명확하고 간단하며 다음 기능을 포함합니다. 입력은 wav 파일에서 추출한 샘플의 숫자 벡터, 샘플 속도, 프레임의 크기 (밀리 초), 단계 (보폭 또는 건너 뛰기) 크기 (밀리 초) 및 작은 간격 띄우기입니다. 보다 여전히 더 큰 값을 유지하면서
from scipy.io import wavfile
from scipy import signal
import numpy as np
sample_rate, audio = wavfile.read(path_to_wav_file)
def log_specgram(audio, sample_rate, window_size=20,
step_size=10, eps=1e-10):
nperseg = int(round(window_size * sample_rate/1e3))
noverlap = int(round(step_size * sample_rate/1e3))
freqs, times, spec = signal.spectrogram(audio,
fs=sample_rate,
window='hann',
nperseg=nperseg,
noverlap=noverlap,
detrend=False)
return freqs, times, np.log(spec.T.astype(np.float32) + eps)
출력은 스펙트로가 단조 함수로 재 스케일링되는 것을 예외로 상기 SciPy manual에 정의는 (로그()), 이는 작은 값보다 더 큰 값을 누른다 작은 값. 이 방법은 스펙의 극단적 인 가치가 계산을 지배하지 않습니다. 또는 일부 quantile에서 값을 제한 할 수 있지만 log (또는 제곱근)를 선호합니다. 출력 : 또는
freq (f) : ndarray, Array of sample frequencies.
times (t) : ndarray, Array of segment times.
spec (Sxx) : ndarray, Spectrogram of x. By default, the last axis of Sxx corresponds to the segment times.
"왕따"에서 극단적 인 값을 방지하기 위해 즉, 스펙트로 그램의 높이를 정상화하는 많은 다른 방법은에서 github repo에 train.py 및 models.py 코드를 확인할 수있다 Tensorflow example on audio recognition.
Here is another thread 파이썬에서 스펙트로 그램을 구현하는 방법을 설명하고 코드를 제공합니다.
당신은 freqs, 시간 및 사양에 의해 반환되는 것을 도울 수 있습니까 ?? 나는 문서를 보았지만 여전히 혼란 스럽다. @Oleg Melnikov – kks
@kks : 출력에 대한 추가 설명을 참조하십시오. 도움이되기를 바랍니다. –
당신은 스펙트로 그램을 만들기 위해 NumPy와,SciPy와 하기 matplotlib 패키지를 사용할 수 있습니다. 다음 게시물을 참조하십시오. http://www.frank-zalkow.de/en/code-snippets/create-audio-spectrograms-with-python.html
Scipy는이 용도로 사용됩니다. 스펙트로 그램
import matplotlib.pyplot as plt
plt.pcolormesh(segment_time, sample_freq, spec_data)
plt.ylabel('Frequency [Hz]')
plt.xlabel('Time [sec]')
plt.show()
- 1. Librosa를 사용하여 멜 - 스펙트로 그램 플롯
- 2. matlab 3D 스펙트로 그램
- 3. 사운드 스펙트로 그램
- 4. Matlab의 스펙트로 그램
- 5. 웨이브 파일의 스펙트로 그램
- 6. 스펙트로 그램 - 특정 영역을 희게하기
- 7. Bokeh : 스펙트로 그램 플러시 방법
- 8. wav 파일의 루프에 스펙트로 그램 수치 저장
- 9. matplotlib로 순수한 부비동의 스펙트로 그램 만들기
- 10. matlab 스펙트로 그램 플롯에 세로선 그리기
- 11. 오디오 파일 스펙트로 그램 값 이해
- 12. 파이썬으로 스펙트로 그램 생성하기 (그리기 없음)
- 13. 자바에서 FFT를 사용하여 .wav에서 스펙트로 그램 만들기
- 14. 최근 신경망 음성 인식 시스템에서 스펙트로 그램을 사용하는 이유는 무엇입니까?
- 15. Web Audio API에서 음성 입력을 처리 할 때 전체 스펙트로 그램 해상도를 어떻게 활용할 수 있습니까?
- 16. 오디오 파일 스펙트로 그램, 진폭 또는 시간 대 주파수입니까?
- 17. 고정 길이의 데이터 샘플을위한 iPhone의 스펙트로 그램 만들기
- 18. wav 파일의 스펙트로 그램 계산 및 녹음 사운드 (볼륨 정규화)
- 19. 스펙트로 그램 기능의 결과를 어떻게 표시 할 수 있습니까?
- 20. 스펙트로 그램을 MATLAB을 사용하여
- 21. 파이썬의 스펙트로 그램을위한 FFT
- 22. 다단계 분석에서 중재 효과를 플롯 팅 R
- 23. MATLAB의 실시간 음성 변환
- 24. 스펙트로 그램을 플롯 할 배열을 올바르게 노멀 라이 제이션하는 방법
- 25. 스펙트로 그램을 효율적으로 렌더링 렌더링
- 26. 코어 플롯 그래프 대신 음성 오버?
- 27. GUIDE 스크립트로 스펙트로 그램을 인쇄하십시오.
- 28. 다중 선형 회귀 분석에서 플롯 잔여 오차 그래프
- 29. 그램
- 30. FFT를 스펙트로 그램으로 변환
을 시각화하는 matplot 라이브러리
사용이 파이썬 모듈 참조 : [음성 인식] (https://github.com/Uberi/speech_recognition) – jdoe
@kks, 내 대답은 도움이되었습니다 당신? –
네 ... 당신의 대답에서 좋은 자원을 얻었습니다. @Oleg Meknikov – kks