Serial Musical Organ 1.0
Buzzer controller and musical organ
Loading...
Searching...
No Matches
Macros
scale16.h File Reference

Musical note frequency lookup table (16-bit timer values) More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define A3   2272
 
#define Ax3   2145
 
#define B3   2024
 
#define C3   3822
 
#define Cx3   3607
 
#define D3   3405
 
#define Dx3   3214
 
#define E3   3033
 
#define F3   2863
 
#define Fx3   2702
 
#define G3   2551
 
#define Gx3   2407
 
#define A4   1136
 
#define Ax4   1072
 
#define B4   1012
 
#define C4   1911
 
#define Cx4   1803
 
#define D4   1702
 
#define Dx4   1607
 
#define E4   1516
 
#define F4   1431
 
#define Fx4   1351
 
#define G4   1275
 
#define Gx4   1203
 
#define A5   568
 
#define Ax5   536
 
#define B5   506
 
#define C5   955
 
#define Cx5   901
 
#define D5   851
 
#define Dx5   803
 
#define E5   758
 
#define F5   715
 
#define Fx5   675
 
#define G5   637
 
#define Gx5   601
 
#define C6   477
 
#define Q   250
 
#define H   500
 
#define DO   C4
 
#define RE   D4
 
#define MI   E4
 
#define FA   F4
 
#define SOL   G4
 
#define LA   A4
 
#define SI   B4
 

Detailed Description

Musical note frequency lookup table (16-bit timer values)

Author
Roybel Carbonell Camejo
Date
2026-04-28

This file contains pre-calculated timer compare values (wavelengths) for generating musical notes with a 16-bit timer. Each value corresponds to a specific musical pitch.

Note
Values are calculated for 16-bit timer mode
Warning
These values assume specific timer prescaler settings

Calculation Method

The wavelength values represent the timer counter top value (OCR) needed to generate specific frequencies. Smaller values = higher pitch.

Usage

#include "scale16.h"
#include "organ.h"
// Play a C major scale
playNote(C4, 500);
playNote(D4, 500);
playNote(E4, 500);
playNote(F4, 500);
playNote(G4, 500);
playNote(A4, 500);
playNote(B4, 500);
playNote(C5, 500);
#define B4
Definition scale16.h:61
#define C5
Definition scale16.h:76
#define D4
Definition scale16.h:64
#define E4
Definition scale16.h:66
#define G4
Definition scale16.h:69
#define F4
Definition scale16.h:67
#define A4
Definition scale16.h:59
#define C4
Definition scale16.h:62
Organ tone generator interface.
void playNote(uint16_t half_us, uint16_t duration_ms)
Play a musical tone.
Definition organ.c:66
Musical note frequency lookup table (16-bit timer values)

Definition in file scale16.h.