‹ projects

vmc

a voice model creator for CMU Sphinx
Log | Files | Refs | README | LICENSE

commit 0fdfda57ab97c56de588f87ec73628102cc43fed
parent ce9e7c558b2edc59f733315811e0b4d7cb50b343
Author: umhau <umhau@alum.gcc.edu>
Date:   Thu, 15 Jun 2017 14:21:22 -0400

numbering of audio files can now continue from previous recording sessions

Diffstat:
Mlib/getaudio.py | 36++++++++++++++++++++----------------
1 file changed, 20 insertions(+), 16 deletions(-)

diff --git a/lib/getaudio.py b/lib/getaudio.py @@ -9,10 +9,11 @@ # # USAGE # -# python3 getaudio.py sentence-file \ -# /output/folder \ +# python3 getaudio.py /path/to/simple-list-of-sentences.txt \ +# /audio/recording/folder \ # recording-repetitions \ -# model-name +# model-name \ +# num_of_preexisting_audio_recordings # # LIBRARY IMPORTS ------------------------------------------------------------- @@ -25,12 +26,17 @@ FORMAT = pyaudio.paInt16 CHANNELS = 1 RATE = 16000 -sentence_file = sys.argv[1] -output_folder = sys.argv[2].rstrip(os.sep) -reps = int(sys.argv[3]) -model_name = sys.argv[4] +sentence_file = sys.argv[1] # e.g. ~/sentencelist.txt +audio_recording_folder = sys.argv[2].rstrip(os.sep) # e.g. ~/.psyche/audio +reps = int(sys.argv[3]) # e.g. 5 +model_name = sys.argv[4] # e.g. 'en-us' -# FUNCTION DEFINITIONS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +try: + recording_count = int(sys.argv[5]) # how many audio files already exist +except IndexError: + recording_count = 0 + +# FUNCTION DEFINITIONS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ignore sdterr messages: as from pyaudio @contextlib.contextmanager @@ -89,10 +95,10 @@ def record_until_keypress(audio_filepath): wf.close() -# LOGIC ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# LOGIC ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -if not os.path.exists(output_folder): - os.makedirs(output_folder) +if not os.path.exists(audio_recording_folder): + raise NotADirectoryError("Audio recording save folder does not exist.") # create list of sentences for prompt sentence_list = [] @@ -107,17 +113,15 @@ try: input("Press [enter], read text, & press [enter].") - j=0 - for sentence in sentence_list*reps: #recording number - j+=1 + recording_count+=1 # record audio with visual - print("Recording no. %04d of %04d: \n\n\t%s" % (j, num_recs, sentence), end='\r') + print("Recording no. %04d of %04d: \n\n\t%s" % (recording_count, num_recs, sentence), end='\r') # recording file should look like this (e.g.): ./bespoke_training_data/audio/arctic_0001.wav - record_until_keypress(str(output_folder + os.sep + model_name + "_%04d.wav" % j)) + record_until_keypress(str(audio_recording_folder + os.sep + model_name + "_%04d.wav" % recording_count)) except KeyboardInterrupt: pass