91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

關(guān)于PWM實(shí)現(xiàn)語(yǔ)音播放的詳細(xì)過(guò)程

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

掃碼添加小助手

加入工程師交流群

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

下面是一段音頻數(shù)據(jù)的波形

局部放大圖:

0751e2e6-a4ba-11eb-aece-12bb97331649.png

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

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

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

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

接下來(lái)看怎么播放,最簡(jiǎ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è)問(wèn)題,如果用16KHz的PWM播放語(yǔ)音,聲音是可以播放,但有一個(gè)16Khz的諧波存在,這個(gè)聲音會(huì)被人耳聽(tīng)到,所以需要更高頻率的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)音頻播放的具體過(guò)程:

一、配置PWM

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

075e031e-a4ba-11eb-aece-12bb97331649.png

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

TIM1在APB2總線(xiàn)上,TIM2在APB1總線(xiàn)上

077024ae-a4ba-11eb-aece-12bb97331649.png

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

079da032-a4ba-11eb-aece-12bb97331649.png

將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

07ab63ca-a4ba-11eb-aece-12bb97331649.png

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

07b6ede4-a4ba-11eb-aece-12bb97331649.png

NVIC開(kāi)啟TIM2中斷。生成工程名和目錄后生成Keil工程。

二、播放語(yǔ)音

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

07e540f4-a4ba-11eb-aece-12bb97331649.png

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

07eda870-a4ba-11eb-aece-12bb97331649.png

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

07f7c562-a4ba-11eb-aece-12bb97331649.png

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

接下來(lái)處理音頻:

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

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

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

08141cda-a4ba-11eb-aece-12bb97331649.png

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

08202f02-a4ba-11eb-aece-12bb97331649.png

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

08299272-a4ba-11eb-aece-12bb97331649.png

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

08331a22-a4ba-11eb-aece-12bb97331649.png

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

0862504e-a4ba-11eb-aece-12bb97331649.png

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

086db466-a4ba-11eb-aece-12bb97331649.png

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

0876158e-a4ba-11eb-aece-12bb97331649.png

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

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

編輯:lyn

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

    關(guān)注

    116

    文章

    5872

    瀏覽量

    225774
  • 語(yǔ)音播報(bào)
    +關(guān)注

    關(guān)注

    1

    文章

    40

    瀏覽量

    15127

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

