/voice_recognize

声纹识别(动漫声优识别)

Primary LanguagePython

声纹识别项目-游戏/动漫 声优识别

注意,本项目经过测试,只能用于无背景音乐下的声纹识别,背景音乐会对结果有很大影响

本项目参考:https://github.com/yeyupiaoling/VoiceprintRecognition-Pytorch

效果演示

声纹识别

声纹录入

视频演示

B站:https://www.bilibili.com/video/BV18F41177jb

YouTube:https://youtu.be/XV9NwpnLPGo

数据集准备

数据集地址:https://github.com/fighting41love/zhvoice

自己下载下来后,把里面所有的压缩文件都进行解压,解压后结构如下,test_list.txttrain_list.txt 是后面生成的,先不管,注意这些训练数据要放到 data 文件夹下。

├── info
├── metadata.csv
├── readme.md
├── sample
├── test_list.txt
├── text
├── train_list.txt
├── zhaidatatang
├── zhaishell
├── zhbznsyp
├── zhmagicdata
├── zhprimewords
├── zhspeechocean
├── zhstcmds
└── zhthchs30

然后我们可以输入 python create_data.py 来对数据集进行处理,这里主要会进行两个操作,第一个是把mp3转换为wav的格式(这个操作比较耗时,可能需要几天),并生成对应的训练数据集文本和测试数据集的文本。第二个是会把一些没用的音频数据删除。

数据集训练

所有的配置信息都在 train.py 里面,自己看着改就可以了,默认情况下不需要改动。

使用 python train.py 就可以开始训练了(RTX3060大概要训练6天时间)

计算

使用 python eval.py 可以计算阈值信息,因为我们是通过余铉距离来计算的进行对比时会得出一个分数,当大于这个分数的时候才可以认为是同一个人。运行后输出的结果如下:

开始提取全部的音频特征...
100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 5332/5332 [02:02<00:00, 43.48it/s]
开始两两对比音频特征...
100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 5332/5332 [01:52<00:00, 47.41it/s]
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 100/100 [00:05<00:00, 19.94it/s]
当阈值为0.660000, 准确率最大,为:0.999952

运行

python main.py

原理

跳转

安装可能遇到的问题

1. error: portaudio.h: No such file or directory

参考:https://stackoverflow.com/questions/48690984/portaudio-h-no-such-file-or-directory

ubuntu20.4 可以参考

sudo apt install portaudio19-dev python3-pyaudio