欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4926|回復: 30
打印 上一主題 下一主題
收起左側

【Arduino】168種傳感器系列實驗(138)---TTS文本轉語音模塊

[復制鏈接]
跳轉到指定樓層
樓主
ID:513258 發表于 2020-2-5 08:28 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
37款傳感器與模塊的提法,在網絡上廣泛流傳,其實Arduino能夠兼容的傳感器模塊肯定是不止37種的。鑒于本人手頭積累了一些傳感器和模塊,依照實踐出真知(一定要動手做)的理念,以學習和交流為目的,這里準備逐一動手試試做實驗,不管成功與否,都會記錄下來---小小的進步或是搞不定的問題,希望能夠拋磚引玉。

【Arduino】168種傳感器模塊系列實驗(資料+代碼+圖形+仿真)
實驗一百三十八:中文TTS文本轉語音合成模塊 替代SYN6288和XFS5152




分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:513258 發表于 2020-2-5 08:41 | 只看該作者
TTS(Text-To-Speech,文本到語音)
我們比較熟悉的ASR(Automatic Speech Recognition),是將聲音轉化為文字,可類比于人類的耳朵。而TTS是將文字轉化為聲音(朗讀出來),類比于人類的嘴巴,是人機對話的一部分,讓機器能夠說話。

TTS是同時運用語言學和心理學的杰出之作,在內置芯片的支持之下,通過神經網絡的設計,把文字智能地轉化為自然語音流。TTS技術對文本文件進行實時轉換,轉換時間之短可以秒計算。在其特有智能語音控制器作用下,文本輸出的語音音律流暢,使得聽者在聽取信息時感覺自然,毫無機器語音輸出的冷漠與生澀感。TTS語音合成技術即將覆蓋國標一、二級漢字,具有英文接口,自動識別中、英文,支持中英文混讀。所有聲音采用真人普通話為標準發音,實現了120-150個漢字/分鐘的快速語音合成,朗讀速度達3-4個漢字/秒,使用戶可以聽到清晰悅耳的音質和連貫流暢的語調。有少部分MP3隨身聽具有了TTS功能。




回復

使用道具 舉報

板凳
ID:513258 發表于 2020-2-5 08:59 | 只看該作者
本帖最后由 eagler8 于 2020-2-5 10:10 編輯

語音合成(SpeechSynthesis)
語音合成,能將任意文字信息實時轉化為標準流暢的語音朗讀出來,相當于給機器裝上了人工嘴巴。它涉及聲學、語言學、數字信號處理、計算機科學等多個學科技術,是中文信息處理領域的一項前沿技術,解決的主要問題就是如何將文字信息轉化為可聽的聲音信息,也即讓機器像人一樣開口說話。我們所說的“讓機器像人一樣開口說話”與傳統的聲音回放設備(系統)有著本質的區別。傳統的聲音回放設備(系統),如磁帶錄音機,是通過預先錄制聲音然后回放來實現“讓機器說話”的。這種方式無論是在內容、存儲、傳輸或者方便性、及時性等方面都存在很大的限制。而通過計算機語音合成則可以在任何時候將任意文本轉換成具有高自然度的語音,從而真正實現讓機器“像人一樣開口說話”。

語音合成是通過機械的、電子的方法產生人造語音的技術。TTS技術(又稱文語轉換技術)隸屬于語音合成,它是將計算機自己產生的、或外部輸入的文字信息轉變為可以聽得懂的、流利的漢語口語輸出的技術。語音合成滿足將文本轉化成擬人化語音的需求,打通人機交互閉環。 提供多種音色選擇,支持自定義音量、語速,讓發音更自然、更專業、更符合場景需求。語音合成廣泛應用于語音導航、有聲讀物、機器人、語音助手、自動新聞播報等場景,提升人機交互體驗,提高語音類應用構建效率。  




回復

使用道具 舉報

