请选择 进入手机版 | 继续访问电脑版
快捷导航
10 180

智能语音音箱

taoge 于 2018-12-19 17:02 发表在 [开源项目] [复制链接]

注册后可查看大图哦

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 taoge 于 2018-12-26 19:49 编辑

本帖最后由 雨中桐 于 2018-1-18 18:05 编辑

项目名称
智能语音音箱
项目概述
  整个项目主要分为以下三块内容:
1、读取SD卡播放:单片机扫描SD卡中的文件,接着读取mp3格式文件并进行播放 。
2、语音控制播放:通过设置的触发口令,可以唤醒语音模块,唤醒过后,还可以通过其他触发口令控制音乐播放器暂停、播放、上一首、下一首、调节音量等。录音模块采集用户的语音指令,通过语音识别模块和设置触发口令进行对比,如果成功,则进行相应的操作。
    3、按键控制:播放音乐时,在音箱上通过按键可以调节声音的大小、暂停、播放、上一首、下一首。
、项目模块1外置SD卡模块
本项目采用了FAT文件管理系统来识别mp3格式文件。FAT文件系统的每一个文件和文件夹都被分配到一个目录项,目录项中记录着文件名、大小、文件内容起始地址、文件的格式以及其他一些元数据。通过FAT文件管理系统,微控制器读取并解析SD卡中的mp3格式文件。
2、语音识别模块
   AR技术广泛普及的今天,人们对于音箱的要求,不再是单的欣赏音乐,而是偏向更智能更方便操控。因此本设计加入了语音控制方案。
识别模块我们主要采用基于LD3320语音识别方案。LD3320芯片是一款非特定人语音识别芯片,其提供的ASR语音识别技术,是基于“关键词语列表”的识别技术。芯片接收到声音传感器(麦克风)传来的电压信号以后,通过语音芯片里面的寄存器操作,检测什么时候开始,什么时候结束。获取到的语音信号经由芯片处理完毕之后,将信号传送给单片机,再由单片机处理之后发送信号至外部电路。
3音频解码模块
     本项目采用的解码芯片是VS1003,主要用于mp3格式解码,微控制器读取mp3格式传输给vs1003,进行解码。
四、功能需求
1、数据读取
SD卡在微控制器上初始化,随后就是写入两个命令CMD0与CMD1,使SD卡进入SPI模式,fat文件管理系统生成mp3格式文件列表。如果用户点击播放,通过SPI通信,微控制器默认读取列表第一个mp3格式文件。
2、数据传输
本系统的数据通信是通过SPI总线方式进行的,VS1003通过串行命令接口(SCI)和串行数据接口(SDI)来接收单片机的控制命令和mp3数据。
3、数据解码
     VS1003的特性支持MP3和WAV流的解码。音频解码模块对单片机从SD卡里读取的数字MP3音频数据流进行解析,并转换成模拟信号进行输出。
4、语音控制
通过录音模块采集用户的语音指令,和触发口令达到匹配的情况进行相应操作,如定义“小明”作为用户的触发口令。如果LD3320芯片中程序检测到用户的触发口令时,则开启“触发模式”,若检测为正确口令,则芯片将给出指示,即语音播报(大约2 s)后,开启二级口令的接收检测即“识别模式”。LD3320识别到预设的二级口令后,如上一首、暂停等,将识别结果送给单片机,由单片机对外设进行控制。
相关口令明细如下:
  
级别
  
语音口令
对应操作
一级指令
小明
触发模式启动
二级指令
播放
播放音乐
暂停
暂停播放
上一首
切换上一首
下一首
切换下一首
调高音量
调高音量
调低音量
调低音量


、人员分工
小组五人,其中语音识别模块由金佳旺、张国峰负责,音频解码模块由王庭斌负责,外置SD卡模块音频解码模块由汪涛、宋珊珊负责。
、工程周期
  
2017.12.21-2017.12.31
  
