Example #1
0
def run():
    sample_rate = 8000
    root = os.path.join(speech_root(), 'commands', 'vladimir')

    labels_path = os.path.join(root, 'audio.labels')
    in_path = os.path.join(root, 'audio.wav')
    out_dir = os.path.join(root, str(sample_rate))

    device = audio.Device()
    try:
        settings = audio.StreamSettings(device, device_index=None, sample_rate=sample_rate)
        indata = audio.AudioData.load_as_wav(in_path, settings)
        raw = indata.get_raw_data()

        labels = load_labels(labels_path)

        # ranges = [[labels[i-1][0], labels[i][0]] for i in range(1, len(labels))]
        # ranges.append([labels[-1][0], len(raw) // settings.sample_width])
        # labels = ranges

        write(raw, settings, labels, out_dir)


    except KeyboardInterrupt:
        print('KeyboardInterrupt')
    finally:
        device.terminate()
Example #2
0
def run():
    # hotword_detector = _get_pocket_sphinx().create_hotword_recognizer()
    hotword_detector = _get_snowboy().create_hotword_recognizer()
    device = audio.Device()
    try:
        settings = audio.StreamSettings(device,
                                        device_index=None,
                                        sample_rate=16000)
        print("settings: {}".format(settings))
        mic = device.create_microphone_stream(settings)

        ind_pocket = 0
        while True:
            frames = mic.read(settings.frames_per_buffer)
            if len(frames) == 0:
                break

            if hotword_detector.is_hotword(frames):
                ind_pocket += 1
                print('found pocket {}'.format(ind_pocket))

    except KeyboardInterrupt:
        pass
    finally:
        device.terminate()
Example #3
0
def run():
    device = audio.Device()
    try:
        vad_webrtcvad.run(device)
        vad_test.run(device)
        vad_snowboy.run(device)
    finally:
        device.terminate()
Example #4
0
def run():
    wav_dir = os.path.join(speech_root(), 'commands', 'masha', '16000')

    device = audio.Device()
    decoder = create_decoder()
    try:
        decode(device, decoder, os.path.join(wav_dir, '0.wav'))
        decoder.get_lattice().write('goforward.lat')
        decoder.get_lattice().write_htk('goforward.htk')
    except KeyboardInterrupt:
        print("KeyboardInterrupt")
    finally:
        device.terminate()
Example #5
0
def run():
    wav_dir = os.path.join(speech_root(), 'commands', 'masha', '16000')


    device = audio.Device()
    decoder = create_decoder()
    try:
        for ind in range(20):
            decode(device, decoder, wav_path = os.path.join(wav_dir, str(ind) + '.wav'))
    except KeyboardInterrupt:
        print("KeyboardInterrupt")
    finally:
        device.terminate()
Example #6
0
def run(device_index=None):
    device = audio.Device()
    recognizer = None
    pixel_ring.off()
    try:
        # hotword_settings = config.pocket_sphinx
        hotword_settings = config.http_activation

        recognizer = Listener(hotword_settings, config.snowboy, recognizer_settings)
        hotword_recognizer = recognizer.get_hotword_recognizer()
        phrase_recognizer = recognizer.get_phrase_recognizer()
        settings = recognizer.get_stream_settings(device, device_index=device_index)
        print("settings: {}".format(settings))
        mic = device.create_microphone_stream(settings)

        while True:
            print("start wait hotword...")
            if not recognizer.wait_hotword(mic):
                print("error")
                return

            pixel_ring.set_volume(12)
            print("start record...")
            if not recognizer.read_phrase(mic):
                print("error read phrase")
                return

            print("start send...")
            pixel_ring.wait()
            result = recognizer.recognize()

            audio.AudioData(phrase_recognizer.get_all_data(), settings).save_as_wav('record.wav')

            print(result)
            pixel_ring.off()
            hotword_recognizer.set_answer(result)
    except KeyboardInterrupt:
        pass
    finally:
        print('stop')
        pixel_ring.off()
        recognizer.close()
        device.terminate()
Example #7
0
def run():
    device = audio.Device()
    try:
        base = os.path.join(root(), 'samples', 'speech')
        samples = [
            SampleSnowboy(device, os.path.join(base, 'commands', 'vladimir')),
            SampleSnowboy(device, os.path.join(base, 'commands', 'masha')),
            # Sample(device, 'story', 'vladimir'),
            # Sample(device, 'story', 'masha'),
        ]

        cnt = len(samples)
        for ind, sample in enumerate(samples):
            print("sample: {} of {}".format(ind + 1, cnt))
            sample.check()

        for sample in samples:
            sample.show()

    except KeyboardInterrupt:
        pass
    finally:
        device.terminate()