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

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

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

相关推荐
NAGNIP11 小时前
一文搞懂深度学习中的通用逼近定理!
人工智能·算法·面试
冬奇Lab13 小时前
一天一个开源项目(第36篇):EverMemOS - 跨 LLM 与平台的长时记忆 OS,让 Agent 会记忆更会推理
人工智能·开源·资讯
冬奇Lab13 小时前
OpenClaw 源码深度解析(一):Gateway——为什么需要一个"中枢"
人工智能·开源·源码阅读
AngelPP16 小时前
OpenClaw 架构深度解析:如何把 AI 助手搬到你的个人设备上
人工智能
宅小年16 小时前
Claude Code 换成了Kimi K2.5后,我再也回不去了
人工智能·ai编程·claude
九狼17 小时前
Flutter URL Scheme 跨平台跳转
人工智能·flutter·github
ZFSS17 小时前
Kimi Chat Completion API 申请及使用
前端·人工智能
天翼云开发者社区18 小时前
春节复工福利就位!天翼云息壤2500万Tokens免费送,全品类大模型一键畅玩!
人工智能·算力服务·息壤
知识浅谈18 小时前
教你如何用 Gemini 将课本图片一键转为精美 PPT
人工智能
Ray Liang18 小时前
被低估的量化版模型,小身材也能干大事
人工智能·ai·ai助手·mindx