如何组合两个音频并在机器学习中对其进行训练

问题描述 投票:0回答:1

我必须使用音频文件来训练神经网络。

我有一个音频数据集,其中包含带有人名和命令的文件夹。假设一个文件夹为“ Marvin”,此人的名字为“ Mavin”,另一个文件夹为“ speak”,因此命令为“ speak”。现在,我想获取音频文件,其中音频说“ Marvin说”。

现在,我认为的方法是将音频文件加入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')

我的方法正确吗,或者有更好的方法吗?

欢迎任何建议/想法。

python machine-learning audio pydub
1个回答
0
投票

您的问题“ 我的方法正确还是有更好的方法来解决这个问题?最突出的是:

  1. 读取两个不同的音频文件并将其连接
  2. 将音频文件混合为一个音频文件
  3. 将音频用作神经网络(NN)的输入(即应使用哪种形式的输入数据)
  4. 用于音频相关任务的NN类型
  5. 将训练NN的实际损失/任务
  6. 您如何验证一种方法更好
  7. [我认为您是在暗示您要询问1和2,所以我将重点放在1和2。


仅在以下情况下,您显示的内容可能是一个最小的工作示例:

  1. [marvin_audio.wavspeak_audio.wav具有相同的采样频率
  2. +意味着级联,这对于音频处理而言确实是超直观的。
  3. 如果以上两种情况都不成立,则音频会失真。

如果两个都正确,那么您将首先拥有第一个文件的音频,然后拥有第二个文件的音频。

您可以做的事情很少,不需要专业的现场知识。这些将是:

  1. 在音频文件中,从头到尾修剪静音(硅=连续采样,最大值低于阈值,例如-60 dB FS
  2. 标准化音频文件,使它们都具有| 1 |。作为最大值
  3. 在静默修剪的音频文件的开头和结尾分别添加淡入和淡出
  4. [手动创建一个无声音频文件(即,全零作为样本值的音频文件),其持续时间由您定义,例如,在大多数音频文件组合/串联中听起来几乎是正常的。
  5. 为了更好地控制自己的工作,我建议使用一些更专用的音频处理库,例如librosa

© www.soinside.com 2019 - 2024. All rights reserved.