在大量音频中,匹配音色与目标音频较为相似的音频。如果音频是充分的,总能够找到一个类似的音频。
这里用的3ds-speaker的音频embs,可能扩充到一万人到五万人会产生质变,考虑到说话语气和内容,选择尽可能相似的文本来匹配可以取得更好的效果(手动生成新的文本的音频应该可以取得更好的效果)。
项目示例:HuggingFace Space
匹配音频的算法:speech_eres2netv2_sv_zh-cn_16k-common
安装ffmpeg和libsox-dev
sudo apt install ffmpeg libsox-dev
安装Python依赖
conda create -n 3ds python=3.9
conda activate 3ds
cd Audio-Speaker-Needle-In-Haystack
pip install -r requirements.txt
如果需要利用ChatTTS生成wav文件,请按照ChatTTS的相关依赖,参考2noise/ChatTTS项目的安装方式。
如果需要使用预生成的ChatTTS的wav,可以访问Audio_speaker_needle_in_haystack获取。
下载ChatTTS生成的相关音频并运行
python download_audios.py
python webui_speaker_needle_in_haystack.py
也可以手动创建audios文件,将wav文件放置在audios文件夹中
mkdir audios
python webui_speaker_needle_in_haystack.py
查看帮助,或者降低batch_size(如果显存不够)
python webui_speaker_needle_in_haystack.py --help
python webui_speaker_needle_in_haystack.py --batch_size=1
通过ChatTTS自动生成audios文件夹中的音频,请阅读generate_audios_chattts.py
文件中的相关参数进行配置。
cd Audio-Speaker-Needle-In-Haystack
git clone https://github.com/2noise/ChatTTS.git
python generate_audios_chattts.py