Beispiel #1
0
def init_module(args):
    log('Initialize ASR ...')
    global MODEL, transcriber
    MODEL = args.model
    asr = create_asr(MODEL)
    frame_generator, vad = create_vad()
    transcriber = Transcriber(asr, vad, frame_generator)
    log('ASR worker initialized!')
Beispiel #2
0
def create_worker(model, hostname, port, master_address, recordings_saver_address):
    poller = create_poller("tcp://0.0.0.0:5678")
    heartbeat = create_heartbeat(model, "tcp://%s:%s" % (hostname, port), master_address)
    asr = create_asr()
    audio = AudioUtils()
    saver = RemoteSaver(create_recordings_saver_socket(recordings_saver_address), model)
    vad = create_vad()
    id_generator = lambda: uuid.uuid4().int
    run_forever = lambda: True

    return Worker(poller, heartbeat, asr, audio, saver, vad, id_generator, run_forever)
Beispiel #3
0
    def test_vad(self):
        vad = create_vad(16000)

        utterances = 0
        for original_chunk, resampled_chunk in self.chunks():
            _, change, _, _ = vad.decide(original_chunk, resampled_chunk)

            if change == 'speech':
                utterances += 1

        self.assertEqual(3, utterances)
Beispiel #4
0
    def test_vad(self):
        vad = create_vad()

        utterances = 0
        for original_chunk, resampled_chunk in self.chunks():
            _, change, _, _ = vad.decide(original_chunk, resampled_chunk)

            if change == 'speech':
               utterances += 1

        self.assertEqual(3, utterances)
Beispiel #5
0
def create_worker(model, hostname, port, master_address,
                  recordings_saver_address):
    poller = create_poller("tcp://0.0.0.0:5678")
    heartbeat = create_heartbeat(model, "tcp://%s:%s" % (hostname, port),
                                 master_address)
    asr = create_asr()
    audio = AudioUtils()
    saver = RemoteSaver(
        create_recordings_saver_socket(recordings_saver_address), model)
    vad = create_vad()
    id_generator = lambda: uuid.uuid4().int
    run_forever = lambda: True

    return Worker(poller, heartbeat, asr, audio, saver, vad, id_generator,
                  run_forever)
Beispiel #6
0
    def callback(nbest, end_of_segment=False, end_of_stream=False, alignment=None, alignment_with_confidence=None, start=0.0):
        if end_of_segment:
            for (word, utterance_start, duration, confidence) in alignment_with_confidence:
                f.write(u" ".join(["%.2f" % (start + utterance_start), "%.2f" % duration, word, "%.2f" % confidence, "\n"]))

    return callback


if __name__ == '__main__':
    if len(sys.argv) != 3:
        print("Usage: transcribe.py model wav")
        sys.exit(-1)


    model = sys.argv[1]
    wav = sys.argv[2]

    asr = create_asr(model)
    frame_generator, vad = create_vad()
    transcriber = Transcriber(asr, vad, frame_generator)

    start = time.time()
    transcriber.run(chunks(wav), print_ctm(sys.stdout))
    end = time.time()

    processing_time = end - start
    duration = wav_duration(wav)

    print("%.2f" % duration, "%.2f" % processing_time,
          "%.2f" % (processing_time / duration), file=sys.stderr)