首页>>科技 >>内容

和弦铃声1-15,和弦铃声设计及MIDI音乐文件播放流程介绍

发布时间:2023-10-24 20:52:10编辑:温柔的背包来源:

很多朋友对和弦铃声1-15,和弦铃声设计及MIDI音乐文件播放流程介绍不是很了解,每日小编刚好整理了这方面的知识,今天就来带大家一探究竟。

和弦铃声1-15,和弦铃声设计及MIDI音乐文件播放流程介绍

1 和弦铃声概述和弦原本是音乐理论中的一个概念,指三个或多个音调按照三度关系叠加而成的组合;在音响设备工业设计领域,和弦是指多种音调的组合。两个音源同时发音,也称为复调。和弦铃声已广泛应用于手机中。其音色饱满圆润,立体感强。它已经完全取代了以前的单音铃声。目前和弦铃声文件格式有很多种,如MIDI、MMF、AMR、MP3、IMY等,其中MIDI是目前支持最多的铃声文件格式。其文件占用空间小且表现力强。和弦铃声几乎已经成为目前手机的标准配置。

手机中的MIDI和弦音乐是通过内置的高集成和弦芯片播放MIDI音乐文件来实现的。和弦芯片所采用的声音合成和音调分配方法决定了铃声的播放效果。早期的FM(Frequency Modulation)合成方法将多个频率的单音合成为复合声音,以模拟各种乐器的声音。产生的声音音质较差,音质较差。另一种是波表合成方法。这种方法是先录制各种真实乐器的音乐,然后进行合成。音质好,音域宽。根据波表生成方式的不同,分为软件和弦和硬件和弦两种。软件Chord比硬件Chord节省系统开销,并且更容易集成到移动设备中。

目前手机市场上有多种和弦控制芯片。最常用的是日本的雅马哈,我国的华邦、旺宏,以及中国大陆的中星微、赤多微。每个公司的和弦芯片都有自己的特点。其中智多维的C520可以支持民族乐器的播放,因此选择C520进行和弦音乐控制。

2 C520和弦芯片C520是上海智多微电子有限公司生产的和弦芯片,专门用于为手机提供清脆逼真的音乐铃声和丰富的游戏音效。该芯片集成了64个和弦、16个音色波表和21个中国民乐、具有3D立体声环绕增强功能的MIDI合成器、MIDI GM预设ROM、16位高性能音频数模转换器和2/4位ADPCM解码器和其他功能。

2.1 芯片特性

与市面上其他手机和弦芯片相比,C520具有以下特点:

可以通过片内音乐合成器对输入的MIDI信号进行合成,或者通过ADPCM解调器对输入的ADPCM信号进行解调,然后通过内置DAC输出波形。

集成高品质MIDI GM音色库,容量高达3 Mb;除GM音库外,还提供民族乐器音库,支持二胡、古筝、琵琶等20多种民族乐器;支持多音色和复调- 最多同时支持16 种音色和64 声部复调。

具有多种功能端口,可支持手机振动驱动和LCD背光驱动,可用于播放音乐和同步PWM控制七彩灯光。

与主控端的接口可以是并行接口,也可以是串行接口;允许芯片工作在DAC输入模式并接受与通用串行DAC数据格式兼容的输入数据;将FIFO 与片上不同的输入数据集成;待机模式下的典型工作电流小于50 A。

2.2 功能单元

整个芯片由IOU(I/O接口单元)、SG(音乐合成器)、ADEC(ADPCM解调器)、TG(时钟模块)和ANALOG(逻辑)模块组成。

IOU完成与外部CPU的接口并控制芯片内部的FIFO等功能接口;形成音乐的MIDI数据以及外部CPU向芯片发出的控制命令也是通过IOU中的寄存器发送的。 SG模块从IOU的FIFO中获取MIDI数据,并使用波表合成来合成音乐。 ADEC接收压缩后的PCM数据,根据相应的控制信号对其进行解码,并将解码后的16位PCM代码输出到SG的DSP单元。 TG 将输入时钟倍频并生成内部时钟。 ANALOG包括DAC和AMP.C520芯片的内部结构,对DAC的输出信号进行低通滤波和功率放大,如图1所示。

