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

Python實(shí)現(xiàn)語(yǔ)音識(shí)別Whisper的使用示例

 更新時(shí)間:2023年12月13日 11:37:26   作者:愛看書的小沐  
Whisper是由OpenAI基于Python開發(fā)的能夠識(shí)別多國(guó)語(yǔ)言的語(yǔ)音識(shí)別模型,本文主要介紹了Python實(shí)現(xiàn)語(yǔ)音識(shí)別Whisper的使用示例,具有一定的參考價(jià)值,感興趣的可以了解一下

1、簡(jiǎn)介

https://github.com/openai/whisper

在這里插入圖片描述

1.1 whisper簡(jiǎn)介

Whisper 是一種通用的語(yǔ)音識(shí)別模型。它是在包含各種音頻的大型數(shù)據(jù)集上訓(xùn)練的,也是一個(gè)多任務(wù)模型,可以執(zhí)行多語(yǔ)言語(yǔ)音識(shí)別、語(yǔ)音翻譯和語(yǔ)言識(shí)別。

在這里插入圖片描述

Open AI在2022年9月21日開源了號(hào)稱其英文語(yǔ)音辨識(shí)能力已達(dá)到人類水準(zhǔn)的Whisper神經(jīng)網(wǎng)絡(luò),且它亦支持其它98種語(yǔ)言的自動(dòng)語(yǔ)音辨識(shí)。 Whisper系統(tǒng)所提供的自動(dòng)語(yǔ)音辨識(shí)(Automatic Speech Recognition,ASR)模型是被訓(xùn)練來運(yùn)行語(yǔ)音辨識(shí)與翻譯任務(wù)的,它們能將各種語(yǔ)言的語(yǔ)音變成文本,也能將這些文本翻譯成英文。

1.2 whisper模型

以下是可用模型的名稱及其相對(duì)于大型模型的近似內(nèi)存要求和推理速度;實(shí)際速度可能因許多因素而異,包括可用的硬件。

SizeParametersEnglish-only modelMultilingual modelRequired VRAMRelative speed
tiny39 Mtiny.entiny~1 GB~32x
base74 Mbase.enbase~1 GB~16x
small244 Msmall.ensmall ~2 GB~6x
medium769 Mmedium.enmedium~5 GB~2x
large1550 MN/Alarge~10 GB1x

它自動(dòng)下載的模型緩存,如下:

在這里插入圖片描述

2、安裝

2.1 whisper

pip install -U openai-whisper
# pip install git+https://github.com/openai/whisper.git 
pip install --upgrade --no-deps --force-reinstall git+https://github.com/openai/whisper.git
pip install zhconv
pip3 install wheel

pip3 install torch torchvision torchaudio
# 注:沒科學(xué)上網(wǎng)會(huì)下載有可能很慢,可以替換成國(guó)內(nèi)鏡像加快下載速度
pip3 install torch torchvision torchaudio -i https://pypi.tuna.tsinghua.edu.cn/simple

在這里插入圖片描述

2.2 pytorch

https://pytorch.org/

選擇的是穩(wěn)定版,windows系統(tǒng),pip安裝方式,python語(yǔ)言、cpu版本的軟件。

在這里插入圖片描述

pip3 install torch torchvision torchaudio

2.3 ffmpeg

https://github.com/BtbN/FFmpeg-Builds/releases

在這里插入圖片描述

解壓后,找到bin文件夾下的“ffmpeg.exe”,將它復(fù)制到一個(gè)文件夾中,假設(shè)這個(gè)文件夾的路徑是"D:\software\ffmpeg",然后將"D:/software/ffmpeg"添加到系統(tǒng)環(huán)境變量PATH。

3、測(cè)試

3.1 命令測(cè)試

whisper audio.mp3

在這里插入圖片描述

以上whisper audio.mp3的命令形式是最簡(jiǎn)單的一種,它默認(rèn)使用的是small模式的模型轉(zhuǎn)寫,我們還可以使用更高等級(jí)的模型來提高正確率。 比如:

whisper audio.mp3 --model medium
whisper japanese.wav --language Japanese
whisper chinese.mp4 --language Chinese --task translate
whisper audio.flac audio.mp3 audio.wav --model medium
whisper output.wav --model medium  --language Chinese