地板
ID:513258 發表于 2020-2-5 11:19 | 只看該作者
TTS一般分為兩個步驟
一、 文本處理。這一步做的事情是把文本轉化成音素序列,并標出每個音素的起止時間、頻率變化等信息。作為一個預處理步驟,它的重要性經常被忽視,但是它涉及到很多值得研究的問題,比如拼寫相同但讀音不同的詞的區分、縮寫的處理、停頓位置的確定,等等。
二、語音合成。狹義上這一步專指根據音素序列(以及標注好的起止時間、頻率變化等信息)生成語音,廣義上它也可以包括文本處理的步驟。這一步主要有三類方法:
1、拼接法,即從事先錄制的大量語音中,選擇所需的基本單位拼接而成。這樣的單位可以是音節、音素等等;為了追求合成語音的連貫性,也常常用使用雙音子(從一個音素的中央到下一個音素的中央)作為單位。拼接法合成的語音質量較高,但它需要錄制大量語音以保證覆蓋率。
2、參數法,即根據統計模型來產生每時每刻的語音參數(包括基頻、共振峰頻率等),然后把這些參數轉化為波形。參數法也需要事先錄制語音進行訓練,但它并不需要100%的覆蓋率。參數法合成出的語音質量比拼接法差一些。
3、聲道模擬法。參數法利用的參數是語音信號的性質,它并不關注語音的產生過程。與此相反,聲道模擬法則是建立聲道的物理模型,通過這個物理模型產生波形。這種方法的理論看起來很優美,但由于語音的產生過程實在是太復雜,所以實用價值并不高。




回復

使用道具 舉報

5#
ID:513258 發表于 2020-2-5 14:23 | 只看該作者

中文TTS文本轉語音合成模塊(當前版本V5 )
網上資料非常少,細看模塊上主要有三塊芯片,U1估計是主要芯片,可惜被蓋住了,查不到具體型號。

回復

使用道具 舉報

6#
ID:513258 發表于 2020-2-5 14:48 | 只看該作者

U2是8002A
8002A 是一顆帶關斷模式的音頻功放 IC。在 5V 輸入電壓下工作時,負載(3Ω)上的平均功率為 3W,且失真度不超過 10%。而對于手提設備而言,當 VDD 作用于關斷端時,8002A 將會進入關斷模式,此時的功耗極低,IQ 僅為 0.6uA。8002A 是專為大功率、高保真的應用場合所設計的音頻功放 IC。所需外圍元件少且在 2.0V~5.5V 的輸入電壓下即可工作。

功能特點
¾ 無需輸出耦合電容或外部緩沖電路。
¾ 穩定的增益輸出。
¾ 外部增益設置。
¾ 封裝形式:SOP8、SOP8-PP、DIP8、MSOP8。

回復

使用道具 舉報

7#
ID:513258 發表于 2020-2-5 15:11 | 只看該作者

U5的型號是MX25L6406EMI-12G

功能描述:IC FLASH SER 64MB 86MHZ 16SOP
RoHS:是
類別:集成電路 (IC) >> 存儲器
系列:MX25xxx05/06
標準包裝:2,500
系列:- 格式 -
存儲器:EEPROMs - 串行
存儲器類型:EEPROM
存儲容量:1K (128 x 8)
速度:100kHz
接口:UNI/O(單線)
電源電壓:1.8 V ~ 5.5 V
工作溫度:-40°C ~ 85°C
封裝/外殼:8-TSSOP,8-MSOP(0.118,3.00mm 寬)

回復

使用道具 舉報

8#
ID:513258 發表于 2020-2-5 15:19 | 只看該作者
MX25L6406EMI-12G,查到的外文資料,功能方框圖和型號命名規則





回復

使用道具 舉報

9#
ID:513258 發表于 2020-2-5 19:44 | 只看該作者
本帖最后由 eagler8 于 2020-2-6 09:10 編輯




回復

使用道具 舉報

10#
ID:513258 發表于 2020-2-6 09:10 | 只看該作者

