基于51单片机的语音采集系统设计(录音笔选择方案)

功能:

基于51单片机的语音实时采集系统
系统由STC89C52单片机+ISD4004录音芯片+LM386功放模块+小喇叭+LCD1602+按键+指示灯+电源构成
具体实现功能:
(1)可通过按键随时选择相应的录音进行播放;
(2)可以通过按键随时录音,可以录制4段声音,并可以按键控制播放和暂停,最长可以录制8分钟;
(3)播放的音量可以通过调节电位器改变。

第1章前言

1.1 研究意义

数码录音笔对于我们现如今的人们己经是再熟悉不过的产品了,它己经应用在了很多地方,其中主体部分应该是记者了。正是基于录音笔能够录音的特点,在你无法凭借记忆记住重要谈话,或者重要会议的重要内容的时候,它便体现除了它的优势,清晰完整无误的记录下你要记录的东西,而你能够拿出更多的时间来处理其他事情。除此之外录音笔小巧易于携带,存储内容量大,基于这些优点,越来越得到人们的青睐。

现在所说的录音笔指的数码录音笔,也称为数码录音棒或数码录音机,数字录音器的一种,为了便于操作和提升录音质量造型并非以单纯的笔型为主,携带方便,同时拥有多种功能。

1.2 国内外研究现状的对比

就声音录制而言,虽然专业的数码录音笔不论在录音长度上还是品质上,都拥有绝对的优势,但随着多功能MP3, MP4, PDA甚至是智能手机的普及,录音逐渐成为了随身数码设备中的一项附属功能。尽管不少缺乏技术的国内小厂都相继退出了数码录音笔市场,但以三星为代表的世界级数码巨头并没有宣言放弃,反而借助新的技术和设计,给这个看似一潭死水的市场注入了新的活力。

首先录音作为任何一款录音笔都是必不可少的基本功能,所以好的音质便成为了录音笔未来发展方向之一。随着闪存技术的长足进步,存储容量已经不再是数码录音笔的发展瓶颈,相反,过大的容量还会显得有些鸡肋。于是,精明的商家开始重新恢复音质的魅力,并令其成为数码录音笔发展的一大方向。三星则在此基础上将其在家庭影院中的王牌3D音效技术DNSe运用到数码录音笔产品当中,这种音效增强技术与单纯地扩大频率范围完全不同,也就是说,即使用较小的频率范围实现长时间录音,也能获得优化后的录制效果。DNSe是三星耗时六年开发的虚拟音效技术,并主要用于家庭影院和高端MP3产品上,它能够通过声音数字信号的处理,创造出更为逼真的临场感,听者能够明显感觉到声音从四面八方传来,并且范围更远,声音更纯净。搭载了DNSe音效的三星YV-150,不仅在录音上拥有了得天独厚的优势,还因此获得了媲美专业MP3的音乐播放能力。值得注意的是,作为数码音乐领域的翘楚,三星的新一代DNSe 2.0音效技术已经开始在13等新品上登场。并且,种种迹象表明三星正在试图通过音效升级,来创造独特的市场竞争力,数码录音笔的音质全面提升或许仅是时间问题。

其次,仅仅拥有好的音质是不够的。未来的录音笔应该具有更强大的功能。

专业数码录音笔之所以专业,还在于它在功能上更加贴近商务人士的需求。录音笔录制出来的文件要使用于其他数码设备,那么保存为MP3格式是最方便的,电脑、手机、MP3都能轻松播放三星YV-150可以直接把录音存为MP3文件,很大程度上方便了用户使用。另外,对于经常出差的商旅人士,三星YV-150非常值得推荐,其专业级的音效增强芯片会给音乐播放带来震撼的感受,让你在工作之余也能娱乐休闲。

随着视听家电产品的不断丰富,已经有越来越多微小型产品走入人们的日常生活,他们最突出的优点是体积小,而且重量轻,给人们带来了方便。作为一种简单的获取和记录数字化文件的工具,录音笔风靡市场,成为学生记者、商务人士购置录音设备的首选。不仅在校园里取代了复读机,也成为时间紧张在职人员的掌上新宠。

1.3 主要研究内容

语言在人类发展史中起到了至关重要的作用,它的作用并不亚于直立行走和工具的使用,怎样能把人类的语言丝毫不差地记录下来也是人们一直思考的问题。随着人类社会的不断进步,随着数字化信号处理技术的不断提高,语音处理大规模集成电路的进步,语音合成,语音识别,语音存储和回放技术的应用越来越广泛,其自动化程度越来越高,使用范围越来越广,前景十分喜人。并且,录放系统还具有电路简明、应用方便、单片录放、不怕掉电、音色纯正、性价比高等特性。

