def main(): parser = argparse.ArgumentParser(version="1.0", prog="Voice Recognition") parser.add_argument("-a", "--add", action="store_true", help="Add a new source") parser.add_argument("audio", type=str, help="Name of the audio file (*.wav)") args = parser.parse_args() audio = HOME_FOLDER + args.audio db = GMMVoiceDB(HOME_FOLDER) if args.add: name = str(time.strftime("%d%m%Y%H%M%S")) db.add_model(audio.split(".")[0], name) else: v = Voiceid(db, audio) v.diarization() dic = db.get_speakers() dist = [] d2u = {} for gender in dic: users = dic[gender] for u in users: dist.append(db.match_voice(audio, u, gender)[u]) d2u[dist[-1]] = u dist.sort(None, None, True) if (dist[0] - dist[1] + CEIL) > EPS: return d2u[dist[0]] else: return "unkonwn"
def main(): parser = argparse.ArgumentParser(version='1.0',prog='Voice Recognition') parser.add_argument("-a", "--add", action="store_true", help="Add a new source") parser.add_argument("audio", type=str, help="Name of the audio file (*.wav)") args = parser.parse_args() audio = HOME_FOLDER+args.audio db = GMMVoiceDB(HOME_FOLDER) if args.add: print('Adding User...') name = str(time.strftime("%d%m%Y%H%M%S")) db.add_model(audio.split('.')[0], name) print('User '+name+' Added!') else: print('Recognition...') v = Voiceid(db, audio) v.diarization() dic = db.get_speakers() dist = [] d2u = {} for gender in dic: users = dic[gender] #print('Gender: ',gender) for u in users: #print(db.match_voice(audio, u, gender)) dist.append(db.match_voice(audio, u, gender)[u]) d2u[dist[-1]]=u dist.sort(None, None, True) if (dist[0]-dist[1]+CEIL)>EPS : print(d2u[dist[0]]) else: print('unkonwn') print "Done!"