如何把語音轉換成文字

[TOC]html

1、故事背景

公司會議的視頻要把別人說的話打成字,雖然說自認爲打字速度還行,但顯然作爲一個程序員根本不想用這麼笨的辦法。 我選擇的解決方案是百度。 用法卻是挺簡單的,直接到github上下載個代碼,而後改個文件名就ok了。python

若是你只是要轉一個mp3文件,沒有什麼複雜的需求,直接下載一個"萬能君的小工具V1.3"工具,申請個百度開發者帳號,建一個語音識別的應用就好了。可跳過解決方法部分,直接參見附錄部分的內容。git

2、 解決方法

用到的工具

我拿到的源文件是MP4,因此操做過程當中還用了轉碼工具ffmpeg程序員

# 下載
wget https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-amd64-static.tar.xz
# 解壓
xz -d ffmpeg-git-amd64-static.tar.xz
tar -xvf ffmpeg-git-amd64-static.tar

操做方法以下:

1.載百度語音的Deamo代碼github

git clone https://github.com/Baidu-AIP/speech-demo.git

2.從MP4中提取出音頻mp3;json

./ffmpeg -ss 00:02:00 -t 00:00:50 -i abc.mp4 -f mp3 -ar 16000 abc.mp3

這一步是寫腳本批量實現的,由於百度每次請求只能轉60s的,因此用-ss和-t把音頻切成一段一段的,而後去轉換。 3.將mp3轉換爲pcm採樣;vim

./ffmpeg -i zlj2.mp3 -f s16le -ar 16000 -ac 1 -acodec pcm_s16le pcm16k.pcm

4.將pcm轉換成文字;api

cd speech-demo/rest-api-asr/python
vim asr_json.py

編輯asr_json.py時修改以下內容:bash

AUDIO_FILE = '音頻文件地址'
API_KEY = '本身的API_KEY'
SECRET_KEY = '本身的SECRET_KEY'
DEV_PID = 1537

這裏面建議用本身的API_KEY和SECRET_KEY,雖然Demo中的也能夠用,測試時候不如本身帳號的穩定。 而後執行該腳本session

python asr_json.py

我本身的音頻結果以下:

{"access_token":"24.57d2e32969c3cdc38386d4bc81bcb932.2592000.1574830302.282335-15803531","session_key":"9mzdDoUq26UmxyE+IzGqINApRAIZB8FgaCU3P2mNni6Iz7tqkJtgA+oxFwEiWqUlCvC6YsoThG1Ah0kDUkPRB9TY+VHhaw==","scope":"brain_enhanced_asr audio_voice_assistant_get audio_tts_post public brain_all_scope wise_adapt lebo_resource_base lightservice_public hetu_basic lightcms_map_poi kaidian_kaidian ApsMisTest_Test\u6743\u9650 vis-classify_flower lpq_\u5f00\u653e cop_helloScope ApsMis_fangdi_permission smartapp_snsapi_base iop_autocar oauth_tp_app smartapp_smart_game_openapi oauth_sessionkey smartapp_swanid_verify smartapp_opensource_openapi smartapp_opensource_recapi fake_face_detect_\u5f00\u653eScope vis-ocr_\u865a\u62df\u4eba\u7269\u52a9\u7406 idl-video_\u865a\u62df\u4eba\u7269\u52a9\u7406","refresh_token":"25.820b5d60020d20e1e38641e39681c33e.315360000.1887598302.282335-15803531","session_secret":"91c36fe0cd52b95460efdf0b8e28d513","expires_in":2592000}

{'access_token': '24.57d2e32969c3cdc38386d4bc81bcb932.2592000.1574830302.282335-15803531', 'session_key': '9mzdDoUq26UmxyE+IzGqINApRAIZB8FgaCU3P2mNni6Iz7tqkJtgA+oxFwEiWqUlCvC6YsoThG1Ah0kDUkPRB9TY+VHhaw==', 'scope': 'brain_enhanced_asr audio_voice_assistant_get audio_tts_post public brain_all_scope wise_adapt lebo_resource_base lightservice_public hetu_basic lightcms_map_poi kaidian_kaidian ApsMisTest_Test權限 vis-classify_flower lpq_開放 cop_helloScope ApsMis_fangdi_permission smartapp_snsapi_base iop_autocar oauth_tp_app smartapp_smart_game_openapi oauth_sessionkey smartapp_swanid_verify smartapp_opensource_openapi smartapp_opensource_recapi fake_face_detect_開放Scope vis-ocr_虛擬人物助理 idl-video_虛擬人物助理', 'refresh_token': '25.820b5d60020d20e1e38641e39681c33e.315360000.1887598302.282335-15803531', 'session_secret': '91c36fe0cd52b95460efdf0b8e28d513', 'expires_in': 2592000}
audio_voice_assistant_get
SUCCESS WITH TOKEN: 24.57d2e32969c3cdc38386d4bc81bcb932.2592000.1574830302.282335-15803531  EXPIRES IN SECONDS: 2592000
Request time cost 4.076973
{"corpus_no":"6752712094075722195","err_msg":"success.","err_no":0,"result":["這是最難的,可是大家知道文化是引擎啊,這個東西不遷移上面全部的東西都牽不動,全部的東西你都牽不動,你們有這種理解嗎?"],"sn":"952417502231572238302"}

完成

3、附錄

如何申請百度的開發者帳號:https://jingyan.baidu.com/article/f3e34a12df0cddf5eb65359f.html Windows對接百度的語音轉文字軟件(親測可用):萬能君的小工具V1.3: https://www.cr173.com/soft/1000124.html dev_pid對應的功能:

相關文章
相關標籤/搜索