chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

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

基于開源鴻蒙的語音識別及語音合成應(yīng)用開發(fā)樣例

OpenAtom OpenHarmony ? 來源:OpenAtom OpenHarmony ? 2025-08-25 14:26 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

【拆·應(yīng)用】是為開源鴻蒙應(yīng)用開發(fā)者打造的技術(shù)分享平臺,是匯聚開發(fā)者的技術(shù)洞見與實(shí)踐經(jīng)驗(yàn)、提供開發(fā)心得與創(chuàng)新成果的展示窗口。誠邀您踴躍發(fā)聲,期待您的真知灼見與技術(shù)火花!

引言

本期內(nèi)容由AI Model SIG提供,介紹了在開源鴻蒙中,利用sherpa_onnx開源三方庫進(jìn)行ASR語音識別與TTS語音合成應(yīng)用開發(fā)的流程。

ASR/TTS介紹

ASR也就是自動(dòng)語音識別(Automatic Speech Recognition),其主要作用是把人類語音里的詞匯內(nèi)容轉(zhuǎn)變?yōu)橛?jì)算機(jī)能夠讀取的文本形式。

TTS也就是文本轉(zhuǎn)語音(Text-to-Speech),它主要的功能是把計(jì)算機(jī)里以文本形式存在的信息轉(zhuǎn)變成人耳可聽見的語音。

ASR/TTS有著廣泛的用途,例如語音助手聊天、設(shè)備控制、新聞播報(bào)、有聲閱讀等。

Sherpa_onnx介紹

sherpa-onnx是一個(gè)開源語音處理工具包,具有輕量級、跨平臺和高性能的語音識別推理能力。它基于ONNX Runtime,支持CPU/GPU加速,且內(nèi)存占用低、延遲小,適合實(shí)時(shí)流式語音處理。它兼容多種 端到端語音模型(如Transformer、RNN-T),提供簡潔的C++/Python API,并支持動(dòng)態(tài)斷句和流式識別,開箱即用。相比傳統(tǒng)方案(如Kaldi),sherpa_onnx依賴更少、部署更簡單,特別適合 移動(dòng)端、離線語音助手、實(shí)時(shí)字幕等場景兼顧效率與易用性。

sherpa_onnx已經(jīng)移植到開源鴻蒙,直接支持ArkTS接口,本示例用到的接口如下:

ae4539e0-7e72-11f0-a18e-92fbcf53809c.png

開發(fā)準(zhǔn)備

1.環(huán)境搭建:確保安裝了ArkUI開發(fā)所需的IDE,如DevEco Studio,并配置好相應(yīng)的開發(fā)環(huán)境,包括SDK(本示例Api11及以上)版本等。

2.了解ArkUI框架特性:熟悉ArkUI的布局和組件使用方法,例如文本輸入框用于接收用戶輸入,按鈕組件用于觸發(fā)ASR語音識別操作等。還要了解ArkUI的數(shù)據(jù)綁定機(jī)制,方便將ASR識別結(jié)果和TTS合成狀態(tài)等信息實(shí)時(shí)顯示在界面上。

示例界面設(shè)計(jì)

底部欄:語音采集與文本輸入切換按鈕,點(diǎn)擊切換。

中間區(qū):文本顯示區(qū),呈現(xiàn)識別后文本和輸入內(nèi)容。

頭部欄:標(biāo)題、語音播放按鈕(播放中間區(qū)域文本)、設(shè)置按鈕(語速設(shè)置和聲音模型切換)。

ae501ed2-7e72-11f0-a18e-92fbcf53809c.png

示例功能邏輯

示例基于sherpa_onnx三方庫開發(fā),此庫在OpenHarmony三方庫中心倉下載安裝,鏈接如下:

https://ohpm.openharmony.cn/#/cn/detail/sherpa_onnx

ae69b0fe-7e72-11f0-a18e-92fbcf53809c.png

以下所展示的是本示例的流程圖,該流程圖涵蓋了從Vad聲音活動(dòng)檢測的初始化階段,音頻采集器與渲染器初始化過程,接著是ASR(自動(dòng)語音識別)模型和TTS(文本到語音)模型的加載,直至最終成功實(shí)現(xiàn)語音識別與語音生成的流程。

ae722e3c-7e72-11f0-a18e-92fbcf53809c.png

