产品概述

语音单片机 单片机语音播报怎么做?语音模块原理及程序编写思路

小编 2024-10-18 产品概述 23 0

单片机语音播报怎么做?语音模块原理及程序编写思路

我最欢就是做带语音播报的产品,写程序的过程太枯燥了。

有些产品一开发就是几个月,整个过程都跟冷冰冰的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个字节。

如果你不会写这个时序也没关系,芯片原厂都有提供例程。

单片机如何控制语音芯片实现语音功能

在单片机编写录音芯片程序,调用语音芯片录音,录音成功后语音芯片会回来当时录进去的音的地址给你,你能够用一个变量来贮存,今后要播映声响时能够编写程序播映这个地址的声响。

单片机如何控制语音芯片实现语音功能

一、并行操控形式

1、语音芯片供给按键接口,能够用单片机的I/O口去操控语音芯片的按键接口,进行录音、放音、擦除、前一段、后一段等操作。还有一类是语音单片机类型的,经过开发板或许烧写器降语音内容写入后,单片机去操控其按键接口,进行单段播映,循环播映,暂停,停止等操作。

二、串行操控形式

单片机发送语音段信息的地址码到语音芯片的串行接口,语音芯片收到信息后进行声响播映。串行通讯方法多种多样,有相似SPI的三线制通讯,双线和单线通讯。这个方法下,语音芯片是SLAVE设备。一般只能承受指令进行播映,代表类型N588D系列,还有众多类型,基本上市面上的语音芯片都供给串行通讯方法。

相关问答

单片机 语音 模块区别?

单片机和语音模块是两种不同的电子设备。以下是它们的区别:1.功能:单片机是一种集成电路芯片,具有处理和控制电子设备的功能。它可以执行复杂的算法、逻辑和...

wt588d 语音 模块与 单片机 连接讲解?

语音模块只能被单片机控制,哪里有程序?一般把语音模块的控制线连接到单片机的IO口就可以控制语音模块语音模块只能被单片机控制,哪里有程序?一般把语音模...

单片机 如何控制喇叭发 语音 ?

方法是单片机的IO口接蜂鸣器的负端,蜂鸣器的正端接电源Vcc,IO口输出低电平时蜂鸣器导通,输出高电平时蜂鸣器截止。是否发声要看所选蜂鸣器的类型。如果是无...

单片机语音 识别算法代码?

单片机语音识别算法的代码相对复杂,需要使用适合的语音识别算法库和单片机开发工具。一个简单的示例代码如下:```c#include单片机语音识别算法的代码相对复杂...

LD3320 語音 识别模块怎么与51 单片机 相连? 求引脚接法-ZOL问答

LD3320語音识别模块怎么与51单片机相连?求引脚接法举报2人讨论7556次围观关注问题写回答讨论回答(2)918281588CHT源程序里就有引脚设置有用(0)回复z...

51 单片机 怎么与 语音 模块连接?

想用电脑往51单片机里写进去一个代码,让单片机通过语音模块把写进去的内容读出来。这涉及两个问题:1、数据提取和通信传输数据与存储数据。你把“欢迎使用”...

我现在想用电脑往51 单片机 里写进去一个代码,让他通过 语音 模块把写进去的内容读出来?

想用电脑往51单片机里写进去一个代码,让单片机通过语音模块把写进去的内容读出来。这涉及两个问题:1、数据提取和通信传输数据与存储数据。你把“欢迎使用”...

麻烦诸位老司机!有哪位知道! 语音识别 模块有哪些?, 语音识别 ...

[回答]使用YQ5969,这个语音识别模块可以支持1--8个咪头,还可以支持本地和云端识别不同需求。5米内本地识别率93%以上,云端识别率97%。YQ5969语音识别模块...

...括 语音 信号的采集与回放,面板旋钮状态的编码, 语音 信号_作业帮

[最佳回答]Thetopicstousewirecommunicationsanalogwirelesscommunicationprocess,andmilitarytrainingin...

猜你喜欢