正在寻找一种方法来检测音频文件中的停顿,然后能够在句子之间设置标点符号?



我有一个成绩单应用程序,可以将音频从文件转录为文本。 问题是输出文本是一个长句子。 所以我想一个解决方案可能是,在音频文件中寻找暂停并在转录中添加标点符号。

如果音频内容是这样的: 你好吗?--暂停-我很好。--暂停-- 准备好开始了吗?--暂停--

它将转录为: 你好吗。我很好。准备开始。

我的代码如下所示:

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,
)

相关内容

最新更新