ASR模型解析核心實(shí)現(xiàn)

1.初始化Vad

Vad聲音活動(dòng)檢測(Voice activity detection),也稱為語音活動(dòng)檢測或語音檢測(speech activity detection或者speech detection),是檢測人類語音存在與否的技術(shù),主要用于語音處理。Vad的主要用途在于說話人分割(speaker diarization)、語音編碼(speech coding)和語音識別(speech recognition),初始化vad過程如下:

ae83b80a-7e72-11f0-a18e-92fbcf53809c.png

2.初始化音頻采集器

初始化一個(gè)音頻采集器,用于從麥克風(fēng)硬件獲取音頻數(shù)據(jù),注冊回調(diào)事件micCallback將音頻數(shù)據(jù)存儲到ampleList數(shù)組中。

ae9384ba-7e72-11f0-a18e-92fbcf53809c.png

3.加載ASR模型

語音識別需要加載一個(gè)ASR模型,用戶可依據(jù)自身業(yè)務(wù)需求下載合適的模型,模型下載地址:

https://github.com/k2-fsa/sherpa-onnx/releases/tag/asr-models。

本示例使用的是sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17模型,支持中文、英文、日文、韓文以及粵語五種語言。

將解壓后的模型文件放入指定路徑中。

路徑:src/main/resources/rawfile

ae9c45fa-7e72-11f0-a18e-92fbcf53809c.png

創(chuàng)建語音識別實(shí)例OfflineRecognizer,加載該模型。

aeb33a6c-7e72-11f0-a18e-92fbcf53809c.png

4.語音解析成文字

“按住說話”按鈕,當(dāng)手指按下時(shí)采集音頻數(shù)據(jù),觸發(fā)micCallback回調(diào)保存數(shù)據(jù),手指抬起時(shí)終止采集,隨后,將數(shù)據(jù)經(jīng)由worker線程發(fā)送至子線程予以解析。

aec383e0-7e72-11f0-a18e-92fbcf53809c.png

子線程在獲取音頻數(shù)據(jù)之后,將其解析為文字,最終呈現(xiàn)在應(yīng)用界面上,具體解析流程如下:

aece7c64-7e72-11f0-a18e-92fbcf53809c.png

TTS模型解析核心實(shí)現(xiàn)

1.初始化音頻渲染器

初始化一個(gè)音頻渲染器,用于將音頻數(shù)據(jù)輸出到設(shè)備揚(yáng)聲器。通過配置音頻參數(shù)和渲染屬性,確保音頻格式與硬件兼容,并建立數(shù)據(jù)寫入的回調(diào)機(jī)制audioPlayCallback。

aee0db66-7e72-11f0-a18e-92fbcf53809c.png

aeef8936-7e72-11f0-a18e-92fbcf53809c.png

2.加載TTS模型

語音合成需要加載一個(gè)TTS模型,用戶可依據(jù)自身業(yè)務(wù)需求下載合適的模型,模型下載地址:

https://github.com/k2-fsa/sherpa-onnx/releases/tag/tts-models。

其中有多種文本轉(zhuǎn)語音模型,本示例選用了6種TTS模型,用在設(shè)置界面切換不同的聲音。

將解壓后的模型文件放到指定的路徑下。

路徑:src/main/resources/rawfile

aef79ce8-7e72-11f0-a18e-92fbcf53809c.png

創(chuàng)建語音識別實(shí)例OfflineTts,加載該模型:

af074620-7e72-11f0-a18e-92fbcf53809c.png

加載完TTS模型后,獲取模型相關(guān)信息,音頻采樣率、說話人(音色)數(shù)量,CPU線程數(shù)(本示例為雙線程)。

af18f0f0-7e72-11f0-a18e-92fbcf53809c.png

3.文本解析成音頻

點(diǎn)擊播放圖標(biāo),播放或暫停可將中間區(qū)域的文字以語音形式予以播放。

af23c156-7e72-11f0-a18e-92fbcf53809c.png

將文本信息通過worker發(fā)送至子線程進(jìn)行語音合成;

text為輸入文本,當(dāng)界面上無文字時(shí)默認(rèn)“你好”,有文字時(shí),將文字以句號分割,使播放句子有停頓效果;

sid說話人音色(模型相關(guān)信息numSpeakers)參數(shù)選擇(通常0 ≤ sid ≤ numSpeakers);

