2014-02-27 21 views
0

是否有任何方法檢測系統聲音而不是麥克風聲音?我希望能夠在我的系統發出聲音而不是麥克風拾取實際聲音時檢測到。在Windows上使用Python檢測系統聲音

我發現這樣做的一種方式是使用「軟件或硬件中的音頻環回(例如,將揚聲器'輸出'插孔中的導線連接到'插孔中的麥克風')。」

Capturing speaker output in Java

我建立每當系統聲音發生,但我不想,如果狗叫它熄滅播放MP3文件的程序。

謝謝!

回答

0

什麼東西與pyaudio(http://people.csail.mit.edu/hubert/pyaudio/

像這樣:

import pyaudio 

chunk = 1024 

p = pyaudio.PyAudio() 

stream = p.open(format=pyaudio.paInt16, 
       channels=1, 
       rate=44100, 
       input=True, 
       frames_per_buffer=chunk) 

data = stream.read(chunk) 

然後你可以計算出音頻採樣的根均方(RMS),並從那裏走。

編輯: 您可以通過執行以下操作來查看可以使用哪種設備。 (http://people.csail.mit.edu/hubert/pyaudio/docs/#pyaudio.PyAudio.get_device_info_by_index

import pyaudio  
p = pyaudio.PyAudio() 

for i in xrange(0,10): 
    try: 
     p.get_device_info_by_index(i) 
    except Exception,e:print e 
+0

是否從系統聲音或麥克風讀取? – Mushmellow

+0

@Mushmellow編輯信息 – jmunsch