2017-07-19 106 views
0

我正在使用pyaudio和pocketsphinx來聆聽我的計算機上的麥克風並翻譯我所說的內容。我想知道的是,如果可以讓程序聽到它的聲音,並在聽到句子之後,進一步處理它,方法是刪除由75%創建的臨時wav文件的一部分,如果它低於某個特定的閾?因此,舉個例子,你說一個句子,程序等着你說完,然後一旦它檢測到一個長時間的中斷,它會停止監聽,並將wav文件數據放入一個函數中,將單詞之間的空格消除75%,然後繼續將縮短的wav文件傳遞到pocketsphinx庫進行語音識別。我聽說過使用numpy和scipy的其他解決方案,但是該循環要求用戶使用鼠標手動指定wav頻譜圖內的修剪段。我想要在代碼中自動處理。任何幫助將不勝感激!如何修剪Python中的wav文件

回答

1

只要沒有GUI,numpy和scipy解決方案就不需要用戶交互。

>>> from scipy.io.wavfile import read 
>>> a = read("adios.wav") 
>>> numpy.array(a[1],dtype=float) 
array([ 128., 128., 128., ..., 128., 128., 128.]) 

scipy.signal擁有許多用於該類操作的內置函數。

已經有關於這一主題的其他職位:

Python: write a wav file into numpy float array

How to manipulate wav file data in Python?

What is the easiest way to read wav-files using Python [summary]?