Python Ai語音識別教程

語音識別是將人類語音轉換為文本的技術,在現代應用中非常有用。本教程將介紹如何使用Python實現基本的AI語音識別功能。

一、文字轉語音

#文字轉語音
#安裝第三方庫 pip install pyttsx3
#導包 : import pyttsx3import pyttsx3#創建語音引擎
a1 = pyttsx3.init()# #轉換為語音
# a1.say ('大家好')#保存音頻到本地
a1.save_to_file(text='大家好', filename='1.mp3')#執行語音(播放)
a1.runAndWait()

二、文本轉語音

#文本轉語音import pyttsx3a1 = pyttsx3.init()  # 使用 init() 來初始化引擎# 獲取指定文本內容轉換語音
with open('1.txt', 'r', encoding='utf-8') as f:a2 = f.read()a1.say(a2)   #播放
#a1.save_to_file(a2, filename='3.mp3') #保存本地
#a1.save_to_file(a2, filename=r"D:\桌面\6\2.mp3")#指定目錄保存
a1.runAndWait()

三、設置語速、音量

# 設置語速、音量import pyttsx3a1 = pyttsx3.init()# 設置語速(默認200)
a1.setProperty('rate', 200)
# 設置音量(1.0)
a1.setProperty('volume', 1)#a1.say("你好") #播放
a1.save_to_file("你好", '4.mp3') #保存本地
a1.runAndWait()

四、語音轉文字

語音模型下載網站:VOSK 模型

# 語音轉文字/語音識別
# 安裝三方庫(阿里云源):pip install vosk -i https://mirrors.aliyun.com/pypi/simple/
# 檢查安裝版本命令pip show vosk
# 導包:from vosk import Model, KaldiRecognizer
# 導包:import wave
# 導包:import json
# 語音識別模型下載:https://alphacephei.com/vosk/modelsfrom vosk import Model, KaldiRecognizer
import wave
import json# 加載語音模型'zh-2'為下載模型
a1 = Model('zh-2')
# 打開音頻文件
a2 = wave.open('1.mp3')
# 創建語音識別器  KaldiRecognizer(模型對象, 采樣率16000)
a3 = KaldiRecognizer(a1, 16000)
print('開始識別')
while True:# 每次讀取音頻文件多少幀(1秒=16000幀)a4 = a2.readframes(4000)# 如果讀取不到數據就退出循環if not a4:break# 傳入讀取數據進行識別a3.AcceptWaveform(a4)
# 識別器對象.FinalResult() 返回的是所有識別結果(json格式)
a5 = json.loads(a3.FinalResult())['text'].replace(' ', '')
print(a5)

五、實時語音識別為文字

# 實時語音識別
# 安裝三方庫(阿里源):pip install pyaudio -i https://mirrors.aliyun.com/pypi/simple/ (處理麥克風相關組件)
# 檢查pyaudio是否安裝成功
# python -c "import pyaudio; print('PyAudio 已安裝,版本:', pyaudio.__version__)"
# 導包:import pyaudio
# frames_per_bufferimport pyaudio
from vosk import Model, KaldiRecognizer
import json# 加載模型
a1 = Model('zh-2')
# 創建麥克風對象
p = pyaudio.PyAudio()
# 接收麥克風
a2 = p.open(# 16位深度音頻數據format=pyaudio.paInt16,# 聲道,單聲道channels=1,# 采樣率rate=16000,# 從麥克風獲取數據input=True,# 每次讀取數據塊大小frames_per_buffer=4000
)
# 創建語音識別器
a3 = KaldiRecognizer(a1, 16000)
print('開始實時識別')while True:# 從麥克風讀取數據a4 = a2.read(4000)# 如果讀取到數據if a3.AcceptWaveform(a4):# 實時輸出識別結果a5 = a3.Result()a6 = json.loads(a5)['text'].replace(' ', '')print(a6)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/86872.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/86872.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/86872.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Day11 制作窗口

