cepoly 发表于 2018-8-30 17:20

esp8266-07低成本在线语音对话(占个坑,持续更新)

本帖最后由 cepoly 于 2018-9-13 20:10 编辑

现在小朋友的玩具相当是高大上了,以前在手机上一款“会说话的猫”,都能让小朋友不要妈妈了{:titter:},现在又来了AI玩具机器人,小朋友也是不亦乐乎,天天抱着睡觉了,价格也是相当的诱人,但对于DIY的老司机来说,还是贵啊。有没有DIY房地产的工程师,把房价降下来!

硬件:
一片ESP8266-07
一片8978语音芯片,可录音及播放
电源电路

软件:
实现智能语音对话功能

先上电路原理图


WM8978音频编译码器WM8978是一个低功耗、高质量的立体声多媒体数字信号编译码器。它主要应用于便携式应用。它结合了立体声差分麦克风的前置放大与扬声器、耳机和差分、立体声线输出的驱动,减少了应用时必需的外部组件,比如不需要单独的麦克风或者耳机的放大器。WM8978可以被应用为一个主机或者一个从机。基于共同的参考时钟频率,比如 12MHz和13MHz,内部的PLL可以为编译码器提供所有需要的音频时钟。与控制器连接使用,ESP8266作为主机,WM8978作为从机。WM8978 通信接口WM8978有两个通信接口,一个是数字音频通信接口,另外一个是控制接口。音频接口是采用I2S接口,支持左对齐、右对齐和I2S标准模式,以及DSP模式A和模拟B。控制接口用于控制器发送控制命令配置WM8978运行状态,它提供2线或3线控制接口,对于STM32控制器,我们选择2线接口方式,它实际就是I2C总线方式,其芯片地址固定为0011010。通过控制接口可以访问WM8978内部寄存器,实现芯片工作环境配置,总共有58个寄存器,标示为R0至R57,每个寄存器意义参考《WM8978_v4.5》了解。WM8978寄存器是16bit长度,高7位(bit)用于标示寄存器地址,低9为有实际意义。所以在控制器向芯片发送控制命令时,必须传输长度为16bit的指令,芯片会根据接收命令高7位值寻址。WAVE文件WAVE文件是非常简单的一种RIFF文件,包括编码方式、声道数目、采样频率、每个采样需要的bit数等等信息。绝大部分WAVE文件是PCM编码。PCM编码声音数据可以说是在"数字音频技术"介绍的源数据,主要参数是采样频率和量化位数。
录音与识别播放对话后语音通过I2S接口将音频数据发送到WM8978芯片,这样在WM8978芯片的扬声器接口即可输出声音,整个系统构成一个简单的音频播放器。反过来,我们可以实现录音功能,控制启动WM8978芯片的麦克风输入功能,音频数据从WM8978芯片的I2S接口传输到ESP8266,经过编码后,利用云端识别接口,把语音数据推送至云端对话识别。WM8978寄存器配置static uint16_t wm8978_RegInit[] = { 0x000, 0x000, 0x000, 0x000, 0x050, 0x000, 0x140, 0x000, 0x000, 0x000, 0x000, 0x0FF, 0x0FF, 0x000, 0x100, 0x0FF, 0x0FF, 0x000, 0x12C, 0x02C, 0x02C, 0x02C, 0x02C, 0x000, 0x032, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x038, 0x00B, 0x032, 0x000, 0x008, 0x00C, 0x093, 0x0E9, 0x000, 0x000, 0x000, 0x000, 0x003, 0x010, 0x010, 0x100, 0x100, 0x002, 0x001, 0x001, 0x039, 0x039, 0x039, 0x039, 0x001, 0x001 };



tanhailong 发表于 2019-2-25 09:46

尤加利叶 发表于 2019-1-7 11:42
我有在做语音识别方案,识别距离5m以上,可以加我微信13129537525

加了你微信 没有通过呀

尤加利叶 发表于 2019-1-7 11:42

本帖最后由 尤加利叶 于 2019-11-11 17:33 编辑

lihui567 发表于 2018-9-1 09:18
用这个8266传输语音的话,对话咋样?
我有在做语音识别方案,识别距离5m以上

zhangpf0 发表于 2018-12-28 12:38

收藏一下,储备{:lol:}

13772210580 发表于 2018-12-27 13:42

我也正在做 准备接入科大讯飞的AIUI不知道这种方案的可行性

dgdeke 发表于 2018-10-16 14:39

占个坑

zjf1986 发表于 2018-10-8 11:37

楼主什么时候更新啊?

zjf1986 发表于 2018-9-29 13:46

高度关注中!希望老司机带路

stacso 发表于 2018-9-23 13:27

我也在做这样的东西,请问你是怎么解析,从百度接收到的数据呢?

cepoly 发表于 2018-9-17 09:22

1009877836 发表于 2018-9-6 18:49
加油

{:handshake:}

cepoly 发表于 2018-9-17 09:22

YDCMAN 发表于 2018-9-8 18:07
关注,MARK

{:handshake:}

cepoly 发表于 2018-9-17 09:22

宇宙星辰 发表于 2018-9-11 09:15
mark

{:handshake:}

cepoly 发表于 2018-9-17 09:22

AMoftss 发表于 2018-9-11 16:28
mark

{:handshake:}

cepoly 发表于 2018-9-17 09:21

wcheng13 发表于 2018-9-13 15:18
关注ing

谢谢关注

cepoly 发表于 2018-9-17 09:21

ZZJ2017 发表于 2018-9-14 16:59
不错,关注一下

谢谢关注

cepoly 发表于 2018-9-17 09:21

diy1997 发表于 2018-9-16 19:30
云端识别接口?

我以为这类接口只为自家产品服务呢。

云端语音识别接口有好几家的

diy1997 发表于 2018-9-16 19:30

云端识别接口?

我以为这类接口只为自家产品服务呢。

ZZJ2017 发表于 2018-9-14 16:59

不错,关注一下

cepoly 发表于 2018-9-14 00:12

LianBinbing 发表于 2018-9-6 17:55
SEP8266用的是那个固件?还是自己开发的?

需要自主开发的

wcheng13 发表于 2018-9-13 15:18

关注ing

AMoftss 发表于 2018-9-11 16:28

mark
页: [1] 2 3
查看完整版本: esp8266-07低成本在线语音对话(占个坑,持续更新)