所以本次设计就利用单片机和语音芯片来实现一个录音笔系统。对于录音笔的最基本的要求便是可以录音、播放,重复录音以及播放要求。STC89C52该款单片机资源丰富,再加上与isd4004语音芯片的结合来实现语音的存储与回放,通过单片机的控制可以实现语音的多录多放的功能。

第2章设计方案及元器件的介绍

2.1系统的总体设计方案

多功能录音笔的主要功能是实现语音存储与定时播放。要实现语音存储与定时播放的方法很多,可供选择的器件也很多。由于单片机等微控制器的出现和数字电路技术的发展,使得现在的语音存储与自动播放变得易于实现。本设计采用单片机作为微控制器。选用字长为8位的STC89C52单片机作为控制器。

目前可以与单片机配合使用的语音芯片有很多,其中不乏性能十分优越的语音芯片,美国ISD公司生产的ISD40O4语音芯片就是它们中的一员。ISD4004芯片采用CMOS技术,内含振荡器、防混淆滤波器、平滑滤波器、音频放大器、自动静噪及高密度多电平闪烁存贮阵列。引脚包括电源、时钟、语音信号模拟输入/输出端、与MCU接口(SPI接口)几部分。芯片采用多电平直接模拟量存储技术,每个采样值直接存贮在片内闪烁存贮器中,因此能够非常真实、自然地再现语音。

ISD4004系列单片录放时间为8~16 min,采样频率可为4.0/5.3/6.4/8.0 kHz,频率越低,录放时间越长,而音质则有所下降。芯片设计基于所有操作必须由微控制器控制,操作命令可通过串行通信接口(SPI或Mi—crowire)送入。由于ISD4004的众多优点,本设计就采用它作为录放音器件。系统外接时钟芯片DS1302、中断键盘LCD1602显示和E2PROM AT24CO2。录音时为了改善语音质量,要提高输入端的信噪比,因此在系统的输入端采用三极管(9011)放大电路单端输入,系统的输出端经音频功率放大器LM386放大输出后驱动扬声器。

如果录音笔只作为录音放音显得功能单一,为此加入了时间功能。如采用单片机内部定时器来作为时间的话,时间不够准确,却比较浪费单片机资源。为此选择了DS1302做为时钟芯片。该芯片是美国DALLAS公司推出的一卷低功耗、高性价的实时时钟芯片,价格低廉、电路接口简单、使用方便,含有主电源/后备电源双电源引脚,并提供了对后备电源进行涓细电流充电的能力。采用SPI三线接口与CPU进行同步通信,可提供秒、分、时、日、星期、月和年、一个月小31天时自动调整,且具有闰年补偿功能。

时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。闹钟在一定程度上能解决这些问题。既然能录音了,该设计就在此基础上增加了自录语音信息,提示该做的事,人难免有些时候闹钟响了却忘记自己该做什么事了。

语音芯片是该设计中的核心,对于设计十分重要。目前可以与单片机配合使用的语音芯片有很多,其中不乏性能十分优越的语音芯片,美国ISD公司生产的ISD4004语音芯片就是它们中的一员。ISD4004芯片采用CMOS技术,内含振荡器、防混淆滤波器、平滑滤波器、音频放大器、自动静噪及高密度多电平闪烁存贮阵列。引脚包括电源、时钟、语音信号模拟输入/输出端、与MCU接口(SPI接口)几部分。芯片采用多电平直接模拟量存储技术,每个采样值直接存贮在片内闪烁存贮器中,因此能够非常真实、自然地再现语音。

该设计中为了使用户使用更加方便,每段录音的长短以及录音时间都会显示给用户。但是难免不会有电池掉电的可能性,尤其是掉电之后,语音闹钟时间也会丢失。为此在该设计中加入了EEPROM,在掉电之后,存储的这些闹钟数据、录音时间等数据也不会丢失。在考虑存储数据量的大小以及性价比之后,选择了AT24C02这款芯片。该芯片有2k位存储空间,足以应付该设计中的数据量。芯片接口方便,体积小,在仪器仪表及工业自动化控制中得到大量的应用。AT24C02是个不错的选择。

该系统是通过控制核心单片机来控制各个模块的工作。系统的总体设计框图如:图2-1:

e38555378f4a4d43935f96f7b6f838af.png

图2-1 系统总体设计框图

2.2主要器件的介绍

2.2.1ISD4004

ISD4004语音芯片与普通的录音/重放芯片相比, ISD4004具有如下优点: 首先是记录声音没有段长度限制, 并且声音记录不需要A/D 转换和压缩。其次, 快速闪存作为存储介质, 无需电源可保存数据长达100年,重复记录100000次以上。此外ISD4004具有记录时间长(可达16 分钟, 本论文采用的为8 分钟的ISD4004语音芯片)的优点。最后ISD4004开发应用具有所需外围电路简单的优点。基于ISD4004以上的优点,这也是我这次论文选择该语音芯片的原因。

