如何结合两个音频并训练他们进行机器学习

2024-06-11 09:30:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我要用音频文件训练神经网络

我有一个音频数据集,其中包含一个人的名字和命令文件夹。假设一个文件夹是'Marvin',人的名字变成'Mavin',另一个文件夹是'speak',所以命令是'speak'。现在我想有音频文件,其中的音频说,“马文讲话”

现在我想的方法是加入pydub库中的音频文件并训练神经网络

from pydub import AudioSegment
sound_marvin = AudioSegment.from_file('marvin_audio.wav')
sound_speak = AudioSegment.from_file('speak_audio.wav')
final = sound_marvin + sound_speak
final.export('final.wav', format='wav')

我的方法是正确的还是有更好的方法

欢迎提出任何建议/意见


Tags: 方法from命令文件夹神经网络音频名字音频文件
1条回答
网友
1楼 · 发布于 2024-06-11 09:30:19

你的问题涉及很多问题“我的方法正确吗?还是有更好的方法”。最突出的是:

  1. 读取两个不同的音频文件并连接它们
  2. 将音频文件混合到一个音频文件
  3. 使用音频作为神经网络(NN)的输入(即应使用何种形式的输入数据)
  4. 用于音频相关任务的NN类型
  5. 神经网络将被训练去做的实际损失/任务
  6. 您如何验证an方法是否更好

我想你是在暗示你在问1和2,所以我要集中回答1和2


只有在以下情况下,您所展示的内容才可能是最简单的工作示例:

  1. marvin_audio.wavspeak_audio.wav具有相同的采样频率
  2. +表示串联,这对于音频处理来说是非常不直观的

如果以上两个都不成立,那么你将有失真的音频

如果两者都成立,那么您将拥有第一个文件的音频,然后是第二个文件的音频

有几件事,你可以做,将不需要专家领域的知识。这些将是:

  1. 从音频文件开始和结束修剪静音(silene=最大值低于阈值的连续采样,例如-60dB FS
  2. 规范化音频文件,使两者的最大值都为| 1 |
  3. 在音频文件的开头和结尾分别添加淡入淡出
  4. 手动创建一个静音音频文件(例如,一个带有所有零作为采样值的音频文件),其持续时间由您定义,例如,在音频文件的大多数组合/串联中,它听起来几乎正常

为了更好地控制您正在做的事情,我建议使用一些更专用的音频处理库,比如librosa

相关问题 更多 >