語音轉(zhuǎn)文字在許多不同領(lǐng)域都有著廣泛的應(yīng)用。以下是一些例子:
1.字幕制作:語音轉(zhuǎn)文字可以幫助視頻制作者快速制作字幕,這在影視行業(yè)和網(wǎng)絡(luò)視頻領(lǐng)域非常重要。通過使用語音轉(zhuǎn)文字工具,字幕制作者可以更快地生成字幕,從而縮短制作時間,節(jié)省人工成本,并提高制作效率。
2.法律文書:在法律領(lǐng)域,語音轉(zhuǎn)文字可以幫助律師和律所將聽證會、辯論和其他法律活動的錄音轉(zhuǎn)化為文字文檔。這些文檔可以用于研究、起草文件和法律分析等目的,從而提高工作效率。
3.醫(yī)療文檔:醫(yī)療專業(yè)人員可以使用語音轉(zhuǎn)文字技術(shù)來記錄病人的醫(yī)療記錄、手術(shù)記錄和其他相關(guān)信息。這可以減少錯誤和遺漏,提高記錄的準確性和完整性,為患者提供更好的醫(yī)療服務(wù)。
4.市場調(diào)查和分析:語音轉(zhuǎn)文字可以幫助企業(yè)快速收集和分析消費者反饋、電話調(diào)查和市場研究結(jié)果等數(shù)據(jù)。這可以幫助企業(yè)更好地了解其目標受眾和市場趨勢,從而制定更有效的營銷策略和商業(yè)計劃。
總之,語音轉(zhuǎn)文字技術(shù)在許多不同的行業(yè)和場景中都有著廣泛的應(yīng)用,可以提高工作效率、減少成本和錯誤,并為企業(yè)和個人帶來更多商業(yè)價值。
語音轉(zhuǎn)文字是一項重要的技術(shù),但市場上大部分語音轉(zhuǎn)文字工具存在諸多問題,效果非常差。如果你需要高效而準確的語音轉(zhuǎn)文字解決方案,你應(yīng)該考慮使用Whisper。下面是whisper的一段轉(zhuǎn)換示例:
", ".join([i["text"] for i in result["segments"] if i is not None])
# Out[12]: '我贏了啊你說你看到?jīng)]有沒有這樣沒有減息啊我們后面是降息, 你不要去博這個東西, 我真是害怕你啊, 你不要去博不確定性, 是不是不確定性是我們的敵人, 聽到?jīng)]有朋友們, 好吧, 來朋友們, 你們的預(yù)約點好了啊, 朋友們, 你們的預(yù)約一定要給我點好了吧, 晚上八點鐘是準時開播的, 朋友們關(guān)注點好了, 我們盤中視頻見啊, 朋友們大家再見'

可以看到,即便是語速這么快的情況下,Whisper 依然實現(xiàn)了近乎完美的轉(zhuǎn)換。
在接下來的教程中,我們將介紹如何使用Whisper來輕松地完成語音轉(zhuǎn)文字任務(wù)。
1.準備
開始之前,你要確保Python和pip已經(jīng)成功安裝在電腦上,如果沒有,可以訪問這篇文章:超詳細Python安裝指南 進行安裝。
**(可選1) **如果你用Python的目的是數(shù)據(jù)分析,可以直接安裝Anaconda:Python數(shù)據(jù)分析與挖掘好幫手—Anaconda,它內(nèi)置了Python和pip.
**(可選2) **此外,推薦大家用VSCode編輯器,它有許多的優(yōu)點:Python 編程的最好搭檔—VSCode 詳細指南。
請選擇以下任一種方式輸入命令安裝依賴 :
- Windows 環(huán)境 打開 Cmd (開始-運行-CMD)。
- MacOS 環(huán)境 打開 Terminal (command+空格輸入Terminal)。
- 如果你用的是 VSCode編輯器 或 Pycharm,可以直接使用界面下方的Terminal.
pip install openai-whisper
此外你還需要安裝ffmpeg。
安裝ffmpeg
Windows:
- 進入 http://ffmpeg.org/download.html#build-windows,點擊 windows 對應(yīng)的圖標,進入下載界面點擊 download 下載按鈕,
- 解壓下載好的zip文件到指定目錄
- 將解壓后的文件目錄中 bin 目錄(包含 ffmpeg.exe )添加進 path 環(huán)境變量中
- DOS 命令行輸入 ffmpeg -version, 出現(xiàn)以下界面說明安裝完成:

