最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于python實現語音錄入識別代碼實例

 更新時間:2020年01月17日 10:09:01   作者:Maple_feng  
這篇文章主要介紹了如何通過python實現語音錄入識別,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

這篇文章主要介紹了如何通過python實現語音錄入識別,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

一、介紹

1.第一步錄音存入本地

2.調用百度語音識別sdk

注意點:百度語音識別對聲音源有要求,比特率必須是256kbps

二、代碼

#安裝必要庫
pip install baidu-aip #百度sdk
pip install pyaudio
import wave
import pyaudio
from aip import AipSpeech

def record():
 # 定義數據流塊
 CHUNK = 1024
 FORMAT = pyaudio.paInt16
 # 想要百度識別,下面這兩參數必須這樣設置,使得比特率為256kbps
 CHANNELS = 1
 RATE = 16000
 # 錄音時間
 RECORD_SECONDS = 8
 # 要寫入的文件名
 WAVE_OUTPUT_FILENAME = "output.wav"
 # 創(chuàng)建PyAudio對象
 p = pyaudio.PyAudio()

 # 打開數據流
 stream = p.open(format=FORMAT,
     channels=CHANNELS,
     rate=RATE,
     input=True,
     frames_per_buffer=CHUNK)

 print("* recording")

 # 開始錄音
 frames = []
 for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):
  data = stream.read(CHUNK)
  frames.append(data)

 print("* done recording")
 # 停止數據流
 stream.stop_stream()
 stream.close()

 # 關閉PyAudio
 p.terminate()

 # 寫入錄音文件
 wf = wave.open(WAVE_OUTPUT_FILENAME, 'wb')
 wf.setnchannels(CHANNELS)
 wf.setsampwidth(p.get_sample_size(FORMAT))
 wf.setframerate(RATE)
 wf.writeframes(b''.join(frames))
 wf.close()
def ASR():
 # 錄音
 record()

 """ 你的 APPID AK SK """
 APP_ID = '****'
 API_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()

 # 識別本地文件
 res=client.asr(get_file_content('output.wav'), 'wav', 16000, {
  'dev_pid': 1536,
 })

 print(res)
if __name__ == '__main__':
 ASR()

三、語音命令控制程序

import wave
import pyaudio
from aip import AipSpeech
import win32api

def record():
 # 定義數據流塊
 CHUNK = 1024
 FORMAT = pyaudio.paInt16
 # 想要百度識別,下面這兩參數必須這樣設置,使得比特率為256kbps
 CHANNELS = 1
 RATE = 16000
 # 錄音時間
 RECORD_SECONDS = 8
 # 要寫入的文件名
 WAVE_OUTPUT_FILENAME = "output.wav"
 # 創(chuàng)建PyAudio對象
 p = pyaudio.PyAudio()

 # 打開數據流
 stream = p.open(format=FORMAT,
     channels=CHANNELS,
     rate=RATE,
     input=True,
     frames_per_buffer=CHUNK)

 print("* recording")

 # 開始錄音
 frames = []
 for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):
  data = stream.read(CHUNK)
  frames.append(data)

 print("* done recording")
 # 停止數據流
 stream.stop_stream()
 stream.close()

 # 關閉PyAudio
 p.terminate()

 # 寫入錄音文件
 wf = wave.open(WAVE_OUTPUT_FILENAME, 'wb')
 wf.setnchannels(CHANNELS)
 wf.setsampwidth(p.get_sample_size(FORMAT))
 wf.setframerate(RATE)
 wf.writeframes(b''.join(frames))
 wf.close()
def ASR():
 # 錄音
 record()

 """ 你的 APPID AK SK """
 APP_ID = '****'
 API_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()

 # 識別本地文件
 res=client.asr(get_file_content('output.wav'), 'wav', 16000, {
  'dev_pid': 1536,
 })
 if not res.get("err_no"):
  return res.get("result")[0]
 return res.get("err_no")