speed語速,默認(rèn)語速為1,可在設(shè)置界面調(diào)節(jié)。

af32ccd2-7e72-11f0-a18e-92fbcf53809c.png

使用tts.generateAsync方法把文字轉(zhuǎn)化為語音,TtsInput為TTS合成輸入?yún)?shù),文字轉(zhuǎn)成語音后,數(shù)據(jù)由worker回傳至主線程。

af43ff98-7e72-11f0-a18e-92fbcf53809c.png

接收到語音數(shù)據(jù)后,將數(shù)據(jù)存儲在sampleBuffer數(shù)組,然后通過this.audioRenderer.start()觸發(fā)語音播放。

效果展示

ASR/TTS示例應(yīng)用代碼

代碼倉鏈接:https://gitcode.com/openharmony-sig/applications_ai_model_samples/tree/master/AsrAndTts

AI Model SIG簡介

AI Model SIG 是經(jīng)開源鴻蒙PMC(項(xiàng)目管理委員會)正式批準(zhǔn)成立的特別興趣小組(SIG),核心目標(biāo)是豐富開源鴻蒙生態(tài)下的大小應(yīng)用模型,并提供端到端的實(shí)踐范例,為開發(fā)者構(gòu)建 AI 應(yīng)用提供高效支撐。

未來,AI Model SIG 將圍繞三大方向持續(xù)深耕:

聚焦模型推理框架與多推理后端的深度適配,夯實(shí) AI 能力底層基座;

推進(jìn)多模態(tài)模型的生態(tài)適配與優(yōu)化,拓展 AI 應(yīng)用場景邊界;

將技術(shù)成果分享出來,確保廣大開發(fā)者可便捷獲取與使用。

同時(shí),小組將聯(lián)合全球開發(fā)者協(xié)同共建,持續(xù)完善開源鴻蒙 AI 技術(shù)體系,助力打造更具競爭力的全場景智能終端生態(tài)。

如果您對開源鴻蒙AI技術(shù)感興趣,歡迎加入AI Model SIG,一起探索萬物智聯(lián)的未來!

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

    關(guān)注

    39

    文章

    1795

    瀏覽量

    115021
  • 開源
    +關(guān)注

    關(guān)注

    3

    文章

    3874

    瀏覽量

    45169
  • 鴻蒙
    +關(guān)注

    關(guān)注

    60

    文章

    2736

    瀏覽量

    45005

原文標(biāo)題:拆·應(yīng)用丨第3期:開源鴻蒙語音識別及語音合成應(yīng)用開發(fā)

