def make_request(creds=None,
                     desired_tts_lang=None,
                     text=None,
                     filename=None,
                     sample_rate=16000,
                     nchannels=1,
                     sample_width=2,
                     audio_type='wav'):

        if text is None:
            return None

        tts_req = TTSRequest(desired_tts_lang, credentials=creds)
        tts_req.sample_rate = sample_rate
        tts_req.nchannels = nchannels
        tts_req.sample_width = sample_width
        tts_req.audioType = audio_type

        if desired_tts_lang is not None:
            tts_req.voice = desired_tts_lang['properties']['voice']

        tts_req.synthesize_to_file(filename, text)  # unicode text

        if tts_req.response.was_successful():
            print(green("✓ TTS", bold=True))
        else:
            print(red("× TTS", bold=True))

        return tts_req
def stream_asr(creds=None, desired_asr_lang=None, desired_sample_rate=16000):
    
    if creds is None:
        raise "Need credentials."
        
    if desired_asr_lang is None:
        raise "Please provide a language."

    aReq = ChunkedASRRequest(desired_asr_lang, credentials=creds)
    aReq.sample_width = 2 # unnecessary?
    aReq.sample_rate = desired_sample_rate
    result = aReq.analyze(__stream_audio_realtime)

    if result.was_successful():
        print green("✓ ASR",bold=True)
    else:
        print red("× ASR",bold=True)

    return aReq
Example #3
0
def stream_asr(creds=None, desired_asr_lang=None, desired_sample_rate=16000):

    if creds is None:
        raise "Need credentials."

    if desired_asr_lang is None:
        raise "Please provide a language."

    aReq = ChunkedASRRequest(desired_asr_lang, credentials=creds)
    aReq.sample_width = 2  # unnecessary?
    aReq.sample_rate = desired_sample_rate
    result = aReq.analyze(__stream_audio_realtime)

    if result.was_successful():
        print green("✓ ASR", bold=True)
    else:
        print red("× ASR", bold=True)

    return aReq
Example #4
0
	def make_request(creds=None, desired_asr_lang=None, filename=None):

		aReq = ChunkedASRRequest(desired_asr_lang, credentials=creds)
		aReq.load_file(filename)
		
		analyze_function = None
		if aReq.audio_type == 'wav':
			analyze_function = ASR.__read_wav_file_in_chunks
		elif aReq.audio_type == 'speex':
			analyze_function = ASR.__read_file_in_chunks
		
		if analyze_function is None:
			print ("Don't know how to stream this file... %s" % filename)
			sys.exit(-1)
			
		result = aReq.analyze(analyze_function)

		if result.was_successful():
			print (green("✓ ASR",bold=True))
		else:
			print (red("× ASR",bold=True))

		return aReq
    wants_verbose_logging = getattr(options,'verbose')
    desired_sample_rate = getattr(options,'samplerate')

    if wants_verbose_logging:
        import logging
        import httplib
        httplib.HTTPConnection.debuglevel = 1
        logging.basicConfig()
        logging.getLogger().setLevel(logging.DEBUG)
        requests_log = logging.getLogger("requests.packages.urllib3")
        requests_log.setLevel(logging.DEBUG)
        requests_log.propagate = True

    print green(HEADER)

    creds = NDEVCredentials()
    if not creds.has_credentials():
        print red("Please provide NDEV credentials.")
        sys.exit(-1)
    
    language = getattr(options, 'language')
    desired_asr_lang = ASR.get_language_input(language)
    print "\nOK. Going forward, will use %s (%s) as the language.\n" % (desired_asr_lang['display'], desired_asr_lang['properties']['code'])

    asr_req = stream_asr(creds=creds, desired_asr_lang=desired_asr_lang, desired_sample_rate=desired_sample_rate)
    
    if asr_req.response.was_successful():
        print "\nNDEV ASR determined \n\n  %s\n" %  magenta(asr_req.response.get_recognition_result())
    else:
        print "\nNDEV ASR failed %s" % asr_req.response.error_message
    all = []
    try:
        for i in range(0, rate/chunk*record_cap):
            data = stream.read(chunk)
            all.append(data)
    except KeyboardInterrupt:
        pass
    finally:
        print "x\t done recording"
        stream.stop_stream()
        stream.close()
        p.terminate()
        write_wav_file(outname, channels, p.get_sample_size(format), rate, ''.join(all))
        return True