文章出處:【微信號(hào):mcu168,微信公眾號(hào):硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    ES7243E+ES8311音頻錄制與播放電路資料

    本電路為一款低成本音頻錄制與播放參考電路,含sch原理圖和pcb板圖。ES7243E接2路模擬麥克風(fēng)實(shí)現(xiàn)音頻采集,ES8311接1路功放實(shí)現(xiàn)音頻播放,適合用于
    發(fā)表于 02-04 17:18 ?1次下載

    WTN6170-8S語(yǔ)音芯片:如何憑SOP8封裝與170秒長(zhǎng)時(shí)播放重塑產(chǎn)品設(shè)計(jì)?

    在追求極致集成與功能豐富的電子產(chǎn)品設(shè)計(jì)領(lǐng)域,空間與性能的博弈從未停止。工程師們不斷尋求在有限的PCB面積內(nèi),實(shí)現(xiàn)更強(qiáng)大、更持久的語(yǔ)音功能。在這一背景下,來(lái)自語(yǔ)音IC廠(chǎng)家廣州唯創(chuàng)電子
    的頭像 發(fā)表于 01-26 08:29 ?391次閱讀
    WTN6170-8S<b class='flag-5'>語(yǔ)音</b>芯片:如何憑SOP8封裝與170秒長(zhǎng)時(shí)<b class='flag-5'>播放</b>重塑產(chǎn)品設(shè)計(jì)?

    語(yǔ)音識(shí)別IC分類(lèi),語(yǔ)音識(shí)別芯片的工作原理

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

    芯知識(shí)|可錄音語(yǔ)音芯片如何實(shí)現(xiàn)聲音的儲(chǔ)存與重放?

    是可錄音語(yǔ)音芯片IC。這種錄放音IC如何完成從聲音采集到儲(chǔ)存再到播放的完整過(guò)程?它又在哪些創(chuàng)新場(chǎng)景中發(fā)揮著不可替代的作用?本文將深入解析其技術(shù)內(nèi)核與應(yīng)用價(jià)值。一、核心
    的頭像 發(fā)表于 01-08 09:44 ?204次閱讀
    芯知識(shí)|可錄音<b class='flag-5'>語(yǔ)音</b>芯片如何<b class='flag-5'>實(shí)現(xiàn)</b>聲音的儲(chǔ)存與重放?

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

    ”)的音頻中間件“CRI D-Amp Driver?”相結(jié)合,實(shí)現(xiàn)了高質(zhì)量的音頻播放。 近年來(lái),隨著MCU處理速度的提高,使用軟件(音頻中間件)就可從MCU輸出PWM?調(diào)制的語(yǔ)音和音效
    的頭像 發(fā)表于 12-30 14:01 ?326次閱讀
    安全可靠且有助于節(jié)省實(shí)裝面積的音頻輸出解決方案~ NA1150用于MCU音頻<b class='flag-5'>播放</b>系統(tǒng)的<b class='flag-5'>PWM</b>輸入音頻放大器

    速通音頻處理:掌握TTS播放、文件播放與錄音核心,實(shí)現(xiàn)完整功能

    這三大模塊的核心邏輯,助你高效打通從核心功能到完整功能的實(shí)現(xiàn)路徑。 一、概述 ? 本文檔詳細(xì)介紹了基于 Air8000 開(kāi)發(fā)板或者 Air8000 核心板的音頻功能開(kāi)發(fā),涵蓋音頻播放、文字轉(zhuǎn)語(yǔ)
    的頭像 發(fā)表于 11-21 19:27 ?280次閱讀
    速通音頻處理:掌握TTS<b class='flag-5'>播放</b>、文件<b class='flag-5'>播放</b>與錄音核心,<b class='flag-5'>實(shí)現(xiàn)</b>完整功能

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

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

    什么是語(yǔ)音芯片串口AT指令?實(shí)現(xiàn)智能語(yǔ)音交互的核心技術(shù)詳解

    什么是AT指令A(yù)T指令是一套基于串行通信接口的標(biāo)準(zhǔn)化指令集,專(zhuān)門(mén)用于聲音播放芯片與其他設(shè)備之間的數(shù)據(jù)傳輸和控制操作。這種通信協(xié)議通過(guò)簡(jiǎn)單的文本命令格式,實(shí)現(xiàn)了對(duì)語(yǔ)音
    的頭像 發(fā)表于 11-10 12:53 ?462次閱讀
    什么是<b class='flag-5'>語(yǔ)音</b>芯片串口AT指令?<b class='flag-5'>實(shí)現(xiàn)</b>智能<b class='flag-5'>語(yǔ)音</b>交互的核心技術(shù)詳解

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

    在用戶(hù)操作過(guò)程播放預(yù)存的品牌宣傳語(yǔ),助力商家推廣,增強(qiáng)品牌影響力。 YCV系列語(yǔ)音芯片在智能快遞柜中的應(yīng)用優(yōu)勢(shì)包括: 1、高性能與低功耗,適應(yīng)嚴(yán)苛工作環(huán)境。芯片功耗極低,待機(jī)電流僅為微安級(jí),有效降低設(shè)備整體
    發(fā)表于 08-26 11:32

    【沁恒CH585開(kāi)發(fā)板免費(fèi)試用體驗(yàn)】+串行通訊與語(yǔ)音模塊播放控制

    ; i<8; i++) { checksum += cmd3[i]; } cmd3[8] = (uint8_t)~checksum; } 此外,為了適應(yīng)語(yǔ)音播放模塊的要求,需在主程序?qū)?/div>
    發(fā)表于 07-05 11:37

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

    一、連碼播放功能的核心價(jià)值連碼播放(組合播放)是語(yǔ)音芯片將多段獨(dú)立語(yǔ)音片段無(wú)縫拼接為連續(xù)語(yǔ)句的技術(shù)。廣州唯創(chuàng)電子WT2003H系列通過(guò)高性能
    的頭像 發(fā)表于 06-27 09:19 ?992次閱讀
    芯知識(shí)|廣州唯創(chuàng)電子WT2003H<b class='flag-5'>語(yǔ)音</b>芯片連碼<b class='flag-5'>播放</b>功能解析與應(yīng)用指南

    芯知識(shí)|廣州唯創(chuàng)電子語(yǔ)音芯片循環(huán)/連碼播放異響分析與解決指南

    在使用廣州唯創(chuàng)電子語(yǔ)音芯片進(jìn)行音頻循環(huán)播放或連碼播放時(shí),部分用戶(hù)反饋在音頻片段銜接處會(huì)出現(xiàn)明顯的“嗒”、“咔”類(lèi)異響。這不僅影響聽(tīng)覺(jué)體驗(yàn),在功放輸出環(huán)境下更會(huì)被顯著放大。本文將深入分析其成因,并提
    的頭像 發(fā)表于 06-23 08:43 ?578次閱讀
    芯知識(shí)|廣州唯創(chuàng)電子<b class='flag-5'>語(yǔ)音</b>芯片循環(huán)/連碼<b class='flag-5'>播放</b>異響分析與解決指南

    新品|Unit AudioPlayer,支持 MP3/WAV 播放的音頻播放單元

    UnitAudioPlayer是一款自帶MP3解碼功能的音頻播放單元,內(nèi)置高性能音頻解碼芯片N9301,自帶microSD卡座。該產(chǎn)品采用UART通信接口,用戶(hù)可通過(guò)配置指令實(shí)現(xiàn)音頻播放功能,音頻
    的頭像 發(fā)表于 06-20 15:59 ?935次閱讀
    新品|Unit AudioPlayer,支持 MP3/WAV <b class='flag-5'>播放</b>的音頻<b class='flag-5'>播放</b>單元

    芯知識(shí)|廣州唯創(chuàng)電子語(yǔ)音芯片組合播放功能解析:高效串聯(lián)音頻,賦能智能交互

    播報(bào)信息。針對(duì)此類(lèi)需求,廣州唯創(chuàng)電子在其語(yǔ)音芯片中創(chuàng)新設(shè)計(jì)了組合播放功能(又稱(chēng)“連碼播放”),通過(guò)靈活的音頻地址管理技術(shù),實(shí)現(xiàn)多段語(yǔ)音的無(wú)縫
    的頭像 發(fā)表于 05-23 09:03 ?560次閱讀
    芯知識(shí)|廣州唯創(chuàng)電子<b class='flag-5'>語(yǔ)音</b>芯片組合<b class='flag-5'>播放</b>功能解析:高效串聯(lián)音頻,賦能智能交互

    芯知識(shí)|WT588F(E)系列語(yǔ)音芯片常見(jiàn)問(wèn)題解析與優(yōu)化指南

    一、問(wèn)題現(xiàn)象:語(yǔ)音播放異常的典型表現(xiàn)在使用WT588F(E)系列語(yǔ)音芯片的開(kāi)發(fā)過(guò)程中,工程師常會(huì)遇到以下兩類(lèi)典型異常現(xiàn)象:播放不全:
    的頭像 發(fā)表于 03-17 09:17 ?1131次閱讀
    芯知識(shí)|WT588F(E)系列<b class='flag-5'>語(yǔ)音</b>芯片常見(jiàn)問(wèn)題解析與優(yōu)化指南