Понятие действий во времени
Музыка – запись во времени
Музыка записывается как последовательность звуков, и длительности звучания. Вы видели волны на воде? А в воздухе. Оказывается, волны в воздухе мы слышим. Высокие звуки это высокие частоты, низкие звуки – низкие частоты.
Звуки для физика это волны в воздухе, а для музыканта – это ноты на нотном стане.
Длительность в музыке не абсолютная (секунды, минуты), а относительная. То есть у любой мелодии есть ритм. Ритм определяет продолжительность звучания такта. По-другому такт называется тоном.
Ритмический тренажер
"Голубой вагон" - ритмический тренажер.
Наши игры-задачи еще можно назвать тренажерами. Они тренируют наше понимание понятия измерения, умение решать различные задачи.
Наш очередной проект – наша программа, как звучит мелодия "голубой вагон" (кто смотрел этот старый мультфильм?), ведет пальцем по нотам, так что мы можем запоминать, как звучат ноты.
А еще мы можем отбивать ритм. В конце песенки мы увидим, сколько раз мы попали в ритм – это "мой счет" и сколько раз мимо.
Как мы научили котика играть ноты?
Эта программа очень простая. Мы разберем, как написать мелодию, и кто-то из вас, наверное, кто знаком с музыкальной грамотой легко научить нашего котика еще каким-нибудь песням.
Итак, музыка состоит из нот. В палитре звуков имеется блок для звучания нот:
Те, кто знает нотную грамоту, наверное, спросят: а что это за номер ноты? Где скрипичный и басовый ключ? Где нота "до"?
Оказывается, все просто. Надо нажать на черный треугольник справа от номера.
Мы видим привычную клавиатуру фортепиано. Значит нота "ми", на клавишу которой мы нажали - это 64 нота. А 60 нота – это как раз нота "до".
Теперь будем разбираться с длительностью.
Доли на нотном стане меряются долями: (мы их уже проходили)
- тон, он же такт, он же 1.
- полтона (1/2)
- четверть тона (1/4)
Есть еще три четверти, одна восьмая, и так далее.
В скретч эти доли имеют вид десятичных дробей.
Мы уже изучали десятичные дроби. Они нам опять понадобились.
Итак, одна четвертая тона это… 0.25 тона – то есть такта.
Остается один вопрос: а какова длительность такта в секундах?
Вообще-то, эта длительность может быть разной. Поэтому на нотах и пишут, как играть мелодию "быстро", "неторопливо", "оживленно" и тому подобное.
Есть еще акценты, звучание и прочие тонкости звука, доступные человеку. Но основную мелодию принято записывать четко и однозначно и это доступно компьютеру.
Итак, какая у нас длительность такта?
Оказывается, имеется специальный блок, который устанавливает длительность такта.
Если его не настраивать, такт установлен как 60 bpm, то есть 60 ударов в секунду (по английски bpm – bytes per minute).
Вопрос: какова длительность такта?
Ответ – одна секунда.
Мы установили свою длительность: 2 секунды (30 bpm), чтобы было проще.
Играть эту песенку, у нас, как и в мультфильме, будет крокодил Гена. Возьмем его на палитре и добавим ему скрипт, состоящий из нот, в соответствии с нотами, то есть с тоном и длительностью.
Первая нота "ми" первой октавы имеет номер 64 и длительность одну четвертую, то есть 0.25 такта.
Итак, наши ноты мы переписали для скретч так:
Как мы отбиваем такт?
Для отбивания такта мы используем таймер.
Для отбивания такта мы используем спрайт "барабан"
Таймер , он же секундомер, присутствует на палитре управления и выглядит вот так: . Красной стрелкой показан прямоугольник, который надо кликнуть мышкой. Там появится галочка. А еще на сцене появится сам таймер, который будет отсчитывать секунды и их десятые доли.
Таймер используют в спорте. Знаете как? Для измерения времени, за которое выполнена спортивная задача: пробежать, проплыть, проехать. По команде "марш" таймер запускают, а при пересечении финиша таймер останавливают.
В нашем проекте мы будем перезапускать таймер каждые 2 секунды. То есть когда таймер доходит до двух секунд, он запускается заново.
Таймер еще бывает с будильником. В указанное время он звонит.
Но наш таймер без будильника, и поэтому нам придется все время проверять время, когда его надо перезапускать:
Попали ли мы в такт?
Попасть в такт мы можем только с некоторой точностью. Поэтому нам нужно оценить ошибку попадания.
Ошибки может быть две: либо мы ударили чуть раньше, либо чуть позже.
Чуть раньше – значит, что таймер уже подходит к двум секундам.
2 – таймер < точность
Чуть позже – только начал отсчет:
таймер < точность
В обоих случаях мы считаем, что попали в такт, поэтому условия соединяем через "или":
Если мы попали – увеличиваем счет.
Если промахнулись – увеличиваем счет промахов.
Для этого заведем две переменный "мой счет" и "мимо".
Задание:
Переделать игру так, чтобы длительность такта была одна – секунда.