Как устроены звуки в 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]. Звуки из неё можно использовать в своих проектах и публиковать их в сообществе.