单片机语音播报怎么做?语音模块原理及程序编写思路
我最欢就是做带语音播报的产品,写程序的过程太枯燥了。
有些产品一开发就是几个月,整个过程都跟冷冰冰的LED、蜂鸣器、按键、LCD屏打交道难免有些寂寞。
加上语音就不同了,录制好一个好听的妹子声音,不但可以提升整个产品的逼格,自己也满满的成就感。
今天就来聊聊带语音的产品怎么做。
实际产品中,用单片机播放语音方案有很多种,唯一没有开发板那种,因为成本各方面都不满足产品需求。
另外就是加一个语音芯片,如果利润高的产品会优先使用这种,一个几块钱还能接受。
还有就做软解码的,就是把语音文件解码成喇叭能够识别的PWM和DAC数据,这种技术难度最大,对工程师编程水平是一个考验。
虽然难度大,但是成本低,不需要额外增加语音芯片,老板的最爱,反正工程师掉点头发对公司又没影响。
软解码大概在6,7年前做电子狗的时候玩过一次,大概原理就是把语音文件合并成bin文件,烧录到外置的flash里面,做好每条语音的地址映射。
用单片机读取Flash的数据并解码,然后转换成PWM或者DAC经过功放输出到喇叭。
这种一般要有个写上位机的配合,以前市面上没有在把语音文件合并成bin文件的工具,现在好像有了。
时间相隔太久,很多细节记不清楚了,后续如果还能找到资料再跟大家分享。
今天无际单片机编程给大家讲后面我做过的一种方法:用语音芯片 。
这是语音芯片的一些介绍:
我们需要关注的就是,这个芯片对语音长度的支持分别有55s、25s、85s,如果产品语音少还是挺合适的。
这种芯片如果语音少的直接用芯片内部的Flash,如果语音多了就需要外挂一个Flash来存储语音数据。
一般每个产品的语音都是不一样的,那怎么把我们想要的语音通过这个语音芯片播放出来呢?
想实现这个功能要经过以下几个步骤:
通过软件把语音文案转成mp3格式语音文件,类似的软件有很多,比如说科大讯飞。把语音文件提供给芯片方,让他们帮你定制。拿到样品后就是焊接到自己板子上,然后根据芯片规格书写控制时序程序,每条语音都对应了一个地址,只要把地址数据写入芯片,芯片就会自动播放指定语音。整个过程是不是非常简单?
除了播放语音功能以外,还有一些附加功能,比如说静音,音量调节、循环播放等等。
下面来看下芯片的引脚定义
一般使用3根线来跟单片机通讯。
PA0/SDA: 数据线
PA1/SCL: 时钟线
PA2: 忙碌线,当有语音播报的时候,该引脚为低电平。
芯片的控制时序如下:
不难发现,数据开始之前SCL需要先产生5ms的低电平同步头,然后数据在SCL线的上升沿被读取,一共读取8位,也就是1个字节。
如果你不会写这个时序也没关系,芯片原厂都有提供例程。
单片机语音播放芯片在提示器上的运用WTN6一款可调音量otp语音IC
上下班打卡对上班族来说再正常不过了,每个月有时忘记一次两次也无可厚非。但有的时候总是不知道什么原因缺勤,月底发了工资才知道自己某天忘记打卡,不仅全勤奖没了,还要扣除相应的工资。
因此许多公司出于人性化在考勤机附近,都会加入一个上下班打卡的提示器,在员工经过的时候,会发出语音:上下班请打卡,等温馨提示。
在工程师开发提示器的同时,都会运用到声音芯片,作为提示器的音源,深圳唯创知音电子有限公司,在语音提示器上推出了WTN6低功耗otp语音芯片,作为提示器的音源,
WTN6是一款otp一次性烧录语音芯片,有着多功能单芯片CMOS语音合成4位元为控制器。常用语音芯片有WTN6040-8S,SOP8封装小体积音乐芯片。音频采样率最高可达32kHz(如有特殊需求,可配置为64kHz),16级音量控制,两种音频输出方式.PWM输出和DAC输出。+/-1%内部震荡,不需要加外部震荡,具备超低功耗待机。
管脚介绍
市场上可以选择语音ic和喇叭五花八门,服务水平和技术支持也是参差不齐,筛选和设计都需要花不少时间。WTN6语音芯片,可使您一次完成所有的设计和筛选等工作,为您节省时间语音芯片选型跟喇叭选型烦恼。对语音喇叭的供电和控制,只需二线即可完成,在供电的同时,也可以进行通讯。
功能特点
(1)工作电压:2.4V~5.2V;(2)待机模式下,静态电流小于5uA;(3)精准的+/-1%内部震荡,低压复位(LVR=1.8V)看门狗计时(4)12位PWM纯音频输出,可直接驱动8Ω/0.5W喇叭和蜂鸣器,DAC音频输出,可外接功放;(5)内置看门狗;(6)具备串口控制模式:数脉冲,按键,一线串口,两线串口(7)支持BUSY状态输出
相关问答
怎样编写 单片机 STC11 语音 控制程序?语音控制简介语音控制是控制器的一种,是人机系统中以语言驱动的控制器。其主要结构是计算机的言语识别系统。言语识别的方法一般是将语言信号的频谱或发音的关...
怎么调 单片机 喇叭声音?你的问题太笼统了,晶体振荡器主要用于提供单片机运行需要的频率。如果喇叭发声的原理是输入点信号脉冲的频率改变。我以前用51单片机试过链接喇叭可以发声,也...
wt588d 语音 模块与 单片机 连接讲解?语音模块只能被单片机控制,哪里有程序?一般把语音模块的控制线连接到单片机的IO口就可以控制语音模块语音模块只能被单片机控制,哪里有程序?一般把语音模...
怎么让 单片机 识别一种特定的声波比如拍手的声音?这样的声音识别设备市场上有卖的,自己做一个花费就太高了。那得专业的工程师才能完成。市场上应该有这样的产品,把你要激活设备的声音录制下来,然后声音识别...
51 单片机 怎么改变蜂鸣器的声音?51单片机通过三极管放大驱动电流改变蜂鸣器的声音因为蜂鸣器发声原理是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发声的,因此需要一定的电流才能驱动...
单片机 如何驱动 語音 芯片-ZOL问答楼上所说的“固定发音内容的”是掩膜语音片,价格比较便宜。一般用脉冲驱动其发...用单片机驱动它是可以的,不过似乎没有那个必要,普通的模拟触发电路就可以了。...
单片机 与 语音 芯片怎样连接?办法是你用WTV040系列/WTH系列语音芯片可以实现实现步骤1.用OTP芯片WTV芯片,把声音装进去.2.把语音内容装入语音芯片,后提供语音地址供给你单片机的地址.你...
51 单片机 ,如何让蜂鸣器发出数字12345的声音?要让51单片机的蜂鸣器发出数字12345的声音,可以通过以下步骤实现1.定义一个数组,存储数字12345对应的频率值,例如intfreq[]={1915,1700,1519,1432,...
单片机 ad声音采样频谱?增幅处理是把信号数字的“放大”一些,这样在变换后就能准确知道各个频率的声音的强度,滤波的话就是把没必要的噪声信号消除,使变换效果好一些。并且噪声在整个...
如何用 单片机 判断声音的方向?试试用四个驻极体话筒朝向四个不同的方向,当然八个话筒更好,话筒把接收到声压信号转换为电信号后再通过运算放大器放大整形后由单片机的ADC按通道进行扫描采样...