Skip to content

Instantly share code, notes, and snippets.

@ouor
Last active March 17, 2023 02:11
Show Gist options
  • Save ouor/12b3ee2aabcaa0459b5704ec9db7d567 to your computer and use it in GitHub Desktop.
Save ouor/12b3ee2aabcaa0459b5704ec9db7d567 to your computer and use it in GitHub Desktop.
import speech_recognition as sr
import argparse
import os
from tqdm import tqdm
args = argparse.ArgumentParser()
args.add_argument('--audio-input-dir', '-i', type=str, dest='audio_input_dir', required=True)
args.add_argument('--txt-output-path', '-o', type=str, dest='txt_output_dir', required=False, default='')
args.add_argument('--lang', '-l', type=str, dest='lang', required=False, default='ko-KR')
args = args.parse_args()
if not os.path.exists(args.audio_input_dir):
raise Exception('audio_input_dir is not exist')
if args.txt_output_dir == '':
args.txt_output_dir = os.path.join(args.audio_input_dir, 'manifest.txt')
r = sr.Recognizer()
txt = open(args.txt_output_dir, 'w', encoding='utf-8')
for file in tqdm([i for i in os.listdir(args.audio_input_dir) if i.endswith('.wav')]):
audio_input = os.path.join(args.audio_input_dir, file)
with sr.AudioFile(audio_input) as source:
audio = r.record(source)
try:
response = r.recognize_google(audio, language=args.lang)
txt.write(f"{file}|{response}\n")
except sr.UnknownValueError:
print('UnknownValueError')
except sr.RequestError as e:
print('RequestError: {0}'.format(e))
txt.close()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment