Звуки и музыка в проектах Scratch: от «Мяу» до мелодии из нот

Scratchобновлено 07.10.202610 мин чтения

Звук в Scratch добавляют на вкладке «Звуки»: берут готовый из библиотеки, загружают файл или записывают голос через микрофон. Потом звуки запускают блоками из розовой категории «Звук», а мелодии из нот собирают в расширении «Музыка». Ниже — блоки, примеры озвучки игры и частые ошибки.

Как устроены звуки в Scratch

Звуки в Scratch принадлежат конкретному спрайту или сцене: у каждого объекта свой набор на вкладке «Звуки», и блок «играть звук» видит только звуки своего владельца. Это главное, что нужно понять до первых экспериментов.

Откройте новый проект: у кота уже есть звук «Мяу». Если добавить второй спрайт, например мяч, у него будет свой звуковой набор, и «Мяу» в выпадающем списке его блоков не появится. Чтобы мяч мяукал, звук придётся добавить и ему. Фоновую музыку удобно хранить у сцены: сцена есть в любом проекте, и её звуки не пропадут, если удалить персонажа.

Scratch задуман в MIT Media Lab как среда, где дети работают с картинками, анимацией и звуком одновременно. В статье о языке Scratch его создатели (Maloney и соавторы) подчёркивают именно это сочетание медиа и программирования[1]: звук здесь не украшение, а такой же материал для кода, как движение.

Вкладка «Звуки»: библиотека, файл и запись

Добавить звук можно 4 способами: выбрать из встроенной библиотеки, загрузить файл с компьютера, записать с микрофона или нажать «Сюрприз» и получить случайный. Все варианты прячутся под круглой кнопкой с динамиком в левом нижнем углу вкладки.

  • Библиотека. Звуки разложены по темам: животные, эффекты, музыкальные петли, голоса, ударные. При наведении курсора звук проигрывается, так что выбирать можно на слух.
  • Загрузка файла. Подходят обычные аудиофайлы MP3 и WAV. Лучше брать короткие фрагменты: длинная песня утяжеляет проект.
  • Запись. Браузер спросит разрешение на микрофон. Нажмите кнопку записи, скажите фразу, остановите и сохраните — звук появится в списке.
  • Сюрприз. Случайный звук из библиотеки — весело для экспериментов, но для игры лучше выбирать осознанно.

Записанный голос — самый быстрый способ сделать проект своим. По справке Scratch Foundation, среда рассчитана прежде всего на 8–16 лет, и запись голоса доступна уже самым младшим из этой группы. Персонаж, который говорит голосом автора, сразу превращает учебную анимацию в настоящую историю. Где именно находятся вкладки и кнопки, показано в разборе интерфейса Scratch.

Редактор звука: обрезка и эффекты

Встроенный редактор — это 2 инструмента: выделение части волны для обрезки или копирования и кнопки эффектов, которые меняют звук целиком или только выделенный кусок. Внешние программы для простой озвучки не нужны: звуки в Scratch редактируются прямо в браузере.

Звуковая волна показана в центре вкладки. Выделите мышью тишину в начале записи и удалите её — звук станет срабатывать без задержки. Под волной находятся кнопки: ускорить и замедлить (меняется и высота), эхо, робот, громче, тише, проиграть задом наперёд. Записанный голос, ускоренный дважды, превращается в писк мышонка, а замедленный — в бас великана.

Каждое нажатие эффекта меняет сам звук, а не только способ его проигрывания. Если результат не понравился, отмените действие стрелкой в редакторе. Если звук нужен и в исходном, и в изменённом виде, сначала сделайте дубликат через правый клик по звуку.

Блоки категории «Звук»

Категория «Звук» содержит 9 блоков: два запускают звук, один останавливает все, остальные управляют эффектами и громкостью. Разница между первыми двумя — самая важная тема урока.

БлокЧто делаетКогда нужен
«играть звук [Мяу] до конца»Проигрывает звук и ждёт, пока он закончитсяФоновая музыка в цикле, реплика перед следующим действием
«включить звук [Мяу]»Запускает звук и сразу переходит к следующему блокуКороткие эффекты: прыжок, удар, монета
«остановить все звуки»Глушит всё, что играет в проектеКонец игры, пауза, смена уровня
«изменить эффект [высота] на (10)»Делает звук выше или ниже; второй эффект — баланс между левым и правым динамикомГолоса разных персонажей, нарастающее напряжение
«изменить громкость на (−10)»Делает звук спрайта тише или громчеПлавное затухание музыки

