A. 低音电路的工作是什么原理
低音增强技术(TruBass)可以产生更加深邃、浑厚、富有弹性的低音,在用容积较小的多媒体音箱重放时所产生的低音效果几乎可以和大音箱相媲美。 它所产生的虚拟声场的范围要比扬声器自身产生的声场范围大了许多,相应地,最佳听音区的范围也大了许多。
从心理声学上说,当人耳接收到某一丢失基频的特定谐波频率,它会根据听到的高频谐波自动将基频补回来。通过加强信号中某一基频的倍频或高频谐波分量——这些谐波成分已超出特定扬声器尺寸所能否重现的范围——TruBass 产生了极大提升过了的低频相应。
TruBass利用了人耳收听音乐和声音的这种方式。声音的复现过程不只对扬声器产生的声音能量的复现过程,还包括外耳、听觉神经、大脑、和听众识别过程。所有这些因素都用来将声音的振动转化为神经的刺激,最终形成感觉,或听觉。
人体听力系统具有非线性,即会产生如附加泛音和谐波成分等实际在人耳通道所接收到的音频信号中没有的互调失真。这种非线性效果在低频尤为明显。举例来说,如果扬声器产生了100Hz 和 150Hz的音调,听力系统将产生一个50Hz 的互调分量,这正是两种实际频率的差频。
根据输入信号基波的频率和幅度,TruBass对高频进行处理,从而产生了这种感觉:扬声器中发出低频声音。大脑将这组提升后的谐波进行推断,还原出音源中由于扬声器的尺寸限制所造成的巨大衰减和丢失的低音信号。原始音频中的部分都没有消除和改变。增加低音提升的方式不会对音质带来损失。一旦谐波处理结束,提升低音效果的同时,对信号进行动态处理来控制音调漂移。
所提升的谐波频率的范围可以根据扬声器性能调节。产品工程师可以选择任何频率范围来匹配实际使用的扬声器驱动的特性。
本质上,低频音频缺少可分辨立体声分离度。所以,不必对立体声输入并行处理。推荐的实现方法需要将两个立体声输入混合后,进行TruBass提升, 然后对每一路输出等量地再次混合。这种方式对降成本有效,且保证了低音能量在两个通道中平均分配。 很多扬声器不能还原最低的音乐音调。音调越低,扬声器还原的效果越差。这就是低音上移。大尺寸的、更昂贵的扬声器的上移较轻,所以听起来低音频听起来相对较好。
TruBass加重低音频率分量的工作方式正是与扬声器上移曲线相反,从而减轻上移,改善低音还原。
扬声器在某个频率下,会彻底失去还原声音的能力。TruBass仍可以利用缺失基音的心理声学原理来改善这些频率上的低音感知。
乐器的特性就是它所产生的谐音的产物。谐音是一组频率,从一倍谐音即基音开始,基音决定了音符的音调。
耳/脑系统一个有趣的特点是:即使一组谐音的基音缺失,我们仍可以正确地听到其音调,尤其当低频的谐音存在的时候。管风琴制作者利用此原理,用只发出谐音的风管产生极低的音符。通过加重音乐信号中的自然谐音,TruBass 提升了基音音调的感觉,而这些低音对扬声器拉说太低以致无法还原。
B. 怎么用单片机C语言编写驱动蜂鸣器发出7个音的电路图和程序代码(最好有解释)。
将51单片机的P1.2口连接到蜂鸣器的一个管脚上,另外一个管脚接地。若声音小,则添加一个三级管放大电路或直接串一个UL2003
/*------------------------------------------------*/
#include<reg52.h> //包含头文件,一般情况不需要改动?
//头文件包含特殊功能寄存器的定义
/*------------------------------------------------
硬件端口定义
------------------------------------------------*/
sbit SPK=P1^2; //定义音乐输出端口
unsigned char Timer0_H,Timer0_L,Time;
//世上只有妈妈好数据表
code unsigned char MUSIC[]={ 6,2,3, 5,2,1, 3,2,2, 5,2,2, 1,3,2, 6,2,1, 5,2,1,
6,2,4, 3,2,2, 5,2,1, 6,2,1, 5,2,2, 3,2,2, 1,2,1,
6,1,1, 5,2,1, 3,2,1, 2,2,4, 2,2,3, 3,2,1, 5,2,2,
5,2,1, 6,2,1, 3,2,2, 2,2,2, 1,2,4, 5,2,3, 3,2,1,
2,2,1, 1,2,1, 6,1,1, 1,2,1, 5,1,6, 0,0,0
};
// 音阶频率表 定时器高八位
code unsigned char FREQH[]={
0xF2,0xF3,0xF5,0xF5,0xF6,0xF7,0xF8,
0xF9,0xF9,0xFA,0xFA,0xFB,0xFB,0xFC,0xFC, //1,2,3,4,5,6,7,8,i
0xFC,0xFD,0xFD,0xFD,0xFD,0xFE,
0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFF,
} ;
// 音阶频率表 定时器低八位
code unsigned char FREQL[]={
0x42,0xC1,0x17,0xB6,0xD0,0xD1,0xB6,
0x21,0xE1,0x8C,0xD8,0x68,0xE9,0x5B,0x8F, //1,2,3,4,5,6,7,8,i
0xEE,0x44, 0x6B,0xB4,0xF4,0x2D,
0x47,0x77,0xA2,0xB6,0xDA,0xFA,0x16,
};
/*------------------------------------------------
uS延时函数,含有输入参数 unsigned char t,无返回值
unsigned char 是定义无符号字符变量,其值的范围是
0~255 这里使用晶振12M,精确延时请使用汇编,大致延时
长度如下 T=tx2+5 uS
------------------------------------------------*/
void DelayUs2x(unsigned char t)
{
while(--t);
}
/*------------------------------------------------
mS延时函数,含有输入参数 unsigned char t,无返回值
unsigned char 是定义无符号字符变量,其值的范围是
0~255 这里使用晶振12M,精确延时请使用汇编
------------------------------------------------*/
void DelayMs(unsigned char t)
{
while(t--)
{
//大致延时1mS
DelayUs2x(245);
DelayUs2x(245);
}
}
/*------------------------------------------------
节拍延时函数
各调1/4节拍时间:
调4/4 125ms
调2/4 250ms
调3/4 187ms
------------------------------------------------*/
void delay(unsigned char t)
{
unsigned char i;
for(i=0;i<t;i++)
DelayMs(250);
TR0=0;
}
/*------------------------------------------------
定时器0中断
------------------------------------------------*/
void TIM0_ISR() interrupt 1
{
TR0=0;
SPK=!SPK;
TH0=Timer0_H;
TL0=Timer0_L;
TR0=1;
}
/*------------------------------------------------
歌曲处理函数
------------------------------------------------*/
void Song()
{
TH0=Timer0_H;//赋值定时器时间,决定频率
TL0=Timer0_L;
TR0=1; //打开定时器
delay(Time); //延时所需要的节拍
}
/*------------------------------------------------
主函数
------------------------------------------------*/
void main(void)
{
unsigned char k,i;
TMOD|=0x01; //置定时器0工作方式1
EA=1; //打开全局中断
ET0=1; //打开定时0中断
while(1)
{
i=0;
while(i<100)
{ //音乐数组长度 ,唱完从头再来
k=MUSIC[i]+7*MUSIC[i+1]-1;//去音符振荡频率所需数据
Timer0_H=FREQH[k];
Timer0_L=FREQL[k];
Time=MUSIC[i+2]; //节拍时长
i=i+3;
Song();
}
}
}
C. 用8051单片机做一音乐片电路
;******************************;
; 单片机音乐应用 ;
;******************************;
ORG 0000H ;主程序起始地址
JMP START ;跳至主程序
ORG 000BH ;TIMER0中断起始地址
JMP TIM0 ;跳至TIMER0中断起始地址
START: MOV TMOD,#00000001B ;设TIMER0在MODE1
MOV IE,#10000010B ;中断使能
START0: MOV 30H,#00 ;起简谱码指针
NEXT: MOV A,30H ;简谱码指针载入A
MOV DPTR,#TABLE ;至TABLE取简谱码
MOVC A,@A+DPTR
MOV R2,A ;取到的简谱码暂存于R2
JZ END0 ;是否取到00(结束码)?
ANL A,#0FH ;不是,则取低4位(节拍码)
MOV R5,A ;将节拍码存入R5
MOV A,R2 ;将取到的简谱码再载入A
SWAP A ;高低4位交换
ANL A,#0FH ;取低4位(音符码)
JNZ SING ;取到的音符码是否为0?
CLR TR0 ;是,则不发音
JMP D1 ;跳至D1
SING: DEC A ;取到的音符码减1(不含0)
MOV 22H,A ;存入(22H)
RL A ;乘2
MOV DPTR,#TABLE ;至TABLE1取相对的高位字节计数值
MOVC A,@A+DPTR
MOV TH0,A ;取到的高位字节存入TH0
MOV 21H,A ;取到的高位字节存入(21H)
MOV A,22H ;再载入取到的音符码
RL A ;乘2
INC A ;加1
MOVC A,@A+DPTR ;至TABLE1取相对的低位字节计数值
MOV TL0,A ;取到的低位字节存入TL0
MOV 20H,A ;取到的低位字节存入(20H)
SETB TR0 ;启动TIMER0
D1: CALL DELAY ;基本单位时间1/4拍187毫秒
INC 30H ;取简谱码指针加1
JMP NEXT ;取下一个码
END0: CLR TR0 ;停止TIMER0
JMP START0 ;重复循环
TIM0: PUSH ACC ;将A的值暂存于堆栈
PUSH PSW ;将PSW的值暂存于堆栈
MOV TL0,20H ;重设计数值
MOV TH0,21H
CPL P1.0 ;将P1.0位反相
POP PSW ;至堆栈取回PSW的值
POP ACC ;至堆栈取回A的值
RETI ;返回主程序
DELAY: MOV R7,#02
D2: MOV R4,#125 ;要延长的时间(毫秒)数
D3: MOV R3,#248
DJNZ R3,$
DJNZ R4,D3
DJNZ R7,D2
DJNZ R5,DELAY ;决定节拍
RET
TABLE1: DW 64260,64400,64524,64580
DW 64684,64777,64820,64898
DW 64968,65030,65058,65110
DW 65157,65178,65217
TABLE: DB 82H,01H,81H,94H,84H
DB 0B4H,0A4H,04H
DB 82H,01H,81H,94H,84H
DB 0C4H,0B4H,04H
END
D. 单片机音符是怎么样产生的
每一个音符都有其来特定源的振荡频率,比如C调低音1的频率是262Hz,你用单片机产生一个262Hz的方波就OK了。由于喇叭呈电感性,再加上你电路中的电容,会把你单片机产生的262Hz的方波大概滤成一个正弦波,用喇叭播放出来就是C调低音1(do)。
E. 音响电路中LC分频电路和电子分频电路的优点各是什么
1、由于结构限制,电子分频主要应用于有源音箱,而不适于无源设备。显然,这是专电子分频最大的缺属点,由于将分频做在功放之前,所以电子分频不能像普通的Hi-Fi音箱、功放一样自由组合,因此上,在有源监听音箱上,我们经常可以见到电子分频的设计,而Hi-Fi和AV音响里面,由于要考虑到功放和音箱组合的需要,就很少有使用电子分频的设计。
相对来说,很多关于电子分频的文章中所说的作为电子分频主要缺点之一的成本高昂,其实倒不是什么问题。对于Hi-Fi级别的电子分频设计来说,可能确实如此。但是对于多媒体上的电子分频来说,一个好的功率分频器的成本只在几个运放模块之上而不在以下,从去年以来的铜材涨价更是大大加大了这个差距。所以说电子分频会比同等功率的(注意这一点!)功率分频成本更好,其实在这个层次的产品上是缺乏说服力的。
F. 音乐芯片的介绍
音乐芯片是一种比较简单的语音电路,它通过内部的振荡电路,再外接小量分立元件,回就能产生各种音乐信号,音答乐芯片是语音集成电路的一个重要分支,目前广泛用于音乐卡、电子玩具、电子钟、电子门铃、家用电器等场合。音乐芯片由以下几个部分组成:逻辑控制电路、振荡器、地址计数器、音符节拍存贮器(ROM)、音阶发生器、输出驱动器。它的工作原理为:振荡电路产生的信号供各个电路使用;控制电路从存储器中读出代码,根据代码来控制节拍器和音调器协调工作,产生相应的音乐输出。
G. 各音符的频率是多少
乐曲中不同的音符实质上表示的是不同频率的声音。 在单片机中要发出不同频率的声音,只要产生不同频率的脉冲,再通过喇叭等播放出来即可。又由于方波容易用定时器产生,故一般单片机使用方波脉冲。 (1) 单片机产生不同频率脉冲信号的原理: 要产生音频脉冲,只要算出某一音频的脉冲(1/频率),然后将此周期除以2,即为半周期的时间,利用定时器计时这个半周期的时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期的时间再对I/O反相,就可以在I/O脚上得到此频率的脉冲。(可根据下图理解)
以8051单片机为例(8051单片机的定时器每次计数时间为1us)。利用8051的内部定时器使其工作在计数器模式MODE1下,改变计数值TH0及TL0以产生不同频率的方法如下:
例如,频率为523Hz,其周期为1/523 S=1912uS,因此只要令计数器计时956,在每计数956次时就将I/O反接,就可得到中音DO(532Hz)。 其计数值N可以根据以下公式得到: 2N=Fi/Fr (Fi为内部时钟频率,Fr为对应音符频率) 而单片机定时器所需的预计数值 T=65536-N=65536-Fi/2/Fr 计算举例:
设F=1000000=Fi=1MHz,求低音DO(261Hz)、中音DO(523Hz)、高音DO(1046Hz)的计数值。
T=65536-N=65536-Fi/2/Fr=65536-1000000/2/Fr=65536-500000/Fr
低音DO的T=65536-500000/262=63627
中音DO的T=65536-500000/523=64580
高音DO的T=65536-500000/1047=65059 附表:音符与频率对应表(“#”表示半音,用于上升或下降半个音)表9.1 C调各音符频率与计数值T的对照表
音符 频率(Hz) 简谱码T值 低1DO 262 63628
#1DO# 277 63731
低2RE 294 63835
#2RE# 311 63928
低3M 330 64103
低4FA 349 64103
#4FA# 370 64260
低5SO 392 64260
#5SO# 415 64331
低6LA 440 64400
#6 466 64463
低7SI 494 64524
中1DO 523 64580 #1DO# 554
中2RE 578 FC9F;
#2RE# 622
中3MI 659 FD09;
中4FA 698 FD34
#4FA# 740
中5SO 784 FD82
#5SO# 831
中6LA 880 FDC8
#6LA# 932
中7SI 988 FE06 (2)节拍 每个音符使用1个字节,字节的高4位代表音符的高低,低4位代表音符的节拍,下表为节拍码的对照。但如果1拍为0.4秒,1/4拍是0.1秒,只要设定延迟时间就可求得节拍的时间。假设1/4节拍为1DELAY,则1拍应为4DELAY,以此类推。所以只要求得1/4拍的DELAY时间,其余的节拍就是它的倍数,如下表为1/4和1/8节拍的时间设定。
表9.2 节拍码对照表
1/4节拍 1/8节拍
节拍码 节拍数 节拍码 节拍数
1 1/4拍 1 1/8拍
2 2/4拍 2 1/4拍
3 3/4拍 3 3/8拍
4 1拍 4 1/2拍
5 1又1/4拍 5 5/8拍
6 1又1/2拍 6 3/4拍
7 1又3/4拍 7 7/8拍
8 2拍 8 1拍
9 2又1/4拍 9 1又1/8拍
A 2又1/2拍 A 1又1/4拍
B 2又3/4拍 B 1又3/8拍
C 3拍 C 1又1/2拍
D 3又1/4拍 D 1又5/8拍
E 3又1/2拍 E 1又3/4拍
F 3又3/4拍 F 1又7/8拍 节拍延时参考: 曲调 1/4拍的延迟时间 1/8拍的延迟时间
4/4 125ms 62ms
3/4 187ms 94ms
2/4 250ms 125ms
H. mc怎么用红石电路让音符盒自动唱出节拍,红石脉冲不能一起响啊……
是节拍吗?就是鼓声。在音符盒下面放一块原石,或者石头,上面放音符盒。就版有鼓声了。
至于权你的节拍就是,咚咚咚的声音?脉冲会固定它的频率,你要自己调鼓声间隔,用中继器,先用拉杆或按钮激活一个音符盒,在音符盒同层面放一中继器,在放音符盒即可,要图追问
I. multisim中扬声器如何接入电路
音符信号一般就是正弦波啊。 追问: 初学者设计一个音符信号发生器,能够产生不同的音符信号音。multisim中扬声器只有一根线