我有一个成绩单应用程序,可以将音频从文件转录为文本。 问题是输出文本是一个长句子。 所以我想一个解决方案可能是,在音频文件中寻找暂停并在转录中添加标点符号。
如果音频内容是这样的: 你好吗?--暂停-我很好。--暂停-- 准备好开始了吗?--暂停--
它将转录为: 你好吗。我很好。准备开始。
我的代码如下所示:
import speech_recognition as sr
r = sr.Recognizer()
with sr.AudioFile('Interview_143.flac') as source:
audio = r.listen(source)
try:
print("Google Speech Recognition results:")
print(r.recognize_google(audio, show_all=True)) # (pretty)-print the recognition result
except:
print('No speech recognized...')
结果:
"一个长句子中的大量文本很难阅读,因为句子之间没有标点符号才能解决这个问题,必须通过某种语法服务来修复它,但是无论如何他们都不擅长设置标点符号,所以模块/包可以同样出色地完成这项工作">
如果没有,那么可能是这样的: 检测音频文件中的静音
要启用添加标点符号,请像这样编辑您的配置:
config = speech.RecognitionConfig(
language_code='en-US',
sample_rate_hertz=44100,
audio_channel_count=2,
enable_word_time_offsets=True,
model='video',
enable_automatic_punctuation=True,
)