文章目錄 1. 顯示窗口(harib08d)2. 消除閃爍1(harib08g)3. 消除閃爍2(harib08h) 本章的前三節做了如下修改: 解決了鼠標無法隱藏在屏幕右側和下側的問題。當鼠標隱藏在右側時會在屏幕最左側產生…

python+uniapp基于微信小程序蜀味道江湖餐飲管理系統nodejs+java

文章目錄 具體實現截圖本項目支持的技術路線源碼獲取詳細視頻演示:文章底部獲取博主聯系方式!!!!本系統開發思路進度安排及各階段主要任務java類核心代碼部分展示主要參考文獻:源碼獲取/詳細視頻演示 ##項目…

postgresql增量備份系列二 pg_probackup

已經很久沒有發文章了,主要是最近工作上的內容都不適合發文章公開。可能往后文章發表也不這么頻繁了,不過大家有問題我們可以交流。之前有寫過PG增量備份的其他工具使用方法,pg_probackup也是應用比較多的PG備份工具。 一. pg_probackup pg_probackup 是一個用于管理 Postg…

云手機主要是指什么?

云手機是指一種可以運行在云服務器中的手機,主要是將云計算技術運用于網絡終端服務,通過云服務器來實現云服務的手機,也是一款深度結合了網絡服務的手機,通過自帶的系統和網絡終端可以通過網絡實現眾多功能。 那么,下面…

CAU數據挖掘 支持向量機

SVM大致思想 線性分類問題 在一群點中用線性函數分類: 但也有線性不可分問題: 線性不可分問題: 最大間隔法 兩個平行超平面間隔距離最大 軟間隔 部分難以區分的點忽略 升維 通過升維將非線性變為線性 計算統計理論基礎 學習過…

探索理解 Spring AI Advisors:構建可擴展的 AI 應用

Spring AI Advisors API 提供了一種靈活且強大的方式來攔截、修改和增強 Spring 應用程序中的 AI 驅動交互。其核心思想類似于 Spring AOP(面向切面編程)中的“通知”(Advice),允許開發者在不修改核心業務邏輯的情況下…

Linux SSH服務全面配置指南:從基礎到安全加固

Linux SSH服務全面配置指南:從基礎到安全加固 概述 作為網絡安全工程師,SSH(Secure Shell)服務的安全配置是我們日常工作中不可忽視的重要環節。本文將從基礎配置到高級安全加固,全面解析SSH服務的各項參數&#xff…

.NET測試工具Parasoft dotTEST內置安全標準,編碼合規更高效

在追求開發速度的時代,確保代碼安全并滿足嚴苛的行業合規標準如OWASP、CWE、PCI DSS、ISO 26262等已成為開發者的核心挑戰,但開發人員常因復雜的編碼標準和漏洞排查而效率低下。.NET測試工具Parasoft dotTEST內置安全標準,實現即插即用&#…

對象的finalization機制Test

Java語言提供了對象終止(finalization)機制來允許開發人員自定義對象被銷毀之前的處理邏輯。當垃圾回收器發現沒有引用指向一個對象時,通常接下來要做的就是垃圾回收,即清除該對象,而finalization機制使得在清除此對象之前,總會先…

AI初學者如何對大模型進行微調?——零基礎保姆級實戰指南

僅需8GB顯存,三步完成個人專屬大模型訓練 四步實戰:從環境配置到模型發布 步驟1:云端環境搭建(10分鐘) 推薦使用阿里魔塔ModelScope免費GPU資源: # 注冊后執行環境初始化 pip3 install --upgrade pip pi…

“單一職責”模式之裝飾器模式

目錄 “單一職責”模式裝飾器模式 Decorator引例動機 Motivation模式定義結構 Structure要點總結 “單一職責”模式 在軟件組件的設計中,如果責任劃分的不清晰,使用繼承得到的結果往往是隨著需求的變化,子類急劇膨脹,同時充斥著重…