if __name__ == "__main__":
    
    if len(sys.argv) < 2:
        print("Records a wave file.\n\nUsage: %s output_filename.wav" % sys.argv[0])
        sys.exit(-1)
    
    file_name = '%s' % sys.argv[1]
    print "Recording to: %s\n" % file_name
    try:
        was_ok = record(file_name)
        if not was_ok:
            print "Failed"
    except KeyboardInterrupt as e:
        print red(e) 
        sys.exit(-1)
Example #7
0
        import logging
        import httplib
        httplib.HTTPConnection.debuglevel = 1
        logging.basicConfig()
        logging.getLogger().setLevel(logging.DEBUG)
        requests_log = logging.getLogger("requests.packages.urllib3")
        requests_log.setLevel(logging.DEBUG)
        requests_log.propagate = True

    print green(HEADER)

    start_time = time.time()

    creds = NDEVCredentials()
    if not creds.has_credentials():
        print red("No NDEV Credentials. Please update %s" %
                  NDEVCredentials.PATH)
        sys.exit(-1)

    filename = args[0]
    language = getattr(options, 'language')
    desired_asr_lang = ASR.get_language_input(language)
    print "\nOK. Using language: %s (%s)\n" % (
        desired_asr_lang['display'], desired_asr_lang['properties']['code'])
    """
    ASR
    """
    try:

        asr_req = ASR.make_request(creds=creds,
                                   desired_asr_lang=desired_asr_lang,
                                   filename=filename)
Example #8
0
"""
Validate
"""

if __name__ == "__main__":
    
    if len(args) != 1:
        parser.error("Please provide a source_file to perform recognition on.")
        sys.exit(-1)

    print green(HEADER)
    
    creds = NDEVCredentials()
    if not creds.has_credentials():
         print red("Please provide NDEV credentials.")
         sys.exit(-1)

    filename = args[0]
    
    language = getattr(options, 'language')
    desired_asr_lang = ASR.get_language_input(language)
    print "OK. Using Language: %s (%s)\n" % (desired_asr_lang['display'], desired_asr_lang['properties']['code'])

    try:
        asr_req = ASR.make_request(creds=creds, desired_asr_lang=desired_asr_lang, filename=filename)

        if asr_req.response.was_successful():
             print "\n%s" % magenta(asr_req.response.get_recognition_result()) # instead of looping through, pick head
        else:
             print "\n%s" % red(asr_req.response.error_message)
     import logging
     import httplib
     httplib.HTTPConnection.debuglevel = 1
     logging.basicConfig()
     logging.getLogger().setLevel(logging.DEBUG)
     requests_log = logging.getLogger("requests.packages.urllib3")
     requests_log.setLevel(logging.DEBUG)
     requests_log.propagate = True
 
 print green(HEADER)
 
 start_time = time.time()
 
 creds = NDEVCredentials()
 if not creds.has_credentials():
     print red("No NDEV Credentials. Please update %s" % NDEVCredentials.PATH)
     sys.exit(-1)
 
 filename = args[0]
 language = getattr(options,'language')
 desired_asr_lang = ASR.get_language_input(language)
 print "\nOK. Using language: %s (%s)\n" % (desired_asr_lang['display'], desired_asr_lang['properties']['code'])
 
 """
 ASR
 """
 try:
     
     asr_req = ASR.make_request(creds=creds, desired_asr_lang=desired_asr_lang, filename=filename)
 
     if asr_req.response.was_successful():
if __name__ == "__main__":
    """
    Validate
    """
    if len(args) != 2:
        parser.error(
            "Please provide (i) a destination_file and (ii) the text to synthesize"
        )
        sys.exit(-1)

    print green(HEADER)

    creds = NDEVCredentials()
    if not creds.has_credentials():
        print red("Please provide NDEV credentials.")
        sys.exit(-1)

    language = getattr(options, 'language')
    desired_tts_lang = TTS.get_language_input(language)
    print yellow(
        "\nUsing Language: %s (%s)\tVoice: %s\n" %
        (desired_tts_lang['display'], desired_tts_lang['properties']['code'],
         desired_tts_lang['properties']['voice']))

    try:

        filename = args[0]
        text = unicode(args[1], 'utf-8')
        audio_type = TTS.get_audio_type(filename)
