日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

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

如何使用PWM完成語音播放?

GReq_mcu168 ? 來源:ARM中文社區(qū) ? 作者:Xiaoya ? 2021-04-25 16:59 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

事實(shí)上大部分MCU都可以實(shí)現(xiàn)語音播放

以一定的速度采樣(ADC)這些波形進(jìn)行存儲(chǔ),就是音頻數(shù)據(jù)了,所以播放就是按原來采樣的速率再用DAC輸出對(duì)應(yīng)的數(shù)據(jù)即可。

這里的音頻有兩個(gè)主要的參數(shù),采樣速率和采樣位數(shù)。

采樣速率:指1s中采樣多少個(gè)數(shù)據(jù)點(diǎn),比如1s種采集16000個(gè)點(diǎn),那么采樣率就是16KHz。采樣速率越高,越能抓到頻率較高的聲音,比如CD的采樣率就是44.1KHz,確保人耳能聽到的聲音都會(huì)被抓到。

采樣位數(shù):指音頻幅度最大值與最小值分為了多少階,比如滿幅度是3.3V,如果是8Bit位數(shù),那么每一階就是3.3V/256 = 12.89mv,采樣位數(shù)越高,聲音細(xì)節(jié)越好。所以采樣速率和位數(shù)越高,聲音還原越逼真,但存儲(chǔ)的數(shù)據(jù)量也越大,一首三四分鐘的歌曲,如果不采用編碼按原始波形數(shù)據(jù)存儲(chǔ),數(shù)據(jù)量有好幾十兆大小,這涉及到音頻編碼的問題,這里不展開講了,有興趣的同學(xué)可以找相關(guān)資料。

接下來看怎么播放,最簡單的當(dāng)然是把采樣(ADC)的數(shù)據(jù)按原樣輸出(DAC)了。但我們有些芯片本身不帶有DAC,所以只能用PWM代替DAC,PWM即脈沖寬度調(diào)制。這里只需要把DAC的幅度值轉(zhuǎn)換成PWM的占空比即可,例如16KHz 8Bit的聲音轉(zhuǎn)換成16Khz 256階占空比的PWM。但有一個(gè)問題,如果用16KHz的PWM播放語音,聲音是可以播放,但有一個(gè)16Khz的諧波存在,這個(gè)聲音會(huì)被人耳聽到,所以需要更高頻率的PWM,數(shù)據(jù)還是按照16Khz更新。

我這里使用32KHz的PWM,用16KHz 8Bit PCM格式的音頻數(shù)據(jù),8Bit的數(shù)據(jù)對(duì)應(yīng)一個(gè)Byte,16KHz采樣,1秒種占用存儲(chǔ)空間就是16K Byte,F(xiàn)429有2M Byte的Flash存儲(chǔ)空間,理論上可以存儲(chǔ)2048K/16K = 128秒的音頻。

下面是用NucleoF429實(shí)現(xiàn)音頻播放的具體過程:

一、配置PWM

1、用STM32CubeMx建立工程,配置兩個(gè)定時(shí)器TIM1和TIM2,TIM用于PWM產(chǎn)生,TIM2用于16KHz數(shù)據(jù)更新。

TIM1選擇PWM互補(bǔ)輸出(單通道也可以),將PE8和PE9復(fù)用為PWMN和PWMP。

TIM1在APB2總線上,TIM2在APB1總線上

所以TIM1和TIM2的時(shí)鐘頻率分別為180M和90M,系統(tǒng)時(shí)鐘用HSE輸入的8MHz。

將TIM1設(shè)置為32KHz,即31.25us。8Bit占空比,一個(gè)LSB為31.25us / 256 = 0.1220703125us = 8.192MHz,TIM1 180M / 8.192M = 21.97265625,這里取整數(shù)22。所以實(shí)際的PWM頻率為1/(180 / 22)*256 = 31.289us = 31.96KHz

TIM2 為90MHz,45分頻后為2MHz即0.5us,周期125即62.5us = 16KHz。

NVIC開啟TIM2中斷。生成工程名和目錄后生成Keil工程。

二、播放語音

1、先編譯后,編寫TIM中斷服務(wù)程序。

完成后,開啟TIM2中斷和PWM,(PWM是互補(bǔ)輸出,需要單獨(dú)開啟各個(gè)通道)

