AI办公自动化-用kimi将音频批量转换为文本

现在已经有很多非常不错的语音转文本的AI应用了,比如通义听悟、飞书妙记等。不过,对于大批量、多个文件夹的语音转文本,手工操作就比较麻烦了,还是有个程序自动化运行更方面。

Whisper 是一个由 OpenAI 开发的开源语音识别库,旨在将音频内容转换为文本。它使用深度学习模型来识别和转录语音,支持多种语言和多种音频格式。借助这个开源免费的Whisper库,可以很方便的实现批量语音转文本。

在kimichat对话框中输入提示词:

你是一个Python编程专家,要完成一个Python脚本的编写任务,具体步骤如下:

打开文件夹:D:\CHATGPT For TikTok TikTok Mastery with CHATGPT

文件夹里面有多个子文件夹,子文件夹中有mp3格式的音频,读取子文件夹中的所有音频文件;

用openai-whisper库将mp3格式音频识别为和音频同名的文本文档,然后保存在和mp3音频的同一个文件夹中;

注意:Whisper语音模型使用medium模型,要识别的音频为英文内容

下面是openai-whisper库的使用示例:

import whisper

model = whisper.load_model("medium")

result = model.transcribe("audio.mp3")

print(result["text"])

这是kimichat给出的Python源代码:

import os

import whisper

定义 Whisper 模型路径

MODEL_PATH = "medium" # 这里我们直接使用 "medium" 字符串,因为根据你的描述,不需要指定具体的模型文件路径

定义音频文件夹路径

AUDIO_FOLDER = 'D:\\CHATGPT For TikTok TikTok Mastery with CHATGPT'

初始化 Whisper 模型

model = whisper.load_model(MODEL_PATH)

遍历文件夹中的所有子文件夹和文件

for root, dirs, files in os.walk(AUDIO_FOLDER):

for file in files:

检查文件是否为 mp3 格式

if file.endswith('.mp3'):

构建 mp3 文件的完整路径

mp3_path = os.path.join(root, file)

构建文本文件的完整路径

text_path = os.path.splitext(mp3_path)[0] + '.txt'

使用 Whisper 模型识别音频并生成文本

try:

result = model.transcribe(mp3_path)

保存文本到文件

with open(text_path, 'w', encoding='utf-8') as f:

f.write(result["text"])

print(f'Transcription saved: {text_path}')

except Exception as e:

print(f'Error transcribing audio from {mp3_path}: {e}')

print('Transcription process completed.')

由于whisper库依赖pyTorch,所以还要安装其他几个库。而这几个库由于版本兼容问题,可能会发生冲突,所以最好使用conda生成虚拟的Python环境,然后安装在这个虚拟环境中。

用conda创建一个3.9版本的Python环境:conda create n myenv python=3.9

在这个虚拟环境中安装whisper库:pip install openai-whisper -i https://pypi.tuna.tsinghua.edu.cn/simple

安装pytorch库:conda install pytorch torchvision torchaudio cpuonly -c pytorch

whisper 在处理音频文件时会用到 ffmpeg,也需要安装,下载地址:https://github.com/BtbN/FFmpeg-builds/releases,安装完成后,然后将ffmpeg.exe所在文件夹路径在系统环境变量设置中添加到变量Path中。

接下来,在vscode里面设置好使用这个虚拟的Python3.9版本环境:

View------command palette------select interpreter------Python3.9.19

这些都设置好之后,就可以在虚拟环境中运行Python程序了:

运行时出现一个警告:d:\anaconda\envs\myenv\lib\site-packages\whisper\transcribe.py:115: UserWarning: FP16 is not supported on CPU; using FP32 instead

warnings.warn("FP16 is not supported on CPU; using FP32 instead")

这个警告信息 UserWarning: FP16 is not supported on CPU; using FP32 instead 是由于尝试在 CPU 上使用半精度(FP16)浮点数进行计算,但 CPU 不支持 FP16 运算,因此回退到使用单精度(FP32)浮点数。

在深度学习中,FP16 可以提供更快的计算速度和减少内存使用,但需要特定的硬件支持,比如支持 FP16 运算的 GPU。如果你在 CPU 上运行代码或者 GPU 不支持 FP16,那么库会自动回退到使用 FP32,这是一个完全兼容但计算速度较慢的选项。

这个警告通常不会影响程序的运行,只是表明性能可能不是最优的。如果你希望消除这个警告,可以采取以下措施之一:

使用支持 FP16 的 GPU:如果你有支持 FP16 的 GPU,确保你的环境已经正确安装并配置了相应的驱动和库(如 CUDA 和 cuDNN)。这样,当你在 GPU 上运行代码时,就可以利用 FP16 提升性能。

忽略警告:如果你不打算使用 FP16 支持的硬件,可以选择忽略这个警告。在 Python 中,你可以使用 warnings 库来忽略特定类型的警告:

import warnings

warnings.filterignore("UserWarning", message="FP16 is not supported on CPU; using FP32 instead")

将上述代码添加到你的脚本中,可以在运行时忽略这个特定的警告信息

直接忽略这个警告就好,程序运行结果良好:

相关推荐
Ai墨芯1112 分钟前
靠机器学习+组合优化就发了CCF-A
人工智能
Morpheon4 分钟前
揭开预训练Pre-Training的力量:革新机器学习
人工智能·机器学习
勤奋的大熊猫5 分钟前
机器学习中的 Agent 是什么?
人工智能·机器学习·agent
Blossom.1185 分钟前
机器学习在智能建筑中的应用:能源管理与环境优化
人工智能·python·深度学习·神经网络·机器学习·机器人·sklearn
明朝百晓生8 分钟前
深入理解Vapnik-Chervonenkis(VC)维度:机器学习泛化能力的理论基础
人工智能·机器学习
信息快讯8 分钟前
机器学习驱动的智能化电池管理技术与应用
人工智能·机器学习·锂离子电池
勤奋的大熊猫9 分钟前
机器学习路径规划中的 net 和 netlist 分别是什么?
人工智能·机器学习·自动寻路
还有糕手11 分钟前
西南交通大学【机器学习实验6】
人工智能·机器学习
静心问道40 分钟前
self-consistency:自洽性提升语言模型中的链式思维推理能力
人工智能·语言模型·大模型
上海锝秉工控1 小时前
防爆拉线位移传感器:工业安全的“隐形守护者”
大数据·人工智能·安全