0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

開發(fā)者說 | 手語翻譯系統(tǒng)系列之使用旭日X3派實現(xiàn)實時語音轉(zhuǎn)寫

地瓜機器人 ? 2023-01-05 14:06 ? 次閱讀

準備工作

  • 硬件部分:旭日X3派,USB免驅(qū)攝像頭,電源適配器,燒錄Ubuntu系統(tǒng)的SD卡,USB揚聲器,顯示屏(或者VNC/SSH遠程連接)

  • 軟件部分:Thonny IDE集成開發(fā)環(huán)境
2.jfif

注意:購買麥克風時要購買二合一的USB麥克風,切勿購買3.5mm耳機接口傳輸?shù)柠溈孙L。

首先更新軟件源和所有軟件,只需要使用快捷鍵ctrl+alt+T打開命令行,輸入以下命令,耐心等待即可。

# 更新軟件源 apt-get update # 更新升級所有軟件 apt-get upgrade

開發(fā)工具依然是沿用Thonny,作為一款輕量化的python集成開發(fā)環(huán)境,對新手十分友好,簡單易上手,后續(xù)安裝各種python依賴庫也相當方便。安裝完成后同樣是使用快捷鍵ctrl+alt+T打開命令行,輸入Thonny啟動,然后開始項目的重頭戲——安裝項目依賴庫,需要用到的第三方庫和版本如下,大家可以根據(jù)這個順序進行安裝,以免遺漏(也可以復制到一個新的txt文件利用pip一次性安裝)。

cffi==1.12.3 gevent==1.4.0 greenlet==0.4.15 pycparser==2.19 six==1.12.0 websocket==0.2.1 websocket-client==0.56.0

注意:有些庫安裝失敗的話代碼可能不會有高亮提示,但運行時會報錯,所以,出現(xiàn)報錯第一時間檢查第三方庫是否成功安裝。

本文著重介紹需要用到的Python標準GUI庫——Tkinter。

在Python程序中,Tkinter是Python的一個模塊,它可以像其他模塊一樣在Python交互式shell中(或者“.py”程序中)導入,導入Tkinter模塊后,就可使用Tkinter模塊中的函數(shù)、方法等進行GUI編程。同時,開發(fā)者也可以使用Tkinter庫中的文本框、按鈕、標簽等組件實現(xiàn)GUI開發(fā)。

首先,需檢查Tkinter是否成功導入,如運行無誤則說明導入成功,否之,則需要重新安裝Tkinter庫。

import tkinter

接著創(chuàng)建一個窗口,先使用http://tkinter.Tk生成一個主窗口對象,然后才能使用Tkinter模塊中其他的函數(shù)和方法等元素。生成主窗口以后才可以向里面添加組件,或者直接調(diào)用其mainloop()方法進行消息循環(huán)。示例如下:

import tkinter #導入Tkinter模塊 top = tkinter.Tk()#生成一個主窗口對象 top.mainloop()#進入消息循環(huán)

我們要有交互,就需要有組件。組件與窗口一樣,也是通過Tkinter模塊中相應的組件函數(shù)生成的。在生成組件以后,就可以使用pack、grid或place等方法將它添加到窗口中,以下示例給窗口增添兩個按鈕:

import tkinter #導入Tkinter模塊 root = tkinter.Tk()#生成一個主窗口對象 label= tkinter.Label(root, text="Python, tkinter!") label.pack()#將標簽添加到窗口中 button1 = tkinter.Button(root, text="按鈕1")#創(chuàng)建按鈕1 button1.pack(side=tkinter.LEFT)#將按鈕1添加到窗口中 button2 = tkinter.Button(root, text="按鈕2")#創(chuàng)建按鈕2 button2.pack(side=tkinter.RIGHT)#將按鈕2添加到窗口中 root.mainloop()#進入消息循環(huán)

3.jfif

至此,用Tkinter庫創(chuàng)建一個帶交互功能的窗口已經(jīng)完成,大家感興趣可以繼續(xù)學習其他組件,這里就不再贅述。

接下來進行云服務器部署,本項目選用云端語音平臺,登錄平臺后,通過右上角「控制臺」,或右上角下拉菜單的「我的應用」進入控制臺。如果賬戶未曾創(chuàng)建過應用,平臺會引導創(chuàng)建,創(chuàng)建完成后,便可通過左側的服務列表,選擇要使用的服務。

在服務管理面板中,將看到這個服務對應的可用量、歷史用量、服務接口的驗證信息,還有可以調(diào)用的API和SDK。值得注意的是,要將應用創(chuàng)建后生成的APPID,APISecret和APIKey去替換代碼中的APPID,APISecret和APIKey一定要一一對應,否則會影響代碼的正常運行!

