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

使用Python實(shí)現(xiàn)從麥克風(fēng)獲取音頻并識(shí)別

 更新時(shí)間:2025年02月28日 08:30:38   作者:鳳梟香  
這篇文章主要為大家詳細(xì)介紹了如何使用Python實(shí)現(xiàn)從麥克風(fēng)獲取音頻并識(shí)別功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

python麥克風(fēng)獲取音頻并識(shí)別

麥克風(fēng)獲取

# 打開(kāi)麥克風(fēng)流
stream = audio.open(format=FORMAT,
                    channels=CHANNELS,
                    rate=RATE,
                    input=True,
                    frames_per_buffer=CHUNK)

設(shè)置參數(shù)

# 錄音參數(shù)
FORMAT = pyaudio.paInt16  # 16-bit resolution
CHANNELS = 1              # 單聲道
RATE = 16000              # 采樣率 16kHz
CHUNK = 1024              # 數(shù)據(jù)塊大小
RECORD_SECONDS = 5        # 錄制時(shí)長(zhǎng) (秒)
WAVE_OUTPUT_FILENAME = "output.wav"

讀取數(shù)據(jù)塊

# 循環(huán)讀取數(shù)據(jù)塊
for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):
    data = stream.read(CHUNK)
    frames.append(data)

阿里語(yǔ)音識(shí)別模型加載

paraformer_path = "./iic/speech_paraformer-large-vad-punc-spk_asr_nat-zh-cn"
fsmn_path = "./iic/speech_fsmn_vad_zh-cn-16k-common-pytorch"
ct_punc_path = "./iic/punc_ct-transformer_cn-en-common-vocab471067-large"
cam_path = "./iic/speech_campplus_sv_zh-cn_16k-common"

model = AutoModel(model=paraformer_path, model_revision="v2.0.4",
                  vad_model=fsmn_path, vad_model_revision="v2.0.4",
                  punc_model=ct_punc_path, punc_model_revision="v2.0.4",
                  spk_model=cam_path, spk_model_revision="v2.0.2",
                  device="cpu"
                  )

阿里語(yǔ)音識(shí)別

res = model.generate(input=WAVE_OUTPUT_FILENAME,
                     batch_size_s=16000,
                     hotword='魔搭')

整體代碼

import pyaudio
import wave
import threading
import keyboard
from funasr import AutoModel

# 錄音參數(shù)
FORMAT = pyaudio.paInt16  # 16-bit resolution
CHANNELS = 1  # 單聲道
RATE = 16000  # 采樣率 16kHz
CHUNK = 1024  # 數(shù)據(jù)塊大小
WAVE_OUTPUT_FILENAME = "./wav_data/output.wav"

# 初始化 PyAudio
audio = pyaudio.PyAudio()

frames = []
stream = None
recording = False

paraformer_path = "./iic/speech_paraformer-large-vad-punc-spk_asr_nat-zh-cn"
fsmn_path = "./iic/speech_fsmn_vad_zh-cn-16k-common-pytorch"
ct_punc_path = "./iic/punc_ct-transformer_cn-en-common-vocab471067-large"
cam_path = "./iic/speech_campplus_sv_zh-cn_16k-common"

model = AutoModel(model=paraformer_path, model_revision="v2.0.4",
                  vad_model=fsmn_path, vad_model_revision="v2.0.4",
                  punc_model=ct_punc_path, punc_model_revision="v2.0.4",
                  spk_model=cam_path, spk_model_revision="v2.0.2",
                  device="cpu"
                  )

print("加載模型完成!!!")


def start_recording():
    """
    開(kāi)始錄音
    """
    global stream, recording
    if not recording:
        print("開(kāi)始錄音...")
        recording = True
        stream = audio.open(format=FORMAT,
                            channels=CHANNELS,
                            rate=RATE,
                            input=True,
                            frames_per_buffer=CHUNK)
        record_thread = threading.Thread(target=record_audio)
        record_thread.start()


