当前位置:   article > 正文

利用openai的whisper,识别会议录音_win10 openai whisper

win10 openai whisper

下面是代码的详细解释

一、 **导入必要的库** 代码开始时,导入了必要的库:`tkinter` 用于创建 GUI,`filedialog` 用于选择音频文件,`os` 用于文件操作,`whisper` 用于语音转文本。

二、**创建 GUI** GUI 由一个框架组成,包含一个按钮用于选择音频文件,一个标签用于显示所选文件,另一个标签用于显示转换结果。 **选择音频文件** 当按钮被点击时,`select_audio_file` 函数被调用,打开一个文件对话框,以便用户选择音频文件。所选文件路径被存储在 `root.filename` 变量中。

三、**将语音转换为文本** `convert_speech_to_text` 函数被调用,带有所选音频文件作为参数。该函数使用 Whisper 库将音频文件转换为文本,并将结果存储在 `text` 变量中。

四、**保存转换结果** `save_text_file` 函数被调用,带有音频文件路径和转换文本作为参数。该函数将转换结果保存到与音频文件相同目录下的文本文件中。 **显示结果** 转换结果被显示在 GUI 标签中。

安装必要的库

pip install whisper

whisper转录需要FFmpeg

安装 FFmpeg 的方法取决于你的操作系统。下面是常见操作系统的安装方法:

Windows

  1. 下载 FFmpeg 的 Windows 版本从官方网站:https://ffmpeg.org/download.html
  2. 选择合适的版本(32 位或 64 位)并下载安装程序。
  3. 运行安装程序并按照提示安装 FFmpeg。
  4. 将 FFmpeg 的安装目录添加到系统的 PATH 中。

Mac (via Homebrew)

  1. 安装 Homebrew,如果你还没有安装:https://brew.sh/
  2. 打开 Terminal 并输入以下命令:brew install ffmpeg
  3. 等待安装完成。

Linux (Ubuntu/Debian)

  1. 打开 Terminal 并输入以下命令:sudo apt-get install ffmpeg

在win系统中需要将ffmpeg添加到环境变量中。为了将位于 E:\ffmpeg-7.0-essentials_build\bin (我的ffmpeg在此目录)的 FFmpeg 可执行文件(ffmpeg.exe)添加到系统的 PATH 中,可以按照以下步骤操作:

  1. 在桌面上右键点击“计算机”或“此电脑”图标,然后选择“属性”。
  2. 在左侧点击“高级系统设置”。
  3. 点击“环境变量”。
  4. 在“系统变量”部分,滚动到底部找到“Path”变量,然后点击“编辑”。
  5. 点击“新建”并添加路径 E:\ffmpeg-7.0-essentials_build\bin 到列表中。
  6. 点击“确定”以关闭所有窗口。

或者,你可以使用命令提示符来添加路径到系统的 PATH 环境变量。下面是如何操作:

  1. 以管理员身份打开命令提示符。
  2. 输入以下命令并按回车键:
setx PATH "%PATH%;E:\ffmpeg-7.0-essentials_build\bin"

这将添加路径到系统的 PATH 环境变量。

一旦添加了路径,你应该能够从命令提示符中的任何目录运行 FFmpeg。

下面是代码实现:

import tkinter as tk
from tkinter import filedialog
import os
import whisper

def select_audio_file():
    root.filename = filedialog.askopenfilename(initialdir="/", title="Select file",
                                              filetypes=(("audio files", "*.wav"), ("all files", "*.*")))
    if root.filename:
        label_file["text"] = os.path.basename(root.filename)
        convert_speech_to_text(root.filename)

def convert_speech_to_text(audio_file):
    model = whisper.load_model("base")
    result = model.transcribe(audio_file, fp16=False)
    text = result["text"]
    save_text_file(audio_file, text)

def save_text_file(audio_file, text):
    text_file_path = os.path.splitext(audio_file)[0] + ".txt"
    with open(text_file_path, 'w') as file:
        file.write(text)
    label_result["text"] = f"Transcription saved to: {text_file_path}"

root = tk.Tk()
root.title("Speech to Text Converter")

frame = tk.Frame(root)
frame.pack(pady=20)

button_load = tk.Button(frame, text="Select Audio File", command=select_audio_file)
button_load.pack()

label_file = tk.Label(frame, text="No file selected")
label_file.pack()

label_result = tk.Label(frame, text="")
label_result.pack()

root.mainloop()

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/680891
推荐阅读
相关标签
  

闽ICP备14008679号