【发布时间】:2021-04-29 05:29:04
【问题描述】:
有没有办法在 python 的文件(例如 .mp3 或 .wav)中每 2 秒写入一个声音? 例如,如果我有这样的循环
x=0
while x<10:
#write sound.wav into an audio file (file.mp3)
time.sleep(2)
x=x+1
因此,我希望有一个音频文件,您可以在其中每 2 秒听到一次声音(例如 10 次)
提前致谢
【问题讨论】:
-
自学如何打开并从 wav 文件中读取有效负载,以便您可以遍历有效负载中的每个音频样本...从单声道音频文件开始...随着此循环进行字节按字节理解多字节音频样本的含义,当您的输入 wav 文件的位深度为 16 位(2 个字节)时,您需要将 2 个字节拼接成一个音频样本......绘制这些音频样本,以便您可以看到曲线在零水平上上下摆动...通过将样本值覆盖为零来强制手...在此循环中将样本写入输出文件
-
这些是必要的初步剧照,可以让您解决您的问题......数字音频有两个基本属性:位深度和采样率......避免使用任何库来解决我的上述步骤,因为如果您自己编写所有这些逻辑,您将学到的不仅仅是调用别人的 api,任何人都可以做......如果您的输入音频是 mp3,首先将其解码为 PCM 格式,这是 wav 的格式,它是数字音频的通用语...玩得开心
-
非常感谢。这对我帮助很大。我会尝试自学整件事;-)
标签: python python-3.x audio while-loop