2017-08-14 72 views
0

我正在尋找一種方式在完成代碼後播放任何聲音。 我已經嘗試了很多方法來做到這一點。python中的聲音(conda)

例如:

os.system('say "your program has finished"') 

sys.stdout.write('\a') 
sys.stdout.flush() 

winsound.PlaySound('SystemAsterisk', winsound.SND_ALIAS) 

print ("\a") 

但他們都不是在暢達(IPython的筆記本)

你知道任何方式做到這一點的暢達的工作,任何聲音 理想不會使用的音樂是文件,使用系統聲音中的內容,但這並不重要。重要的是快速執行。

我使用Python 3在Windows 10

感謝

+0

你嘗試過pygame嗎?當我試圖用Python播放聲音時,它對我來說很方便。但是,我從來沒有在ipython筆記本中使用它 – Quba

回答

1

有一個speech庫暢達,可以解決您的查詢,以及提供額外的功能集: 首先,你需要安裝的軟件包:

pip install -i https://pypi.anaconda.org/pypi/simple speech 

之後,簡單地嘗試:

import speech 
speech.say('Completed coding', 'es_ES') 

在Windows 10上,它包含一個語音引擎。 安裝module win32com,那麼你可以使用此代碼:

import win32com.client as wincl 
speak = wincl.Dispatch("SAPI.SpVoice") 
speak.Speak("Finished coding") 

欲瞭解更多信息,請查看:https://anaconda.org/pypi/speech

希望它可以幫助....快樂編碼

0

您是否嘗試過使用IPython.display.Audio? 這是在ipython筆記本中播放聲音的正確方法。

你就可以使用numpy的從數據中的聲音,如

# Generate a sound 
import numpy as np 
framerate = 44100 
t = np.linspace(0,5,framerate*5) 
data = np.sin(2*np.pi*220*t) + np.sin(2*np.pi*224*t)) 
Audio(data,rate=framerate) 
0

在同廣州市運生模塊,有是一種稱爲Beep(Hz,ms)的方法,當以赫茲寫入的頻率中調用正弦波時,以及以毫秒爲單位提及的時間量

您的代碼可能類似於th是:

os.system('say "your program has finished"') 

sys.stdout.write('\a') 
sys.stdout.flush() 

winsound.Beep(440, 150) # A sine wave of 440Hz will be heard by your 
          # speakers for 150ms 

print ("\a")