def run(): global wsParam wsParam = Ws_Param(APPID='你的APPID', APIKey='你的APIKey',APISecret='你的APISecret') websocket.enableTrace(False) wsUrl = wsParam.create_url() ws = websocket.WebSocketApp(wsUrl, on_message=on_message, on_error=on_error, on_close=on_close) ws.on_open = on_open ws.run_forever(sslopt={"cert_reqs": ssl.CERT_NONE}, ping_timeout=2)

隨后選擇需要的語種和服務即可,支持除中文和英語外的51種外語,24種方言和1種民族語言。

4.png

實現(xiàn)原理

本項目主要就是利用python程序錄制本地mp3格式的用戶音頻,并將音頻上傳到云端語音平臺進行實時轉(zhuǎn)寫,最后利用GUI庫在屏幕上展示轉(zhuǎn)寫結果(云端語音平臺翻譯文本的方法和窗口的實現(xiàn),點擊文末閱讀原文即可獲取)。

效果展示

結果顯示,本項目對本地資源占用較小,得益于旭日X3派的高算力和高性能,溫度的控制讓人十分滿意(和上一個項目手語翻譯終端同時運行也沒有問題)。

5.jfif


6.jfif

性能測試

系統(tǒng)測試方案:將程序?qū)胄袢誜3派中,接入電源后等待初始化完成,在安靜的室內(nèi)環(huán)境下,在麥克風前分別測試普通話,英語,方言(東北話/四川話),將轉(zhuǎn)寫終端實時轉(zhuǎn)寫的準確率記錄,同時將識別的總時長記錄收集。

測試數(shù)據(jù)如下:

7.jfif


8.jfif

結果分析:接收到語音信息后到完成轉(zhuǎn)寫結果的顯示總時長在0.5秒之內(nèi),可基本實現(xiàn)實時轉(zhuǎn)譯,對普通話和英文以及51種外語,24種方言和1種民族語言的識別率在95%以上。

結論:實現(xiàn)語音轉(zhuǎn)寫除了支持普通話和英語外,支持51個外國語種(包括日語、俄語、泰語、捷克語等常用語種)、24種方言(包括四川話、廣東話、河南話、上海話,閩南語等常用方言),另外,還支持一種民族語言(彝語),真正做到無障礙溝通交流。

本文轉(zhuǎn)自地平線開發(fā)者社區(qū)
原作者:鑫辰大海王

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5054

    文章

    18917

    瀏覽量

    301023
  • 語音
    +關注

    關注

    3

    文章

    381

    瀏覽量

    37951
  • 人工智能
    +關注

    關注

    1789

    文章

    46435

    瀏覽量

    236661
