2024-05-17 13:08:48 发布
网友
我的问题:我当前有一个声音文件,其中包含我录制的特定声音。我想能够识别声音何时再次播放超过2秒。音量对我来说并不重要,我希望能够识别何时播放特定的音符。例如,该文件包含音符a(la)的录音,如果我在麦克风旁边的钢琴上弹奏音符a,覆盆子圆周率将打印“正确”或其他内容。我无法识别音符,之前的研究建议使用FFT函数查找频率/频率,但我一直无法找到它。您是否建议我使用任何库来实现此功能
理想情况下,我能够识别外部声音的音调。一旦我有了音高,我就可以在一个频率范围内检查它
您确实希望使用类似FFT的东西,它同时提供numpy和scipy功能。这个想法是,你收集一个麦克风输入的缓冲区,对其应用FFT,然后你会尝试找出最强大的频率是否是你正在寻找的音符的频率。有tables可以告诉你每个音符的频率
numpy
scipy
你实际上是在做一个spectrogram
如果需要操作顺序:
np.fft.fftfreq
识别注释(该部分在循环中)
在选定大小的缓冲器中采集信号
应用FFT
在频域中查找最高值
在查找表中的错误范围内查找相应注释
有用功能:
Numpy FFT
Numpy FFTFREQ
Numpy ARGMAX
其他有用的问题:
Maintain a streaming microphone input in Python
您确实希望使用类似FFT的东西,它同时提供
numpy
和scipy
功能。这个想法是,你收集一个麦克风输入的缓冲区,对其应用FFT,然后你会尝试找出最强大的频率是否是你正在寻找的音符的频率。有tables可以告诉你每个音符的频率你实际上是在做一个spectrogram
如果需要操作顺序:
np.fft.fftfreq
确定频率标度(N相同 长度(作为缓冲区)识别注释(该部分在循环中)
在选定大小的缓冲器中采集信号
应用FFT
在频域中查找最高值
在查找表中的错误范围内查找相应注释
有用功能:
Numpy FFT
Numpy FFTFREQ
Numpy ARGMAX
其他有用的问题:
Maintain a streaming microphone input in Python
相关问题 更多 >
编程相关推荐