用邏輯分析儀測(cè)量輸出波形。

如圖所示,TIM1 PWM為31.96KHz,TIM2為62.5us即16KHz,結(jié)果正確。

接下來處理音頻:

這里使用的音頻是PCM格式,是未進(jìn)行壓縮編碼的原始數(shù)據(jù),可以直接給PWM輸出。

音頻處理的軟件有許多,只要能把格式轉(zhuǎn)為PCM即可,下面是我用Cool Edit這款軟件做的音頻格式轉(zhuǎn)換。

選擇菜單文件-->批量轉(zhuǎn)換

選擇新的采樣率和采樣位數(shù)。

選擇PCM格式。設(shè)置輸出目錄后運(yùn)行批處理完成轉(zhuǎn)換。

完成后的音頻文件用WinHeX這個(gè)軟件打開。

圖中紅框中的44個(gè)Byte為PCM格式的文件頭信息,后面的的數(shù)據(jù)為音頻數(shù)據(jù),數(shù)據(jù)全選后利用WinHex的可選格式復(fù)制

將數(shù)據(jù)以C數(shù)組的形式導(dǎo)出,在工程目錄下新建.h文件,將復(fù)制的文件粘帖到.H文件并在工程中Include進(jìn)來,定義起始和結(jié)束地址,數(shù)組的大小即為文件結(jié)束地址,數(shù)組用const修飾,可以將數(shù)據(jù)存儲(chǔ)到Flash中。

在TIM2中,以16KHz的速度更新PWM數(shù)據(jù)即可實(shí)現(xiàn)音頻播放。

編譯工程,下載到NucleoF429板子上,在PE8或PE9上接一個(gè)喇叭即可聽到聲音。

以上用的音頻采樣是16K 8Bit,要想提高音質(zhì),提高采樣和Bit數(shù)即可,音量可以用外接三極管或功放放大,音頻數(shù)據(jù)也可以用ADC采集后存儲(chǔ)到SPI Flash后播放,實(shí)現(xiàn)錄音回放。

為了方便閱讀,附件中包含了此文的PDF文檔,Source Code也在附件中,可以直接下載到Nucleo運(yùn)行。

原文標(biāo)題:使用PWM實(shí)現(xiàn)語音播放

文章出處:【微信公眾號(hào):玩轉(zhuǎn)單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

