网站的跳出率很高,黄冈seo,广东省广州市番禺区,给自己的网站做镜像网站这篇文章提供了使用Python文本到语音库和音频处理库逐步创建歌曲的指南。我们一起为机器赋予声音 —— 使用Python制作AI生成的声音。 介绍 您是否曾经想过#xff0c;如果您最喜欢的歌曲由机器人演唱会是什么样子#xff1f;随着人工智能和语音合成的最新进展#xff0c;现… 这篇文章提供了使用Python文本到语音库和音频处理库逐步创建歌曲的指南。我们一起为机器赋予声音 —— 使用Python制作AI生成的声音。 介绍 您是否曾经想过如果您最喜欢的歌曲由机器人演唱会是什么样子随着人工智能和语音合成的最新进展现在可以仅使用代码创建听起来逼真的歌声。在本文中我们将介绍使用Python制作歌曲的 AI Voice Cover 的步骤。 概述 为了生成AI唱歌的声音我们将将这个过程分为三个关键步骤 文本到语音合成 - 将歌词转换为AI声音。音频处理 - 处理声音以匹配歌曲。混音 - 将AI声音与乐器混合。 我们将专注于使用开源Python库来完成每个任务而无需从头开始编写整个代码最终的结果将实现足够好听以通过人耳的AI Voice Cover 文本到语音合成 第一步是将歌曲的歌词转换为计算机生成的声音演唱的音频剪辑。Python有一些出色的文本到语音库可以为我们处理这个任务。 Coqui TTS是一个开源的神经文本到语音工具包提供了用于生成语音的先进深度学习模型。它提供了各种语言和声音的预训练模型不需要我们进行过多的设置。首先安装Coqui TTS pip install TTS 我们可以加载一个现成模型来合成我们的歌词 from TTS.api import TTSmodel TTS(model_nametts_models/en/ljspeech/tacotron2-DDC, progress_barFalse)lyrics Never gonna give you up, never gonna let you down audio model.tts(lyrics) tts() 方法可以实现从输入文本生成音频。现在我们有一个AI声音朗读我们的歌词还有其他好选择如ESPnet TTS和Mozilla TTS。它们提供了类似的模型架构和预训练声音可供我们选择。 音频处理 虽然我们有一个计算机声音来朗读我们的歌词但音调是单调的缺乏表现力。为了使其听起来更自然我们需要修改音频以匹配原歌曲的音调变化和节奏。CREPECrepe用于音高估计的卷积表示库可以帮助我们从原歌曲的声音中提取音调。然后我们可以更改我们的AI声音以跟随该音调进行变化。 首先让我们加载原歌曲并使用CREPE随时间估计音调 import crepeoriginal_vocals, sr librosa.load(original_song.wav)_, pitch, _ crepe.predict(original_vocals, srsr, viterbiTrue) 接下来我们将使用类似PyRubberBand的工具来通过改变音调和时间而不改变长度和共振峰来操作我们的AI声音。PyRubberBand封装了Rubber Band提供了高质量的音高转换和时间拉伸功能。我们可以创建一个RubberBandStretcher对象并根据从原歌曲中提取的音调值设置pitch_scale import rubberbandsynth_vocals, sr model.tts(lyrics)rubberband rubberband.RubberBandStretcher(synth_vocals, sr)for i in range(len(pitch)):rubberband.set_pitch_scale(pitch[i])shifted_vocals rubberband.stretch() 这将随着时间修改我们合成的声音的音调以更好地匹配原始演出。一些附加效果如颤音或共振峰转移可以进一步提高逼真度。AutoVC库提供了这些功能使AI语音模仿目标人声更加自然。 混音 最后一步是将处理过的AI声音与原始歌曲的器乐混合。首先我们需要隔离器乐部分这可以使用像Spleeter这样的专门工具来在音频文件上执行源分离来完成。 from spleeter.separate import Separatorseparator Separator(spleeter:2stems) instrumental separator.separate(original_song) 然后我们使用适当的音量平衡将我们的AI封面声音覆盖在上面 from pydub import AudioSegmentinstrumental AudioSegment.from_wav(instrumental.wav)
ai_vocals AudioSegment.from_wav(shifted_vocals.wav)final instrumental.overlay(ai_vocals)final.export(ai_cover.wav, formatwav) 现在我们有一个完成的AI Voice Cover可以分享了声音可能不完美但通过一些调整它们可以听起来很像人类声音。 进一步探索 为了进一步处理更复杂的歌曲一些额外的改进可能包括 ● 合成背景和谐音以伴奏主唱。 ● 为更自然的歌声实施颤音和音高滑音。 ● 调整模型参数以更好地适应目标歌手的声音。 ● 在合成期间使用神经声码器如WaveRNN以获得更好的音频质量。 ● 训练自己的自定义TTS模型而不是使用预训练声音。 借助更先进的深度学习技术AI唱歌声音的质量不断提高。谁知道也许在将来您最喜欢的歌手可能是一台计算机 结论 生成歌曲的AI Voice Cover版本是一种探索现代语音合成和音频处理工具能力的有趣方式。使用Python库如Coqui TTS、CREPE和PyRubberBand我们可以组合成一个完整的工作流程将歌词转换为逼真的歌声。 尽管还存在一些限制但质量正在迅速提高。合成声音的应用 - 无论是音乐、播客、有声书还是其他 - 是无穷无尽的。通过一点编码和音频工程您也可以使计算机具备歌唱的能力 · END · HAPPY LIFE 本文仅供学习交流使用如有侵权请联系作者删除