完成外置SD卡模块模块,完成基本MP3格式播放
2018.1.1-2018.1.7
全部完成语音识别模块
2018.1.8-2018.1.10
完成项目整合及bug排除
Connecting & Messaging from Any.

共 10 个关于本帖的回复 最后回复于 2018-12-28 21:32

Guofeng 新手上路 发表于 2018-12-28 21:32:31 | 显示全部楼层
今天对LD3320语音模块中断进行相关配置,代码如下:

static void LD3320_EXTI_Cfg(void)
{
  EXTI_InitTypeDef EXTI_InitStructure;
        NVIC_InitTypeDef NVIC_InitStructure;
  GPIO_InitTypeDef GPIO_InitStructure;
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);        

        RCC_APB2PeriphClockCmd(LD3320IRQ_GPIO_CLK, ENABLE);
  GPIO_InitStructure.GPIO_Pin =LD3320IRQ_PIN;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_Init(LD3320IRQ_GPIO_PORT, &GPIO_InitStructure);
  GPIO_EXTILineConfig(LD3320IRQEXIT_PORTSOURCE, LD3320IRQPINSOURCE);
  EXTI_InitStructure.EXTI_Line = LD3320IRQEXITLINE;
  EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
  EXTI_InitStructure.EXTI_Trigger =EXTI_Trigger_Falling;
  EXTI_InitStructure.EXTI_LineCmd = ENABLE;
  EXTI_Init(&EXTI_InitStructure);
  NVIC_InitStructure.NVIC_IRQChannel = LD3320IRQN;
  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
  NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  NVIC_Init(&NVIC_InitStructure);
}
Connecting & Messaging from Any.
举报 使用道具
renbao 新手上路 发表于 2018-12-28 21:26:48 | 显示全部楼层
本帖最后由 renbao 于 2018-12-28 21:30 编辑

路过该贴,顶顶顶顶顶顶
Connecting & Messaging from Any.
举报 使用道具
金佳旺 新手上路 发表于 2018-12-28 21:24:46 | 显示全部楼层
模块:语音识别模块
       关于ld3320的SPI管脚配置:
MISO<------> PA6
MOSI<------> PA7
SCK <------> PA5
NSS <------> PA4
RST <------> PB15
WR <------> PB13
IRQ <------> PB12
NC <------> 悬空
这个是我们项目对ld3320的SPI配置的管脚,我们用的微控制器是stm32f103zet6.
通用配法:
MISO<------> SPI的MISO
MOSI<------> SPI的MOSI
SCK <------> SPI的SCK
NSS <------> SPI的片选
RST <------> 接普通IO口
WR <------> 接普通IO口
IRQ <------> 接外部中断口
NC <------> 悬空
Connecting & Messaging from Any.
举报 使用道具
taoge 注册会员 发表于 2018-12-28 21:16:56 | 显示全部楼层
这两天模块到了。经过研究,已经和队友一起将LD3320配置完成了。能完成语音识别短文字指令。SD卡模块SPI通信完成。但是一直陷入看不到现象的烦恼中,明天写好串口通信部分,如果stm32与SD卡SPI通信完成,通过串口调试程序接收数据。预置的计划步骤:stm32与SD卡SPI通信--------加入FAT32文件管理系统--------通过系统读取mp3格式文件-----------vs1003配置----解码
Connecting & Messaging from Any.
举报 使用道具
sss12345 新手上路 发表于 2018-12-27 21:32:56 | 显示全部楼层
今天LD3320的模块刚刚到,正在研究引脚这一块,但是没明白怎么接,准备明天再去问问。东西都到了,接下来加油!
Connecting & Messaging from Any.
举报 使用道具
王庭斌 新手上路 发表于 2018-12-27 20:16:18 | 显示全部楼层
今天我对VS1003开始进行研究配置。VS1003的SPI总线分为SCI和SDI两种模式,今天主要对模块进行了初始化和工作模式的配置,对其先进行硬复位,然后进行软复位,最后进行工作模式的配置。
在今天的工作中,遇到一些困难,通过查阅资料知道了:
每个寄存器被置位了以后都需要有等待时间,这个在DS中也有说,需要做一定延时,检测DREQ管脚,置位后DREQ拉低,直到DREQ拉高以后才可以进行下一次SCI的操作。
Connecting & Messaging from Any.
举报 使用道具
Guofeng 新手上路 发表于 2018-12-27 20:05:25 | 显示全部楼层
LD3320主要技术参数:
内置单声道mono 16-bit A/D 模数转换
内置双声道stereo 16-bit D/A 数模转换
内置 20mW 双声道耳机放大器输出
内置 550mW 单声道扬声器放大器输出
支持并行接口或者 SPI 接口
内置锁相电路 PLL,输入主控时钟频率为 2MHz - 34MHz
工作电压:(VDD: for internal core) 3.3V
48pin 的 QFN 7*7 标准封装
省电模式耗电:1uA

