百度API---語音識別
百度API–語音識別
首先開啟百度的AI開放平臺,然後點短語音識別
進入後的頁面是這樣的,點選立即使用
然後就直接點建立應用就可以了
進入後是這個頁面,按自己的要求填寫就好了,然後就立即建立
建立成功之後在應用列表裡就可以看到這些東西,其中的AppID、API Key、Secret Key這三個資料是在呼叫API的時候要用到的。
之後在技術文件裡就能看到相關的相關的呼叫方式及一些引數等的說明。
下面就是直接複製文件中的程式碼,直接用就可以了。
from aip import AipSpeech
""" 你的 APPID AK SK """
APP_ID = '你的 App ID'
API_KEY = '你的 Api Key'
SECRET_KEY = '你的 Secret Key'
client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)
# 讀取檔案
def get_file_content(filePath):
with open(filePath, 'rb') as fp:
return fp.read()
# 識別本地檔案
print(client.asr(get_file_content('audio.pcm'), 'pcm', 16000, {
'dev_pid': 1537,
}))
這裡需要注意,支援的語音識別格式要求,不符合要求的話,會返回錯誤資訊或識別不準確。
剛開始直接用Win10自帶的錄音機錄的發現不太行,就改用Pyaudio錄製,下面是聲音錄製的程式碼。
import wave
from pyaudio import PyAudio, paInt16
CHUNK = 1024 # wav檔案是由若干個CHUNK組成的,CHUNK我們就理解成資料包或者資料片段。
FORMAT = paInt16 # 表示我們使用量化位數 16位來進行錄音
CHANNELS = 1 #代表的是聲道,1是單聲道,2是雙聲道。
RATE = 16000 # 取樣率 一秒內對聲音訊號的採集次數,常用的有8kHz, 16kHz, 32kHz, 48kHz,
RECORD_SECONDS = 10 # 錄製時間這裡設定了10秒
def save_wave_file(pa, filename, data):
wf = wave.open(filename, 'wb')
wf.setnchannels(CHANNELS)
# wf.setsampwidth(sampwidth)
wf.setsampwidth(pa.get_sample_size(FORMAT))
wf.setframerate(RATE)
wf.writeframes(b"".join(data))
wf.close()
def get_audio(filepath):
isstart = str(input("是否開始錄音? (是/否)"))
if isstart == str("是"):
pa = PyAudio()
stream = pa.open(format=FORMAT,
channels=CHANNELS,
rate=RATE,
input=True,
frames_per_buffer=CHUNK)
print("*" * 10, "開始錄音:請在10秒內輸入語音")
frames = [] # 定義一個列表
for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)): # 迴圈,取樣率 44100 / 1024 * 5
data = stream.read(CHUNK) # 讀取chunk個位元組 儲存到data中
frames.append(data) # 向列表frames中新增資料data
print(frames)
print("*" * 10, "錄音結束\n")
stream.stop_stream()
stream.close() # 關閉
pa.terminate() # 終結
save_wave_file(pa, filepath, frames)
elif isstart == str("否"):
exit()
else:
print("無效輸入,請重新選擇")
get_audio(filepath)
def play():
"""播放錄製的音訊"""
wf = wave.open(r"01.wav", 'rb')
p = PyAudio()
steam = p.open(format=p.get_format_from_width(wf.getsampwidth()), channels=
wf.getnchannels(), rate=wf.getframerate(), output=True)
# 讀資料
data = wf.readframes(CHUNK)
# 播放流
while len(data) > 0:
stream.write(data)
data = wf.readframes(CHUNK)
stream.stop_stream() # 暫停播放/錄製
stream.close() # 終止播放
p.terminate() # 終止portaudio會話
if __name__ == '__main__':
filepath = '01.wav'
get_audio(filepath)
print('Over!')
#play()
測試了幾個之後感覺,嘿,真不錯誒。。。
相關文章
- 語音識別模型模型
- 用python呼叫百度語音識別api批量處理本地語音檔案PythonAPI
- JavaScript的語音識別JavaScript
- 語音識別技術
- 語音情感識別--RNNRNN
- C# 10分鐘完成百度語音技術(語音識別與合成)——入門篇C#
- 樹莓派語音互動--語音輸入識別樹莓派
- Swift-語音識別、翻譯Swift
- Python語音識別終極指南Python
- 人工智慧 (08) 語音識別人工智慧
- ASR-使用whisper語音識別
- 【Recorder.js+百度語音識別】全棧方案技術細節JS全棧
- laravel通過classmap整合第三方包百度語音識別LaravelSSM
- 人工智慧之語音識別(ASR)人工智慧
- [譯] 使用 WFST 進行語音識別
- 語音識別2 -- Listen,Attend,and Spell (LAS)
- 【JAVA】使用百度語音識別 Rest API,遇到識別結果顯示亂碼的問題和解決JavaRESTAPI
- 怎麼關閉win10語音識別 win10如何關閉電腦的語音識別Win10
- python語音識別入門及實踐Python
- 30分鐘實現小程式語音識別
- 語音識別CTC演算法原理解釋演算法
- 科大訊飛,不只是智慧語音識別
- 語音識別技術竟然發展如此迅速
- 海南話語音識別模型——模型訓練(一)模型
- 5 款不錯的開源語音識別/語音文字轉換系統
- 深度瞭解語音識別之發音詞典及語音資料採集標註
- 谷歌再獲語音識別新進展:利用序列轉導來實現多人語音識別和說話人分類谷歌
- 新一代 Kaldi: 支援 JavaScript 進行本地語音識別和語音合成啦!JavaScript
- Windows10系統如何禁用語音識別功能Windows
- 揭秘語音識別演算法的神奇之處演算法
- 語音識別技術有哪些應用場景?
- AI 聲音:數字音訊、語音識別、TTS 簡介與使用示例AI音訊TTS
- 論文筆記:語音情感識別(五)語音特徵集之eGeMAPS,ComParE,09IS,BoAW筆記特徵
- 思必馳xiaochi獲2020 AESR“口音種類識別“冠軍和“口音英語語音識別”亞軍
- 小程式實現語音識別到底要填多少坑?
- SACC 2017:網際網路大廠語音識別如何?
- 訊飛 離線語音識別+替換自己的id
- 語音識別--kaldi環境搭建(基於Ubuntu系統)Ubuntu