在 Python 上存储声音

Storing sounds on Python

我一直在尝试让我的 python 代码根据输入存储声音。我正在努力开发代码,我在网上找到的所有资源都没有帮助。谁能给我一些建议?

我正在尝试创建一个程序来存储用户名并要求他们说出来,并为每个特定名称存储声音。它也可以播放。

据我了解,您想为每个名字保存音频文件,然后向用户询问 his/her 名字。如果名称匹配,则您要播放包含 his/her 名称的文件。 如果以上理解正确,你可以通过多种方式实现。

最简单的方法是以某种音频格式(例如 wav)存储您想要的名称。 在这里,我从网上获得了几个美国城市的音频发音。 接下来将这些文件存储在一个文件夹中。

出于演示目的,我在同一个文件夹中添加了名称的代码和音频文件。

接下来使用 python 我们创建一个字典,其中键作为名称,其对应的音频文件作为值。

您可以通过阅读文件夹并以文件名作为关键字动态生成字典(适合您的练习)来使它变得有趣。

既然您使用了 Directsound 标签,我假设您使用的是 windows。 您可以使用 winsound 库(我相信这是标准库)

然后您可以向用户询问 his/her 姓名。如果名称与字典中的键值匹配,则播放名称,否则播放错误文件。

工作代码

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