**Mac ** (打開終端(Terminal), 用 homebrew 安裝):
brew install ffmpeg --with-libvorbis --with-sdl2 --with-theora
apt-get install ffmpeg libavcodec-extra
2.使用Whisper進行語音轉(zhuǎn)文字
簡單的使用例子:
import whisper
whisper_model = whisper.load_model("large")
result = whisper_model.transcribe(r"C:Userswin10Downloadstest.wav")
print(", ".join([i["text"] for i in result["segments"] if i is not None]))
首先,我們建議使用Whisper的large-v2模型。根據(jù)我的實測結(jié)果,這個模型的表現(xiàn)非常優(yōu)秀,它可以識別多種語言,包括中文,而且中文識別效果非常出色。在某些文字轉(zhuǎn)換的場景中,它的表現(xiàn)甚至優(yōu)于騰訊云、阿里云。
如果你無法下載到模型,可以用我們的模型鏡像下載地址:https://pythondict.com/download/openai-whisper-large-v2/
使用前將模型文件放到指定位置:
Windows: C:Users你的用戶名.cachewhisper/large-v2.pt
Linux/MacOS: ~/.cache/whisper/large-v2.pt
然后重新運行程序即可得到轉(zhuǎn)換結(jié)果。比如我們轉(zhuǎn)換下面這個音頻:
whisper素材 **, Python實用寶典 ,**29秒
效果如下:
# 公眾號:Python實用寶典
# 轉(zhuǎn)載請附帶注釋
import whisper
whisper_model = whisper.load_model("large")
result = whisper_model.transcribe(r"C:Userswin10Downloadstest.wav")
print(", ".join([i["text"] for i in result["segments"] if i is not None]))
# 我贏了啊你說你看到?jīng)]有沒有這樣沒有減息啊我們后面是降息, 你不要去博這個東西, 我真是害怕你啊, 你不要去博不確定性, 是不是不確定性是我們的敵人, 聽到?jīng)]有朋友們, 好吧, 來朋友們, 你們的預(yù)約點好了啊, 朋友們, 你們的預(yù)約一定要給我點好了吧, 晚上八點鐘是準時開播的, 朋友們關(guān)注點好了, 我們盤中視頻見啊, 朋友們大家再見