回復

使用道具 舉報

11#
ID:513258 發表于 2020-2-6 09:13 | 只看該作者

回復

使用道具 舉報

12#
ID:513258 發表于 2020-2-6 09:14 | 只看該作者

回復

使用道具 舉報

13#
ID:513258 發表于 2020-2-6 09:15 | 只看該作者

回復

使用道具 舉報

14#
ID:513258 發表于 2020-2-6 14:18 | 只看該作者
  1. /*
  2.   【Arduino】168種傳感器模塊系列實驗(資料+代碼+圖形+仿真)
  3.   實驗一百三十八:中文TTS文本轉語音合成模塊 替代SYN6288和XFS5152
  4.   實驗接線:
  5.   TX -> Arduino 0
  6.   RX -> Arduino 1
  7.   5V -> Arduino 5V
  8.   GND -> Arduino GND
  9. */

  10. void setup()
  11. {
  12.   Serial.begin(9600);
  13. }
  14. void loop()
  15. {
  16.   Serial.println("1234567890") ;
  17.   delay(5000);
  18.   Serial.println("abcdefghijk") ;
  19.   delay(5000);
  20. }
復制代碼


回復

使用道具 舉報

15#
ID:513258 發表于 2020-2-6 14:28 | 只看該作者

回復

使用道具 舉報

16#
ID:513258 發表于 2020-2-6 14:31 | 只看該作者

回復

使用道具 舉報

17#
ID:513258 發表于 2020-2-6 16:12 | 只看該作者
實驗之二:嘗試中文TTS文本轉語音合成播放

  1. /*
  2. 【Arduino】168種傳感器模塊系列實驗(資料+代碼+圖形+仿真)
  3. 實驗一百三十八:中文TTS文本轉語音合成模塊 替代SYN6288和XFS5152
  4. 實驗之二:嘗試中文TTS文本轉語音合成播放
  5. 模塊實驗接線:
  6. TX -> Arduino 0
  7. RX -> Arduino 1
  8. 5V -> Arduino 5V
  9. GND -> Arduino GND
  10. */

  11. void setup()
  12. {
  13. Serial.begin(9600);
  14. }
  15. void loop()
  16. {
  17. Serial.println("期待好的解決方案 對編碼轉換這塊一直有疑問") ;
  18. delay(5000);
  19. }
復制代碼



回復

使用道具 舉報

18#
ID:513258 發表于 2020-2-6 16:13 | 只看該作者

回復

使用道具 舉報

19#
ID:513258 發表于 2020-2-6 17:15 | 只看該作者
https://v.youku.com/v_show/id_XNDUzNDkyMjY4OA==.html

由于編碼不同,發出的是亂碼播放,下面開始嘗試學習編碼轉換相關.......

播放鏈接  https://v.youku.com/v_show/id_XNDUzNDkyMjY4OA==.html

回復

使用道具 舉報

20#
ID:513258 發表于 2020-2-6 19:05 | 只看該作者
經查詢資料,中文TTS文本轉語音合成模塊支持任意中文、 英文字母、阿拉伯數字的文本合成,并且支持中文、英文字母、數字的混讀。模塊支持中文 GBK 編碼集;支持大、小寫英文字母。

GBK編碼(即漢字國標擴展碼)
GBK編碼,是對GB2312編碼的擴展,因此完全兼容GB2312-80標準。GBK編碼依然采用雙字節編碼方案,其編碼范圍:8140-FEFE,剔除xx7F碼位,共23940個碼位。共收錄漢字和圖形符號21886個,其中漢字(包括部首和構件)21003個,圖形符號883個。GBK編碼支持國際標準ISO/IEC10646-1和國家標準GB13000-1中的全部中日韓漢字,并包含了BIG5編碼中的所有漢字。GBK編碼方案于1995年12月15日正式發布,這一版的GBK規范為1.0版。Windows 95系統就是以GBK為內碼,又由于GBK同時也涵蓋了Unicode所有CJK漢字,所以也可以和Unicode做一一對應。

