Python 音频模块2025年3月17日 | 阅读11分钟 Python 编程语言如今因其用户友好的特性而处于领先地位。Python 还有许多有趣的模块和库,用户可以通过它们做很多事情。Python 语言最有趣的 特性 之一就是它的音频模块。在本文中,我们将讨论各种类型的音频模块及其独特的特性和优点。 本文将介绍 Python 中的 10 种不同类型的音频 模块 和库
让我们一一了解上述音频模块。 1. PYOPYO 是一个 Python 模块,用 C 编程语言编写,用于创建数字信号处理脚本。此 Python 模块包含用于处理各种音频信号类型的类。因此,用户可以将信号处理链直接导入 Python 脚本或项目,并可以使用解释器实时操作音频信号。 Python 中 PYO 模块的工具包含基元,例如数学运算、基本信号处理(如延迟、合成生成器、滤波器等)以及更多。但它也包含了开发声音粒化和许多其他艺术音频操作的复杂算法。 例如 2. pyAudioPyaudio 是一个 Python 库,它是一个开源的跨平台音频输入输出库。它具有广泛的功能,与音频相关,主要侧重于分段、特征提取、分类和可视化问题。 通过使用 pyaudio 库, 用户可以对未知声音进行分类,执行监督和无监督分段,提取音频特征和表示,检测音频事件并过滤掉长录音中的静音时段,应用降维技术来可视化音频数据和内容相似性等等。 此库为 PortAudio 提供了绑定。用户可以使用此库在不同的平台(如 Windows、Mac 和 Linux)上播放和录制音频。要使用 pyaudio 库播放音频,用户需要写入一个 .stream。 例如 在这里,用户可以注意到,使用 pyaudio 库播放音频可能比其他音频播放库稍微复杂一些。这就是为什么该库可能不是用户在其项目或应用程序中播放音频的首选。 尽管如此,pyaudio 库提供了更底层的控制,使用户能够设置输入和输出设备的参数。该库还允许用户检查 CPU 负载和输入输出活动。 Pyaudio 库还允许其用户以回调模式播放和录制音频。当需要新的数据进行播放和录制时,会调用指定的函数。这些是 pyaudio 库的特性,使其与其他音频库和模块不同。如果用户希望播放简单的音频播放之外的内容,则可以使用此库。 3. DejavuDejavu 是一个 Python 中的音频指纹识别模块。它是一个开源模块。此模块可以通过一次收听来记住录制的音频,并将音频存储在数据库中。之后,当播放一首歌曲、麦克风输入或磁盘文件时,Dejavu 会尝试将音频与数据库中存储的指纹进行匹配,并返回之前播放的歌曲或录音。 Dejavu 模块在识别具有真实噪声的特定信号方面表现出色。用户可以通过两种方式使用 Dejavu 来识别音频。
或,
例如 现在用户可以开始对他们的音频收藏进行指纹识别了! 4. MingusMingus 是一个 Python 包。它被许多程序员、音乐家研究人员和作曲家用来创作和检查音乐和歌曲。这个包是一个跨平台且非常高级的音乐理论表示包,支持 Python、MIDI 文件和播放。 Mingus 包可用于音乐理论、教育工具、歌曲编辑器以及用户希望导入音乐处理和播放功能的许多其他应用程序和软件。这个包是一个音乐理论,它包括音阶、和弦进行、和弦和音程等主题。该包测试这些组件,并用于通过方便的简写形式生成和识别音乐要点。 例如 输出 True True True True True # 无效音符 输出 False False False 5. hYPerSonichYPerSonic 是一个 Python 和 C 语言的框架。它用于开发和操作旨在实时控制的声音处理管道。这个框架是低级别的,其中每个字节都很重要,它还包括声卡、滤波器内存操作、文件 I/O 和振荡器的对象。该框架在 Linux 和 OSX 操作系统上运行。 6. PydubPydub 是一个 Python 库,用于操作音频和添加效果。这个库是一个非常简单易用的高级接口,基于 FFmpeg 并受 jQuery 启发。这个库用于为音频添加 id3 标签,切片和连接音频轨道。Pydub 库支持 Python 2.6、2.7、3.2 和 3.3 版本。 但是,用户可以使用 pydub 库打开和保存 WAV 文件,而无需任何依赖项。但是,如果用户想播放音频,则需要安装音频播放包。 可以使用以下代码使用 pydub 播放 WAV 文件 例如 如果用户想播放 MP3 等其他音频文件格式,他们应该安装 libav 或 FFmpeg。 安装 FFmpeg 后,用户需要对代码进行一个小改动才能播放 MP3 文件。 例如 通过使用 AudioSegment.from_file (file_name, file_type) 语句,用户可以播放 ffmpeg 支持的任何格式的音频文件。 例如 Pydub 库还允许用户将音频保存为不同的文件格式。用户还可以计算音频文件的长度。用户可以使用此库在音频中进行交叉渐变。 7. SimpleaudioSimpleaudio 是一个 Python 库,它是跨平台的。此库还用于无需任何依赖项即可播放 WAV 文件。simpleaudio 库在脚本终止之前会等待 WAV 格式文件播放完毕。 例如 在 WAV 格式文件中,存储着代表原始音频数据的比特分类,以及带有资源交换文件格式(RIFF)的头信息和元数据。 行业中权威的记录是存储每个音频样本,这是一个与气压相关的特定数据点,对于 CD 录音,它是每秒 44200 个样本,一个 16 位值。 为了减小文件大小,对于像人类语音这样的某些录音,以较低的采样率(例如每秒 8000 个样本)存储就足够了。然而,较高频率的声音无法非常准确地表示。 本文讨论的一些库和模块播放和记录字节对象,其中一些使用 NumPy 数组 来记录原始音频数据。两者都类似于可以以特定采样率播放以播放音频的数据点分类。 在 NumPy 数组中,每个元素可以包含一个相当于单个样本的 16 位值,而对于字节对象,每个样本存储为两组 8 位值。这两种数据类型之间最重要的区别在于 NumPy 数组是可变的,而字节对象是不可变的,这使得后者更适合生成音频和处理更复杂的信号。 用户可以使用 simpleaudio.play_buffer() 语句在 simpleaudio 库中播放 NumPy 数组和字节对象。但是,在此之前,用户应确保他们已经安装了 NumPy 和 simpleaudio 库。 例如 生成对应于 410 Hz 音调的 Numpy 数组。 8. winsoundwinsound 是 Python 中的一个模块,用于访问 Windows 操作系统的基本声音播放功能。 在 winsound 模块中,只需几行代码就可以播放 WAV 文件。 例如 winsound 模块不支持除 WAV 文件外的任何文件格式。它允许用户使用 winsound.Beep(frequency, duration) 语句发出蜂鸣声。 例如 9. python-sounddevicepython-sounddevice 是一个用于跨平台音频播放的 Python 模块。该模块为 PortAudio 库提供了绑定,并包含一些方便的函数来播放和录制包含音频信号的 NumPy 数组。 如果用户想播放 WAV 文件,他们应该安装 NumPy 和 soundfile 来以 WAV 文件格式打开音频文件,将其作为 NumPy 数组。 例如 sound_file.read() 语句用于提取原始音频数据以及文件的采样率,这些都存储在资源交换文件格式(RIFF)头中。sound_device.wait() 语句用于确保在音频播放完毕后脚本才会终止。 10. playsoundplaysound 是一个 Python 模块,用户可以通过一行代码就可以播放声音。它是一个跨平台模块,是一个没有依赖项的单一函数,用于播放声音和音频。 例如 playsound 模块用于 WAV 文件和 MP3 文件格式的文件,并且还可以处理其他文件格式。 结论在本文中,我们讨论了用于播放和录制各种类型音频文件和声音的各种 Python 库和模块。在这里,我们解释了每个库和模块在开发和修改应用程序和软件的项目中播放声音的各种特性和重要性。 |
?在 Python 中,标识符是分配给变量、函数、类或其他对象的名称。这是一种为人可读的名称,并在程序中用于引用该对象。在 Python 中,标识符...
阅读 3 分钟
今天使用的大多数个人计算机都具有图形用户界面(GUI)。它为具有不同计算机技能水平的用户提供了简单的体验。由于其点选界面,GUI 应用程序可能需要更多资源,但它们通常更易于使用。其中之一...
阅读 6 分钟
Matplotlib 是一个 Python 库,可让您创建确定性、动画和引人入胜的可视化。它用于在 Python 中制作图表,例如条形图、散点图、饼图、直方图、折线图、3D 图等。Matplotlib 库包含有关散点图的信息……
阅读 6 分钟
Python 中模块和包的区别 许多程序员和业余程序员经常会混淆模块和包。问题通常出现在很难确定何时何地应该实现模块或包时。在下文中……
阅读 2 分钟
散点图是一种数据可视化方法,用于显示两个数值变量之间的关系。在 Python 中,有一个名为 DataFrame 的类,可以使用 pandas 绘制散点图,此类的成员称为 plot。通过使用...
阅读 6 分钟
命令行参数和解析输入参数是编程和开发的重要方面。命令行参数不过是在程序名称之后在系统命令行中指定的参数。当我们在这些命令行参数中传递值时,这些值会直接传递到...
阅读20分钟
每当我们在电脑、笔记本电脑甚至智能手机上工作时,我们通常会使用某些输入设备向系统发出输入命令。这些输入设备被编程为接收用户的命令并告知软件...
阅读 10 分钟
在 Python 中,有许多用于特定目的的函数,它们在函数名前后都有双下划线。它们被称为魔法函数或 dunder 方法。例如:__abs__、__contains__ 等。一些魔法方法的示例如下:__str__() 函数:这个...
阅读 3 分钟
在本教程中,我们将编写 Python 程序来查找最长的连续序列。这是技术面试中经常问到的一个编程问题。一个问题通常涉及在整数数组或列表中查找最长连续数字序列。思路...
阅读 6 分钟
在本教程中,我们将学习如何在 Python 程序中实现和使用 %s。我们还将学习 %s 在字符串中的用途。Python 字符串格式中的 %s 基本上,% 符号与各种数据类型一起使用……
7 分钟阅读
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India