diff options
Diffstat (limited to 'accessibility/picospeaker/36273f9d_and_d6a7a01.diff')
-rw-r--r-- | accessibility/picospeaker/36273f9d_and_d6a7a01.diff | 124 |
1 files changed, 124 insertions, 0 deletions
diff --git a/accessibility/picospeaker/36273f9d_and_d6a7a01.diff b/accessibility/picospeaker/36273f9d_and_d6a7a01.diff new file mode 100644 index 0000000000..cd49730c05 --- /dev/null +++ b/accessibility/picospeaker/36273f9d_and_d6a7a01.diff @@ -0,0 +1,124 @@ +diff --git a/README b/README +index c540542..87bb3d8 100644 +--- a/README ++++ b/README +@@ -1,5 +1,5 @@ + PicoSpeaker +-Written by Kyle ++Orginally Written by Kyle and forked by shilber01 to work with SNIPS (snips.ai) + + DESCRIPTION + +diff --git a/pico.patch b/pico.patch +new file mode 100644 +index 0000000..0e2680a +--- /dev/null ++++ b/pico.patch +@@ -0,0 +1,19 @@ ++--- picospeaker.bak 2018-08-27 22:03:05.000000000 +0200 +++++ picospeaker 2018-08-27 23:49:35.289440981 +0200 ++@@ -59,8 +59,16 @@ ++ exit(0) ++ elif ( argv[opt] == '-l' ) or ( argv[opt] == '--language' ): ++ languages = ('en-US', 'en-GB', 'de-DE', 'es-ES', 'fr-FR', 'it-IT') +++ lang_map = { +++ 'en': 'en-US', +++ 'de': 'de-DE', +++ 'es': 'es-ES', +++ 'fr': 'fr-FR', +++ 'it': 'it-IT'} ++ if ( argv[opt+1] in languages ): ++ settings['language'] = argv[opt+1] +++ elif ( argv[opt+1] in lang_map.keys() ): +++ settings['language'] = lang_map[argv[opt+1]] ++ else: ++ stderr.write('Language ' + argv[opt+1] + ' is currently not available.\n') ++ stderr.write('Available languages are ' + ', '.join(languages[:-1]) + ' and ' + languages[-1] + '.\n') +\ No newline at end of file +diff --git a/picospeaker b/picospeaker +index 6b49d34..b9f91c3 100755 +--- a/picospeaker ++++ b/picospeaker +@@ -14,8 +14,8 @@ from time import sleep + + # help and version tuples + version = ( +- 'PicoSpeaker 0.6.2', +- 'Written by Kyle', ++ 'PicoSpeaker 0.6.2-1', ++ 'Written by Kyle,forked by shilbert01', + 'This program is free and unencumbered software released into the public domain.', + 'See the included UNLICENSE file for details.') + help = ( +@@ -59,8 +59,16 @@ def parse (): + exit(0) + elif ( argv[opt] == '-l' ) or ( argv[opt] == '--language' ): + languages = ('en-US', 'en-GB', 'de-DE', 'es-ES', 'fr-FR', 'it-IT') ++ lang_map = { ++ 'en': 'en-US', ++ 'de': 'de-DE', ++ 'es': 'es-ES', ++ 'fr': 'fr-FR', ++ 'it': 'it-IT'} + if ( argv[opt+1] in languages ): + settings['language'] = argv[opt+1] ++ elif ( argv[opt+1] in lang_map.keys() ): ++ settings['language'] = lang_map[argv[opt+1]] + else: + stderr.write('Language ' + argv[opt+1] + ' is currently not available.\n') + stderr.write('Available languages are ' + ', '.join(languages[:-1]) + ' and ' + languages[-1] + '.\n') +@@ -117,7 +125,7 @@ def parse (): + continue + else: + # First, die with an error if compression and/or type are set but no output file is specified +- if ( ( settings.has_key('compression') ) or ( settings.has_key('filetype') ) ) and not ( settings.has_key('output') ): ++ if ( ( 'compression' in settings ) or ( 'filetype' in settings ) ) and ( 'output' not in settings ): + stderr.write('You must specify the output file.\n') + exit(1) + # Now the text can be added to the settings object and the loop can be broken +@@ -128,7 +136,7 @@ def parse (): + def tts(): + 'convert text to speech data and store it in a temporary file using the pico2wave utility from SVox Pico' + command = ['pico2wave', '-w', temp] +- if ( settings.has_key('language') ): command += ['-l', settings['language']] ++ if ( 'language' in settings ): command += ['-l', settings['language']] + command += ['--', settings['text']] + try: + call(command) +@@ -139,16 +147,16 @@ def tts(): + def speaker(): + 'speaks the text, or saves it if an output file was specified on the command line' + command = ['play', '-q'] +- if ( settings.has_key('volume') ): command += ['-v', settings['volume']] ++ if ( 'volume' in settings ): command += ['-v', settings['volume']] + command.append(temp) +- if ( settings.has_key('output') ): ++ if ( 'output' in settings ): + command[0] = 'sox' + del command[1] +- if ( settings.has_key('filetype') ): command += ['-t', settings['filetype']] +- if ( settings.has_key('compression') ): command += ['-C', settings['compression']] ++ if ( 'filetype' in settings ): command += ['-t', settings['filetype']] ++ if ( 'compression' in settings ): command += ['-C', settings['compression']] + command.append(settings['output']) +- if ( settings.has_key('pitch') ): command += ['gain', '-0.15', 'pitch', str(float(settings['pitch'])*100)] +- if ( settings.has_key('rate') ): command += ['gain', '-0.1', 'tempo', '-s', str(1+float(settings['rate'])/100)] ++ if ( 'pitch' in settings ): command += ['gain', '-0.15', 'pitch', str(float(settings['pitch'])*100)] ++ if ( 'rate' in settings ): command += ['gain', '-0.1', 'tempo', '-s', str(1+float(settings['rate'])/100)] + speak = Popen(command) + sleep(0.1) # the temp file should be open by now + # The temp file can be removed as soon as it is opened in case PicoSpeaker is killed while speaking +@@ -157,11 +165,11 @@ def speaker(): + + try: + settings = parse() +- if ( not settings.has_key('text') ): ++ if ( 'text' not in settings ): + settings['text'] = stdin.read() + tts() + speaker() + except KeyboardInterrupt: + stderr.write('Keyboard interrupt received. Cleaning up.\n') +- try: remove(temp) ++ try: remove(temp) # The temp file may not have been removed yet + except OSError: pass # The file doesn't exist and therefore doesn't need to be removed |