收藏 人收藏

    評論

    相關推薦

    開發(fā)者空間實踐指導:基于 3 大 PaaS 主流服務輕松實現(xiàn)文字轉(zhuǎn)換語音

    【摘要】 基于 CodeArts API 設計語音合成接口,基于 API Explorer 調(diào)試接口,并利用 CodeArts IDE 實現(xiàn)數(shù)據(jù)流轉(zhuǎn)換為音頻 案例簡介 開發(fā)者將在云主機中
    的頭像 發(fā)表于 09-13 16:25 ?379次閱讀
    <b class='flag-5'>開發(fā)者</b>空間實踐指導:基于 <b class='flag-5'>3</b> 大 PaaS 主流服務輕松<b class='flag-5'>實現(xiàn)</b>文字轉(zhuǎn)換<b class='flag-5'>語音</b>

    訊維智能語音轉(zhuǎn)寫系統(tǒng)確保企業(yè)數(shù)據(jù)的安全性

    隨著人工智能技術的飛速發(fā)展,智能語音轉(zhuǎn)寫系統(tǒng)逐漸走進我們的日常生活和工作之中,成為提升工作效率、優(yōu)化信息處理的重要工具。訊維智能語音轉(zhuǎn)寫
    的頭像 發(fā)表于 08-02 15:53 ?468次閱讀

    開源項目!設計一款智能手語翻譯眼鏡

    這個項目是一款創(chuàng)新的智能手語翻譯眼鏡,它能夠實時地將手語轉(zhuǎn)換為聽得見的語音。這款眼鏡采用了VIAM平臺和樹莓
    發(fā)表于 05-20 15:59

    鴻蒙開發(fā)者預覽版如何?

    在24年的華為鴻蒙發(fā)布會中表示。預覽版已經(jīng)向開發(fā)者開放申請,首批支持的機型有三款分別為華為 Mate 60、華為Mate 60 Pro、華為Mate X5。 其HarmonyOS NEXT去除
    發(fā)表于 02-17 21:54

    鴻蒙系統(tǒng)優(yōu)缺點,能否作為開發(fā)者選擇

    星河版已經(jīng)是純血鴻蒙,但是它的發(fā)展一些周期。生態(tài)圈的建立難度大,各大廠商加入鴻蒙原生開發(fā)需要時間累積。 鴻蒙開發(fā)人才空缺,由于鴻蒙作為一款新型的系統(tǒng),程序員們都是從0學起。所以市面上很少有鴻蒙
    發(fā)表于 02-16 21:00

    【飛騰4G版免費試用】大家來了解飛騰4G版開發(fā)

    、RT-Thread等國產(chǎn)操作系統(tǒng)。 在飛騰在電子發(fā)燒友論壇構建了在飛騰開發(fā)者社區(qū),大家也可以通過社區(qū)資料更多的了解飛騰4G版開發(fā)
    發(fā)表于 01-02 22:43

    開發(fā)者】HarmonyOS實踐應用狀態(tài)變量共享

    # 開發(fā)者 # 【開發(fā)者】欄目是為HarmonyOS開發(fā)者提供的展示和分享平臺,在這里,大家可以發(fā)表自己的技術洞察和見解,也可以展示自己
    的頭像 發(fā)表于 12-26 21:20 ?715次閱讀
    【<b class='flag-5'>開發(fā)者</b><b class='flag-5'>說</b>】HarmonyOS實踐<b class='flag-5'>之</b>應用狀態(tài)變量共享

    開發(fā)者開發(fā)案例:使用canvas實現(xiàn)圖表系列折線圖

    # 開發(fā)者 # 【開發(fā)者】欄目是為HarmonyOS開發(fā)者提供的展示和分享平臺,在這里,大家可以發(fā)表自己的技術洞察和見解,也可以展示自己
    的頭像 發(fā)表于 12-13 16:05 ?551次閱讀
    【<b class='flag-5'>開發(fā)者</b><b class='flag-5'>說</b>】<b class='flag-5'>開發(fā)</b>案例:使用canvas<b class='flag-5'>實現(xiàn)</b>圖表<b class='flag-5'>系列</b><b class='flag-5'>之</b>折線圖

    歡迎加入飛騰開發(fā)者社區(qū),感謝每一位開發(fā)者!

    今年10月,飛騰聯(lián)合電子發(fā)燒友論壇一起策劃了飛騰開發(fā)板測評活動,受到了廣大開發(fā)者的喜愛。
    的頭像 發(fā)表于 12-11 17:39 ?1297次閱讀
    歡迎加入飛騰<b class='flag-5'>派</b><b class='flag-5'>開發(fā)者</b>社區(qū),感謝每一位<b class='flag-5'>開發(fā)者</b>!

    歡迎加入飛騰開發(fā)者社區(qū),感謝每一位開發(fā)者!

    ://bbs.elecfans.com/group_1708 飛騰開發(fā)者社區(qū)部分內(nèi)容截圖 回顧合作歷程,從2023年開始,華秋 · 電子發(fā)燒友就與飛騰建立了密切的合作關系,雙方團隊共同努力,實現(xiàn)了許多
    發(fā)表于 12-11 16:11

    開發(fā)者開發(fā)案例分享:萬能卡片也能用來玩游戲

    # 開發(fā)者 # 【開發(fā)者】欄目是為HarmonyOS開發(fā)者提供的展示和分享平臺,在這里,大家可以發(fā)表自己的技術洞察和見解,也可以展示自己
    的頭像 發(fā)表于 11-30 21:15 ?459次閱讀
    【<b class='flag-5'>開發(fā)者</b><b class='flag-5'>說</b>】<b class='flag-5'>開發(fā)</b>案例分享:萬能卡片也能用來玩游戲

    地平線機器人開發(fā)UART串口通信程序

    運行示例程序 接下來就可以運行串口通信的例程了。 $ sudo python3 test_serial.py 實物接線完成后,在旭日X3的終端中輸入指令啟動例程,很快就可以在終端中看
    的頭像 發(fā)表于 11-27 10:55 ?358次閱讀

    開發(fā)者自制載板令樹莓 5“變身”CM5 計算模塊

    然而,制造商們?nèi)栽诘却龢漭?b class='flag-5'>派 cm5計算模塊, Arturo182的開發(fā)者開發(fā)了一個投手踏板,可以將樹莓5轉(zhuǎn)換成“樹莓cm5計算模塊”,
    的頭像 發(fā)表于 11-12 15:01 ?1051次閱讀

    【悟空H3開發(fā)板免費體驗】基于ROS系統(tǒng)的全向輪小車

    開發(fā)板。 悟空是一款開源的單板卡片電腦,新一代的Linux開發(fā)板,它可以運行Linux、Ubuntu和 Debian 等操作系統(tǒng)。悟空H
    發(fā)表于 11-12 01:00

    【悟空H3開發(fā)板免費體驗】基于悟空H3開發(fā)板實現(xiàn):三全向輪小車速度控制、里程反饋

    產(chǎn)品試用報告 - 悟空H3開發(fā)板 產(chǎn)品概述 產(chǎn)品名稱:悟空H3開發(fā)板 試用項目:ROS
    發(fā)表于 11-02 01:37