編碼范圍
8140-FEFE (33088-65278)
全部編碼分為三大部分:1.漢字區;2.圖形符號區;3.用戶自定義區(詳情見特性碼位分配及順序)

適用范圍以及存在問題
幾乎完美支持漢字,但是不支持部分國家的語言(如一些東亞國家,日本等)
所以經常會有GBK到UNICODE的轉換

特性
1、字匯——GBK 規范收錄了 ISO 10646.1 中的全部 CJK 漢字和符號,并有所補充。具體包括:
GB 2312 中的全部漢字、非漢字符號。
GB 13000.1 中的其他 CJK 漢字。以上合計 20902 個 GB 化漢字。
《簡化字總表》中未收入 GB 13000.1 的 52 個漢字。
《康熙字典》及《辭海》中未收入 GB 13000.1 的 28 個部首及重要構件。
13 個漢字結構符。
BIG-5 中未被 GB 2312 收入、但存在于 GB 13000.1 中的 139 個圖形符號。
GB 12345 增補的 6 個拼音符號。
漢字“○”。
GB 12345 增補的 19 個豎排標點符號(GB12345 較 GB 2312 增補豎排標點符號 29 個,其中 10 個未被 GB 13000.1 收入,故 GBK 亦不收)。
從 GB 13000.1 的 CJK 兼容區挑選出的 21 個漢字。
GB 13000.1 收入的 31 個 IBM OS/2 專用符號。
未錄入《新華字典》上的一些字,如“韡”的簡體。

2、碼位分配及順序
GBK 亦采用雙字節表示,總體編碼范圍為 8140-FEFE,首字節在 81-FE 之間,尾字節在 40-FE 之間,剔除 xx7F 一條線。總計 23940 個碼位,共收入 21886 個漢字和圖形符號,其中漢字(包括部首和構件)21003 個,圖形符號 883 個。

3、誤處理
低字節是0x40-0x7E的GBK字符有一定特殊性,因為這些字符占用了ASCII碼的位置,這樣會給一些系統帶來麻煩。有些系統中用0x40-0x7E中的字符(如“|”)做特殊符號,在定位這些符號時又沒有判斷這些符號是不是屬于某個 GBK字符的低字節,這樣就會造成錯誤判斷。在支持GB2312的環境下就不存在這個問題。需要注意的是支持GBK的環境中小于0x80的某個字節未必就 是ASCII符號;另外就是最好選用小于0×40的ASCII符號做一些特殊符號,這樣就可以快速定位,且不用擔心是某個漢字的另一半。Big5編碼中也存在相應問題。

4、雙字節編碼
遵循GB2312規定。
回復

使用道具 舉報

21#
ID:513258 發表于 2020-2-6 19:26 | 只看該作者
網上搜尋,請教知乎《Arduino 魔法書》專欄的兔子老師,才明白這個TTS模塊只能識別16進制的GBK編碼。

百度——漢字轉GBK,有很多在線工具,這里使用千千秀字(www點qqxiuzi點cn/bianma/zifuji.php),輸入“謝謝兔子老師”,自動轉換結果見下圖




回復

使用道具 舉報

22#
ID:513258 發表于 2020-2-6 19:34 | 只看該作者
例如漢字”兔子”的GBK編碼是“CDC3 D7D3”,再轉為C語言格式“0xCD,0xC3,0xD7,0xD3”。實驗開源代碼如下:

  1. /*
  2.   【Arduino】168種傳感器模塊系列實驗(資料+代碼+圖形+仿真)
  3.   實驗一百三十八:中文TTS文本轉語音合成模塊 替代SYN6288和XFS5152
  4.   實驗之三:中文TTS文本轉語音合成播放:兔子你好
  5. 模塊實驗接線:
  6.   TX -> Arduino 0
  7.   RX -> Arduino 1
  8.   5V -> Arduino 5V
  9.   GND -> Arduino GND
  10. */

  11. char a[4]={0xC4,0xE3,0xBA,0xC3};//你好
  12. char b[]={0xCD,0xC3,0xD7,0xD3};//兔子
  13. String zi= "";

  14. void setup() {
  15.   Serial.begin(9600);  
  16.   for(int i=0;i<4;i++) zi+=a[i];
  17. }

  18. void loop() {
  19.   Serial.println(zi);
  20.   Serial.println(b);
  21.   delay(1000);   
  22.   }