責(zé)任編輯:haq

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

    關(guān)注

    147

    文章

    19187

    瀏覽量

    405011
  • PWM
    PWM
    +關(guān)注

    關(guān)注

    116

    文章

    5896

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    語音芯片怎么樣寫入聲音?一文講透語音播放芯片的聲音寫入之道

    為真實(shí)聲音的“芯”。語音芯片,又稱語音IC、VoiceIC,是一種能夠存儲(chǔ)、播放乃至識(shí)別語音信號(hào)的集成電路,其核心工作過程是將語音信號(hào)通過采
    的頭像 發(fā)表于 04-24 10:04 ?150次閱讀
    <b class='flag-5'>語音</b>芯片怎么樣寫入聲音?一文講透<b class='flag-5'>語音</b><b class='flag-5'>播放</b>芯片的聲音寫入之道

    常用的語音播放芯片有哪些?一文帶你從入門到選型

    在智能設(shè)備遍地開花的今天,從會(huì)“說話”的電飯煲到會(huì)語音提示的汽車導(dǎo)航,背后都離不開一顆小小的語音播放芯片(又稱語音IC)。那么,面對(duì)市面上琳瑯滿目的
    的頭像 發(fā)表于 04-23 10:03 ?162次閱讀
    常用的<b class='flag-5'>語音</b><b class='flag-5'>播放</b>芯片有哪些?一文帶你從入門到選型

    廣州唯創(chuàng)電子有哪些語音芯片支持白噪音播放功能?應(yīng)用領(lǐng)域全解析

    在智能家居、健康電子和車載設(shè)備快速發(fā)展的今天,白噪音播放功能逐漸成為提升用戶體驗(yàn)的重要一環(huán)。作為專業(yè)的語音芯片提供商,廣州唯創(chuàng)電子有限公司憑借多年技術(shù)積累,推出了多款支持白噪音播放語音
    的頭像 發(fā)表于 03-26 09:00 ?166次閱讀
    廣州唯創(chuàng)電子有哪些<b class='flag-5'>語音</b>芯片支持白噪音<b class='flag-5'>播放</b>功能?應(yīng)用領(lǐng)域全解析

    WT2605C語音芯片如何以無縫循環(huán)播放功能解鎖產(chǎn)品設(shè)計(jì)新維度?

    在智能硬件與消費(fèi)電子深度融合的今天,音頻交互已成為提升產(chǎn)品體驗(yàn)的關(guān)鍵一環(huán)。而在眾多音頻功能中,無縫循環(huán)播放憑借其“零間隙、無停頓”的獨(dú)特優(yōu)勢(shì),正悄然成為高端產(chǎn)品設(shè)計(jì)的“隱形標(biāo)配”。作為深耕語音芯片
    的頭像 發(fā)表于 03-24 08:21 ?252次閱讀
    WT2605C<b class='flag-5'>語音</b>芯片如何以無縫循環(huán)<b class='flag-5'>播放</b>功能解鎖產(chǎn)品設(shè)計(jì)新維度?

    WT2606B屏幕驅(qū)動(dòng)芯片集成語音播報(bào)和藍(lán)牙功能在教具上的應(yīng)用方案

    WT2606B屏幕驅(qū)動(dòng)芯片集成語音播報(bào)和藍(lán)牙功能在教具上的應(yīng)用方案 在正式介紹WT2606B之前,我們不妨先想想:什么樣的教具才算真正"智能"?是能顯示內(nèi)容就夠了嗎?顯然不是。真正的智能教具,應(yīng)該像
    的頭像 發(fā)表于 01-21 15:50 ?419次閱讀
    WT2606B屏幕驅(qū)動(dòng)芯片集<b class='flag-5'>成語音</b>播報(bào)和藍(lán)牙功能在教具上的應(yīng)用方案

    語音識(shí)別IC分類,語音識(shí)別芯片的工作原理

    語音識(shí)別芯片,也叫語音識(shí)別集成電路,是一種集聲音存儲(chǔ)、播放、錄音及語音識(shí)別功能于一體的專用芯片。語音識(shí)別IC的核心功能在于實(shí)現(xiàn)
    的頭像 發(fā)表于 01-14 15:22 ?449次閱讀
    <b class='flag-5'>語音</b>識(shí)別IC分類,<b class='flag-5'>語音</b>識(shí)別芯片的工作原理

    如何讓智能終端既會(huì)“說話”又能“感知”?揭秘唯創(chuàng)WTV380/890高集成語音芯片

    、協(xié)同困難。針對(duì)這一痛點(diǎn),廣州唯創(chuàng)電子作為專業(yè)的語音IC廠家,推出了其旗艦級(jí)解決方案——WTV380/890高品質(zhì)語音芯片。這款芯片不僅是一顆性能卓越的音頻播放
    的頭像 發(fā)表于 01-12 08:56 ?407次閱讀
    如何讓智能終端既會(huì)“說話”又能“感知”?揭秘唯創(chuàng)WTV380/890高集<b class='flag-5'>成語音</b>芯片

    如何用一顆芯片搞定語音、顯示與傳感?解碼唯創(chuàng)高集成語音IC方案

    電子近期推出的高集成度語音芯片方案,正試圖打破這一僵局。它將音頻播放芯片的核心功能與數(shù)碼管驅(qū)動(dòng)、LED掃描、壓力及溫度傳感算法融為一體,實(shí)現(xiàn)“單芯片拓展”。這僅僅
    的頭像 發(fā)表于 01-09 09:13 ?316次閱讀
    如何用一顆芯片搞定<b class='flag-5'>語音</b>、顯示與傳感?解碼唯創(chuàng)高集<b class='flag-5'>成語音</b>IC方案

    安全可靠且有助于節(jié)省實(shí)裝面積的音頻輸出解決方案~ NA1150用于MCU音頻播放系統(tǒng)的PWM輸入音頻放大器

    NA1150?是一款音頻開關(guān)驅(qū)動(dòng)器 IC,可作為PWM?輸入音頻放大器使用,用于從MCU輸出語音和音效的音頻播放系統(tǒng)。該IC與CRI Middleware Co., Ltd.(以下簡稱“CRI
    的頭像 發(fā)表于 12-30 14:01 ?457次閱讀
    安全可靠且有助于節(jié)省實(shí)裝面積的音頻輸出解決方案~ NA1150用于MCU音頻<b class='flag-5'>播放</b>系統(tǒng)的<b class='flag-5'>PWM</b>輸入音頻放大器

    語音識(shí)別芯片有哪些(語音識(shí)別芯片AT680系列)

    在人工智能技術(shù)飛速發(fā)展的今天,語音識(shí)別芯片作為人機(jī)交互的重要橋梁,正逐漸成為各類智能設(shè)備不可或缺的核心部件。與傳統(tǒng)的語音芯片不同,語音識(shí)別芯片不僅能存儲(chǔ)和播放聲音,更能真正實(shí)現(xiàn)對(duì)人聲的
    的頭像 發(fā)表于 11-14 17:11 ?1592次閱讀

    什么是離線語音識(shí)別芯片(離線語音識(shí)別芯片有哪些優(yōu)點(diǎn))

    離線語音識(shí)別芯片,是一種集成了語音信號(hào)采集、前端處理和本地識(shí)別功能的專用集成電路,無須聯(lián)網(wǎng)也可以進(jìn)行語音控制。它內(nèi)設(shè)先進(jìn)的數(shù)字信號(hào)處理模塊及人工智能語音算法,無須依賴云端服務(wù)器,就能在
    的頭像 發(fā)表于 10-31 15:27 ?719次閱讀

    語音報(bào)警器:TTS語音播報(bào),云平臺(tái)邏輯自控

    TTS語音播報(bào)報(bào)警器是一種集成了傳統(tǒng)報(bào)警器和TTS(文本轉(zhuǎn)語音)技術(shù)的智能設(shè)備。清晰、準(zhǔn)確地用人類語言播報(bào)報(bào)警原因、位置、狀態(tài)等具體信息。 工作原理 文本語音:輸入文字自動(dòng)合成語音,支
    的頭像 發(fā)表于 10-29 16:31 ?1028次閱讀

    推進(jìn)一款實(shí)用型的OTP語音芯片

    的操作引導(dǎo)和狀態(tài)提示,幫助用戶更高效、輕松地完成存件與取件,大幅優(yōu)化使用體驗(yàn)。這一功能不僅加快了取件流程,也方便了視障人士或手部操作不便的用戶群體。YCV系列語音芯片運(yùn)行穩(wěn)定,適合長時(shí)間工作,還能
    發(fā)表于 08-26 11:32

    TTS文字合成語音芯片的使用場(chǎng)景

    TTS文字合成語音播報(bào)芯片的使用場(chǎng)景非常廣泛,可以適用于各行各業(yè),主要應(yīng)用于復(fù)雜的語音播報(bào)場(chǎng)景,下面小編帶大家一起來了解一下。 傳統(tǒng)的語音播報(bào)芯片,主要是先把語音存入FLASH當(dāng)中,然
    的頭像 發(fā)表于 08-22 17:11 ?1187次閱讀

    芯知識(shí)|廣州唯創(chuàng)電子WT2003H語音芯片連碼播放功能解析與應(yīng)用指南

    一、連碼播放功能的核心價(jià)值連碼播放(組合播放)是語音芯片將多段獨(dú)立語音片段無縫拼接為連續(xù)語句的技術(shù)。廣州唯創(chuàng)電子WT2003H系列通過高性能
    的頭像 發(fā)表于 06-27 09:19 ?1250次閱讀
    芯知識(shí)|廣州唯創(chuàng)電子WT2003H<b class='flag-5'>語音</b>芯片連碼<b class='flag-5'>播放</b>功能解析與應(yīng)用指南
    衡水市| 潜山县| 靖安县| 斗六市| 湘西| 杭锦旗| 宜州市| 新民市| 云龙县| 青海省| 高州市| 长丰县| 永定县| 平江县| 佛坪县| 周宁县| 高碑店市| 浦北县| 延津县| 阿拉善右旗| 汽车| 阜新| 紫云| 南川市| 惠安县| 静宁县| 东台市| 石楼县| 右玉县| 陈巴尔虎旗| 郧西县| 新干县| 古蔺县| 桂林市| 铅山县| 木里| 洛隆县| 革吉县| 乐亭县| 常熟市| 疏勒县|