Example #11
0
(options, args) = parser.parse_args()
"""
Validate
"""

if __name__ == "__main__":

    if len(args) != 1:
        parser.error("Please provide a source_file to perform recognition on.")
        sys.exit(-1)

    print green(HEADER)

    creds = NDEVCredentials()
    if not creds.has_credentials():
        print red("Please provide NDEV credentials.")
        sys.exit(-1)

    filename = args[0]

    language = getattr(options, 'language')
    desired_asr_lang = ASR.get_language_input(language)
    print "OK. Using Language: %s (%s)\n" % (
        desired_asr_lang['display'], desired_asr_lang['properties']['code'])

    try:
        asr_req = ASR.make_request(creds=creds,
                                   desired_asr_lang=desired_asr_lang,
                                   filename=filename)

        if asr_req.response.was_successful():
Example #12
0
            data = stream.read(chunk)
            all.append(data)
    except KeyboardInterrupt:
        pass
    finally:
        print "x\t done recording"
        stream.stop_stream()
        stream.close()
        p.terminate()
        write_wav_file(outname, channels, p.get_sample_size(format), rate,
                       ''.join(all))
        return True


if __name__ == "__main__":

    if len(sys.argv) < 2:
        print("Records a wave file.\n\nUsage: %s output_filename.wav" %
              sys.argv[0])
        sys.exit(-1)

    file_name = '%s' % sys.argv[1]
    print "Recording to: %s\n" % file_name
    try:
        was_ok = record(file_name)
        if not was_ok:
            print "Failed"
    except KeyboardInterrupt as e:
        print red(e)
        sys.exit(-1)
Example #13
0
(options, args) = parser.parse_args()

if __name__ == "__main__":

    """
    Validate
    """
    if len(args) != 2:
        parser.error("Please provide (i) a destination_file and (ii) the text to synthesize")
        sys.exit(-1)
    
    print green(HEADER)
    
    creds = NDEVCredentials()
    if not creds.has_credentials():
        print red("Please provide NDEV credentials.")
        sys.exit(-1)
    
    language = getattr(options, 'language')
    voice = getattr(options, 'voice')
    desired_tts_lang = TTS.get_language_input(language,voice)
    print yellow("\nUsing Language: %s (%s)\tVoice: %s\n" % (desired_tts_lang['display'], desired_tts_lang['properties']['code'], desired_tts_lang['properties']['voice']))
    
    try:

        filename = args[0]
        text = unicode(args[1],'utf-8')
        audio_type = TTS.get_audio_type(filename)

        sample_rate = None # doesn't have to be defined, depends on codec
        atype = TTS.Accept[audio_type]
Example #14
0
    if wants_verbose_logging:
        import logging
        import httplib
        httplib.HTTPConnection.debuglevel = 1
        logging.basicConfig()
        logging.getLogger().setLevel(logging.DEBUG)
        requests_log = logging.getLogger("requests.packages.urllib3")
        requests_log.setLevel(logging.DEBUG)
        requests_log.propagate = True

    print green(HEADER)

    creds = NDEVCredentials()
    if not creds.has_credentials():
        print red("Please provide NDEV credentials.")
        sys.exit(-1)

    language = getattr(options, 'language')
    desired_asr_lang = ASR.get_language_input(language)
    print "\nOK. Going forward, will use %s (%s) as the language.\n" % (
        desired_asr_lang['display'], desired_asr_lang['properties']['code'])

    asr_req = stream_asr(creds=creds,
                         desired_asr_lang=desired_asr_lang,
                         desired_sample_rate=desired_sample_rate)

    if asr_req.response.was_successful():
        print "\nNDEV ASR determined \n\n  %s\n" % magenta(
            asr_req.response.get_recognition_result())
    else: