亚洲精品久久久久久久久久久,亚洲国产精品一区二区制服,亚洲精品午夜精品,国产成人精品综合在线观看,最近2019中文字幕一页二页

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

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

3天內不再提示

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

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

掃碼添加小助手

加入工程師交流群

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

引言

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

ASR/TTS介紹

ASR也就是自動語音識別(Automatic Speech Recognition),其主要作用是把人類語音里的詞匯內容轉變?yōu)橛嬎銠C能夠讀取的文本形式。

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

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

Sherpa_onnx介紹

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

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

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

開發(fā)準備

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

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

示例界面設計

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

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

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

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聲音活動檢測的初始化階段,音頻采集器與渲染器初始化過程,接著是ASR(自動語音識別)模型和TTS(文本到語音)模型的加載,直至最終成功實現(xiàn)語音識別與語音生成的流程。

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

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

1.初始化Vad

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

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

2.初始化音頻采集器

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

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

3.加載ASR模型

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

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)建語音識別實例OfflineRecognizer,加載該模型。

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

4.語音解析成文字

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

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

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

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

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

1.初始化音頻渲染器

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

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

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

2.加載TTS模型

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

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

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

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

路徑:src/main/resources/rawfile

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

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

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

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

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

3.文本解析成音頻

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

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

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

text為輸入文本,當界面上無文字時默認“你好”,有文字時,將文字以句號分割,使播放句子有停頓效果;

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

speed語速,默認語速為1,可在設置界面調節(jié)。

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

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

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

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

效果展示

ASR/TTS示例應用代碼

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

AI Model SIG簡介

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

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

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

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

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

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

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

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

    關注

    39

    文章

    1800

    瀏覽量

    115384
  • 開源
    +關注

    關注

    3

    文章

    3930

    瀏覽量

    45437
  • 鴻蒙
    +關注

    關注

    60

    文章

    2779

    瀏覽量

    45220

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    基于開源鴻蒙的圖片編輯開發(fā)(1)

    本期內容介紹基于開源鴻蒙在RK3568上開發(fā)圖片編輯的全流程,分為上篇和下篇,本篇為上篇,主要介紹添加相冊圖片、編譯圖片功能。
    的頭像 發(fā)表于 10-31 09:16 ?2514次閱讀
    基于<b class='flag-5'>開源</b><b class='flag-5'>鴻蒙</b>的圖片編輯<b class='flag-5'>開發(fā)</b><b class='flag-5'>樣</b><b class='flag-5'>例</b>(1)

    基于開源鴻蒙的圖片編輯開發(fā)(2)

    本期內容介紹基于開源鴻蒙在RK3568上開發(fā)圖片編輯的全流程,分為上篇和下篇,本篇為下篇,主要介紹標記、保存圖片功能。
    的頭像 發(fā)表于 10-31 09:19 ?2567次閱讀
    基于<b class='flag-5'>開源</b><b class='flag-5'>鴻蒙</b>的圖片編輯<b class='flag-5'>開發(fā)</b><b class='flag-5'>樣</b><b class='flag-5'>例</b>(2)

    明遠智睿SSD2351開發(fā)板:語音機器人領域的變革力量

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

    語音識別模塊

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    使用Arduino進行語音識別合成

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

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

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