Проверьте разницу сами. Соберите скрипт «повторить 3 раза → играть звук [Мяу] до конца» — кот мяукнет трижды подряд. Замените блок на «включить звук [Мяу]» — три запуска наложатся почти одновременно, и вы услышите одно короткое «мяу». Цикл не ждёт окончания, он просто трижды запускает один и тот же звук. В статье Maloney и соавторов о языке Scratch отмечено, что в среде многое может происходить одновременно, — «включить звук» как раз из таких действий.

Озвучка игры: музыка и звуки событий

Чтобы озвучить игру, нужны 2 слоя: фоновая музыка, которая играет по кругу у сцены, и короткие звуки событий у спрайтов — прыжок, монета, проигрыш. Слои не мешают друг другу, потому что работают в разных скриптах.

(скрипт сцены)
когда щёлкнут по зелёному флагу
установить громкость (40) %
повторять всегда
    играть звук [Мелодия] до конца

(скрипт героя)
когда клавиша [стрелка вверх] нажата
включить звук [Прыжок]
изменить y на (60)

Музыку сцены приглушили до 40 %, чтобы эффекты были слышны. Громкость звуков в Scratch своя у каждого спрайта и у сцены, поэтому её можно настраивать отдельно. Для звука прыжка выбран блок «включить»: герой должен подпрыгнуть сразу, а не после окончания звука.

Конец игры удобно сделать через сообщение. Спрайт, который заметил проигрыш, передаёт «конец», а сцена по этому сообщению выполняет «остановить все звуки» и проигрывает грустную мелодию. Как работают сообщения между спрайтами, разобрано в уроке про события и сообщения в Scratch.

Расширение «Музыка»: ноты, инструменты, темп

«Музыка» — это расширение, которое подключают кнопкой в левом нижнем углу редактора; после этого в палитре появляется зелёная категория с блоками для нот, барабанов, инструментов и темпа. Звуковые файлы для него не нужны: Scratch синтезирует ноты сам. Расширения появились в Scratch 3.0, который MIT Media Lab выпустил 8 января 2019 года.

  • «играть ноту». Два окошка: номер ноты и длительность в ударах. Номер 60 — нота до первой октавы. Если щёлкнуть по окошку с номером, появится маленькая клавиатура пианино.
  • «играть на барабане». Выбор ударного инструмента из списка и длительность.
  • «пауза». Тишина заданной длины — без неё ритм не получится.
  • «установить инструмент». Фортепиано, гитара, флейта, скрипка и другие тембры.
  • «установить темп» и «изменить темп на». Темп — число ударов в минуту. При темпе 60 один удар длится ровно секунду.

Номера нот идут по полутонам: соседние клавиши пианино, включая чёрные, отличаются на 1. Поэтому гамма до мажор — это 60, 62, 64, 65, 67, 69, 71, 72. Между ми (64) и фа (65), а также между си (71) и до (72) чёрной клавиши нет, отсюда шаг 1 вместо 2.

Пример: гамма и мелодия из списка

Самая короткая мелодия — гамма из 8 нот, собранная циклом и списком номеров. Этот пример показывает, как музыка превращается в данные, с которыми работает программа.

когда щёлкнут по зелёному флагу
установить инструмент (1) Фортепиано
установить темп (120)
удалить все из [ноты]
добавить (60) в [ноты]   … и так далее до (72)
задать [i] значение (1)
повторить (длина [ноты]) раз
    играть ноту (элемент (i) из [ноты]) (0.5) ударов
    изменить [i] на (1)

При темпе 120 каждая нота длительностью 0,5 удара звучит четверть секунды. Поменяйте числа в списке — получится другая мелодия, а сам скрипт останется прежним. Заменить «Фортепиано» на флейту можно одним щелчком. Цикл «повторить» здесь работает так же, как в любом другом проекте; если он пока непривычен, начните с урока о циклах в Scratch.

Барабан добавляют параллельным скриптом под той же шапкой зелёного флага: «повторять всегда → играть на барабане (1) 1 удар → пауза 1 удар». Оба скрипта стартуют одновременно, и мелодия идёт под ритм. Карен Бреннан и Митчел Резник относят параллельность и события к базовым понятиям, которые дети осваивают в Scratch[2], — музыкальные проекты учат им без лишних объяснений.

