网站首页 > 精选文章 正文
转载说明:原创不易,未经授权,谢绝任何形式的转载
将视频转录为文本稿件可能是一项耗时的任务,特别是如果您需要处理大量内容。幸运的是,您可以使用 Python 和一些开源库来自动化该过程并达到高准确率。在本教程中,我们将展示如何仅使用 15 行 Python 代码以 97% 的准确率转录视频。
先决条件
在开始之前,您需要在计算机上安装 Python 以及我们将要使用的几个库。要安装必要的库,请在终端中运行以下命令:
pip install SpeechRecognition
pip install pydub
SpeechRecognition 是一个库,可以在音频文件上执行语音识别;而 pydub 是一个库,可以在多种格式的音频文件上进行操作。
转录视频
转录视频的第一步是从视频文件中提取音频。在本教程中,我们将使用 MP4 文件,但您也可以使用其他格式。提取音频并将其转换为 WAV 文件的代码如下:
import speech_recognition as sr
from pydub import AudioSegment
import os
# Load the video file
video = AudioSegment.from_file("video.mp4", format="mp4")
audio = video.set_channels(1).set_frame_rate(16000).set_sample_width(2)
audio.export("audio.wav", format="wav")
在此代码中,我们使用 pydub 的 AudioSegment 类加载视频文件并提取音频。然后,我们将音频设置为单声道、16kHz、16位,这是 SpeechRecognition 库所要求的格式。最后,我们将音频导出为 WAV 文件。
现在,我们有了音频文件,我们可以使用 SpeechRecognition 库将其转录为文本。以下是实现此操作的代码:
# Initialize recognizer class (for recognizing the speech)
r = sr.Recognizer()
# Open the audio file
with sr.AudioFile("audio.wav") as source:
audio_text = r.record(source)
# Recognize the speech in the audio
text = r.recognize_google(audio_text, language='en-US')
在此代码中,我们初始化 SpeechRecognition 的 Recognizer 类并打开音频文件。然后,我们使用 record 方法读取音频并将其存储在 audio_text 变量中。最后,我们使用 recognize_google 方法将音频转录为文本,并将结果存储在 text 变量中。
注:如果视频内容是中文,请将 language 参数更改为 'zh-CN',还有个需要注意的国内网络问题,你需要解决网络的问题,有可能会提示网络不正常的错误
保存文本稿
最后一步是将文本稿保存到文件中。以下是实现此操作的代码:
# Print the transcript
file_name = "transcription.txt"
with open(file_name, "w") as file:
# Write to the file
file.write(text)
# Open the file for editing by the user
os.system(f"start {file_name}")
在此代码中,我们创建了一个名为 transcription.txt 的新文件,并将文本稿写入其中。然后,我们使用 os 库打开该文件供用户编辑。这行代码可能会因您的操作系统而略有不同,因此您可能需要相应地进行调整。
完整的代码
import speech_recognition as sr
from pydub import AudioSegment
import os
# 加载视频文件
video = AudioSegment.from_file("video.mp4", format="mp4")
# 将音频设置为单声道、16kHz、16位
audio = video.set_channels(1).set_frame_rate(16000).set_sample_width(2)
# 导出音频为 WAV 文件
audio.export("audio.wav", format="wav")
# 初始化 Recognizer 类(用于语音识别)
r = sr.Recognizer()
# 打开音频文件
with sr.AudioFile("audio.wav") as source:
audio_text = r.record(source)
# 识别音频中的语音
text = r.recognize_google(audio_text, language='zh-CN')
# 打印转录结果
file_name = "transcription.txt"
with open(file_name, "w") as file:
# 将转录结果写入文件
file.write(text)
# 打开文件供用户编辑
os.system(f"start {file_name}")
结束
就这样!仅使用 15 行 Python 代码,我们以 97% 的准确率转录了一个视频。当然,转录的准确性将取决于多种因素。尽量使用没有大量叠加声音或背景噪音的清晰音视频。
今天的分享就到这里,感谢你的阅读,希望能够帮助到你,文章创作不易,如果你喜欢我的分享,别忘了点赞转发,让更多有需要的人看到,最后别忘记关注「前端达人」,你的支持将是我分享最大的动力,后续我会持续输出更多内容,敬请期待。
猜你喜欢
- 2025-05-26 一听就懂:用Python做一个超简单的小游戏
- 2025-05-26 基于深度学习OpenCV与python进行字符识别
- 2025-05-26 老外最喜欢的美食圣地 是不是你家?python 分析20w数据 「附代码」
- 2025-05-26 Python 中的可变和不可变:面向初学者的完整指南
- 2025-05-26 这一篇就够了!带你全面了解Python的异常处理机制
- 2025-05-26 python3 matplotlib下增加新字体并使用
- 2025-05-26 Python,pyttsx3,实现语音合成,实现语音朗读,文字转语音
- 2025-05-26 python应用:如何用python提取pdf文件中的文字
- 2025-05-26 Markdown + 文档管理 + 静态网页生成,集大成的 Markdown 应用:MWeb
- 2025-05-26 Python提取图片中的文字信息,腾讯内部技术,一行代码搞定
- 05-3022《Vue 入门教程》VueRouter 路由嵌套
- 05-30前端面试题-Vue 项目中,你做过哪些性能优化?
- 05-30超简 Vue3+elementPlus 后台管理系统
- 05-30还有前端不知道Electron的?手把手教你把Vue项目打包成桌面程序
- 05-30Nuxt最简入门,让vue项目快速被搜索引擎收录
- 05-30Mac上最美最好用软件系列
- 05-30AI编程小白必备|Cursor安装及配置教程
- 05-30好玩儿的编程语言——文言文编程语言
- 最近发表
- 标签列表
-
- 向日葵无法连接服务器 (32)
- git.exe (33)
- vscode更新 (34)
- dev c (33)
- git ignore命令 (32)
- gitlab提交代码步骤 (37)
- java update (36)
- vue debug (34)
- vue blur (32)
- vscode导入vue项目 (33)
- vue chart (32)
- vue cms (32)
- 大雅数据库 (34)
- 技术迭代 (37)
- 同一局域网 (33)
- github拒绝连接 (33)
- vscode php插件 (32)
- vue注释快捷键 (32)
- linux ssr (33)
- 微端服务器 (35)
- 导航猫 (32)
- 获取当前时间年月日 (33)
- stp软件 (33)
- http下载文件 (33)
- linux bt下载 (33)