同時(shí)默認(rèn)會(huì)生成5個(gè)文件,文件名和你的源文件一樣,但擴(kuò)展名分別是:.json、.srt、.tsv、.txt、.vtt。除了普通文本,也可以直接生成電影字幕,還可以調(diào)json格式做開發(fā)處理。

在這里插入圖片描述

常用參數(shù)如下:

--task: 指定轉(zhuǎn)錄方式,默認(rèn)使用 --task transcribe 轉(zhuǎn)錄模式,--task translate 則為 翻譯模式,目前只支持翻譯成英文。
--model:指定使用模型,默認(rèn)使用 --model small,Whisper 還有 英文專用模型,就是在名稱后加上 .en,這樣速度更快。
--language:指定轉(zhuǎn)錄語(yǔ)言,默認(rèn)會(huì)截取 30 秒來判斷語(yǔ)種,但最好指定為某種語(yǔ)言,比如指定中文是 --language Chinese。
--device:指定硬件加速,默認(rèn)使用 auto 自動(dòng)選擇,--device cuda 則為顯卡,cpu 就是 CPU, mps 為蘋果 M1 芯片。
--output_format:指定字幕文件的生成格式,txt,vtt,srt,tsv,json,all,指定多個(gè)可以用大括號(hào){}包裹,不設(shè)置默認(rèn)all。
-- output_dir: 指定字幕文件的輸出目錄,不設(shè)置默認(rèn)輸出到當(dāng)前目錄下。
--fp16:默認(rèn)True,使用16位浮點(diǎn)數(shù)進(jìn)行計(jì)算,可以在一定程度上減少計(jì)算和存儲(chǔ)開銷,可能存在精度丟失,筆者CPU不支持,會(huì)出現(xiàn)下述警告,指定它為False就不會(huì)出現(xiàn)了,即采用32位浮點(diǎn)數(shù)進(jìn)行計(jì)算。

在這里插入圖片描述

3.2 代碼測(cè)試:識(shí)別聲音文件

import whisper

if __name__ == '__main__':
    model = whisper.load_model("tiny")
    result = model.transcribe("audio.mp3", fp16=False, language="Chinese")
    print(result["text"])

在這里插入圖片描述

3.3 代碼測(cè)試:實(shí)時(shí)錄音識(shí)別

import whisper
import zhconv
import wave  # 使用wave庫(kù)可讀、寫wav類型的音頻文件
import pyaudio  # 使用pyaudio庫(kù)可以進(jìn)行錄音,播放,生成wav文件


def record(time):  # 錄音程序
    # 定義數(shù)據(jù)流塊
    CHUNK = 1024  # 音頻幀率(也就是每次讀取的數(shù)據(jù)是多少,默認(rèn)1024)
    FORMAT = pyaudio.paInt16  # 采樣時(shí)生成wav文件正常格式
    CHANNELS = 1  # 音軌數(shù)(每條音軌定義了該條音軌的屬性,如音軌的音色、音色庫(kù)、通道數(shù)、輸入/輸出端口、音量等??梢远鄠€(gè)音軌,不唯一)
    RATE = 16000  # 采樣率(即每秒采樣多少數(shù)據(jù))
    RECORD_SECONDS = time  # 錄音時(shí)間
    WAVE_OUTPUT_FILENAME = "./output.wav"  # 保存音頻路徑
    p = pyaudio.PyAudio()  # 創(chuàng)建PyAudio對(duì)象
    stream = p.open(format=FORMAT,  # 采樣生成wav文件的正常格式
                    channels=CHANNELS,  # 音軌數(shù)
                    rate=RATE,  # 采樣率
                    input=True,  # Ture代表這是一條輸入流,F(xiàn)alse代表這不是輸入流
                    frames_per_buffer=CHUNK)  # 每個(gè)緩沖多少幀
    print("* recording")  # 開始錄音標(biāo)志
    frames = []  # 定義frames為一個(gè)空列表
    for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):  # 計(jì)算要讀多少次,每秒的采樣率/每次讀多少數(shù)據(jù)*錄音時(shí)間=需要讀多少次
        data = stream.read(CHUNK)  # 每次讀chunk個(gè)數(shù)據(jù)
        frames.append(data)  # 將讀出的數(shù)據(jù)保存到列表中
    print("* done recording")  # 結(jié)束錄音標(biāo)志

    stream.stop_stream()  # 停止輸入流
    stream.close()  # 關(guān)閉輸入流
    p.terminate()  # 終止pyaudio

    wf = wave.open(WAVE_OUTPUT_FILENAME, 'wb')  # 以'wb‘二進(jìn)制流寫的方式打開一個(gè)文件
    wf.setnchannels(CHANNELS)  # 設(shè)置音軌數(shù)
    wf.setsampwidth(p.get_sample_size(FORMAT))  # 設(shè)置采樣點(diǎn)數(shù)據(jù)的格式,和FOMART保持一致
    wf.setframerate(RATE)  # 設(shè)置采樣率與RATE要一致
    wf.writeframes(b''.join(frames))  # 將聲音數(shù)據(jù)寫入文件
    wf.close()  # 數(shù)據(jù)流保存完,關(guān)閉文件