LD3320相关部分引脚配置:
static void LD3320_GPIO_Cfg(void)
{       
                GPIO_InitTypeDef GPIO_InitStructure;
                RCC_APB2PeriphClockCmd(LD3320RST_GPIO_CLK | LD3320CS_GPIO_CLK,ENABLE);
                GPIO_InitStructure.GPIO_Pin =LD3320CS_PIN;
                GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
                GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
                GPIO_Init(LD3320CS_GPIO_PORT,&GPIO_InitStructure);
                GPIO_InitStructure.GPIO_Pin =LD3320RST_PIN;
                GPIO_Init(LD3320RST_GPIO_PORT,&GPIO_InitStructure);
}
Connecting & Messaging from Any.
举报 使用道具
金佳旺 新手上路 发表于 2018-12-27 19:44:47 | 显示全部楼层
模块:LD3320
内容:我们项目ld3320的数据选择
1.选择电压3.3v
2.选择串行接口口通过SPI协议和外部主CPU连接。首先将MD接高电平,而将SPIS*接地。
此时只使用4个管脚:片选(SCS*)、SPI 时钟(SDCK)、SPI 输入(SDI)和 SPI 输出(SDO),依次对应的管脚编号为43、39、41、40.
Connecting & Messaging from Any.
举报 使用道具
sss12345 新手上路 发表于 2018-12-27 10:04:24 | 显示全部楼层
昨天第一次发帖,没弄明白发进度发在哪里,以为发个帖子进行了,现在来补发。
现在正在看LD3320的串并行问题,原理性的东西还是比较难理解,但是大致还是了解了一些。
并行写:
准备好地址后,A0 设为 1,通过对 CSB 和 WRB 拉低拉高来写入地址;准备好数据后,A0 设为 0,通过对 CSB 和 WRB 拉低拉高来写入数据。
void LD_Write( unsigned char add, unsigned char data )
{
P0 = add;
LD_A0= 1;
LD_CS = 0;
LD_WR = 0;
DELAY_NOP;
LD_WR = 1;
LD_CS = 1;
DELAY_NOP;
P0 = data;
LD_A0 = 0;
LD_CS = 0;
LD_WR = 0;
DELAY_NOP;
LD_WR = 1;
LD_CS = 1;
}
其他的并行读以及串行读写也是类似的
Connecting & Messaging from Any.
举报 使用道具
taoge 注册会员 发表于 2018-12-27 09:40:47 | 显示全部楼层
根据项目的需求,确定了项目需要的物料种类,并进行了相应的采购。
1、8G外置SD卡                     数量:1   
2、音频解码器vs1003           数量:1      
3、语音识别模块LD3320       数量:1
前期已经完成了STM32的按键配置-----实现按键控制,spi通信的框架已经搭好了,接下来是vs1003配置
完成sd卡模块部分

Connecting & Messaging from Any.
举报 使用道具
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

推荐板块

精彩推荐

热门排行

明星用户

手机版|小黑屋|AnyMSG ( ©AnyMSG 2009 - 2017 · ICP备16009991号 )

GMT+8, 2019-4-19 13:10