def control(order):
 # 命令對應的程序路徑
 open_order={"打開QQ":r"C:\Program Files (x86)\Tencent\QQ\Bin\QQScLauncher.exe","打開記事本":r"D:\Notepad++\notepad++.exe","打開瀏覽器":r"C:\Users\ffm11\AppData\Roaming\360se6\Application\360se.exe"}
 res=open_order.get(order)
 if res:
  # 參數1:用于指定父窗口句柄。當函數調用過程出現錯誤時,它將作為Windows消息窗口的父窗口
  # 參數2:用于指定要進行的操作。
  # “open”操作表示執(zhí)行由lpFile參數指定的程序,或打開由lpFile參數指定的文件或文件夾;
  # “print”操作表示打印由lpFile參數指定的文件;
  # “explore”操作表示瀏覽由lpFile參數指定的文件夾。
  # 參數3:用于指定要打開的文件名、要執(zhí)行的程序文件名或要瀏覽的文件夾名。
  # 參數4:若lpFile參數是一個可執(zhí)行程序,則此參數指定命令行參數,否則此參數應為NULL.
  # 參數5:若lpFile參數是一個可執(zhí)行程序,則此參數指定程序窗口的初始顯示方式,否則此參數應設置為0。
  # 這個參數常用的常數:
  # SW_HIDE 隱藏窗口,活動狀態(tài)給令一個窗口
  # SW_MINIMIZE 最小化窗口,活動狀態(tài)給令一個窗口
  # SW_RESTORE 用原來的大小和位置顯示一個窗口,同時令其進入活動狀態(tài)
  # SW_SHOW 用當前的大小和位置顯示一個窗口,同時令其進入活動狀態(tài)
  # SW_SHOWMAXIMIZED 最大化窗口,并將其激活
  # SW_SHOWMINIMIZED 最小化窗口,并將其激活
  # SW_SHOWMINNOACTIVE 最小化一個窗口,同時不改變活動窗口
  # SW_SHOWNA 用當前的大小和位置顯示一個窗口,不改變活動窗口
  # SW_SHOWNOACTIVATE 用最近的大小和位置顯示一個窗口,同時不改變活動窗口
  win32api.ShellExecute(0, 'open', res, '', '', 1)
 else:
  print("語音命令失敗")

if __name__ == '__main__':
 order=ASR()
 control(order.rstrip("。"))

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • pytorch模型轉onnx模型的方法詳解

    pytorch模型轉onnx模型的方法詳解

    很多時候有pytorch模型轉onnx模型的必要,比如用tensorRT加速的時候,下面這篇文章主要給大家介紹了關于pytorch模型轉onnx模型的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-08-08
  • 關于python中逆序的三位數

    關于python中逆序的三位數

    這篇文章主要介紹了關于python中逆序的三位數,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • 淺談python requests 的put, post 請求參數的問題

    淺談python requests 的put, post 請求參數的問題

    今天小編就為大家分享一篇淺談python requests 的put, post 請求參數的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • Django token 生成與驗證的實現

    Django token 生成與驗證的實現

    本文主要介紹了Django token 生成與驗證的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-04-04
  • ???????Python?入門學習之函數式編程

    ???????Python?入門學習之函數式編程

    這篇文章主要介紹了???????Python?入門學習之函數式編程,?Python?中的函數式編程技術進行了簡單的入門介紹,下文詳細內容需要的小伙伴可以參考一下
    2022-05-05
  • 利用Python將圖片中扭曲矩形的復原

    利用Python將圖片中扭曲矩形的復原

    這篇文章主要給大家介紹了關于如何利用Python將圖片中扭曲矩形復原的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • Python數據結構之隊列詳解

    Python數據結構之隊列詳解

    棧和隊列是在程序設計中常見的數據類型。本節(jié)將詳細介紹隊列的定義及其不同實現,并且給出隊列的一些實際應用,感興趣的小伙伴可以了解一下
    2022-03-03
  • Python實現簡單的四則運算計算器

    Python實現簡單的四則運算計算器

    相信大家在學習數據結構時,就學習了簡單四則運算表達式求解的一個算法,可惜一直沒有自己動手實現過這個算法。最近重拾數據結構與算法,恰巧又正在用Python比較頻繁,所幸就用它來實現這個算法,雖然網上有很多代碼,不過作為一個學習者,還是應當親自動手實現。
    2016-11-11
  • Python 實現一個計時器

    Python 實現一個計時器

    這篇文章主要介紹了Python 實現一個計時器的方法,文中講解非常細致,代碼幫助大家更好的理解和學習,感興趣的朋友可以了解下
    2020-07-07
  • python實現決策樹分類算法代碼示例

    python實現決策樹分類算法代碼示例

    決策樹分類算法是最為常見的一種分類算法,通過屬性劃分來建立一棵決策樹,測試對象通過在樹上由頂向下搜索確定所屬的分類,下面這篇文章主要給大家介紹了關于python實現決策樹分類算法的相關資料,需要的朋友可以參考下
    2022-06-06

最新評論

得荣县| 疏勒县| 富裕县| 邳州市| 新乐市| 陇西县| 拉孜县| 潼关县| 浮梁县| 工布江达县| 旬邑县| 桐柏县| 静宁县| 玉山县| 闻喜县| 普陀区| 甘孜县| 秀山| 兰溪市| 邛崃市| 彰化市| 稷山县| 孟连| 正安县| 鹿泉市| 保山市| 德钦县| 丰宁| 宜兰县| 儋州市| 青岛市| 轮台县| 汉源县| 清苑县| 万山特区| 濮阳市| 子长县| 枝江市| 辛集市| 绩溪县| 喜德县|