if __name__ == '__main__':
    model = whisper.load_model("tiny")
    record(3)  # 定義錄音時(shí)間,單位/s
    result = model.transcribe("output.wav",language='Chinese',fp16 = True)
    s = result["text"]
    s1 = zhconv.convert(s, 'zh-cn')
    print(s1)

4、工具

4.1 WhisperDesktop

https://github.com/Const-me/Whisper

OpenAI 的 Whisper 自動(dòng)語(yǔ)音識(shí)別 (ASR) 模型的高性能 GPGPU 推理
This project is a Windows port of the whisper.cpp implementation.
Which in turn is a C++ port of OpenAI’s Whisper automatic speech recognition (ASR) model.

下載 WhisperDesktop 后,點(diǎn)擊運(yùn)行,然后加載模型文件,最后選擇文件即可進(jìn)行轉(zhuǎn)錄。由于支持 GPU 硬解,轉(zhuǎn)錄速度非常的快。

在這里插入圖片描述

4.2 Buzz

https://github.com/chidiwilliams/buzz

Buzz 在您的個(gè)人計(jì)算機(jī)上離線轉(zhuǎn)錄和翻譯音頻。由 OpenAI 的 Whisper 提供支持。

另一款基于 Whisper 的圖形化軟件是 Buzz,相比 WhipserDesktop,Buzz 支持 Windows、macOS、Linux。

在這里插入圖片描述

安裝如下:

  • (1)PyPI:
pip install buzz-captions
python -m buzz
  • (2)Windows:

Download and run the file in the releases page…exe‘

在這里插入圖片描述

Buzz 的安裝包體積稍大,同時(shí) Buzz 使用的是 .pt 后綴名的模型文件,運(yùn)行后軟件會(huì)自動(dòng)下載模型文件。

但最好是提前下好模型文件,然后放在指定的位置。

Mac:~/.cache/whisper
Windows:C:\Users\<你的用戶名>\.cache\whisper

但 Buzz 使用的是 CPU 軟解 ,目前還不支持 GPU 硬解 。

4.3 Whisper-WebUI

https://github.com/jhj0517/Whisper-WebUI

基于 Gradio 的 Whisper 瀏覽器界面。你可以把它當(dāng)作一個(gè)簡(jiǎn)單的字幕生成器!

在這里插入圖片描述

To run Whisper, you need to have , version 3.8 ~ 3.10 and .gitpythonFFmpeg

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

