Ваши Первые Звуки

Посмотрите на этот код:

play 70

Отсюда всё берет свое начало. Давайте, скопируйте и вставьте его в окно кода вверху приложения (большое белое пространство под кнопкой Выполнить). Затем, нажмите Выполнить

Звук!

Впечатляет. Нажмите заново. Снова. И снова…

Ого, с ума сойти, уверен, вы бы могли просидеть так целый день. Но подождите, до того, как вы растворитесь в бесконечном потоке звуков, попробуйте изменить число:

play 75

Слышите разницу? Попробуйте число поменьше:

play 60

Вот, меньшее число дает более низкий звук, а большее число дает более высокий звук. Прямо как на пианино. Клавиши в нижней части пианино (слева) звучат ниже, а клавиши в верхней части пианино (правая сторона) - выше. На самом деле, числа имеют прямое отношение к клавишам пианино. play 47 означает “сыграй сорок седьмую ноту на пианино”. То есть play 48 - это на одну ноту выше (следующая клавиша справа). Так сложилось, что нота “До” четвертой октавы имеет номер 60. Попробуйте сыграть её: play 60.

Не волнуйтесь, если для вас это ничего не значит - у меня было то же самое, когда я только начинал. Сейчас важно то, что меньшие числа дают более низкие звуки, а большие числа дают более высокие звуки.

Аккорды

Играть одну ноту весьма забавно, но играть несколько нот сразу ещё лучше. Попробуйте:

play 72
play 75
play 79

Звучит джазово! Итак, когда вы пишете play много раз, все ноты играют в одно и то же время. Попробуйте самостоятельно - какие числа звучат вместе хорошо? Какие звучат ужасно? Экспериментируйте, исследуйте и вы выясните это сами.

Мелодия

Играть ноты и аккорды весело, а как насчет мелодий? Что, если вы хотите играть одну ноту за другой, а не все вместе? Что же, это легко. Просто нужно вставить sleep между ними:

play 72
sleep 1
play 75
sleep 1
play 79

Как мило, маленькое арпеджио. Что же значит 1 в sleep 1? Ну, это означает продолжительность паузы. Вообще-то, это означает задержку на время одной доли такта, но, пока что будем считать, что это значит спать одну секунду. А вдруг мы захотим, чтобы наше арпеджио стало немного быстрее? Тогда надо указать значение для паузы покороче. Как насчет половины, то есть 0.5:

play 72
sleep 0.5
play 75
sleep 0.5
play 79

Можно заметить: мелодия стала играть быстрее. Попробуйте сами поменять время и используйте разные продолжительности и ноты.

Интересно попробовать значения между нотами, например play 52.3 или play 52.63. Совсем не нужно держаться стандартных целых чисел. Развлекайтесь и получайте удовольствие.

Обычные названия нот

Для тех, кто уже немного знаком с нотной грамотой (не волнуйтесь, если вы не знаете о чём речь - для веселья она вам не нужна), может быть интересно записать мелодию, используя названия нот, такие как “До” (C) и “Фа-диез” (F#), а не числа. Sonic Pi предусмотрел это. Можно делать так:

play :C
sleep 0.5
play :D
sleep 0.5
play :E

Просто помните, что перед нотой должно стоять двоеточие :. Тогда она станет розовой. Ещё можно указывать октаву, добавляя её номер после названия ноты:

play :C3
sleep 0.5
play :D3
sleep 0.5
play :E4

Если хотите сделать ноту на полтона выше, поставьте s после её имени, то есть play :Fs3. А когда нужен бемоль, обозначьте это при помощи b, то есть play :Eb3.

А теперь, дайте себе волю, и как следует повеселитесь, придумывая собственные мелодии.