本项目旨在通过Python进行说话人识别技术的研究与实践,涵盖特征提取、模型训练及评估等环节,致力于探索高效准确的语音处理算法。
Auto Speaker Recognition的main.py是测试文件testaudio_record.py的主要文件,负责从麦克风录制音频。count_days.py用于计算两个日期之间的天数(例如20110805到20160903)。mfcc_feature.py从wav文件中提取MFCC特征。
SGD.model是在训练集上经过训练的模型,并达到70%准确率。util.py包含了最常用的功能函数。
数据分为两部分:train(占所有数据的75%)和test(剩余25%,不与train重叠)。classification_SGD.py是主要分类功能文件,使用sklearn中的SGD方法,在迭代10,000次后达到70%准确率。classification_BNB.py采用sklearn的naive_bayes BernoulliNB模型,仅达56%准确率;而classification_DT.py使用的则是sklearn tree.DecisionTreeClassifier模型,也只达到了63%。
分类方法中还包括了使用GradientBoostingClassifier(在n_estimators=1000时达到最佳76%,但生成大量模型组件需要存储)和naive_bayes GaussianNB的分类器(同样仅达63%准确率)。vote_result.py则添加了一个投票决策机制,每个方法根据其准确性获得一定票数来决定最终答案,在测试集上实现了96%的正确率。