Когда озвучка не нужна или мешает

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

  • Проект весит больше 10 МБ из-за песен. Длинные файлы медленно загружаются; оставьте отрывок или соберите мелодию из нот.
  • Звук срабатывает 30 раз в секунду. Если эффект стоит в цикле «повторять всегда» без условия, вместо звука получится треск.
  • В викторине или обучающей игре больше 2 одновременных дорожек. Музыка отвлекает от вопросов; хватит коротких сигналов «верно» и «неверно».
  • Ребёнку 5–7 лет, и он пока не читает. Названия блоков ему ещё недоступны; для записи голоса и простых звуков удобнее ScratchJr.

Мифы об озвучке проектов

Миф — это убеждение, которое выглядит правдой, но не подтверждается проверкой в редакторе. С музыкой в проектах их 2.

Миф: «чтобы сделать музыку в Scratch, нужно знать ноты». Это не подтверждается: библиотека содержит готовые музыкальные петли, а в расширении «Музыка» ноты выбираются на нарисованной клавиатуре. Знание нот помогает, но для первых мелодий не нужно.

Миф: «любую песню из интернета можно вставить в свой проект». Технически файл загрузится, но права на чужую музыку никуда не исчезают. При публикации в сообществе Scratch стоит использовать то, что вы сделали сами или имеете право брать.

Резник в книге «Lifelong Kindergarten» описывает творческое обучение через проекты, увлечённость, сверстников и игру[3]. Своя мелодия из десяти нот ближе к этой идее, чем скачанный хит: её можно показать друзьям и рассказать, как она устроена.

Чего делать нельзя

Нельзя ставить «включить звук» внутрь цикла без паузы или условия — это самая частая причина треска. Остальные правила касаются удобства и безопасности.

  • Нельзя записывать в проект голосом имя, фамилию, адрес или номер школы, если проект будет опубликован в сообществе.
  • Не стоит запускать фоновую мелодию блоком «включить» в «повторять всегда»: она будет начинаться заново каждый кадр.
  • Не следует выкручивать громкость эффектов на максимум: резкий звук неприятен, особенно в наушниках.
  • Не стоит загружать целые песни ради 5 секунд звучания — обрежьте файл в редакторе.
  • Нельзя полагаться на звук как единственный сигнал о важном событии: игрок может играть без звука, дублируйте его надписью.

Подробнее о том, какие данные не стоит выкладывать в общий доступ, — в материале о безопасности ребёнка в интернете.

Источники

[1] Maloney J., Resnick M., Rusk N., Silverman B., Eastmond E. The Scratch Programming Language and Environment // ACM Transactions on Computing Education. 2010. Vol. 10, № 4. Article 16.

[2] Brennan K., Resnick M. New frameworks for studying and assessing the development of computational thinking // Proceedings of the 2012 Annual Meeting of the American Educational Research Association. Vancouver, 2012.

[3] Resnick M. Lifelong Kindergarten: Cultivating Creativity through Projects, Passion, Peers, and Play. Cambridge, MA: MIT Press, 2017.

[4] Scratch Foundation. Scratch: For Parents (раздел справки Scratch).

Вопросы и ответы

Почему в Scratch нет звука?

Проверьте громкость компьютера и вкладки браузера, затем блок «установить громкость» в проекте: если там 0 %, спрайт молчит. Ещё одна причина — звук запускается в цикле и тут же перезапускается.

Как записать свой голос?

На вкладке «Звуки» выберите «Записать», разрешите браузеру доступ к микрофону, нажмите кнопку записи и остановите её. Без микрофона эта функция не работает.

Можно ли сделать так, чтобы спрайт говорил текст вслух?

Да, для этого есть расширение «Текст в речь». Оно озвучивает любую строку, но работает только при подключении к интернету.

Почему музыка обрывается при смене уровня?

Скорее всего, где-то срабатывает «остановить все звуки» или «стоп все». Держите фоновую мелодию у сцены и останавливайте её только там, где это действительно нужно.

Как сделать разные голоса двум персонажам?

Запишите одну фразу, а у второго спрайта поменяйте высоту блоком «установить эффект [высота]» или ускорьте копию записи в редакторе.

Работает ли звук в Scratch на планшете?

Да, Scratch 3.0, вышедший 8 января 2019 года, работает в браузере на планшетах вместе со звуком. Запись с микрофона тоже возможна, если браузер разрешит доступ.

Бесплатны ли звуки из библиотеки?

Да, Scratch бесплатен целиком, включая библиотеку[4]. Звуки из неё можно использовать в своих проектах и публиковать их в сообществе.