python - 在Python上存储声音

标签 python audio directsound

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

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

最佳答案

因此,据我了解,您想要为每个名称保存音频文件,然后要求用户提供其姓名。如果名称匹配,则您要播放包含他/她姓名的文件。
如果以上理解是正确的,则可以通过多种方式实现。

最简单的方法是以某种音频格式(例如,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()

关于python - 在Python上存储声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49985453/

相关文章:

python - cx_freeze 一直在 python/libs 中查找,而不是在已编译的库中查找

python - 预期的字符串或缓冲区(在 re.sub 中)

python - Celery periodic_task 并行运行多次

html - 三星Smart TV App中的多种声音(音频和视频)

C# 将音频从 8khz 重采样到 44.1/48khz

audio - 如何使用Visual C++在MFC中播放声音?

python - 循环中的 Tkinter 名称小部件

android - 设置通知声音

actionscript-3 - 如何向 Flash 平台添加新的 API 以启用增强音频?

windows - 如何从 DLL 中获取 HWND?