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!')
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)
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)
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)
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)
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)