蟒蛇声(康茄舞)

时间:2017-08-14 06:18:57

标签: python audio ipython conda

我正在寻找一种在完成代码后播放任何声音的方法。 我已经尝试了很多方法来做到这一点。

例如:

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

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

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

print ("\a")

但他们都没有在conda(ipython notebook)中工作

你知道如何在康达,任何声音中做到这一点 理想的是不使用音乐文件,使用来自系统声音的东西,但这并不重要。重要的是快速执行。

我在Windows 10上使用Python 3.

由于

3 个答案:

答案 0 :(得分:1)

您是否尝试过使用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)

答案 1 :(得分:1)

conda中有一个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

希望它有所帮助....快乐编码

答案 2 :(得分:0)

在同一个winsound模块中,有一个名为Beep(Hz,ms)的方法,当以赫兹写入的频率调用时,以及以毫秒为单位的时间内调用正弦波

您的代码可以是这样的:

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")