И в исходниках будет другой вид скетчей - с delay.
С прискорбием вынужден согласиться.
… И всё равно надо как то упрощать - объяснять как сливать два делаевских скетча в один псевдопараллельный, как циклы менять на ифы и т.д.
И в исходниках будет другой вид скетчей - с delay.
С прискорбием вынужден согласиться.
… И всё равно надо как то упрощать - объяснять как сливать два делаевских скетча в один псевдопараллельный, как циклы менять на ифы и т.д.
Блин, слежу за темой, и все время не отпускает мысль, что нужно к стоматологу.
При чем тут стоматолог? А при чем делаи и прочие времЕнные параметры к КА?
При том, что зуб болит? И постоянно напоминает о себе, пока Вы следите за темой? Угадал?
Нет, делаи (время) и КА? где связь?
Архат сам ушел, сообщив, что его тут тгавит компания, специально зарегистрировавшаяся на форуме для этого дела в 2016-м году. А у него, между тем, бессрочная виза в любую страну на выбор. Не помню уж каким отделом из Управления Миров выданная…
В музыке это называется стаккато.
Если субъективно, то человек искренне полагал, что все кругом в дерьме, а он один - в белом.
А объективно - максимум закона Даннинга-Крюгера.
Всегда думал, что стаккато это отрывисто, но если Вы сказали, поверю больше чем себе.
Там много оттенков, но если уменьшить их количество до двух основных, то пауза длиной в четверть ноты - это, безусловно, стаккато.
Собственно, альтернатива - легато, там паузы нет вообще.
Спасибо за разъяснения. Уж было начал подозревать о наличии у себя синдрома
Как можно упрощать то, что и так упрощено. Например Вы делаете устройство. И у него должно быть музыкальное сопровождение. На кнопку нажали, бикнуло. СМС пришло пропищало, работу закончило Марш прозвучал. И при этом если засунул музыку в программу, программа продолжала работать.
/*Music*/
const byte BuzzerPin = 10; // пин подключения зуммера
#include "pitches.h"
const int melody[] PROGMEM = {4, NOTE_C4, 8, NOTE_G3, 8, NOTE_G3, 4, NOTE_A3, 4, NOTE_G3, 4, 0, 4, NOTE_B3, 4, NOTE_C4, 0, 0};
const int melodyStart[] PROGMEM = {4, NOTE_A3, 0, 0};
const int melodyDo_1[] PROGMEM = {4, NOTE_C4, 0, 0};
const int melodyDo_2[] PROGMEM = {4, NOTE_G3, 0, 0};
const int melodyDo_3[] PROGMEM = {4, NOTE_B3, 0, 0};
const int temp = 800; // темп исполнения
//-- музыкальный движок
void (*musics)() = {};
uint32_t Mpast, time;
int* ii;
void stopMusic() {
musics = {[]() {}};
}
void playMusic(const int *data) {
int n = pgm_read_word(data); if (n == 0)return;
ii = (int *)data + 1; time = temp / n ;
tone(BuzzerPin, pgm_read_word(ii), time / 1.3);
musics = {[]() {
if (millis() - Mpast >= time) {
Mpast = millis();
ii++;
int n = pgm_read_word(ii);
if (n == 0)stopMusic();
else {
time = temp / n; ii++;
tone(BuzzerPin, pgm_read_word(ii), time / 1.3);
}
}
}
};
}
//------------------------
uint32_t T1 = 500, T2 = 400, T3 = 300;
int i = 0;
void (*events)() = {};
int state;
uint32_t past;
void go(int s) {
state = s;
past = millis();
switch (s) {
case 1:
i = 0;
events = {[]() {
if (millis() - past >= T1) {
Serial.println("Do 1");
playMusic(melodyDo_1);//<- проиграть мелодию
past = millis();
i++; if (i > 3) go(2);
}
}
};
break;
case 2:
i = 0;
events = {[]() {
if (millis() - past >= T2) {
Serial.println("Do 2");
playMusic(melodyDo_2);//<- проиграть мелодию
past = millis();
i++; if (i > 3) go(3);
}
}
};
break;
case 3:
i = 0;
events = {[]() {
if (millis() - past >= T3) {
Serial.println("Do 3");
playMusic(melodyDo_3);//<- проиграть мелодию
past = millis();
i++; if (i > 3) go(0);
}
}
};
break;
default:
playMusic(melody);//<- проиграть мелодию
Serial.println("End");
events = {[]() {
}
};
break;
}
}
//------------------------------
void setup() {
Serial.begin(9600);
go(1);
playMusic(melodyStart);//<- проиграть мелодию melodyStart
}
void loop() {
events();
musics();
}
Вот и эта причина как и почему занимаешься КА.
Ваще то нон-легато! В стаккато скважность сильно больше ))
Не нам судить.
Еще раз: есть две основные градации, причем все, что не легато - стаккато.
Если учитывать дополнительные градации, то стаккато - пауза примерно 50%, а нон-легато - около 10% (но это не точно). Здесь - 25%. Где-то посередине.
форум плавно перетёк в музыкальную школу…
“Доминанта разрешается в тонику”. Мы тоже кой-чего могЁм! Правда это единственное, что осталось в голове.
Ну да, и нужно фальшивым “дикшантом” проорать: “Ке белла кОза на юрнАта сОле!!”
Лучше он скатился бы до унифицированного ардуино музыкального движка и библиотеки PROGMEM музыкальных фрагментов. Какую захотел с свой код поставить, такую и поставил.
Наюха такая убогость в XXI веке? Ну, я бы ещё понял “библиотека для управления нормальными звуковухами”. Но пищать ногодрыгом в наше-то время …
Камни другие надо. Сложно на одной струне изобразить оркестр.