音乐简谱的相关认知

1.关于音调 和 频率

使用下面的代码对应两者的关系

/* 
    声音的频率, 单位是Hz。
    音调的范围,中音减一度,中音,中音升一度; 130hz~987hz
  */
unsigned int toneFrequence[] ={
  
 //1. 中音减一度
    130,//C  1
    138,//C♯/D♭
    146,//D  2
    155,//D♯/E♭
    164,//E  3
    174,//F  4
    185,//F♯/G♭
    196,//G  5
    207,//G♯/A♭
    220,//A  6
    233,//A♯/B♭
    246,//B  7

//2. 中音
    261,//C  1
    277,//C♯/D♭    
    293,//D  2
    311,//D♯/E♭    
    329,//E  3
    349,//F  4
    369,//F♯/G♭
    392,//G  5
    415,//G♯/A♭
    440,//A  6
    466,//A♯/B♭
    493,//B  7

//3. 中音升一度
    523,//C  1
    554,//C♯/D♭    
    587,//D  2
    622,//D♯/E♭    
    659,//E  3
    698,//F  4
    739,//F♯/G♭
    783,//G  5
    830,//G♯/A♭
    880,//A  6
    932,//A♯/B♭
    987,//B  7

};

 

2. 简单的音调测试代码

关键是使用 tone() 函数来驱动。用到了上面的音调数组。

#define tonelength 21

void setup() {
 
  for(int i = 0; i < tonelength; i++){
    tone(beep, toneFrequence[i]);
    delay(500);
    noTone(beep);
  }

}

void loop() {

}
 

3.demo实现

地址:beep工程

参考资料:

1.频率 音调 对应表 FFT频谱分析原理

2.简谱教学入门(上),看懂音符、记住音阶

3.如何看懂音乐简谱

4.为什么魂斗罗只有128KB却可以实现那么长的剧情?

 

posted @ 2022-12-26 22:39  夜寐天明  阅读(118)  评论(0编辑  收藏  举报