#define NOTE_N 0
#define NOTE_C5 523
#define NOTE_CS5 554
#define NOTE_D5 587
#define NOTE_DS5 622
#define NOTE_E5 659
#define NOTE_F5 698
#define NOTE_FS5 740
#define NOTE_G5 784
#define NOTE_GS5 831
#define NOTE_A5 880
#define NOTE_AS5 932
#define NOTE_B5 988
// 6-я октава (добавлены отсутствовавшие ноты)
#define NOTE_C6 1047
#define NOTE_CS6 1109
#define NOTE_D6 1175
#define NOTE_DS6 1245
#define NOTE_E6 1319
#define NOTE_F6 1397
#define NOTE_FS6 1480
#define NOTE_G6 1568
const int buzzerPin = 8;
// Мелодия в точном ритме аккордеонного кавера
int melody[] = {
// --- Вступление / Запев (Быстрые подскоки) ---
NOTE_A5, NOTE_C6, NOTE_D6, NOTE_DS6, NOTE_E6, NOTE_N,
NOTE_A5, NOTE_C6, NOTE_D6, NOTE_DS6, NOTE_E6, NOTE_N,
NOTE_F6, NOTE_E6, NOTE_D6, NOTE_C6, NOTE_B5, NOTE_C6, NOTE_D6, NOTE_E6,
NOTE_A5, NOTE_C6, NOTE_D6, NOTE_DS6, NOTE_E6, NOTE_N,
NOTE_A5, NOTE_C6, NOTE_D6, NOTE_DS6, NOTE_E6, NOTE_N,
NOTE_G6, NOTE_F6, NOTE_E6, NOTE_D6, NOTE_C6, NOTE_B5, NOTE_A5, NOTE_N,
// --- Основной ускоренный мотив (0:12 в видео) ---
NOTE_A5, NOTE_A5, NOTE_C6, NOTE_D6, NOTE_E6, NOTE_E6, NOTE_F6, NOTE_E6,
NOTE_D6, NOTE_C6, NOTE_B5, NOTE_C6, NOTE_D6, NOTE_E6, NOTE_E6, NOTE_N,
NOTE_A5, NOTE_A5, NOTE_C6, NOTE_D6, NOTE_E6, NOTE_E6, NOTE_G6, NOTE_F6,
NOTE_E6, NOTE_D6, NOTE_C6, NOTE_B5, NOTE_A5, NOTE_A5, NOTE_A5, NOTE_N
};
// Длительности нот (16 = супербыстрая 16-я нота, 8 = 8-я нота)
int noteDurations[] = {
16, 16, 16, 16, 8, 16,
16, 16, 16, 16, 8, 16,
16, 16, 16, 16, 16, 16, 16, 8,
16, 16, 16, 16, 8, 16,
16, 16, 16, 16, 8, 16,
16, 16, 16, 16, 16, 16, 8, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 8, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 8, 16
};
void setup() {
pinMode(buzzerPin, OUTPUT);
}
void loop() {
int size = sizeof(melody) / sizeof(melody[0]);
// Дьявольски быстрый темп кабаре
int tempo = 850;
for (int i = 0; i < size; i++) {
if (melody[i] == NOTE_N) {
noTone(buzzerPin);
delay(tempo / noteDurations[i]);
} else {
int duration = tempo / noteDurations[i];
tone(buzzerPin, melody[i], duration);
// Ультра-короткое стаккато (0.85) для отрывистого звука баяна
delay(duration * 0.85);
noTone(buzzerPin);
delay(duration * 0.15);
}
}
delay(1500);
}