復制代碼





回復

使用道具 舉報

23#
ID:513258 發表于 2020-2-6 19:56 | 只看該作者
發送到串口的16進制GBK編碼




回復

使用道具 舉報

24#
ID:513258 發表于 2020-2-7 10:23 | 只看該作者

回復

使用道具 舉報

25#
ID:513258 發表于 2020-2-8 08:58 | 只看該作者
  1. /*
  2.   【Arduino】168種傳感器模塊系列實驗(資料+代碼+圖形+仿真)
  3.   實驗一百三十八:中文TTS文本轉語音合成模塊 替代SYN6288和XFS5152
  4.   實驗之四:中文TTS文本轉語音合成播放:春節快樂
  5.   (GBK碼 B4BA,BDDA,BFEC,C0D6)
  6.   模塊實驗接線:
  7.   TX -> Arduino 0
  8.   RX -> Arduino 1
  9.   5V -> Arduino 5V
  10.   GND -> Arduino GND
  11. */

  12. char a[8] = {0xB4,0xBA,0xBD,0xDA,0xBF,0xEC,0xC0,0xD6}; //春節快樂

  13. void setup() {
  14.   Serial.begin(9600);
  15. }

  16. void loop() {
  17.   Serial.println(a);
  18.   delay(3000);
  19. }
復制代碼


回復

使用道具 舉報

26#
ID:513258 發表于 2020-2-8 08:58 | 只看該作者

回復

使用道具 舉報

27#
ID:513258 發表于 2020-2-8 08:58 | 只看該作者

回復

使用道具 舉報

28#
ID:513258 發表于 2020-2-8 09:18 | 只看該作者
本帖最后由 eagler8 于 2020-2-8 11:46 編輯

[media=x,500,375][/media]
中文TTS文本轉語音模塊合成播放“春節快樂”的10秒視頻
https://v.youku.com/v_show/id_XNDUzNTY3MjMyNA==.htm




回復

使用道具 舉報

29#
ID:513258 發表于 2020-2-8 09:35 | 只看該作者
完成本實驗,特別感謝兔子老師的微信指導與幫助,主要學習與參考的資料有

Arduino 語音交互 TTS語音合成
https://zhuanlan.zhihu.com/p/66314323

DIY朗讀機器人!不想給孩子讀故事?TTS語音合成模塊了解一下,B719模塊效果測試
https://www.bilibili.com/read/cv3630794/

TTS 真人發音 SYN6288 模塊
wwwarduinocn/thread-75043-1-1.html

Arduino語音模塊-Speech Synthesizer Bee語音合成模塊
wwwncnynlcom/archives/201606/192.html

關于 Arduino 發送中文字符問題 GB2312轉16進制
https://www.cnblogs.com/xiaohe520/articles/7918641.html


回復

使用道具 舉報

30#
ID:539387 發表于 2020-4-23 12:12 | 只看該作者
點贊,專業就是王道,follow你的持續更新
回復

使用道具 舉報

31#
ID:513258 發表于 2020-4-29 15:26 | 只看該作者
foxzenith 發表于 2020-4-23 12:12
點贊,專業就是王道,follow你的持續更新

謝謝鼓勵,最近在做掌控板的系列實驗

MicroPython動手做(17)——掌控板之觸摸引腳

bbs.eeworld點com.cn/thread-1119462-1-1.html
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表