def stop_recording():
    """
    停止錄音并進(jìn)行識(shí)別
    """
    global stream, recording
    if recording:
        print("錄音結(jié)束.")
        recording = False
        stream.stop_stream()
        stream.close()
        save_audio()
        audio.terminate()
        print("開(kāi)始識(shí)別!?。?)
        res = model.generate(input=WAVE_OUTPUT_FILENAME,
                             batch_size_s=16000,
                             hotword='魔搭')
        print("識(shí)別結(jié)束?。。?)
        print("識(shí)別結(jié)果:", res)


def record_audio():
    """
    錄音功能實(shí)現(xiàn)
    """
    while recording:
        data = stream.read(CHUNK)
        frames.append(data)


def save_audio():
    """
    保存錄音文件
    """
    wf = wave.open(WAVE_OUTPUT_FILENAME, 'wb')
    wf.setnchannels(CHANNELS)
    wf.setsampwidth(audio.get_sample_size(FORMAT))
    wf.setframerate(RATE)
    wf.writeframes(b''.join(frames))
    wf.close()


# 監(jiān)聽(tīng) Ctrl 鍵開(kāi)始錄音
keyboard.add_hotkey('ctrl', start_recording)

# 監(jiān)聽(tīng) Alt 鍵結(jié)束錄音
keyboard.add_hotkey('alt', stop_recording)

print("按 Ctrl 開(kāi)始錄音,按 Alt 結(jié)束錄音")
keyboard.wait()  # 保持程序運(yùn)行

到此這篇關(guān)于使用Python實(shí)現(xiàn)從麥克風(fēng)獲取音頻并識(shí)別的文章就介紹到這了,更多相關(guān)Python麥克風(fēng)獲取音頻內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 簡(jiǎn)單介紹Python中的JSON模塊

    簡(jiǎn)單介紹Python中的JSON模塊

    這篇文章主要介紹了簡(jiǎn)單介紹Python中的JSON模塊,包括初步的從Python中的數(shù)據(jù)格式轉(zhuǎn)換為JSON格式等,需要的朋友可以參考下
    2015-04-04
  • 重命名批處理python腳本

    重命名批處理python腳本

    師兄采集的視網(wǎng)膜圖像放在一個(gè)文件夾下,由于分類十分混亂,因此出現(xiàn)了一個(gè)文件多次出現(xiàn)的情況,因此讓我寫(xiě)了個(gè)腳本
    2013-04-04
  • 檢測(cè)python爬蟲(chóng)時(shí)是否代理ip偽裝成功的方法

    檢測(cè)python爬蟲(chóng)時(shí)是否代理ip偽裝成功的方法

    這篇文章主要介紹了檢測(cè)python爬蟲(chóng)時(shí)是否代理ip偽裝成功的方法以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。,需要的朋友可以參考下
    2019-07-07
  • python Socket之客戶端和服務(wù)端握手詳解

    python Socket之客戶端和服務(wù)端握手詳解

    這篇文章主要為大家詳細(xì)介紹了python Socket之客戶端和服務(wù)端握手,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • python3.6+selenium實(shí)現(xiàn)操作Frame中的頁(yè)面元素

    python3.6+selenium實(shí)現(xiàn)操作Frame中的頁(yè)面元素

    這篇文章主要為大家詳細(xì)介紹了python3.6+selenium實(shí)現(xiàn)操作Frame中的頁(yè)面元素,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • keras建模的3種方式詳解

    keras建模的3種方式詳解

    這篇文章主要介紹了keras建模的3種方式詳解,keras是Google公司于2016年發(fā)布的以tensorflow為后端的用于深度學(xué)習(xí)網(wǎng)絡(luò)訓(xùn)練的高階API,因接口設(shè)計(jì)非常人性化,深受程序員的喜愛(ài),需要的朋友可以參考下
    2023-08-08
  • python實(shí)現(xiàn)按任意鍵繼續(xù)執(zhí)行程序

    python實(shí)現(xiàn)按任意鍵繼續(xù)執(zhí)行程序

    本文給大家分享的是如何使用Python腳本實(shí)現(xiàn)按任意鍵繼續(xù)執(zhí)行程序的代碼,非常的簡(jiǎn)單實(shí)用,有需要的小伙伴可以參考下
    2016-12-12
  • Python對(duì)列表進(jìn)行排序的5種實(shí)現(xiàn)方式

    Python對(duì)列表進(jìn)行排序的5種實(shí)現(xiàn)方式

    這篇文章介紹了五種在Python中進(jìn)行排序的方法,包括sort()方法、sorted()函數(shù)、lambda表達(dá)式作為key參數(shù)進(jìn)行排序、operator模塊進(jìn)行排序以及numpy模塊進(jìn)行排序,每種方法都有其適用的場(chǎng)景和優(yōu)勢(shì),可以根據(jù)具體需要選擇最合適的方法
    2025-12-12
  • Python安裝OpenCV庫(kù)超時(shí)失敗解決

    Python安裝OpenCV庫(kù)超時(shí)失敗解決

    使用pip?installopencv-python安裝時(shí),安裝速度很慢,本文主要介紹了Python安裝OpenCV庫(kù)超時(shí)失敗,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-05-05
  • 在Python中使用mechanize模塊模擬瀏覽器功能

    在Python中使用mechanize模塊模擬瀏覽器功能

    這篇文章主要介紹了在Python中使用mechanize模塊模擬瀏覽器功能,包括使用cookie和設(shè)置代理等功能的實(shí)現(xiàn),需要的朋友可以參考下
    2015-05-05

最新評(píng)論

赞皇县| 西乌| 濉溪县| 金阳县| 阳高县| 稷山县| 万全县| 肥东县| 阿城市| 山丹县| 霞浦县| 轮台县| 丰城市| 尖扎县| 张掖市| 许昌市| 昭觉县| 资中县| 疏附县| 孝义市| 依安县| 贵州省| 德化县| 罗山县| 固安县| 偃师市| 博爱县| 台北县| 嘉鱼县| 清水县| 保德县| 武陟县| 成都市| 江达县| 新田县| 盘锦市| 本溪| 哈尔滨市| 新沂市| 徐州市| 永修县|