相關(guān)文章

  • scrapy爬蟲遇到j(luò)s動(dòng)態(tài)渲染問題

    scrapy爬蟲遇到j(luò)s動(dòng)態(tài)渲染問題

    本文主要介紹了scrapy爬蟲遇到j(luò)s動(dòng)態(tài)渲染問題,通過js渲染出來的動(dòng)態(tài)網(wǎng)頁(yè)的內(nèi)容與網(wǎng)頁(yè)文件內(nèi)容是不一樣的,本文就來解決一下這些問題,感興趣的可以了解一下
    2022-05-05
  • python文件路徑操作方法總結(jié)

    python文件路徑操作方法總結(jié)

    在本篇文章里小編給大家整理的是一篇關(guān)于python文件路徑操作方法總結(jié)內(nèi)容,有需要的朋友們可以學(xué)習(xí)下。
    2020-12-12
  • Queue 實(shí)現(xiàn)生產(chǎn)者消費(fèi)者模型(實(shí)例講解)

    Queue 實(shí)現(xiàn)生產(chǎn)者消費(fèi)者模型(實(shí)例講解)

    下面小編就為大家?guī)硪黄猀ueue 實(shí)現(xiàn)生產(chǎn)者消費(fèi)者模型(實(shí)例講解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-11-11
  • Python3使用QT編寫基礎(chǔ)的對(duì)話框程序的詳細(xì)流程

    Python3使用QT編寫基礎(chǔ)的對(duì)話框程序的詳細(xì)流程

    Qt框架憑借其跨平臺(tái)能力和豐富的控件庫(kù),在桌面應(yīng)用開發(fā)領(lǐng)域占據(jù)重要地位,當(dāng)Python的簡(jiǎn)潔語(yǔ)法遇上Qt的成熟生態(tài),便誕生了PyQt/PySide這兩個(gè)黃金搭檔,本文給大家介紹了Python3如何使用QT編寫基礎(chǔ)的對(duì)話框程序,需要的朋友可以參考下
    2025-06-06
  • Python+OpenCV實(shí)現(xiàn)將圖像轉(zhuǎn)換為二進(jìn)制格式

    Python+OpenCV實(shí)現(xiàn)將圖像轉(zhuǎn)換為二進(jìn)制格式

    今天小編就為大家分享一篇Python+OpenCV實(shí)現(xiàn)將圖像轉(zhuǎn)換為二進(jìn)制格式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Python實(shí)現(xiàn)批量圖片轉(zhuǎn)GIF動(dòng)圖(附源代碼)

    Python實(shí)現(xiàn)批量圖片轉(zhuǎn)GIF動(dòng)圖(附源代碼)

    本文介紹了一個(gè)Python實(shí)現(xiàn)的批量圖片轉(zhuǎn)GIF工具,提供簡(jiǎn)潔版和專業(yè)版兩種實(shí)現(xiàn)方案,該工具支持從指定目錄讀取PNG/JPG/BMP等格式圖片,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下
    2026-04-04
  • Python 中的判斷語(yǔ)句,循環(huán)語(yǔ)句,函數(shù)

    Python 中的判斷語(yǔ)句,循環(huán)語(yǔ)句,函數(shù)

    這篇文章主要介紹了Python 中的判斷語(yǔ)句,循環(huán)語(yǔ)句,函數(shù),文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-08-08
  • Python如何在類中定義裝飾器

    Python如何在類中定義裝飾器

    這篇文章主要介紹了Python如何在類中定義裝飾器的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • Python實(shí)現(xiàn)對(duì)字符串中字符提取校驗(yàn)

    Python實(shí)現(xiàn)對(duì)字符串中字符提取校驗(yàn)

    眾所周知,python之所以很方便在一定程度上是因?yàn)殡S時(shí)都可能有人又創(chuàng)作了一個(gè)好用又方便的python非標(biāo)準(zhǔn)庫(kù)。本文就來用Python實(shí)現(xiàn)對(duì)字符串中字符進(jìn)行提取校驗(yàn),需要的可以參考一下
    2022-10-10
  • 在python3中使用shuffle函數(shù)要注意的地方

    在python3中使用shuffle函數(shù)要注意的地方

    今天小編就為大家分享一篇在python3中使用shuffle函數(shù)要注意的地方,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02

最新評(píng)論

开化县| 思南县| 唐河县| 淮北市| 岗巴县| 汉阴县| 临沂市| 邢台市| 玉林市| 左贡县| 南靖县| 克拉玛依市| 宣汉县| 夏邑县| 张家界市| 晋江市| 肃宁县| 田东县| 禄丰县| 永登县| 常宁市| 金塔县| 彰化县| 西安市| 琼中| 安塞县| 永康市| 温州市| 枞阳县| 安达市| 洞头县| 西林县| 龙胜| 驻马店市| 高阳县| 扎兰屯市| 根河市| 黔西县| 深圳市| 乐昌市| 怀宁县|