ISD4004芯片有如下特点:

1.单片8 至16 分钟语音录放

2.内置微控制器串行通信接口

3.3V单电源工作

4.多段信息处理

5.工作电流25-30mA,维持电流1μA

6.不耗电信息保存100 年(典型值)

7.高质量、自然的语音还原技术

8.10 万次录音周期(典型值)

9.自动静噪功能

10.片内免调整时钟,可选用外部时钟

电源(VCCA,VCCD):为使噪声最小,芯片的模拟和数字电路使用不同的电源总线,并且分别引到外封装的不同管脚上,模拟和数字电源端最好分别走线,尽可能在靠近供电端处相连,而去耦电容应尽量靠近器件。

地线(VSSA,VSSD):芯片内部的模拟和数字电路也使用不同的地线。

同相模拟输入(ANA IN+):这是录音信号的同相输入端。输入放大器可用单端或差分驱动。单端输入时,信号由耦合电容输入,最大幅度为峰峰值32mV,耦合电容和本端的3KΩ电阻输入阻抗决定了芯片频带的低端截止频率。差分驱动时,信号最大幅度为峰峰值16mV,为ISD33000 系列相同。

反相模拟输入(ANA IN-) :差分驱动时,这是录音信号的反相输入端。信号通过耦合电容输入,最大幅度为峰峰值16mV

音频输出(AUD OUT) :提供音频输出,可驱动5KΩ的负载。

片选(SS) :此端为低,即向该ISD4004 芯片发送指令,两条指令之间为高电平。

串行输入(MOSI):此端为串行输入端,主控制器应在串行时钟上升沿之前半个周期将数据放到本端,供ISD 输入。

串行输出(MISO): ISD 的串行输出端。ISD 未选中时,本端呈高阻态。

串行时钟(SCLK): ISD 的时钟输入端,由主控制器产生,用于同步MOSI 和MISO 的数据传输。数据在SCLK上升沿锁存到ISD,在下降沿移出ISD。

中断(/INT):本端为漏极开路输出。ISD 在任何操作(包括快进)中检测到EOM 或OVF 时,本端变低并保持。中断状态在下一个SPI 周期开始时清除。中断状态也可用RINT 指令读取。OVF 标志----指示ISD的录、放操作已到达存储器的未尾。EOM 标志----只在放音中检测到内部的EOM 标志时,此状态位才置1。

行地址时钟(RAC):漏极开路输出。每个RAC 周期表示ISD 存储器的操作进行了一行(ISD4004 系列中的存贮器共2400 行)。该信号175ms 保持高电平,低电平为25ms。快进模式下,RAC 的218.75μs 是高平,31.25μs 为低电平。该端可用于存储管理技术。

外部时钟(XCLK):本端内部有下拉元件。芯片内部的采样时钟在出厂前已调校,误差在 +1%内。商业级芯片在整个温度和电压范围内, 频率变化在+2.25%内。此时钟已经比较精准,所以一般不采用外接时钟。在不外接地时钟时,此端必须接地。

自动静噪(AMCAP):当录音信号电平下降到内部设定的某一阈值以下时,自动静噪功能使信号衰弱,这样有助于养活无信号(静音)时的噪声。通常本端对地接1mF 的电容,构成内部信号电平峰值检测电路的一部分。检出的峰值电平与内部设定的阈值作比较,决定自动静噪功能的翻转点。大信号时,自动静噪电路不衰减,静音时衰减6dB。1mF 的电容也影响自动静噪电路对信号幅度的响应速度。本端接VCCA 则禁止自动静噪。

ISD4004 工作于SPI 串行接口。SPI 协议是一个同步串行数据传输协议,协议假定微控制器的SPI 移位寄存器在SCLK 的下降沿动作,因此对ISD4004 而言,在时钟止升沿锁存MOSI 引脚的数据,在下降沿将数据送至MISO 引脚。协议的具体内容为:

  1. SS 在传输期间必须保持为低电平,在两条指令之间则保持为高电平。
  2. 数据在时钟上升沿移入,在下降沿移出。
  3. 4.SS 变低,输入指令和地址后,ISD 才能开始录放操作。
  4. 指令格式是(8 位控制码)加(16 位地址码)。
  5. ISD 的任何操作(含快进)如果遇到EOM 或OVF,则产生一个中断,该中断状态在下一个SPI 周期开始时被清除。
  6. 使用"读"指令使中断状态位移出ISD 的MISO 引脚时,控制及地址数据也应同步从MOSI 端移入。因此要注意移入的数据是否与器件当前进行的操作兼容。当然,也允许在一个SPI 周期里,同时执行读状态和开始新的操作
  7. 所有操作在运行位(RUN)置1 时开始,置0 时结束。
  8. 所有指令都在SS 端上升沿开始执行。

