我一直试图让我的python代码根据输入存储声音。我正在努力开发代码,我在网上发现的所有资源都很有帮助。任何人都可以给我一些建议吗?
我正在尝试创建一个存储用户名的程序,并要求他们说出来并为每个特定名称存储声音。它也可以播放。
答案 0 :(得分:0)
根据我的理解,您希望为每个名称保存音频文件,然后询问用户他/她的名字。如果名称匹配,则您要播放包含其姓名的文件。 如果上述理解是正确的,您可以通过多种方式实现这一目标。
最简单的方法是以某种音频格式存储您想要的名称(例如,wav)。 在这里,我从网上获得了几个美国城市的音频发音。 接下来,将这些文件存储在文件夹中。
出于演示目的,我在相同文件夹中包含名称的代码和音频文件。
接下来使用python我们创建一个字典,其中键作为名称,相应的音频文件作为值。
你可以通过阅读文件夹并动态生成字典,文件名为关键字(对你来说是一个例外)来表达它。
由于您使用了Directsound
代码,我假设您正在使用Windows。
您可以使用winsound
库(我认为是标准库)
然后您可以询问用户他/她的名字。如果名称与字典中的键值匹配,则可以播放名称,否则播放错误文件。
工作代码
import winsound
names = {'NewYork' : 'NewYork.wav',
'LosAngeles' : 'LosAngeles.wav',
'Denver' : 'Denver.wav',
'Dallas' : 'Dallas.wav'
}
def error():
print("{} not in database".format(name))
winsound.Beep(2500, 1000) #freq, duration in ms
name = raw_input("enter name:")
if name in names:
winsound.PlaySound(names.get(name), winsound.SND_FILENAME)
else:
error()