Читаем Sound Forge 9 полностью

Таким образом, аналоговый сигнал превращается в последовательность чисел, которая является почти готовым файлом. Файл формата WAVE (несжатый звуковой поток), помимо такой последовательности, содержит также сведения о том, с какой частотой и разрядностью оцифровывался сигнал, и некоторую другую служебную информацию. Легко рассчитать, какой объем информации занимают данные о звуке. Если, например, в секунду производилось 44 000 замеров уровня сигнала, а каждый замер занимает 16 бит, то для хранения одной секунды фонограммы нужно 44000 × 16 = 704 000 бит, то есть примерно 690 Кбит, или 86 Кбайт.

Примечание

1 байт = 8 бит, 1 Кбит = 1024 бит, а 1 Кбайт = 1024 байт. Эти соотношения позволят сориентироваться в приводимых числах: объем данных принято измерять в байтах, а скорость передачи данных выражают и в битах в секунду, и в байтах в секунду.

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

Сжатие звука

Формат WAVE достаточно точно сохраняет данные исходного аналогового сигнала, но является очень расточительным в отношении объема, занимаемого информацией. Тем не менее этот формат предпочтителен для первоначальной записи звуковых данных, которые впоследствии нужно будет обрабатывать. На практике обычно прибегают к сжатию звукового потока, которое почти всегда сопряжено с потерей части информации, а иногда и с появлением дополнительных искажений.

Не вдаваясь в подробности алгоритмов сжатия, скажем, что в основе их лежит обман слуха, связанный с особенностями субъективного восприятия звука человеком. Психоакустическая модель позволяет упростить оригинальный сигнал так, чтобы объем данных уменьшился существенно, а качество звучания оставалось на приемлемом для большинства слушателей уровне. В частности, применяется удаление из сигнала наименее заметных частотных составляющих, искусственное сужение динамического диапазона и другие хитрые приемы.

Среди алгоритмов сжатия широко известны MPEG-1 Layer I, II, III (последний также называют MP3), MPEG-2 AAC (Advanced Audio Coding), Ogg Vorbis, Windows Media Audio (WMA). Сжатие оцифрованного звука по этим методам позволяет уменьшить объем данных в десять и более раз. Применительно к сжатому звуку, помимо частоты дискретизации и разрядности, используют третье понятие – битрейт – объем данных, соответствующий одной секунде звучания и измеряющийся в килобитах в секунду (Кбит/с, kilobits per second). При прочих равных параметрах, чем ниже битрейт, тем больше степень сжатия и, соответственно, ниже качество.

На практике нужно стараться по возможности обрабатывать звуковые данные в несжатом виде, а сжимать их уже на завершающем этапе. Каждая последующая перекодировка неизбежно только ухудшает качество: сжатие – процесс односторонний и необратимый. Точно так же ресэмплинг (от англ. resampling – изменение частоты дискретизации оцифрованных аудиоданных) не способен восстановить в сигнале изначально отсутствующие в нем данные!

Синтез звука и формат MIDI

До настоящего момента речь шла об оцифровке и обработке реального звука, получаемого и записываемого с различных источников. Существует и совершенно иная задача – создание (синтез) звука на компьютере. Синтезатор – это набор управляемых генераторов, способный выдавать звуки с заданными характеристиками по командам исполнителя-музыканта.

Известно всего два метода синтеза звука: FM (Frequency modulation – частотная модуляция) и WT (Wave Table – таблично-волновой). В основе FM-синтеза лежит идея, что любое колебание является суммой простейших синусоид. Таким образом, можно наложить друг на друга сигналы от конечного числа генераторов синусоид и путем манипуляций с их частотами и амплитудами извлечь звуки, похожие на настоящие, полученные физическими методами.

Таблично-волновой WT-синтез основан на преобразовании заранее записанных (оцифрованных) образцов звуков реальных музыкальных инструментов. Эти образцы (сэмплы) хранятся в постоянной памяти синтезатора и составляют таблицу (sample table), из которой выбираются нужные звуки.

Синоним слова «синтезатор» – секвенсор (от англ. sequence – последовательность). Музыкальный синтезатор – это устройство, работающее с последовательностью команд или описаний. Нередко синтезаторы выполняются в виде самостоятельных электронных устройств, снабженных собственной клавиатурой и интерфейсами вывода звука, и являются полноценными музыкальными инструментами. Роль синтезатора может играть и обычный персональный компьютер, в котором синтезатор представлен двумя способами.

Перейти на страницу:

Все книги серии Видеосамоучитель

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
C++: базовый курс
C++: базовый курс

В этой книге описаны все основные средства языка С++ - от элементарных понятий до супервозможностей. После рассмотрения основ программирования на C++ (переменных, операторов, инструкций управления, функций, классов и объектов) читатель освоит такие более сложные средства языка, как механизм обработки исключительных ситуаций (исключений), шаблоны, пространства имен, динамическая идентификация типов, стандартная библиотека шаблонов (STL), а также познакомится с расширенным набором ключевых слов, используемым в .NET-программировании. Автор справочника - общепризнанный авторитет в области программирования на языках C и C++, Java и C# - включил в текст своей книги и советы программистам, которые позволят повысить эффективность их работы. Книга рассчитана на широкий круг читателей, желающих изучить язык программирования С++.

Герберт Шилдт

Программирование, программы, базы данных
C++
C++

С++ – это универсальный язык программирования, задуманный так, чтобы сделать программирование более приятным для серьезного программиста. За исключением второстепенных деталей С++ является надмножеством языка программирования C. Помимо возможностей, которые дает C, С++ предоставляет гибкие и эффективные средства определения новых типов. Используя определения новых типов, точно отвечающих концепциям приложения, программист может разделять разрабатываемую программу на легко поддающиеся контролю части. Такой метод построения программ часто называют абстракцией данных. Информация о типах содержится в некоторых объектах типов, определенных пользователем. Такие объекты просты и надежны в использовании в тех ситуациях, когда их тип нельзя установить на стадии компиляции. Программирование с применением таких объектов часто называют объектно-ориентированным. При правильном использовании этот метод дает более короткие, проще понимаемые и легче контролируемые программы. Ключевым понятием С++ является класс. Класс – это тип, определяемый пользователем. Классы обеспечивают сокрытие данных, гарантированную инициализацию данных, неявное преобразование типов для типов, определенных пользователем, динамическое задание типа, контролируемое пользователем управление памятью и механизмы перегрузки операций. С++ предоставляет гораздо лучшие, чем в C, средства выражения модульности программы и проверки типов. В языке есть также усовершенствования, не связанные непосредственно с классами, включающие в себя символические константы, inline-подстановку функций, параметры функции по умолчанию, перегруженные имена функций, операции управления свободной памятью и ссылочный тип. В С++ сохранены возможности языка C по работе с основными объектами аппаратного обеспечения (биты, байты, слова, адреса и т.п.). Это позволяет весьма эффективно реализовывать типы, определяемые пользователем. С++ и его стандартные библиотеки спроектированы так, чтобы обеспечивать переносимость. Имеющаяся на текущий момент реализация языка будет идти в большинстве систем, поддерживающих C. Из С++ программ можно использовать C библиотеки, и с С++ можно использовать большую часть инструментальных средств, поддерживающих программирование на C. Эта книга предназначена главным образом для того, чтобы помочь серьезным программистам изучить язык и применять его в нетривиальных проектах. В ней дано полное описание С++, много примеров и еще больше фрагментов программ.

Бьёрн Страуструп , Бьярн Страустрап , Мюррей Хилл

Программирование, программы, базы данных / Программирование / Книги по IT