From ff933c59997eb9a4b73d0694461b9daff74407ff Mon Sep 17 00:00:00 2001 From: andyNiu Date: Thu, 12 Jun 2025 22:11:03 -0400 Subject: [PATCH 1/7] Added more songs for the buzzer --- control-base/devices/inc/buzzer.h | 330 +++++++++++++++++++++++++++++- 1 file changed, 329 insertions(+), 1 deletion(-) diff --git a/control-base/devices/inc/buzzer.h b/control-base/devices/inc/buzzer.h index ae47694..07cc9ae 100644 --- a/control-base/devices/inc/buzzer.h +++ b/control-base/devices/inc/buzzer.h @@ -3,6 +3,14 @@ #include "bsp_pwm.h" +#define Note_C3 (131) // 130.81 Hz +#define Note_D3 (147) // 146.83 Hz +#define Note_E3 (165) // 164.81 Hz +#define Note_F3 (175) // 174.61 Hz +#define Note_G3 (196) // 196.00 Hz +#define Note_A3 (220) // 220.00 Hz +#define Note_B3 (247) // 246.94 Hz + #define Note_C4 (262) // 261.63Hz, 3822us #define Note_D4 (294) // 293.66Hz, 3405us #define Note_E4 (330) // 329.63Hz, 3034us @@ -37,9 +45,92 @@ #define Note_00 (0) +// C3 to B3 with sharps and flats +#define Note_CSharp3 (139) // C#3 / Db3, ~138.59Hz +#define Note_DFlat3 Note_CSharp3 + +#define Note_DSharp3 (156) // D#3 / Eb3, ~155.56Hz +#define Note_EFlat3 Note_DSharp3 + +#define Note_FSharp3 (185) // F#3 / Gb3, ~185.00Hz +#define Note_GFlat3 Note_FSharp3 + +#define Note_GSharp3 (208) // G#3 / Ab3, ~207.65Hz +#define Note_AFlat3 Note_GSharp3 + +#define Note_ASharp3 (233) // A#3 / Bb3, ~233.08Hz +#define Note_BFlat3 Note_ASharp3 + +// C4 to B4 with sharps and flats +#define Note_CSharp4 (277) // C#4 / Db4, ~277.18Hz +#define Note_DFlat4 Note_CSharp4 + +#define Note_DSharp4 (311) // D#4 / Eb4, ~311.13Hz +#define Note_EFlat4 Note_DSharp4 + +#define Note_FSharp4 (370) // F#4 / Gb4, ~369.99Hz +#define Note_GFlat4 Note_FSharp4 + +#define Note_GSharp4 (415) // G#4 / Ab4, ~415.30Hz +#define Note_AFlat4 Note_GSharp4 + +#define Note_ASharp4 (466) // A#4 / Bb4, ~466.16Hz +#define Note_BFlat4 Note_ASharp4 + +// C5 to B5 +#define Note_CSharp5 (554) // C#5 / Db5, ~554.37Hz +#define Note_DFlat5 Note_CSharp5 + +#define Note_DSharp5 (622) // D#5 / Eb5, ~622.25Hz +#define Note_EFlat5 Note_DSharp5 + +#define Note_FSharp5 (740) // F#5 / Gb5, ~739.99Hz +#define Note_GFlat5 Note_FSharp5 + +#define Note_GSharp5 (831) // G#5 / Ab5, ~830.61Hz +#define Note_AFlat5 Note_GSharp5 + +#define Note_ASharp5 (932) // A#5 / Bb5, ~932.33Hz +#define Note_BFlat5 Note_ASharp5 + +// C6 to B6 +#define Note_CSharp6 (1109) // C#6 / Db6, ~1108.73Hz +#define Note_DFlat6 Note_CSharp6 + +#define Note_DSharp6 (1245) // D#6 / Eb6, ~1244.51Hz +#define Note_EFlat6 Note_DSharp6 + +#define Note_FSharp6 (1480) // F#6 / Gb6, ~1479.98Hz +#define Note_GFlat6 Note_FSharp6 + +#define Note_GSharp6 (1661) // G#6 / Ab6, ~1661.22Hz +#define Note_AFlat6 Note_GSharp6 + +#define Note_ASharp6 (1865) // A#6 / Bb6, ~1864.66Hz +#define Note_BFlat6 Note_ASharp6 + +// C7 to B7 +#define Note_CSharp7 (2217) // C#7 / Db7, ~2217.46Hz +#define Note_DFlat7 Note_CSharp7 + +#define Note_DSharp7 (2489) // D#7 / Eb7, ~2489.02Hz +#define Note_EFlat7 Note_DSharp7 + +#define Note_FSharp7 (2960) // F#7 / Gb7, ~2959.96Hz +#define Note_GFlat7 Note_FSharp7 + +#define Note_GSharp7 (3322) // G#7 / Ab7, ~3322.44Hz +#define Note_AFlat7 Note_GSharp7 + +#define Note_ASharp7 (3729) // A#7 / Bb7, ~3729.31Hz +#define Note_BFlat7 Note_ASharp7 + +#define SMALL_SPACER (50) +#define SIXTEENTH_NOTE_DURATION (62) #define EIGHTH_NOTE_DURATION (125) #define FOURTH_NOTE_DURATION (500) #define HALF_NOTE_DURATION (1000) +#define DOT_HALF_NOTE_DURATION (1500) #define WHOLE_NOTE_DURATION (2000) #define SYSTEM_INITIALIZING {{Note_C4, EIGHTH_NOTE_DURATION }, \ @@ -110,14 +201,251 @@ {Note_B5, EIGHTH_NOTE_DURATION},\ {Note_00, FOURTH_NOTE_DURATION}} +#define PVZ_THEME {\ + {Note_E5, EIGHTH_NOTE_DURATION},\ + {Note_00, EIGHTH_NOTE_DURATION},\ + {Note_G5, EIGHTH_NOTE_DURATION},\ + {Note_00, EIGHTH_NOTE_DURATION},\ + {Note_F5, EIGHTH_NOTE_DURATION},\ + {Note_E5, EIGHTH_NOTE_DURATION},\ + {Note_C5, EIGHTH_NOTE_DURATION},\ + {Note_00, EIGHTH_NOTE_DURATION},\ + {Note_E5, EIGHTH_NOTE_DURATION},\ + {Note_00, EIGHTH_NOTE_DURATION},\ + {Note_G5, EIGHTH_NOTE_DURATION},\ + {Note_00, EIGHTH_NOTE_DURATION},\ + {Note_A5, EIGHTH_NOTE_DURATION},\ + {Note_G5, EIGHTH_NOTE_DURATION},\ + {Note_E5, EIGHTH_NOTE_DURATION},\ + {Note_00, EIGHTH_NOTE_DURATION},\ + {Note_C5, FOURTH_NOTE_DURATION},\ + {Note_00, EIGHTH_NOTE_DURATION},\ + {Note_C5, EIGHTH_NOTE_DURATION},\ + {Note_E5, EIGHTH_NOTE_DURATION},\ + {Note_G5, EIGHTH_NOTE_DURATION},\ + {Note_F5, EIGHTH_NOTE_DURATION},\ + {Note_E5, EIGHTH_NOTE_DURATION},\ + {Note_D5, EIGHTH_NOTE_DURATION},\ + {Note_E5, HALF_NOTE_DURATION},\ +} + +#define NOTE_WALK {\ + {Note_C4, FOURTH_NOTE_DURATION},\ + {Note_CSharp4, FOURTH_NOTE_DURATION},\ + {Note_D4, FOURTH_NOTE_DURATION},\ + {Note_DSharp4, FOURTH_NOTE_DURATION},\ + {Note_E4, FOURTH_NOTE_DURATION},\ + {Note_F4, FOURTH_NOTE_DURATION},\ + {Note_FSharp4, FOURTH_NOTE_DURATION},\ + {Note_G4, FOURTH_NOTE_DURATION},\ + {Note_GSharp4, FOURTH_NOTE_DURATION},\ + {Note_A4, FOURTH_NOTE_DURATION},\ + {Note_ASharp4, FOURTH_NOTE_DURATION},\ + {Note_B4, FOURTH_NOTE_DURATION},\ + \ + {Note_C5, FOURTH_NOTE_DURATION},\ + {Note_CSharp5, FOURTH_NOTE_DURATION},\ + {Note_D5, FOURTH_NOTE_DURATION},\ + {Note_DSharp5, FOURTH_NOTE_DURATION},\ + {Note_E5, FOURTH_NOTE_DURATION},\ + {Note_F5, FOURTH_NOTE_DURATION},\ + {Note_FSharp5, FOURTH_NOTE_DURATION},\ + {Note_G5, FOURTH_NOTE_DURATION},\ + {Note_GSharp5, FOURTH_NOTE_DURATION},\ + {Note_A5, FOURTH_NOTE_DURATION},\ + {Note_ASharp5, FOURTH_NOTE_DURATION},\ + {Note_B5, FOURTH_NOTE_DURATION},\ + \ + {Note_C6, FOURTH_NOTE_DURATION},\ + {Note_CSharp6, FOURTH_NOTE_DURATION},\ + {Note_D6, FOURTH_NOTE_DURATION},\ + {Note_DSharp6, FOURTH_NOTE_DURATION},\ + {Note_E6, FOURTH_NOTE_DURATION},\ + {Note_F6, FOURTH_NOTE_DURATION},\ + {Note_FSharp6, FOURTH_NOTE_DURATION},\ + {Note_G6, FOURTH_NOTE_DURATION},\ + {Note_GSharp6, FOURTH_NOTE_DURATION},\ + {Note_A6, FOURTH_NOTE_DURATION},\ + {Note_ASharp6, FOURTH_NOTE_DURATION},\ + {Note_B6, FOURTH_NOTE_DURATION},\ + \ + {Note_C7, FOURTH_NOTE_DURATION},\ + {Note_CSharp7, FOURTH_NOTE_DURATION},\ + {Note_D7, FOURTH_NOTE_DURATION},\ + {Note_DSharp7, FOURTH_NOTE_DURATION},\ + {Note_E7, FOURTH_NOTE_DURATION},\ + {Note_F7, FOURTH_NOTE_DURATION},\ + {Note_FSharp7, FOURTH_NOTE_DURATION},\ + {Note_G7, FOURTH_NOTE_DURATION},\ + {Note_GSharp7, FOURTH_NOTE_DURATION},\ + {Note_A7, FOURTH_NOTE_DURATION},\ + {Note_ASharp7, FOURTH_NOTE_DURATION},\ + {Note_B7, FOURTH_NOTE_DURATION}\ +} + +#define NOTE_WALK_C3_CHROMATIC { \ + {Note_C3, EIGHTH_NOTE_DURATION}, \ + {Note_CSharp3, EIGHTH_NOTE_DURATION}, \ + {Note_D3, EIGHTH_NOTE_DURATION}, \ + {Note_DSharp3, EIGHTH_NOTE_DURATION}, \ + {Note_E3, EIGHTH_NOTE_DURATION}, \ + {Note_F3, EIGHTH_NOTE_DURATION}, \ + {Note_FSharp3, EIGHTH_NOTE_DURATION}, \ + {Note_G3, EIGHTH_NOTE_DURATION}, \ + {Note_GSharp3, EIGHTH_NOTE_DURATION}, \ + {Note_A3, EIGHTH_NOTE_DURATION}, \ + {Note_ASharp3, EIGHTH_NOTE_DURATION}, \ + {Note_B3, EIGHTH_NOTE_DURATION}, \ + {Note_ASharp3, EIGHTH_NOTE_DURATION}, \ + {Note_A3, EIGHTH_NOTE_DURATION}, \ + {Note_GSharp3, EIGHTH_NOTE_DURATION}, \ + {Note_G3, EIGHTH_NOTE_DURATION}, \ + {Note_FSharp3, EIGHTH_NOTE_DURATION}, \ + {Note_F3, EIGHTH_NOTE_DURATION}, \ + {Note_E3, EIGHTH_NOTE_DURATION}, \ + {Note_DSharp3, EIGHTH_NOTE_DURATION}, \ + {Note_D3, EIGHTH_NOTE_DURATION}, \ + {Note_CSharp3, EIGHTH_NOTE_DURATION}, \ + {Note_C3, EIGHTH_NOTE_DURATION} \ +} + +// 别看我只是一只羊:https://musescore.com/user/22434151/scores/5151487 +#define PLEASANT_GOAT_AND_WOLF_THEME {\ + {Note_00, EIGHTH_NOTE_DURATION},\ + {Note_ASharp5, EIGHTH_NOTE_DURATION},\ + {Note_ASharp5, EIGHTH_NOTE_DURATION},\ + {Note_ASharp5, EIGHTH_NOTE_DURATION},\ + {Note_ASharp5, EIGHTH_NOTE_DURATION},\ + {Note_GSharp5, EIGHTH_NOTE_DURATION},\ + {Note_FSharp5, EIGHTH_NOTE_DURATION},\ + {Note_F5, EIGHTH_NOTE_DURATION},\ + {Note_B4, FOURTH_NOTE_DURATION},\ + {Note_GSharp5, DOT_HALF_NOTE_DURATION},\ + \ + {Note_00, EIGHTH_NOTE_DURATION},\ + {Note_F5, EIGHTH_NOTE_DURATION},\ + {Note_F5, EIGHTH_NOTE_DURATION},\ + {Note_F5, EIGHTH_NOTE_DURATION},\ + {Note_F5, EIGHTH_NOTE_DURATION},\ + {Note_FSharp5, EIGHTH_NOTE_DURATION},\ + {Note_GSharp5, FOURTH_NOTE_DURATION},\ + {Note_FSharp5, WHOLE_NOTE_DURATION},\ + \ + {Note_ASharp4, FOURTH_NOTE_DURATION},\ + {Note_CSharp5, EIGHTH_NOTE_DURATION},\ + {Note_CSharp5, EIGHTH_NOTE_DURATION},\ + {Note_CSharp5, EIGHTH_NOTE_DURATION},\ + {Note_GSharp4, FOURTH_NOTE_DURATION},\ + {Note_CSharp5, EIGHTH_NOTE_DURATION},\ + {Note_CSharp5, EIGHTH_NOTE_DURATION},\ + \ + {Note_00, EIGHTH_NOTE_DURATION},\ + {Note_ASharp4, EIGHTH_NOTE_DURATION},\ + {Note_CSharp5, EIGHTH_NOTE_DURATION},\ + {Note_CSharp5, EIGHTH_NOTE_DURATION},\ + {Note_GSharp4, FOURTH_NOTE_DURATION},\ + {Note_CSharp5, EIGHTH_NOTE_DURATION},\ + {Note_CSharp5, EIGHTH_NOTE_DURATION},\ + \ + {Note_ASharp4, FOURTH_NOTE_DURATION},\ + {Note_CSharp5, EIGHTH_NOTE_DURATION},\ + {Note_CSharp5, EIGHTH_NOTE_DURATION},\ + {Note_00, EIGHTH_NOTE_DURATION},\ + {Note_GSharp4, FOURTH_NOTE_DURATION},\ + {Note_CSharp5, EIGHTH_NOTE_DURATION},\ + {Note_CSharp5, EIGHTH_NOTE_DURATION},\ + \ + {Note_ASharp4, FOURTH_NOTE_DURATION},\ + {Note_CSharp5, EIGHTH_NOTE_DURATION},\ + {Note_CSharp5, EIGHTH_NOTE_DURATION},\ + {Note_GSharp4, FOURTH_NOTE_DURATION},\ + {Note_CSharp5, EIGHTH_NOTE_DURATION},\ + {Note_CSharp5, EIGHTH_NOTE_DURATION},\ + \ + {Note_FSharp5, SIXTEENTH_NOTE_DURATION},\ + {Note_F5, SIXTEENTH_NOTE_DURATION}, \ + {Note_E5, SIXTEENTH_NOTE_DURATION}, \ + {Note_DSharp5, SIXTEENTH_NOTE_DURATION},\ + {Note_D5, SIXTEENTH_NOTE_DURATION},\ + {Note_CSharp5, SIXTEENTH_NOTE_DURATION},\ + {Note_C5, SIXTEENTH_NOTE_DURATION},\ + {Note_B4, SIXTEENTH_NOTE_DURATION},\ + {Note_ASharp4, SIXTEENTH_NOTE_DURATION},\ + {Note_A4, SIXTEENTH_NOTE_DURATION},\ + {Note_GSharp4, SIXTEENTH_NOTE_DURATION},\ + {Note_G4, SIXTEENTH_NOTE_DURATION},\ + {Note_FSharp4, FOURTH_NOTE_DURATION},\ +} + +#define RM_MAIN_THEME { \ + {Note_A3, EIGHTH_NOTE_DURATION},\ + {Note_A3, EIGHTH_NOTE_DURATION},\ + {Note_C4, EIGHTH_NOTE_DURATION},\ + {Note_C4, EIGHTH_NOTE_DURATION},\ + {Note_GSharp3, EIGHTH_NOTE_DURATION},\ + {Note_GSharp3, EIGHTH_NOTE_DURATION},\ + {Note_A3, EIGHTH_NOTE_DURATION},\ + {Note_A3, EIGHTH_NOTE_DURATION},\ + \ + {Note_A3, EIGHTH_NOTE_DURATION},\ + {Note_A3, EIGHTH_NOTE_DURATION},\ + {Note_C4, EIGHTH_NOTE_DURATION},\ + {Note_C4, EIGHTH_NOTE_DURATION},\ + {Note_GSharp3, EIGHTH_NOTE_DURATION},\ + {Note_GSharp3, EIGHTH_NOTE_DURATION},\ + {Note_A3, EIGHTH_NOTE_DURATION},\ + {Note_A3, EIGHTH_NOTE_DURATION},\ + \ + {Note_A3, EIGHTH_NOTE_DURATION},\ + {Note_A3, EIGHTH_NOTE_DURATION},\ + {Note_D4, EIGHTH_NOTE_DURATION},\ + {Note_D4, EIGHTH_NOTE_DURATION},\ + {Note_GSharp3, EIGHTH_NOTE_DURATION},\ + {Note_GSharp3, EIGHTH_NOTE_DURATION},\ + {Note_A3, EIGHTH_NOTE_DURATION},\ + {Note_A3, EIGHTH_NOTE_DURATION},\ + \ + {Note_A3, EIGHTH_NOTE_DURATION},\ + {Note_A3, EIGHTH_NOTE_DURATION},\ + {Note_D4, EIGHTH_NOTE_DURATION},\ + {Note_D4, EIGHTH_NOTE_DURATION},\ + {Note_GSharp3, EIGHTH_NOTE_DURATION},\ + {Note_GSharp3, EIGHTH_NOTE_DURATION},\ + {Note_A3, EIGHTH_NOTE_DURATION},\ + {Note_A3, EIGHTH_NOTE_DURATION},\ + \ + {Note_GSharp3, EIGHTH_NOTE_DURATION},\ + {Note_GSharp3, SIXTEENTH_NOTE_DURATION},\ + {Note_A3, EIGHTH_NOTE_DURATION},\ + {Note_A3, EIGHTH_NOTE_DURATION},\ + {Note_B3, EIGHTH_NOTE_DURATION},\ + {Note_B3, EIGHTH_NOTE_DURATION},\ + {Note_C4, EIGHTH_NOTE_DURATION},\ + {Note_C4, EIGHTH_NOTE_DURATION},\ + \ + {Note_D4, EIGHTH_NOTE_DURATION},\ + {Note_D4, EIGHTH_NOTE_DURATION},\ + {Note_E4, EIGHTH_NOTE_DURATION},\ + {Note_E4, EIGHTH_NOTE_DURATION},\ + {Note_B3, EIGHTH_NOTE_DURATION},\ + {Note_B3, EIGHTH_NOTE_DURATION},\ + {Note_C4, EIGHTH_NOTE_DURATION},\ + {Note_C4, EIGHTH_NOTE_DURATION},\ +} + #define SYSTEM_INITIALIZING_NOTE_NUM (7) #define SYSTEM_READY_NOTE_NUM (6) #define SYSTEM_ERROR_NOTE_NUM (7) #define MARIO_NOTE_NUM (44) +#define PVZ_NOTE_NUM (25) +#define NOTE_WALK_NOTE_NUM (48) +#define PLEASANT_GOAT_AND_WOLF_THEME_NOTE_NUM (58) +#define NOTE_WALK_C3_CHROMATIC_NOTE_NUM (23) +#define RM_MAIN_THEME_NOTE_NUM (48) typedef struct _Melody_t { - float notes[50][2]; + float notes[60][2]; float loudness; uint16_t note_num; } Melody_t; From 179cff48557894207e966b7f8ced7c0508481e72 Mon Sep 17 00:00:00 2001 From: andyNiu Date: Thu, 12 Jun 2025 22:28:47 -0400 Subject: [PATCH 2/7] Added source for RM Main Theme --- control-base/devices/inc/buzzer.h | 1 + 1 file changed, 1 insertion(+) diff --git a/control-base/devices/inc/buzzer.h b/control-base/devices/inc/buzzer.h index 07cc9ae..8e7bf38 100644 --- a/control-base/devices/inc/buzzer.h +++ b/control-base/devices/inc/buzzer.h @@ -377,6 +377,7 @@ {Note_FSharp4, FOURTH_NOTE_DURATION},\ } +// https://www.bilibili.com/video/BV1LM4y1R7Gp/?vd_source=7e89cec769f049f9952459436503cfd4 #define RM_MAIN_THEME { \ {Note_A3, EIGHTH_NOTE_DURATION},\ {Note_A3, EIGHTH_NOTE_DURATION},\ From f652f7b6486d75f2fce13595b4ab1d202ac947c1 Mon Sep 17 00:00:00 2001 From: andyNiu Date: Thu, 12 Jun 2025 22:52:17 -0400 Subject: [PATCH 3/7] Added short and short up octive for RM Main Theme --- control-base/devices/inc/buzzer.h | 120 ++++++++++++++++++++++++++++++ 1 file changed, 120 insertions(+) diff --git a/control-base/devices/inc/buzzer.h b/control-base/devices/inc/buzzer.h index 8e7bf38..12e0ac5 100644 --- a/control-base/devices/inc/buzzer.h +++ b/control-base/devices/inc/buzzer.h @@ -434,6 +434,123 @@ {Note_C4, EIGHTH_NOTE_DURATION},\ } +// https://www.bilibili.com/video/BV1LM4y1R7Gp/?vd_source=7e89cec769f049f9952459436503cfd4 +#define RM_MAIN_THEME_FAST { \ + {Note_A3, SIXTEENTH_NOTE_DURATION},\ + {Note_A3, SIXTEENTH_NOTE_DURATION},\ + {Note_C4, SIXTEENTH_NOTE_DURATION},\ + {Note_C4, SIXTEENTH_NOTE_DURATION},\ + {Note_GSharp3, SIXTEENTH_NOTE_DURATION},\ + {Note_GSharp3, SIXTEENTH_NOTE_DURATION},\ + {Note_A3, SIXTEENTH_NOTE_DURATION},\ + {Note_A3, SIXTEENTH_NOTE_DURATION},\ + \ + {Note_A3, SIXTEENTH_NOTE_DURATION},\ + {Note_A3, SIXTEENTH_NOTE_DURATION},\ + {Note_C4, SIXTEENTH_NOTE_DURATION},\ + {Note_C4, SIXTEENTH_NOTE_DURATION},\ + {Note_GSharp3, SIXTEENTH_NOTE_DURATION},\ + {Note_GSharp3, SIXTEENTH_NOTE_DURATION},\ + {Note_A3, SIXTEENTH_NOTE_DURATION},\ + {Note_A3, SIXTEENTH_NOTE_DURATION},\ + \ + {Note_A3, SIXTEENTH_NOTE_DURATION},\ + {Note_A3, SIXTEENTH_NOTE_DURATION},\ + {Note_D4, SIXTEENTH_NOTE_DURATION},\ + {Note_D4, SIXTEENTH_NOTE_DURATION},\ + {Note_GSharp3, SIXTEENTH_NOTE_DURATION},\ + {Note_GSharp3, SIXTEENTH_NOTE_DURATION},\ + {Note_A3, SIXTEENTH_NOTE_DURATION},\ + {Note_A3, SIXTEENTH_NOTE_DURATION},\ + \ + {Note_A3, SIXTEENTH_NOTE_DURATION},\ + {Note_A3, SIXTEENTH_NOTE_DURATION},\ + {Note_D4, SIXTEENTH_NOTE_DURATION},\ + {Note_D4, SIXTEENTH_NOTE_DURATION},\ + {Note_GSharp3, SIXTEENTH_NOTE_DURATION},\ + {Note_GSharp3, SIXTEENTH_NOTE_DURATION},\ + {Note_A3, SIXTEENTH_NOTE_DURATION},\ + {Note_A3, SIXTEENTH_NOTE_DURATION},\ + \ + {Note_GSharp3, SIXTEENTH_NOTE_DURATION},\ + {Note_GSharp3, SIXTEENTH_NOTE_DURATION},\ + {Note_A3, SIXTEENTH_NOTE_DURATION},\ + {Note_A3, SIXTEENTH_NOTE_DURATION},\ + {Note_B3, SIXTEENTH_NOTE_DURATION},\ + {Note_B3, SIXTEENTH_NOTE_DURATION},\ + {Note_C4, SIXTEENTH_NOTE_DURATION},\ + {Note_C4, SIXTEENTH_NOTE_DURATION},\ + \ + {Note_D4, SIXTEENTH_NOTE_DURATION},\ + {Note_D4, SIXTEENTH_NOTE_DURATION},\ + {Note_E4, SIXTEENTH_NOTE_DURATION},\ + {Note_E4, SIXTEENTH_NOTE_DURATION},\ + {Note_B3, SIXTEENTH_NOTE_DURATION},\ + {Note_B3, SIXTEENTH_NOTE_DURATION},\ + {Note_C4, SIXTEENTH_NOTE_DURATION},\ + {Note_C4, SIXTEENTH_NOTE_DURATION},\ +} + +// https://www.bilibili.com/video/BV1LM4y1R7Gp/?vd_source=7e89cec769f049f9952459436503cfd4 +#define RM_MAIN_THEME_SHORT { \ + {Note_A3, SIXTEENTH_NOTE_DURATION},\ + {Note_A3, SIXTEENTH_NOTE_DURATION},\ + {Note_D4, SIXTEENTH_NOTE_DURATION},\ + {Note_D4, SIXTEENTH_NOTE_DURATION},\ + {Note_GSharp3, SIXTEENTH_NOTE_DURATION},\ + {Note_GSharp3, SIXTEENTH_NOTE_DURATION},\ + {Note_A3, SIXTEENTH_NOTE_DURATION},\ + {Note_A3, SIXTEENTH_NOTE_DURATION},\ + \ + {Note_GSharp3, SIXTEENTH_NOTE_DURATION},\ + {Note_GSharp3, SIXTEENTH_NOTE_DURATION},\ + {Note_A3, SIXTEENTH_NOTE_DURATION},\ + {Note_A3, SIXTEENTH_NOTE_DURATION},\ + {Note_B3, SIXTEENTH_NOTE_DURATION},\ + {Note_B3, SIXTEENTH_NOTE_DURATION},\ + {Note_C4, SIXTEENTH_NOTE_DURATION},\ + {Note_C4, SIXTEENTH_NOTE_DURATION},\ + \ + {Note_D4, SIXTEENTH_NOTE_DURATION},\ + {Note_D4, SIXTEENTH_NOTE_DURATION},\ + {Note_E4, SIXTEENTH_NOTE_DURATION},\ + {Note_E4, SIXTEENTH_NOTE_DURATION},\ + {Note_B3, SIXTEENTH_NOTE_DURATION},\ + {Note_B3, SIXTEENTH_NOTE_DURATION},\ + {Note_C4, SIXTEENTH_NOTE_DURATION},\ + {Note_C4, SIXTEENTH_NOTE_DURATION},\ +} + +// https://www.bilibili.com/video/BV1LM4y1R7Gp/?vd_source=7e89cec769f049f9952459436503cfd4 +#define RM_MAIN_THEME_SHORT_UP_OCTAVE { \ + {Note_A4, SIXTEENTH_NOTE_DURATION},\ + {Note_A4, SIXTEENTH_NOTE_DURATION},\ + {Note_D5, SIXTEENTH_NOTE_DURATION},\ + {Note_D5, SIXTEENTH_NOTE_DURATION},\ + {Note_GSharp4, SIXTEENTH_NOTE_DURATION},\ + {Note_GSharp4, SIXTEENTH_NOTE_DURATION},\ + {Note_A4, SIXTEENTH_NOTE_DURATION},\ + {Note_A4, SIXTEENTH_NOTE_DURATION},\ + \ + {Note_GSharp4, SIXTEENTH_NOTE_DURATION},\ + {Note_GSharp4, SIXTEENTH_NOTE_DURATION},\ + {Note_A4, SIXTEENTH_NOTE_DURATION},\ + {Note_A4, SIXTEENTH_NOTE_DURATION},\ + {Note_B4, SIXTEENTH_NOTE_DURATION},\ + {Note_B4, SIXTEENTH_NOTE_DURATION},\ + {Note_C5, SIXTEENTH_NOTE_DURATION},\ + {Note_C5, SIXTEENTH_NOTE_DURATION},\ + \ + {Note_D5, SIXTEENTH_NOTE_DURATION},\ + {Note_D5, SIXTEENTH_NOTE_DURATION},\ + {Note_E5, SIXTEENTH_NOTE_DURATION},\ + {Note_E5, SIXTEENTH_NOTE_DURATION},\ + {Note_B4, SIXTEENTH_NOTE_DURATION},\ + {Note_B4, SIXTEENTH_NOTE_DURATION},\ + {Note_C5, SIXTEENTH_NOTE_DURATION},\ + {Note_C5, SIXTEENTH_NOTE_DURATION},\ +} + #define SYSTEM_INITIALIZING_NOTE_NUM (7) #define SYSTEM_READY_NOTE_NUM (6) #define SYSTEM_ERROR_NOTE_NUM (7) @@ -443,6 +560,9 @@ #define PLEASANT_GOAT_AND_WOLF_THEME_NOTE_NUM (58) #define NOTE_WALK_C3_CHROMATIC_NOTE_NUM (23) #define RM_MAIN_THEME_NOTE_NUM (48) +#define RM_MAIN_THEME_FAST_NOTE_NUM (48) +#define RM_MAIN_THEME_SHORT_NOTE_NUM (24) +#define RM_MAIN_THEME_SHORT_UP_OCTAVE_NOTE_NUM (24) typedef struct _Melody_t { From 933314b008a80ae42181117470be9488b189d64d Mon Sep 17 00:00:00 2001 From: andyNiu Date: Thu, 12 Jun 2025 23:09:08 -0400 Subject: [PATCH 4/7] Added scuff Megalovania --- control-base/devices/inc/buzzer.h | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/control-base/devices/inc/buzzer.h b/control-base/devices/inc/buzzer.h index 12e0ac5..f8edc55 100644 --- a/control-base/devices/inc/buzzer.h +++ b/control-base/devices/inc/buzzer.h @@ -125,10 +125,12 @@ #define Note_ASharp7 (3729) // A#7 / Bb7, ~3729.31Hz #define Note_BFlat7 Note_ASharp7 +/* ------------- NOTE LENGTHS ------------*/ #define SMALL_SPACER (50) #define SIXTEENTH_NOTE_DURATION (62) #define EIGHTH_NOTE_DURATION (125) #define FOURTH_NOTE_DURATION (500) +#define DOT_FOURTH_NOTE_DURATION (750) #define HALF_NOTE_DURATION (1000) #define DOT_HALF_NOTE_DURATION (1500) #define WHOLE_NOTE_DURATION (2000) @@ -551,6 +553,22 @@ {Note_C5, SIXTEENTH_NOTE_DURATION},\ } +// https://musescore.com/user/1320626/scores/6180529 +#define MEGALOVANIA_MOTIF {\ + {Note_D4, EIGHTH_NOTE_DURATION},\ + {Note_D4, EIGHTH_NOTE_DURATION},\ + {Note_D5, FOURTH_NOTE_DURATION},\ + {Note_A4, DOT_FOURTH_NOTE_DURATION},\ + {Note_GSharp4, EIGHTH_NOTE_DURATION},\ + \ + {Note_00, EIGHTH_NOTE_DURATION},\ + {Note_G4, FOURTH_NOTE_DURATION},\ + {Note_F4, FOURTH_NOTE_DURATION},\ + {Note_D4, EIGHTH_NOTE_DURATION},\ + {Note_F4, EIGHTH_NOTE_DURATION},\ + {Note_G4, EIGHTH_NOTE_DURATION},\ +} + #define SYSTEM_INITIALIZING_NOTE_NUM (7) #define SYSTEM_READY_NOTE_NUM (6) #define SYSTEM_ERROR_NOTE_NUM (7) @@ -563,6 +581,7 @@ #define RM_MAIN_THEME_FAST_NOTE_NUM (48) #define RM_MAIN_THEME_SHORT_NOTE_NUM (24) #define RM_MAIN_THEME_SHORT_UP_OCTAVE_NOTE_NUM (24) +#define MEGALOVVANIA_MOTIF_NOTE_NUM (11) typedef struct _Melody_t { From 05197424639f53a88ee226a89813b264a40023c1 Mon Sep 17 00:00:00 2001 From: Andrew Niu Date: Mon, 16 Jun 2025 01:19:57 -0400 Subject: [PATCH 5/7] =?UTF-8?q?Added=20=E9=9D=92=E6=98=A5=E4=B9=8B?= =?UTF-8?q?=E7=81=AB=20(Fire=20of=20Youth)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- control-base/devices/inc/buzzer.h | 78 ++++++++++++++++++++++++++++++- 1 file changed, 77 insertions(+), 1 deletion(-) diff --git a/control-base/devices/inc/buzzer.h b/control-base/devices/inc/buzzer.h index f8edc55..656d83f 100644 --- a/control-base/devices/inc/buzzer.h +++ b/control-base/devices/inc/buzzer.h @@ -129,6 +129,7 @@ #define SMALL_SPACER (50) #define SIXTEENTH_NOTE_DURATION (62) #define EIGHTH_NOTE_DURATION (125) +#define DOT_EIGHTH_NOTE_DURATION (188) #define FOURTH_NOTE_DURATION (500) #define DOT_FOURTH_NOTE_DURATION (750) #define HALF_NOTE_DURATION (1000) @@ -569,6 +570,80 @@ {Note_G4, EIGHTH_NOTE_DURATION},\ } +// 青春之火(火力少年王主题曲) https://www.tan8.com/yuepu-76733.html +#define FIRE_OF_YOUTH {\ + {Note_FSharp5, EIGHTH_NOTE_DURATION},\ + {Note_F5, EIGHTH_NOTE_DURATION},\ + {Note_CSharp5, EIGHTH_NOTE_DURATION},\ + {Note_FSharp5, SIXTEENTH_NOTE_DURATION},\ + {Note_F5, EIGHTH_NOTE_DURATION},\ + {Note_CSharp5, EIGHTH_NOTE_DURATION},\ + {Note_FSharp5, EIGHTH_NOTE_DURATION},\ + {Note_F5, SIXTEENTH_NOTE_DURATION},\ + {Note_CSharp5, EIGHTH_NOTE_DURATION},\ + \ + {Note_FSharp5, EIGHTH_NOTE_DURATION},\ + {Note_F5, EIGHTH_NOTE_DURATION},\ + {Note_CSharp5, EIGHTH_NOTE_DURATION},\ + {Note_FSharp5, SIXTEENTH_NOTE_DURATION},\ + {Note_F5, EIGHTH_NOTE_DURATION},\ + {Note_CSharp5, EIGHTH_NOTE_DURATION},\ + {Note_FSharp5, EIGHTH_NOTE_DURATION},\ + {Note_F5, SIXTEENTH_NOTE_DURATION},\ + {Note_CSharp5, EIGHTH_NOTE_DURATION},\ + \ + {Note_FSharp5, EIGHTH_NOTE_DURATION},\ + {Note_F5, EIGHTH_NOTE_DURATION},\ + {Note_CSharp5, EIGHTH_NOTE_DURATION},\ + {Note_FSharp5, SIXTEENTH_NOTE_DURATION},\ + {Note_F5, EIGHTH_NOTE_DURATION},\ + {Note_CSharp5, EIGHTH_NOTE_DURATION},\ + {Note_FSharp5, EIGHTH_NOTE_DURATION},\ + {Note_F5, SIXTEENTH_NOTE_DURATION},\ + {Note_CSharp5, EIGHTH_NOTE_DURATION},\ + \ + {Note_DSharp5, EIGHTH_NOTE_DURATION},\ + {Note_CSharp5, EIGHTH_NOTE_DURATION},\ + {Note_ASharp4, EIGHTH_NOTE_DURATION},\ + {Note_DSharp5, SIXTEENTH_NOTE_DURATION},\ + {Note_CSharp5, EIGHTH_NOTE_DURATION},\ + {Note_ASharp4, DOT_EIGHTH_NOTE_DURATION},\ + {Note_DSharp5, SIXTEENTH_NOTE_DURATION},\ + {Note_CSharp5, DOT_EIGHTH_NOTE_DURATION},\ + \ + {Note_ASharp4, EIGHTH_NOTE_DURATION},\ + {Note_ASharp4, EIGHTH_NOTE_DURATION},\ + {Note_ASharp4, SIXTEENTH_NOTE_DURATION},\ + {Note_GSharp4, EIGHTH_NOTE_DURATION},\ + {Note_ASharp4, SIXTEENTH_NOTE_DURATION + HALF_NOTE_DURATION},\ + \ + {Note_GSharp4, EIGHTH_NOTE_DURATION},\ + {Note_FSharp4, EIGHTH_NOTE_DURATION},\ + {Note_FSharp4, SIXTEENTH_NOTE_DURATION},\ + {Note_F4, EIGHTH_NOTE_DURATION},\ + {Note_DSharp4, HALF_NOTE_DURATION},\ + {Note_DSharp4, SIXTEENTH_NOTE_DURATION},\ + \ + {Note_F4, SIXTEENTH_NOTE_DURATION},\ + {Note_F4, SIXTEENTH_NOTE_DURATION},\ + {Note_F4, SIXTEENTH_NOTE_DURATION},\ + {Note_F4, SIXTEENTH_NOTE_DURATION},\ + {Note_F4, SIXTEENTH_NOTE_DURATION},\ + {Note_GSharp4, EIGHTH_NOTE_DURATION},\ + {Note_GSharp4, EIGHTH_NOTE_DURATION},\ + {Note_GSharp4, SIXTEENTH_NOTE_DURATION},\ + {Note_GSharp4, SIXTEENTH_NOTE_DURATION},\ + {Note_GSharp4, SIXTEENTH_NOTE_DURATION},\ + {Note_GSharp4, SIXTEENTH_NOTE_DURATION},\ + {Note_B4, DOT_EIGHTH_NOTE_DURATION},\ + \ + {Note_B4, EIGHTH_NOTE_DURATION},\ + {Note_ASharp4, EIGHTH_NOTE_DURATION},\ + {Note_ASharp4, SIXTEENTH_NOTE_DURATION},\ + {Note_GSharp4, EIGHTH_NOTE_DURATION},\ + {Note_ASharp4, SIXTEENTH_NOTE_DURATION + HALF_NOTE_DURATION},\ +} + #define SYSTEM_INITIALIZING_NOTE_NUM (7) #define SYSTEM_READY_NOTE_NUM (6) #define SYSTEM_ERROR_NOTE_NUM (7) @@ -582,10 +657,11 @@ #define RM_MAIN_THEME_SHORT_NOTE_NUM (24) #define RM_MAIN_THEME_SHORT_UP_OCTAVE_NOTE_NUM (24) #define MEGALOVVANIA_MOTIF_NOTE_NUM (11) +#define FIRE_OF_YOUTH_NOTE_NUM (63) typedef struct _Melody_t { - float notes[60][2]; + float notes[70][2]; float loudness; uint16_t note_num; } Melody_t; From 4fa2244310fdfca7587d5d5265e09b08e9610b7f Mon Sep 17 00:00:00 2001 From: andyNiu Date: Mon, 16 Jun 2025 18:25:22 -0400 Subject: [PATCH 6/7] Fixed Fire of Youth song --- control-base/devices/inc/buzzer.h | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/control-base/devices/inc/buzzer.h b/control-base/devices/inc/buzzer.h index 656d83f..8be84bf 100644 --- a/control-base/devices/inc/buzzer.h +++ b/control-base/devices/inc/buzzer.h @@ -592,16 +592,6 @@ {Note_F5, SIXTEENTH_NOTE_DURATION},\ {Note_CSharp5, EIGHTH_NOTE_DURATION},\ \ - {Note_FSharp5, EIGHTH_NOTE_DURATION},\ - {Note_F5, EIGHTH_NOTE_DURATION},\ - {Note_CSharp5, EIGHTH_NOTE_DURATION},\ - {Note_FSharp5, SIXTEENTH_NOTE_DURATION},\ - {Note_F5, EIGHTH_NOTE_DURATION},\ - {Note_CSharp5, EIGHTH_NOTE_DURATION},\ - {Note_FSharp5, EIGHTH_NOTE_DURATION},\ - {Note_F5, SIXTEENTH_NOTE_DURATION},\ - {Note_CSharp5, EIGHTH_NOTE_DURATION},\ - \ {Note_DSharp5, EIGHTH_NOTE_DURATION},\ {Note_CSharp5, EIGHTH_NOTE_DURATION},\ {Note_ASharp4, EIGHTH_NOTE_DURATION},\ @@ -657,7 +647,7 @@ #define RM_MAIN_THEME_SHORT_NOTE_NUM (24) #define RM_MAIN_THEME_SHORT_UP_OCTAVE_NOTE_NUM (24) #define MEGALOVVANIA_MOTIF_NOTE_NUM (11) -#define FIRE_OF_YOUTH_NOTE_NUM (63) +#define FIRE_OF_YOUTH_NOTE_NUM (54) typedef struct _Melody_t { From e24838de392d09260755420836b948810d67697b Mon Sep 17 00:00:00 2001 From: andyNiu Date: Mon, 16 Jun 2025 22:12:07 -0400 Subject: [PATCH 7/7] First Draft of Happy Heroes Theme --- control-base/devices/inc/buzzer.h | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/control-base/devices/inc/buzzer.h b/control-base/devices/inc/buzzer.h index 8be84bf..389754b 100644 --- a/control-base/devices/inc/buzzer.h +++ b/control-base/devices/inc/buzzer.h @@ -634,6 +634,28 @@ {Note_ASharp4, SIXTEENTH_NOTE_DURATION + HALF_NOTE_DURATION},\ } +// 开心往前飞 (Happy Heroes Theme) https://www.tan8.com/yuepu-76071.html +#define HAPPY_HEROES_THEME {\ + {Note_D5, EIGHTH_NOTE_DURATION},\ + {Note_D5, EIGHTH_NOTE_DURATION},\ + {Note_EFlat5, EIGHTH_NOTE_DURATION},\ + {Note_B4, EIGHTH_NOTE_DURATION},\ + \ + {Note_E5, SIXTEENTH_NOTE_DURATION},\ + {Note_FSharp5, EIGHTH_NOTE_DURATION},\ + {Note_G5, EIGHTH_NOTE_DURATION},\ + {Note_D5, SIXTEENTH_NOTE_DURATION},\ + {Note_E5, SIXTEENTH_NOTE_DURATION},\ + {Note_G5, SIXTEENTH_NOTE_DURATION + EIGHTH_NOTE_DURATION},\ + \ + {Note_G5, EIGHTH_NOTE_DURATION},\ + {Note_A5, SIXTEENTH_NOTE_DURATION},\ + {Note_A5, SIXTEENTH_NOTE_DURATION},\ + {Note_E5, SIXTEENTH_NOTE_DURATION},\ + \ + {Note_G5, SIXTEENTH_NOTE_DURATION + DOT_HALF_NOTE_DURATION},\ +} + #define SYSTEM_INITIALIZING_NOTE_NUM (7) #define SYSTEM_READY_NOTE_NUM (6) #define SYSTEM_ERROR_NOTE_NUM (7) @@ -648,6 +670,7 @@ #define RM_MAIN_THEME_SHORT_UP_OCTAVE_NOTE_NUM (24) #define MEGALOVVANIA_MOTIF_NOTE_NUM (11) #define FIRE_OF_YOUTH_NOTE_NUM (54) +#define HAPPY_HEROES_THEME_NOTE_NUM (16) typedef struct _Melody_t {