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

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è)通道)

用邏輯分析儀測量輸出波形。

如圖所示,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)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    147

    文章

    18983

    瀏覽量

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

    關(guān)注

    116

    文章

    5875

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

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

    的WTN6170-8SOTP語音芯片,以極具突破性的SOP8超小封裝和長達(dá)170秒的語音播放能力,為市場帶來了新的解決方案。這款微型聲音播放IC究竟如何突破物理限制,成為眾多創(chuàng)新應(yīng)
    的頭像 發(fā)表于 01-26 08:29 ?416次閱讀
    WTN6170-8S<b class='flag-5'>語音</b>芯片:如何憑SOP8封裝與170秒長時(shí)<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 ?273次閱讀
    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 ?281次閱讀
    <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 ?269次閱讀
    如何讓智能終端既會(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 ?189次閱讀
    如何用一顆芯片搞定<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 ?347次閱讀
    安全可靠且有助于節(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 ?1417次閱讀

    什么是離線語音識(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 ?544次閱讀

    語音報(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 ?795次閱讀

    電子煙的4種屏幕驅(qū)動(dòng)集成語音方案介紹

    )。 ? 方案一、LED顯示方案+語音播報(bào)集成方案 WT255F02KD WT588F02KD內(nèi)置16位DSP核心,32MHz的內(nèi)部振蕩頻率,2M bit的Flash存儲(chǔ)容量,能夠存儲(chǔ)約170秒的高質(zhì)量語音內(nèi)容。采用QNF的封裝形式,內(nèi)置的16位
    的頭像 發(fā)表于 09-09 14:12 ?508次閱讀

    賦能智能語音交互:廣州唯創(chuàng)電子WTV系列語音芯片IC引領(lǐng)播放與報(bào)警設(shè)備新變革

    在萬物互聯(lián)與智能化浪潮的推動(dòng)下,語音交互已成為人機(jī)溝通最自然、最直接的橋梁。語音播放器與報(bào)警器作為這一技術(shù)的關(guān)鍵載體,正廣泛應(yīng)用于公共安全、智能家居、工業(yè)控制及交通管理等領(lǐng)域。然而,傳統(tǒng)的語音
    的頭像 發(fā)表于 09-01 09:30 ?672次閱讀
    賦能智能<b class='flag-5'>語音</b>交互:廣州唯創(chuàng)電子WTV系列<b class='flag-5'>語音</b>芯片IC引領(lǐng)<b class='flag-5'>播放</b>與報(bào)警設(shè)備新變革

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

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

    TTS文字合成語音芯片的使用場景

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

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

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

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

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