語音辨識
語音辨識實作
先下載安裝 Anaconda Distribution
https://www.anaconda.com/download/
Anaconda實作語音辨識翻譯專題
1)安裝Anaconda
2)打開Anaconda/Jupyter Notebook
3) 用系統管理員身分開啟 Anaconda Prompt
4)安裝套件
安裝SpeechRecognition語音辨識套件
pip install SpeechRecognition
安裝pyAudio麥克風套件
pip install pyAudio
---------------------------------------------------
如果發生錯誤訊息請改用pipwin
pip install pipwin
pipwin install pyaudio
---------------------------------------------------
安裝gTTS 將文字轉換為音檔套件
pip install gTTS
安裝播音套件
pip install pygame
安裝py-googletrans翻譯套件
pip install py-googletrans
Step1.安裝 Git
Step2.在Git CMD中輸入: 將會下載安裝資料夾 “py-googletrans”
git clone https://github.com/BoseCorp/py-googletrans.git
Step3.在Anacoda Prompt 中用 cd 指令進入安裝資料夾 “py- googletrans”
cd “py-googletrans所在的路徑”
Step4. 延續Step3,執行手動安裝
python setup.py install
如果無法使用git安裝時,可至https://github.com/ssut/py-googletrans下載套件.Zip檔,再解壓縮至c:/Users/user/py-googletrans
然後下指令cd py-googletrans進入該目錄後,下指令python setup.py install ,開始安裝py-googletrans
如果執行import Translate時發生找不到的問題,可以用如下方式解決
再將C:\Users\User\py-googletrans\googletrans複製至C:\Users\User\Anaconda3\Lib\site-packages\googletrans
5)使用Jupyter Notebook 實作翻譯功能語法
將如下Python程式copy至Jupyter Notebook
#使用MIC中文語音輸入函式
def Recognition(lang='zh-TW'):
import speech_recognition
r=speech_recognition.Recognizer()
with speech_recognition.Microphone() as source:
audio = r.listen(source)
return r.recognize_google(audio,language=lang)
#文字發音函式
def speak(text,code='zh-TW'):
from gtts import gTTS
tts = gTTS(text,lang = code)
import tempfile
filename = tempfile.NamedTemporaryFile().name+'.mp3'
tts.save(filename)
import pygame
pygame.mixer.init()
pygame.mixer.music.load(filename)
pygame.mixer.music.play()
#等待語音播放結束
while pygame.mixer.music.get_busy(): pygame.time.Clock().tick(10)
# 中文語音辨識
A = Recognition('zh-TW')
print(A)
speak(A,'zh-TW')
# 中文翻譯為他國語言
from googletrans import Translator
#可以更改成其他國語言 英文en 日文 ja 德文de 韓文ko 法文fr 印尼文id 泰文th 越南文vi
dest = 'ja'
ts = Translator()
B = ts.translate(A,dest).text
# 文字轉語音
print(B)
speak(B,dest)
6)在Jupyter Notebook中按下Run 或 Shift+Enter鍵
7)對著麥克風說中文,等一下(約5秒)就會打出中文字並發中文音,再打出日文字並發日文音
如果對麥克風講話後沒有反應,請調整麥克風的收音等級後,再試一次
8)語言支援
Translation API 的辨識引擎支援各種語言的詞組式機器翻譯 (PBMT) 模型與神經機器翻譯 (NMT) 模型。
您必須透過在本頁面註記的語言代碼參數,在辨識要求內指定這些語言。大多數語言代碼參數都符合 ISO-639-1 識別碼 (註記項目除外)
中文(繁體)zh-TW 英文en 日文 ja 德文de 韓文ko 法文fr 印尼文id 泰文th 越南文vi
https://cloud.google.com/translate/docs/languages?hl=zh-tw
利用 Google gTTS 文字轉語音 API 讓電腦說話
http://yhhuang1966.blogspot.com/2017/08/google-gtts-api.html