注：这篇博客的内容来自论文SINGING-VOICE SEPARATION FROM MONAURAL RECORDINGS USING DEEP RECURRENT NEURAL NETWORKS。
import pandas as pd
import numpy as np
import tensorflow as tf
This is more or less a wrapper for Matplotlib imaging functions such that their behavior is equivalent, in terms of colormap, aspect and so forth, to the expected behavior of Matlab's functions.
This script can be used to execute the desired separation. See below for an example of use of this file.
This script implements the actual algorithm for parameter estimation. It is mainly used by sepVocal.py.
The Viterbi decoding algorithm is implemented in this script.
These scripts have been tested with Python 2.7,
The packages that are required to run the scripts are pydub,ffmepg, Numpy, Spicy, Matplotlib. One can respectively find the latest versions at the following addresses:
Prefer recent versions of the above packages, in order to avoid compatibility issues, notably for Matplotlib. Note that this latter package is not necessary for the program to run, although you might want to watch a bit what is happening!
Spicy should be version 0.8+, since we use its io.wavefile module to read the wave files. We once used the audio lab module, but it would seem that it is a bit more complicated to install (with the benefit that many more file formats are allowed).
The easy way to use these scripts is to run the exec package of our release version: http://www.github.com/beata_1.0
for more develop: you can run the index.py on pycharm directly.
note: the output files will create under you source wav file.
Auto Speaker Recognition
the main file for test
record audio from micro phone
count days between two date. 20110805 20160903
extract mfcc feature from wav files
the trained model on train set , and the accurate is 70%
contains the most useful functions
train data is 75% of all the data
test data is 25% of all the data and has no overlap with train set
is the main classification function py file , and it used the sklearn's SGD
niter was set 10000 could get 70% of accurate.
this is the sklern naive_bayes BernoulliNB , and it reach to just 56%
this is the sklern tree.DecisionTreeClassifier , and it reach to just 63%
this is the sklern GradientBoostingClassifier, and it reach to the best now of 76% when n_estimators=1000, but it produce too many model components to store.
this is the sklern naive_bayes GaussianNB, and it reach to just 63%
add a vote decsion , every method have the acurrcy number ticiks to vote the final answer. after the vote , we achived 96% at test set.