idea, CreateProcess error=206, 文件名或擴展名太長

idea, CreateProcess error206, 文件名或擴展名太長 解決 “CreateProcess error206, 文件名或擴展名太長” 錯誤 CreateProcess error206 是 Windows 系統特有的錯誤,表示命令行參數超出了 Windows 的 32767 字符限制。這個問題在 Java 開發中尤其常見&#xff0c…

一鍵高效率圖片MD5修改工具PHP版

文章目錄 圖片MD5修改工具項目簡介功能特點技術原理系統需求安裝方法使用方法Web界面模式命令行模式文件結構常見問題注意事項開發者信息效果演示更多干貨??1.如果我的博客對你有幫助、如果你喜歡我的博客內容,請 “??點贊” “??評論” “??收藏” 一鍵三連哦!2.??…

跨主機用 Docker Compose 部署 PostgreSQL + PostGIS 主從

q下面是跨主機用 Docker Compose 部署 PostgreSQL PostGIS 主從復制的完整詳細步驟(主庫 從庫),主從都用官方 PostGIS 鏡像 postgis/postgis:15-3.3,并注意網絡與持久化。復制即可。 🚩 跨主機 PostgreSQL PostGIS …

會議動態|千眼狼高速攝像機、DIC測量系統等科學儀器亮相第十五屆全國爆炸力學學術會議

第十五屆全國爆炸力學學術會議于6月28日在紹興盛大召開,會議匯聚來自全國爆炸力學與沖擊領域專家學者2000余人,聚焦“爆炸與沖擊動力學工程應用”、“材料動態力學行為與損傷斷裂“、“工程爆破與毀傷評估”、“含能材料與水中爆炸”、“結構動態響應與安…

vscode一個文件夾有殘余的git倉庫文件,已經失效了,怎樣進行清空倉庫殘余文件并重新初始化git--ubuntu

vscode一個文件夾有殘余的git倉庫文件,已經失效了,怎樣進行清空倉庫殘余文件并重新初始化git–ubuntu 首先要把工作區里重要的文件備份好,防止操作時數據丟失。刪除.git文件夾 rm -rf .git初始化 (base) zd4090zd4090-System-Product-Name:…

6月30日作業

思維導圖 一、讀取文件&#xff0c;效果類似 cat 的功能 代碼 #include <25041head.h>int main(int argc, const char *argv[]) {//打開文件printf("請輸入你要讀取的文件路徑&#xff1a;");char str[128]"";scanf("%s",str);FILE *fpf…

ubuntu源碼安裝python3.13遇到Could not build the ssl module!解決方法

我在Ubuntu 24.04.2 LTS下載源碼安裝Python 3.13.5時&#xff1a; #./configure --enable-loadable-sqlite-extensions --enable-optimizations #make 顯示錯誤信息&#xff1a; Could not build the ssl module! Python requires a OpenSSL 1.1.1 or newer 查詢我的openssl版…

Ai工具分享(2):Vscode+Cline無限免費的使用教程

大家好,我是程序員寒山。 今天給大家分享一個最新的免費使用的Ai插件Cline的方法,之前也給大家分享過一些免費的方案,但是這些都是隨時在變化,之前推薦的很多都不能使用了。 Ai工具分享(2):Vscode+Cline無限免費的使用教 今天再給大家推薦一個,可以免費使用,且沒有token…

Docker 目錄遷移腳本【Windows Junction 類型鏈接】

Docker 目錄遷移腳本完整教程&#xff1a;從誕生到自動化使用 一、腳本誕生背景與開發歷程 1. 為什么需要遷移 Docker 目錄&#xff1f; 系統盤空間壓力&#xff1a;Docker 鏡像和容器數據通常存儲在C:\Users\用戶名目錄下&#xff0c;隨著使用時間增長會占用大量系統盤空間…