3 应用3.1 典型电路

控制CPU采用三星公司的32位RISC芯片S3C4510B。该芯片专为嵌入式以太网应用而开发。核心为arm7TDMI,支持THUMB指令集,代码密度高。适用于对价格和功耗敏感的应用。

图1C520内部结构框图

图2 典型应用电路

C520和S3C4510B可以是并行接口,也可以是串行接口,但并行接口数据传输速度比串行接口快,因此本设计采用并行接口。芯片应用电路如图2所示。

在该电路中,C520的CS_N由S3C4510B的I/O P0控制。事实上,如果片选信号线足够的话,可以在S3C4510B中的ROM/SRAM/Flash片选信号Nrcs[5:0]中选择任意信号线,这样可以节省1个GPIO;同样,如果不再想控制C520的复位,可以将其复位信号连接到S3C4510B的复位线nRESET上,这样S3C4510B和C520上电时就会同时复位; C520 PD引脚为低功耗状态控制引脚,“1”为正常工作状态。“0”表示进入低功耗状态; C520 IRQ 引脚为中断输出引脚,可连接S3C4510B 的外部中断请求信号引脚XINTREQ[0]。

3.2 芯片初始化

C520的初始化工作非常简单,包括:

根据外部时钟设置PLL分频比。 PLL 分频比由寄存器CLOCK(读:10h/写:11h)和寄存器Master Clock(读:18h/写:19h)决定。内部时钟频率fsys=fclock(DN+1)/(DM+1)。其中,DM为寄存器CLOCK[4:0],DN为寄存器Master时钟调谐[5:0],fclock为外部输入时钟,内部系统时钟频率fsys必须设置在48 MHz至50 MHz之间。

打开模拟模块,向寄存器Analog Power Down 的bit3 写入0(读:66h/写:67h)。

设置Analog Select,根据寄存器Analog Select(读:60h/写:61h)选择模拟功能。

3.3 播放MIDI音乐文件

C520可以播放MIDI FORMAT 0和MMD格式的MIDI文件。

MIDI FORMAT 0 文件开头的4 字节数据的ASCII 值为“MThd”,MMD 文件开头的4 字节数据的ASCII 值为“MMhd”。这两种格式的arm发送MIDI数据的过程是不同的。发送前,文件开头的4字节数据的ASCII值为“MMhd”。部分数据来区分。

要发送MIDI FORMAT 0 格式的MIDI 文件,必须发送文件中的所有数据。

MMD格式的文件可以分为四个块,每个块的开头有一个8字节的头数据部分。第一个头数据部分前4 个字节的ASCII 码值为“MMhd”,第二个头数据部分前4 个字节的ASCII 码值为“MMly”,第二个头数据部分前4 个字节的ASCII 码值为“MMly”第三个头数据部分是“MMdd”。第4块头数据部分的前4个字节的ASCII码值为“MMex”。每条头数据的第5、6、7、8字节是该条数据的长度(不包括头数据),第5字节为低字节,第8字节为高字。节位,这4个字节组成的16进制数据加上头数据长度8就是这个数据的长度。 MMdd块数据的头数据后面是压缩的MIDI数据; MMly块数据是卡拉OK专用数据,播放MIDI时不需要发送该块; Mmex 是一个扩展块。

图3 MIDI文件播放流程

向C520 发送MMD 格式的MIDI 数据时,先发送MMhd 块,然后再发送MMdd 块的MIDI 数据部分(即该块除块名和块长度之外的部分),但MMly 块不发送不需要发送。

图3显示了播放MIDI文件的过程。

结论本文介绍了智多微公司的手机和弦芯片C520,并给出了其原理和内部结构图。采用三星RISC芯片S3C4510B作为控制器,实现和弦音乐的播放。文中给出了详细的电路原理图以及播放MIDI音乐文件的流程,可以作为和弦芯片在移动产品中的应用参考。

以上知识分享希望能够帮助到大家!