Работа со звуком во Flash
Использование средств редактирования звука
Применение компрессии к выбранным звукам
Применение компрессии ко всем звукам
Общие рекомендации по экспорту звука
Использование звука позволяет существенно усовершенствовать
Flash-проекты. Звук дополняет визуальный ряд, воздействуя на другой канал чувственного
восприятия зрителя, и тем самым делает анимацию более убедительной.
По звуку, произведенному падающей болванкой, будет ясно, железная она или деревянная,
даже если она не залита текстурой.
Можно сказать, что звук придает проекту новое измерение. В данном уроке мы рассмотрим,
какой же инструментарий предлагает Flash MX 2004 для работы со звуком.
Некоторые базовые понятия
Прежде чем изложить принципы работы со звуком во Flash, следует напомнить читателю некоторые базовые понятия и термины.
Процесс преобразования аналогового звука в цифровой определяется двумя параметрами: частотой дискретизации и разрядностью. Устройство преобразования аналогового сигнала в цифровой измеряет амплитуду аналогового сигнала через малые промежутки времени и выдает результаты измерений в виде чисел. Результат дискретизации не является точным аналогом непрерывного электрического сигнала. Соответствие тем полнее, чем чаще происходят измерения и чем они точнее. Частота, с которой производятся измерения, называется частотой дискретизации (Sampling Rate).
Чем меньше частота дискретизации, тем больше запись будет отличаться от исходной. Например, для музыки на CD требуется частота дискретизации 44,1 кГц, для музыкальных клипов на радио FM достаточно 22,05 кГц, а для речи допускается всего 5 кГц.
На точность измерений амплитуды указывает число бит, использующихся для представления результата измерений (Sample Size). Например, каждый отсчет 8-битного звука может принимать 256 значений, 16-битного — 65 536 и т.д. Музыка на компакт-диске требует 16 бит, а музыкальные клипы на радио диапазона FM — 8 бит.
Звуковой файл может содержать несколько каналов: один канал — моно, два канала — стерео и т.п. В соответствии с вышеизложенным размер звукового файла будет определяться произведением сомножителей: частота дискретизации (Гц), разрядность (бит), продолжительность (с), количество каналов. Чем меньший объем занимает файл, тем быстрее удается передать его из Web потребителю.
Где взять звуки
Достаточно большая коллекция звуков находится по адресу:
http://www.flashkit.com/soundfx/, где размещены тысячи звуковых файлов, которые можно бесплатно скачивать и использовать в своих проектах. Звуки разделены по категориям (окружающая среда, мультипликация, коммуникации, существа, природа, люди, интерфейсы и т.п.).
Можно прочитать описание каждого звука и прослушать его в онлайне (рис. 1).
Для каждого звука указаны длина (length), частота дискретизации (Sample Rate), разрядность и размер.
Рис. 1. Пример описания звукового файла на flashkit.com
Если же вам нужно озвучить героя или прочитать некоторый текст, то придется записать речь самому. Наиболее простой способ — это вызвать программу для записи звука, входящую в стандартную поставку Windows XP, по команде Accessories => Entertainment => Sound Recorder (рис. 2) и записать нужный звуковой файл. Интерфейс программы полностью повторяет клавиши обычного магнитофона.
Рис. 2. Программа Sound Recorder
Добавление звука во Flash
Flash MX предлагает множество инструментов для встраивания звуков в анимацию. Можно использовать звуки, раздающиеся непрерывно, независимо от монтажной линейки, или синхронизировать мультипликацию со звуковой дорожкой. Можно добавить звуки к кнопкам, чтобы усилить их интерактивность, можно заставить звуки постепенно появляться или исчезать для получения различных эффектов.
При передаче озвученной Flash-анимации из Web критичным является размер файла. При создании Flash-фильма программа предоставляет пользователю набор опций сжатия звука для управления качеством и размером звуковых файлов в экспортируемом Flash-клипе. Рассмотрим все эти возможности более подробно.
Импорт звуков
Рассмотрим простой пример. Скачаем с Flashkit.com короткий звуковой файл в формате Waw и импортируем его в библиотеку, используя команду File => Import => Import to Library. Соответственно в окне Library появится звуковой файл. Активизировав его щелчком мыши (рис. 3), можно просмотреть его графическое отображение и проиграть, нажав на кнопку «Воспроизведение».
Рис. 3. Графическое отображение звука
Далее создайте экземпляр звука, перетащив его из библиотеки на сцену, в результате чего звук будет добавлен в текущий кадр (рис. 4).
Рис. 4. Создание экземпляра звука
В этом, самом простом, случае (см. пример (исходник )) Flash-фильм состоит из аудиофайла без анимации. Прежде чем перейти к рассмотрению совместного использования анимации и звука, следует рассказать о том, какие варианты синхронизации звука и анимации предлагает программа Flash.
Различные виды синхронизации
Режим синхронизации Event
Данный тип синхронизации используется по умолчанию. Экземпляр звука, использующий данную синхронизацию, называют событийным. Он начинает воспроизводиться, когда проигрывается ключевой кадр, в котором он расположен, и исполняется полностью, независимо от длины линейки, даже если мувиклип останавливается. То есть если экземпляр пятисекундного звука поместить в кадрах, которые проигрываются за секунду, то он все равно прозвучит до конца.
Повторное использование событийного звука не приводит к существенному увеличению объема результирующего файла. При загрузке фильма из сети событийный звук может быть воспроизведен только после полной загрузки.
Рассмотрим пример (исходник) использования событийного звука (рис. 5). В нашем примере шарик падает и сплющивается. В момент, когда начинается деформация шарика (в 20-м кадре), включается событийный звук. На рис. 5 начало графического отображения звука видно в кадрах 20-23.
Рис. 5. Озвучивание падения мяча
Несмотря на то что на 23-м кадре фильм заканчивается, звук удара проигрывается до конца.
Следует отметить, что событийные звуки могут накладываться сами на себя (микшироваться). Поясним это на примере (рис. 6). На монтажной линейке имеются два слоя. Слой Тext содержит 25 кадров со статичным поздравительным текстом, а слой Sound — звуковой файл с поздравительной речью на 4,9 с. Установлен режим синхронизации Event, количество повторов Repeat = 1. Частота кадров составляет 10 кадров/с. При воспроизведении этого фильма будет происходить следующее: стартует выполнение звукового файла (который будет воспроизводиться 4,9 с), но через 2,5 с все 25 кадров фильма закончатся, и он запустится снова, поэтому речь будет накладываться сама на себя. Данный эффект иллюстрируется примером (исходник).
Рис. 6. Пример с наложением речи
Режим синхронизации Start
Данный вид синхронизации исключает возможность наложения звуков.
Если в примере, рассмотренном на рис. 6, мы поменяем режим синхронизации с Event на Start (рис. 7), то получим фильм, в котром не будет наложения.
Рис. 7. Пример, в котором отсутствует наложение речи
Режим синхронизации Stop
Режим Stop останавливает воспроизведение экземпляров того же звука.
На рис. 8 показан пример, в котором в слое sound-2 используется звук типа Stop. Как только воспроизводящая головка входит в кадр, содержащий звук типа Stop (в нашем примере 15-й кадр), воспроизводящиеся в этот момент экземпляры того же звука останавливаются. Данный пример иллюстрируется фильмом (исходник).
Рис. 8. Пример использования режима синхронизации Stop
Режим синхронизации Stream
Режим синхронизации Stream используется для синхронизации потокового звука и анимации для воспроизведения в Web. Flash подстраивает мультипликацию под темп потокового звука. Потоковый звук имеет приоритет перед визуальным рядом: если Flash не может прорисовывать кадры мультипликации достаточно быстро, он пропускает их, а целостность звучания сохраняется. В отличие от звуков события, потоковый звук прекращается, если останавливается анимация. Также потоковый звук никогда не может играть дольше, чем воспроизводится количество кадров, которое он занимает.
Пример потокового звука голос персонажа мультипликации, воспроизводимый в течение большого количества кадров.
Зацикливание звука
Для того чтобы снабдить клип фоновой музыкой, не сильно увеличив при этом вес файла, применяют зацикливание воспроизведения звука. В качестве исходных звуков в данном случае используются так называемые звуковые петли (Sound Loops). Найти звуковые петли можно на том же Flashkit.com в разделе Loops Home (рис. 9).
Рис. 9. Loop-фрагменты на Flashkit.com
Рассмотрим пример, в котором нужно обеспечить звучание фоновой музыки в течение 8,2 мин, имея Loop-фрагмент на 8,2 с. Задача решается просто: устанавливаем количество повторов 60, и фоновая музыка обеспечена (рис. 10).
Рис. 10. Пример использования фоновой музыки
В результате получим следующий пример. Обратите внимание: несмотря на то что звуковой файл повторяется многократно, вес SWF-файла остается постоянным при однократном и многократном зацикливании.
Теперь посмотрим, что будет, если мы поместим тот же Loop-фрагмент в режиме синхронизации Stream и зададим разное количество повторов Repeat. При однократном повторе (при частоте 12 кадров/с) понадобится создать на монтажной линейке как минимум 97 кадров (рис. 11).
Рис. 11. Режим синхронизации Stream, количество повторов — один
Если же мы хотим повторить петлю дважды (рис. 12), нам потребуется вдвое больше кадров, соответственно вес файла увеличится вдвое. Таким образом, повтор потоковых звуков не рекомендуется.
Рис. 12. Фильм занимает в два раза больше кадров
Рис. 13. Добавление фоновой музыки
Теперь рассмотрим пример, в котором используем тот же Loop-фрагмент для звукового сопровождения анимации (рис. 13). Для помещения звукового файла создадим слой sound. Обратите внимание: если мы добавим Loop-фрагмент, который превышает 34 кадра (длина анимационного ролика), и поставим режим синхронизации Event и режим повторов Loop, то мелодия будет накладываться сама на себя. Если же мы поставим параметры Start/Loop (как показано на рис. 13), то получим следующий озвученный фильм.
Добавление звука к кнопке
Интерфейс становится более выразительным, когда нажатие на кнопки сопровождается не только визуальными, но и звуковыми эффектами. Кстати, на Flashkit.com есть целый раздел, посвященный звукам для элементов интерфейса. Рассмотрим, как можно добавить звуковые эффекты к кнопкам.
Для начала обратимся к папкам с готовыми кнопками по команде Window => Other Panels => Common Libraries => Buttons (рис. 14). В результате появится панель, рис. 15. Выберем, например, овальную кнопку и переместим ее на рабочий стол сцены. Затем откроем библиотеку проекта по команде Window => Library, выделим кнопку и, щелкнув по ней правой кнопкой, выберем режим редактирования — Edit (рис. 16).
Рис. 14. Доступ к библиотеке кнопок
Рис. 15. Выбор кнопки из папки Oval buttons
Рис. 16. Переход в режим редактирования кнопки
В результате появится монтажная линейка кнопки (рис. 17). Создадим на этой монтажной линейке новый слой для звука и назовем его Sоund.
Рис. 17. Добавление нового слоя Sound
Если нужно озвучить процесс нажатия кнопки, следует создать ключевой кадр во фрейме с меткой Down. Импортируем в библиотеку необходимый звук, а затем добавим его в ключевой кадр Down (рис. 18).
Рис. 18. Добавление звука кнопке
В панели Properties (рис. 19) выберем режим синхронизации Event (количество повторов 1).
Рис. 19. Режим синхронизации для звука кнопки
В результате получим следующий пример.
Использование средств редактирования звука
Программа Flash позволяет редактировать импортированный звук: задавать точки начала и конца воспроизведения, управлять его громкостью, задавать эффекты и т.д.
Доступ к редактору осуществляется из панели Properties. Для редактирования звукового файла выберите кадр, содержащий звук, и щелкните на кнопке Edit в правой стороне панели Properties. В результате появится панель редактирования шаблона Edit Envelope (рис. 20).
Рис. 20. Окно редактирования шаблона Edit Envelope
Как видно на рис. 20, часть речевого файла, в котором содержится начальная пауза (период с момента включения записи до первого произнесенного слова), расположена вне зоны воспроизведения. Достигается это путем перемещения указателей начала и конца звучания (рис. 21).
Рис. 21. Указатели начала и конца звучания
Для того чтобы исключить ненужные участки, достаточно переместить указатели начала и конца звучания (Time In Control и Time Out Control) так, чтобы в зону воспроизведения попала только речь диктора.
Редактор позволяет также изменить уровень громкости для левого и правого каналов путем перемещения управляющих маркеров (Envelope handles) (рис. 22), которые позволяют установить вид огибающей, определяющей характер изменения громкости.
В нашем примере (см. рис. 22) мы установили маркеры таким образом, чтобы имитировать перетекание звука из одного канала в другой. То есть в правом канале звук начинает воспроизводиться с максимальной громкостью и спадает до минимума, а в левом — наоборот. В результате получается эффект перетекания звука из одного канала в другой.
Рис. 22. Эффект перетекания звука из одного канала в другой
Можно создать и более сложные профили огибающей (рис. 23). Дополнительные маркеры (общим количеством до восьми) создаются простым щелчком на огибающей линии уровня звука. Чтобы удалить маркер, его следует перетащить за пределы окна.
Рис. 23. Добавляя маркеры, можно задавать сложный профиль огибающей
Эффект, который мы создали в примере (см. рис. 22) вручную, путем перетаскивания маркеров, можно задать проще. Для этого следует обратиться к окошку Effect, которое расположено в верхней части панели Edit Envelope (рис. 24).
Если выбрать в этом окошке режим Fade Right to Left (рис. 24), то огибающие примут тот же вид, что и на рис. 22.
Рис. 24. Эффект Fade Right to Left
Если выбрать обратный эффект (Fade Left to Right), то получим расположение огибающих, показанное на рис. 25.
Рис. 25. Эффект Fade Left to Right
С другими эффектами читатели легко разберутся сами.
Сжатие звуков для экспорта
Звук, несомненно, украшает Flash-проект, однако вес файла при добавлении звука увеличивается и соответственно скорость доставки фильма из Web падает.
Flash позволяет настроить опции сжатия для отдельных звуков, то есть для различных типов звуков (музыка, короткие звуки, речь) подобрать разные алгоритмы сжатия. Также можно настроить опции компрессии для всех событийных и потоковых звуков одновременно.
Применение компрессии к выбранным звукам
Flash позволяет применить опции компрессии к выбранным звукам для экспорта.
Для установки экспортных свойств для отдельного звука щелкните правой кнопкой мыши на звуковом файле в окне библиотеки и выберите пункт Рroperties в контекстном меню. в результате появится панель Sound Properties (рис. 26).
Рис. 26. Панель Sound Properties
Рис. 27. Опции сжатия
Выберите одну из опций сжатия (рис. 27): Default, ADPCM, MP3, Raw или Speech. Опция сжатия Default использует при экспорте Flash-клипа стандартные параметры сжатия звука, заданные в диалоговом окне Publish Settings. При выборе сжатия Default все дополнительные экспортные настройки становятся недоступны.
Опция сжатия ADPCM позволяет использовать алгоритм сжатия ADPCM (Adaptive Differential Pulse Code Modulation), производящий сжатие с фиксированной скоростью, при котором все данные сжимаются на одну и ту же величину. Использование ADPCM-компрессии целесообразно при экспорте коротких звуков типа щелчков кнопки.
Опция сжатия MP3 позволяет экспортировать звуки с MP3-компрессией. MP3 (MPEG-1 Audio Layer-3) — эффективный алгоритм, уменьшающий количество избыточной информации, которая используется для описания цифрового звука, и учитывающий особенности восприятия звука. Известно, например, что человеку свойственна неравномерная чувствительность к восприятию звука на разных частотах. Целесообразно использовать формат MP3 при экспорте длинных звуковых фонограмм, таких как музыкальные композиции. При экспорте импортированного MP3-файла можно оставить те настройки, с которыми он был импортирован.
Опция Raw экспортирует звуки без компрессии.
Опцию Speech целесообразно выбрать для экспорта речи. В данном случае будет использован алгоритм компрессии, специально адаптированный для сжатия речи.
Применение компрессии ко всем звукам
На этапе экспорта проекта в Swf-файл, производимого по команде File => Export => Export Movie, после того, как вы определите имя сохраняемого файла, появится панель вида, как на рис. 28.
Рис. 28. Панель Export Flash Player
Для задания частоты и степени сжатия звука для всех потоковых звуков и звуков событий в клипе нажмите на кнопку Set напротив Audio Stream для редактирования потоковых звуков (см. рис. 28) или Audio Event для редактирования событийных звуков и выберите опции компрессии, частоты и качества в диалоговом окне Sound Settings (рис. 29).
Рис. 29. Панель Sound Settings
Общие рекомендации по экспорту звука
- Не зацикливайте потоковые звуки.
- Корректируйте точки начала и окончания звуков, чтобы не сохранять тишину.
- Используйте один и тот же звук, применяя к нему различные эффекты, чтобы добиться иллюзии воспроизведения различных звуков.
- Используйте индивидуальный режим сжатия для разных звуковых файлов.
- Используйте Loop-фрагменты (Петли) для коротких звуков при создании фоновой музыки.