AI辦公自動化-用kimi將音頻批量轉換爲文本

部落人有文化 2024-05-19 11:24:20

現在已經有很多非常不錯的語音轉文本的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")

將上述代碼添加到你的腳本中,可以在運行時忽略這個特定的警告信息

直接忽略這個警告就好,程序運行結果良好:

1 阅读:100

部落人有文化

簡介:感謝大家的關注