文章出處:【微信號:gh_e4f28cfa3159,微信公眾號:OpenAtom OpenHarmony】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    明遠(yuǎn)智睿SSD2351開發(fā)板:語音機(jī)器人領(lǐng)域的變革力量

    接口則讓語音機(jī)器人可以連接到互聯(lián)網(wǎng),實(shí)時(shí)獲取最新的信息,增強(qiáng)其智能性和交互能力。 在實(shí)際應(yīng)用場景中,以智能客服語音機(jī)器人為。SSD2351開發(fā)板可以驅(qū)動(dòng)
    發(fā)表于 05-28 11:36

    語音識別模塊

    目前市面上語音識別模塊哪家識別率比較高,又帶語音合成功能?
    發(fā)表于 09-01 15:20

    語音合成芯片與語音芯片對比

    目前市面上的可發(fā)聲芯片分為兩大類:語音合成芯片與語音芯片。在實(shí)際開發(fā)語音終端產(chǎn)品工作中,有很多的研發(fā)人員在這兩類芯片的認(rèn)知上難免會出現(xiàn)概念上
    發(fā)表于 03-08 17:26

    語音合成芯片與語音芯片對比

    目前市面上的可發(fā)聲芯片分為兩大類:語音合成芯片與語音芯片。在實(shí)際開發(fā)語音終端產(chǎn)品工作中,有很多的研發(fā)人員在這兩類芯片的認(rèn)知上難免會出現(xiàn)概念上
    發(fā)表于 03-11 15:39

    語音合成IC與語音IC的兩三事

    目前市面上的可發(fā)聲IC分為兩大類:語音合成IC(TTS 芯片)與語音IC。在實(shí)際開發(fā)語音終端產(chǎn)品工作中,有很多的研發(fā)人員在這兩類
    發(fā)表于 05-13 17:02

    語音合成IC選型之經(jīng)驗(yàn)分享

    體積最小的一款芯片,只有28個(gè)管腳,生產(chǎn)成本低,應(yīng)用范圍廣;支持GB2312編碼格式,在智能識別度和操作方面偏低;建議需要實(shí)現(xiàn)簡單語音合成(TTS)功能的用戶可以嘗試一下,省去了錄音的麻煩 l如果
    發(fā)表于 05-19 14:37

    【大聯(lián)大品佳 Nuvoton ISD9160語音識別試用申請】家居養(yǎng)老語音求助系統(tǒng)

    和探索。想借助發(fā)燒友論壇和Nuvoton ISD9160 語音識別開發(fā)板平臺完善該項(xiàng)目的開源設(shè)計(jì)。項(xiàng)目計(jì)劃項(xiàng)目設(shè)計(jì)為為居家養(yǎng)老的老年人提供語音呼喚服務(wù),由于現(xiàn)在居家老人不太會使用智能設(shè)
    發(fā)表于 08-10 17:40

    【HarmonyOS HiSpark AI Camera】居家語音智能識別控制

    項(xiàng)目名稱:居家語音智能識別控制試用計(jì)劃:申請理由:熟悉學(xué)習(xí)鴻蒙os。利用鴻蒙開發(fā)開發(fā)一個(gè)智能
    發(fā)表于 10-29 15:18

    使用語音控制的鴻蒙小車開發(fā)流程

    之前我們已經(jīng)有一篇文章講了如何驅(qū)動(dòng)鴻蒙小車,通過網(wǎng)絡(luò)控制小車的運(yùn)行?;?b class='flag-5'>鴻蒙系統(tǒng) + Hi3861 的wifi小車,可以通過電腦、手機(jī)控制:這一篇我們來試點(diǎn)不一的:使用語音控制
    發(fā)表于 11-24 14:38

    使用語音控制的鴻蒙小車開發(fā)流程

    之前我們已經(jīng)有一篇文章講了如何驅(qū)動(dòng)鴻蒙小車,通過網(wǎng)絡(luò)控制小車的運(yùn)行。基于鴻蒙系統(tǒng) + Hi3861 的wifi小車,可以通過電腦、手機(jī)控制:這一篇我們來試點(diǎn)不一的:使用語音控制
    發(fā)表于 12-02 16:58

    怎樣去設(shè)計(jì)基于STM32F429的語音識別交互系統(tǒng)

    一、開發(fā)環(huán)境/工具:環(huán)境:keil5器件:STM32F429開發(fā)板、YS-LDV7語音識別模塊、YS-SYN6288語音
    發(fā)表于 08-04 06:25

    【1024平頭哥開發(fā)套件開發(fā)體驗(yàn)】 語音識別開發(fā)板的比較

    程度也不一。其中最易使用的要數(shù)Arduino,只是它所提供的功能十分有限,若是也能提供語音的錄制、播放及識別功能將是最理想的開發(fā)工具。此外,其提供的產(chǎn)品使用說明書也十分欠缺,導(dǎo)致其產(chǎn)
    發(fā)表于 12-13 00:13

    [CB5654智能語音開發(fā)板測評] 語音識別開發(fā)板的比較

    程度也不一。其中最易使用的要數(shù)Arduino,只是它所提供的功能十分有限,若是也能提供語音的錄制、播放及識別功能將是最理想的開發(fā)工具。此外,其提供的產(chǎn)品使用說明書也十分欠缺,導(dǎo)致其產(chǎn)
    發(fā)表于 03-09 08:11

    使用Arduino進(jìn)行語音識別合成

    電子發(fā)燒友網(wǎng)站提供《使用Arduino進(jìn)行語音識別合成.zip》資料免費(fèi)下載
    發(fā)表于 11-17 11:26 ?5次下載
    使用Arduino進(jìn)行<b class='flag-5'>語音</b><b class='flag-5'>識別</b>和<b class='flag-5'>合成</b>

    離線語音識別與在線語音識別有什么不一?

    離線語音識別與在線語音識別有什么不一? 離線語音識別
    的頭像 發(fā)表于 12-12 14:36 ?2349次閱讀