该芯片的上电顺序:器件延时TPUD后才能开始操作。因此,用户发完上电指令后,必须等待 TPUD,才能发出一条操作指令。

例如从00 从处发音,应遵循如下时序:

  1. 发POWERUP 命令;
  2. 等待TPUD(上电延时);
  3. 发地址值为00 的SETPLAY 命令;
  4. 发PLAY 命令器件会从此00 地址开始放音,当出现EOM 时,立即中断,停止放音。

如果从00处录音,则按以下时序:

  1. 发POWERUP命令;
  2. 等待TPUD(上电延时);
  3. 发POWERUP命令
  4. 等待2倍TPUD;
  5. 发地址值为00的SETREC命令;
  6. 发REC命令,器件便从00地址开始录音,一直到出现OVF(存贮器末尾)时,录音停止。
  7. 第3章硬件设计

    3.1 系统整体工作原理

    系统主要有七个部分,语音模块部分、蜂鸣器部分、控制处理部分、数据存储部分部分、中断按键部分、显示部分和实时时钟部分,如:图3-1:

    f6182a1535884261a9dc3e38118c616c.png

     

    图3-1 系统工作原理图

    3.2 语音信号输入电路

    该部分的主要元件是驻极体话筒,在电路的选择上主要有两种方案,如图。

  8. 方案一:如下图3-2所示。
  9. 4586e89c50c74b4385dd124b43ae096f.png

    方案二:如下图3-3所示。

  10. 图3-3  mic电路接法二

    3、方案比较:

    语音信号经过驻极体话筒转化为的电信号很微弱,在送入语音芯片之前如果经过放大可以提高信号的信噪比,以达到更好的抑制噪声的目的。方法二中使用三极管对驻极体话筒产生的信号进行放大能达到此效果,所以该设计中采用方法二中电路。

    3.3LM386音频功放电路

    本设计中从语音芯片输出的语音信号很微弱,不能直接驱动扬声器,所以要在语音芯片和扬声器之间加上一个功率放大电路。

    21126b31736447bda496a15581abe962.png

  • 1
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
MATLAB是一款功能强大的数学计算软件,也支持音频信号的采集和处理。在MATLAB中,可以通过调用音频设备接口,实现音频信号的采集、保存和处理。下面简单介绍一下基于MATLAB的语音信号采集与处理。 1. 音频设备信息获取 首先需要获取系统中可用的音频设备信息,可以使用MATLAB自带的音频设备接口函数audiodevinfo来实现。该函数返回一个structure数组,包含了所有可用的音频设备信息。 ```matlab devinfo = audiodevinfo; ``` 2. 音频设备选择和设置 根据需要选择一个合适的音频设备,并进行相应的设置。可以使用MATLAB自带的音频设备接口函数audiodevice来实现。该函数需要指定音频设备的ID号,可以从上一步获取的devinfo数组中选择一个设备,然后获取其ID号。 ```matlab % 获取第一个输入设备的ID号 deviceID = devinfo.input(1).ID; % 配置音频设备参数 Fs = 16000; % 采样频率为16000Hz nBits = 16; % 采样精度为16位 nChannels = 1; % 单声道 recorder = audiorecorder(Fs, nBits, nChannels, deviceID); ``` 3. 语音信号采集 配置好音频设备参数后,就可以通过调用audiorecorder函数创建一个音频录制器对象,并使用record函数开始录音。录音时长可以通过设置record函数的参数Duration进行控制。 ```matlab % 开始录制5秒钟的语音信号 record(recorder, 5); % 等待录制完成 while ~isDone(recorder) pause(0.1); end ``` 4. 语音信号处理 采集语音信号后,可以进行一些基本的信号处理,比如去噪、滤波、分析等。MATLAB提供了丰富的信号处理函数和工具箱,可以方便地实现这些功能。 ```matlab % 获取录制的语音信号 audioData = getaudiodata(recorder); % 语音信号去噪 audioData = wdenoise(audioData); % 语音信号滤波 [b, a] = butter(6, [1000 4000]/(Fs/2)); audioData = filter(b, a, audioData); % 语音信号分析 % ... ``` 以上是一个简单的基于MATLAB的语音信号采集和处理的示例。需要注意的是,不同的音频设备和操作系统可能会有一些差异,需要根据实际情况进行调整。同时,对于更复杂的语音信号处理任务,可能需要使用更专业的工具和算法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白茶丫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值