python怎么把代码保存为一个文件,python怎么将代码存入一个文件中

首页 > 实用技巧 > 作者:YD1662024-01-08 21:11:27

转载说明:原创不易,未经授权,谢绝任何形式的转载

python怎么把代码保存为一个文件,python怎么将代码存入一个文件中(1)

Midjourney 创作,彩色的代码字节流

将视频转录为文本稿件可能是一项耗时的任务,特别是如果您需要处理大量内容。幸运的是,您可以使用 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% 的准确率转录了一个视频。当然,转录的准确性将取决于多种因素。尽量使用没有大量叠加声音或背景噪音的清晰音视频。

今天的分享就到这里,感谢你的阅读,希望能够帮助到你,文章创作不易,如果你喜欢我的分享,别忘了点赞转发,让更多有需要的人看到,最后别忘记关注「前端达人」,你的支持将是我分享最大的动力,后续我会持续输出更多内容,敬请期待。

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.