此外,不建議一次性轉(zhuǎn)換長音頻。如果你要轉(zhuǎn)換長度很長的音頻,建議先做切割并降低碼率。參考我們以前moviepy的文章:
3.Whisper轉(zhuǎn)換結(jié)果分析
Whisper的生成結(jié)果是一個字典:
{'text': '我贏了啊你說你看到?jīng)]有沒有這樣沒有減息啊我們后面是降息你不要去博這個東西我真是害怕你啊你不要去博不確定性是不是不確定性是我們的敵人聽到?jīng)]有朋友們好吧來朋友們你們的預(yù)約點好了啊朋友們你們的預(yù)約一定要給我點好了吧晚上八點鐘是準時開播的朋友們關(guān)注點好了我們盤中視頻見啊朋友們大家再見', 'segments': [{'id': 0, 'seek': 0, 'start': 0.0, 'end': 4.8, 'text': '我贏了啊你說你看到?jīng)]有沒有這樣沒有減息啊我們后面是降息', 'tokens': [50364, 1654, 5266, 95, 2289, 4905, 42405, 16529, 4511, 17944, 17944, 21209, 17944, 6336, 237, 26460, 4905, 15003, 13547, 8833, 1541, 47421, 26460, 50604], 'temperature': 0.0, 'avg_logprob': -0.2088493855794271, 'compression_ratio': 1.649402390438247, 'no_speech_prob': 0.5881261825561523}, {'id': 1, 'seek': 0, 'start': 4.8, 'end': 6.7, 'text': '你不要去博這個東西', 'tokens': [50604, 2166, 11962, 6734, 5322, 248, 15368, 38409, 16220, 50699], 'temperature': 0.0, 'avg_logprob': -0.2088493855794271, 'compression_ratio': 1.649402390438247, 'no_speech_prob': 0.5881261825561523}, {'id': 2, 'seek': 0, 'start': 6.7, 'end': 8.2, 'text': '我真是害怕你啊', 'tokens': [50699, 1654, 6303, 1541, 14694, 21164, 2166, 4905, 50774], 'temperature': 0.0, 'avg_logprob': -0.2088493855794271, 'compression_ratio': 1.649402390438247, 'no_speech_prob': 0.5881261825561523}, {'id': 3, 'seek': 0, 'start': 8.2, 'end': 10.9, 'text': '你不要去博不確定性', 'tokens': [50774, 2166, 11962, 6734, 5322, 248, 1960, 38114, 106, 12088, 21686, 50909], 'temperature': 0.0, 'avg_logprob': -0.2088493855794271, 'compression_ratio': 1.649402390438247, 'no_speech_prob': 0.5881261825561523}, {'id': 4, 'seek': 0, 'start': 10.9, 'end': 13.200000000000001, 'text': '是不是不確定性是我們的敵人', 'tokens': [50909, 23034, 1960, 38114, 106, 12088, 21686, 1541, 15003, 1546, 7017, 234, 4035, 51024], 'temperature': 0.0, 'avg_logprob': -0.2088493855794271, 'compression_ratio': 1.649402390438247, 'no_speech_prob': 0.5881261825561523}, {'id': 5, 'seek': 0, 'start': 13.200000000000001, 'end': 14.4, 'text': '聽到?jīng)]有朋友們', 'tokens': [51024, 31022, 4511, 17944, 19828, 9497, 51084], 'temperature': 0.0, 'avg_logprob': -0.2088493855794271, 'compression_ratio': 1.649402390438247, 'no_speech_prob': 0.5881261825561523}, {'id': 6, 'seek': 0, 'start': 14.4, 'end': 15.1, 'text': '好吧', 'tokens': [51084, 40221, 51119], 'temperature': 0.0, 'avg_logprob': -0.2088493855794271, 'compression_ratio': 1.649402390438247, 'no_speech_prob': 0.5881261825561523}, {'id': 7, 'seek': 0, 'start': 15.1, 'end': 15.6, 'text': '來朋友們', 'tokens': [51119, 6912, 19828, 9497, 51144], 'temperature': 0.0, 'avg_logprob': -0.2088493855794271, 'compression_ratio': 1.649402390438247, 'no_speech_prob': 0.5881261825561523}, {'id': 8, 'seek': 0, 'start': 15.6, 'end': 17.0, 'text': '你們的預(yù)約點好了啊', 'tokens': [51144, 29806, 1546, 12501, 226, 16853, 99, 12579, 12621, 4905, 51214], 'temperature': 0.0, 'avg_logprob': -0.2088493855794271, 'compression_ratio': 1.649402390438247, 'no_speech_prob': 0.5881261825561523}, {'id': 9, 'seek': 0, 'start': 17.0, 'end': 17.3, 'text': '朋友們', 'tokens': [51214, 19828, 9497, 51229], 'temperature': 0.0, 'avg_logprob': -0.2088493855794271, 'compression_ratio': 1.649402390438247, 'no_speech_prob': 0.5881261825561523}, {'id': 10, 'seek': 0, 'start': 17.3, 'end': 18.900000000000002, 'text': '你們的預(yù)約一定要給我點好了吧', 'tokens': [51229, 29806, 1546, 12501, 226, 16853, 99, 48161, 49076, 12579, 12621, 6062, 51309], 'temperature': 0.0, 'avg_logprob': -0.2088493855794271, 'compression_ratio': 1.649402390438247, 'no_speech_prob': 0.5881261825561523}, {'id': 11, 'seek': 0, 'start': 18.900000000000002, 'end': 21.0, 'text': '晚上八點鐘是準時開播的', 'tokens': [51309, 50157, 33453, 12579, 50064, 1541, 6336, 228, 15729, 18937, 49993, 1546, 51414], 'temperature': 0.0, 'avg_logprob': -0.2088493855794271, 'compression_ratio': 1.649402390438247, 'no_speech_prob': 0.5881261825561523}, {'id': 12, 'seek': 0, 'start': 21.0, 'end': 22.6, 'text': '朋友們關(guān)注點好了', 'tokens': [51414, 19828, 9497, 28053, 26432, 12579, 12621, 51494], 'temperature': 0.0, 'avg_logprob': -0.2088493855794271, 'compression_ratio': 1.649402390438247, 'no_speech_prob': 0.5881261825561523}, {'id': 13, 'seek': 0, 'start': 22.6, 'end': 24.1, 'text': '我們盤中視頻見啊', 'tokens': [51494, 15003, 5419, 246, 5975, 40656, 39752, 23813, 4905, 51569], 'temperature': 0.0, 'avg_logprob': -0.2088493855794271, 'compression_ratio': 1.649402390438247, 'no_speech_prob': 0.5881261825561523}, {'id': 14, 'seek': 0, 'start': 24.1, 'end': 25.400000000000002, 'text': '朋友們大家再見', 'tokens': [51569, 19828, 9497, 6868, 44176, 51634], 'temperature': 0.0, 'avg_logprob': -0.2088493855794271, 'compression_ratio': 1.649402390438247, 'no_speech_prob': 0.5881261825561523}], 'language': 'zh'}
text參數(shù)是沒有做任何分詞處理的純語音原文本。
我們要重點關(guān)注的是segments參數(shù)。segments參數(shù)對音頻內(nèi)人物語言做了"分段"操作,比如這一段話:
{
'id': 1,
'seek': 0,
'start': 4.8,
'end': 6.7,
'text': '你不要去博這個東西',
'tokens': [50604, 2166, 11962, 6734, 5322, 248, 15368, 38409, 16220, 50699],
'temperature': 0.0,
'avg_logprob': -0.2088493855794271,
'compression_ratio': 1.649402390438247,
'no_speech_prob': 0.5881261825561523
}
它就相當于人一樣,去一幀幀校對每個詞說話的時間:start是起始時間,end是結(jié)束時間。即"你不要去博這個東西"發(fā)生在音頻的4.8秒到6.7秒之間。其他參數(shù):
temperature 是指在語音轉(zhuǎn)文本模型生成結(jié)果時,控制輸出隨機性和多樣性的參數(shù)。
avg_logprob參數(shù)是語音轉(zhuǎn)文字模型預(yù)測的置信度評分的平均值。
compression_ratio參數(shù)是指音頻信號壓縮的比率。
no_speech_prob參數(shù)是指模型在某段時間內(nèi)檢測到?jīng)]有語音信號的概率。
重點在于如何應(yīng)用。start和end參數(shù)你可以用來直接生成視頻的字幕。大大提高生產(chǎn)效率。
置信度參數(shù)你可以用來提高識別準確率,如果說置信度一直不高,可以單獨拎出來人工優(yōu)化。
總之,Whisper的Large-v2模型絕對是目前中文語音轉(zhuǎn)文字的頂級存在,有興趣的朋友趕緊試試吧。
-
語音
+關(guān)注
關(guān)注
3文章
403瀏覽量
39347 -
編輯器
+關(guān)注
關(guān)注
1文章
825瀏覽量
32560 -
數(shù)據(jù)分析
+關(guān)注
關(guān)注
2文章
1494瀏覽量
35809 -
Whisper
+關(guān)注
關(guān)注
0文章
3瀏覽量
5122
發(fā)布評論請先 登錄
EASY EAl Orin Nano(RK3576) whisper語音識別訓(xùn)練部署教程
語音轉(zhuǎn)文字用這個操作方法,幾秒鐘實現(xiàn)音頻轉(zhuǎn)換文字
會議記錄太難?是你沒選好手機錄音轉(zhuǎn)文字的好幫手
搜狗智能錄音筆C1可實現(xiàn)將語音準確轉(zhuǎn)換為文字
谷歌Live Transcribe語音識別技術(shù)可轉(zhuǎn)文字
微信新iOS版本語音轉(zhuǎn)文字功能上線
微信偷偷上線了這個超好用的支持三種語音的文字功能
谷歌研發(fā)語音識別轉(zhuǎn)文字工具Live Transcribe
桌面版微信v2.9測試版體驗 新增語音消息自動轉(zhuǎn)文字功能
訊飛會議寶S8提升語音轉(zhuǎn)文字的速度,開啟高效記錄新時代
OpenAI官宣把ChatGPT API開放
EASY EAl Orin Nano(RK3576) whisper語音識別訓(xùn)練部署教程

Whisper語音轉(zhuǎn)文字教程
評論