Работа со звуком

Кирилл Маслинский, Александр Прокудин

Аналоговый и цифровой звук

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

Магнитофон ещё раз передаёт форму волны — на этот раз из электрического сигнала через провод в магнитный сигнал на плёнке. Когда запись воспроизводится, происходит обратный процесс — магнитный сигнал преобразовывается в электронный, который вызывает вибрацию динамика (как правило, электромагнитного).

Основным устройством при цифровой записи является аналогово-цифровой преобразователь (АЦП, Analog to Digital Converter, ADC). АЦП захватывает фрагмент электрического напряжения в звуковом тракте и представляет его в виде числа, которое затем передаётся в компьютер. При захвате напряжения несколько тысяч раз в секунду можно получить достаточно близкий к оригиналу сигнал. Единица захвата называется сэмплом (каждое число в звуковом файле представляет соответствует одному сэмплу в волновой форме).

Существует два фактора, определяющих качество цифровой записи:

Частота дискретизации

Частота, с которой захватываются или воспроизводятся сэмплы, измеряемая в Герцах (Гц) или количестве сэмплов в секунду. Обычный звуковой компакт-диск записывается с частотой дискретизации 44100 Гц, чаще обозначаемой как 44 кГц для краткости. Эта же частота дискретизации по умолчанию используется для большинства цифровых.

Формат (размер) сэмпла

Количество разрядов в цифровом представлении каждого сэмпла. Представьте себе, что частота дискретизации откладывается на графике по горизонтали, а размер сэмпла по вертикали. Разрядность звукового компакт-диска равно 16 битам, что соответствует примерно 5 десятичным знакам.

Более высокие частоты дискретизации при цифровой записи обеспечивают аккуратную запись более высоких частот. Частота дискретизации должна быть как минимум вдвое больше самой высокой желаемой частоты. Считается, что среднестатистическое человеческое ухо не различает частоты выше 20 000 Гц, поэтому 44 100 Гц было выбрано стандартом для звуковых компакт-дисков. Сейчас постепенно происходит переход к частотам 96 и 192 кГц, в частности, в рамках формата DVD-Audio. Тем не менее, многие люди попросту не слышат разницы между звуком с частотой дискретизации 44,1 кГц и 192 кГц.

Больший размер сэмплов обеспечивает больший динамический диапазон, т. е. возможность представить более громкие звуки и более тихие. Если вы знакомы со шкалой децибелов (Дб), то можно привести пример обычных звуковых компакт-дисков: их динамический диапазон в теории составляет 90 Дб, но в реальности звуки тише -24 Дб звучат неправдоподобно. Audacity поддерживает ещё два размера сэмплов: 24 бита, который чаще всего используется в студийной цифровой записи, и 32 бита с плавающей точкой, динамический диапазон которого перекрывает все мыслимые потребности, при том что данные с этими параметрами занимают лишь в два раза больше дискового пространства в сравнении с 16-битным звуком.

При воспроизведении цифрового звука используется цифро-аналоговый преобразователь (ЦАП, Digital-to-Analog Converter, DAC). В этом случае для воссоздания исходного и позднее оцифрованного при помощи АЦП сигнала берётся сэмпл, из которого устанавливается определённое напряжение на аналоговых выходах. Первые проигрыватели компакт-дисков только это и делали, поэтому качество звука получалось не слишком хорошим. Современные проигрыватели дополнительно к этому разглаживают звуковой сигнал путём выборки с запасом по частоте дискретизации. Качество фильтров в ЦАП также влияет на воссоздаваемый звуковой сигнал. Фильтр является одним из этапов адаптации сигналов в ЦАП.

Неизбежные потери при переходе от аналогового формата представления звука к цифровому могут быть компенсированы рядом преимуществ цифровой записи. Цифровые данные можно копировать сколько угодно, причём не происходит никаких потерь в качестве. Эти данные можно записать на музыкальный компакт-диск или выложить в Интернет в виде файлов в сжатом формате. Кроме того, цифровые записи гораздо легче редактировать, чем аналоговые плёнки.

В персональном компьютере есть все необходимые устройства для преобразования звуковых данных из аналогового формата в цифровой и обратно. В первую очередь это звуковая карта — отдельное дополнительно устанавливаемое устройство вроде Creative SBLive!, а может быть и интегрированный в материнскую плату звуковой чип. В обоих случаях звуковое устройство содержит аналогово-цифровой преобразователь (АЦП) для записи звука и цифро-аналоговый преобразователь (ЦАП) для его воспроизведения. Используемая вами операционная система взаимодействует со звуковой картой, передавая ей команды на запись и воспроизведение, а различные программы взаимодействуют с операционной системой, так что вы можете записать звуки в виде файлов, изменять их и смешивать при воспроизведении.

Аудио CD

Звуковая информация на так называемых «музыкальных дисках» (Audio CD) хранится в формате CDDA (Compact Disc Digital Audio). К созданию этого формата в своё время приложили руку компании Philips™ и Sony™, а презентация CDDA произошла ещё в 1978 году. В настоящее время данный формат широко поддерживается программами воспроизведения звука, поэтому слушать музыкальные диски можно при помощи любого доступного в системе плеера, а если на устройстве чтения CD-ROM есть аудио-выход, то для этого даже не требуется наличие звуковой карты. Для воспроизведения музыкальных дисков из командной строки существует программа cdp, новые версии которой позволяют визуально перемещаться между треками, а также задавать имя исполнителя и название альбома.

Стоит также упомянуть, что помимо обычного варианта формата существует Enhanced CD — расширенный формат CDDA. Такие диски могут кроме музыкальных треков содержать и данные, которые считываются при помощи ПК — текст, фотографии, видео. CDDA пророчат скорую гибель по причине появления форматов DVD-Audio и HDCD, однако до сих пор этого не произошло, и, скорее всего, произойдёт ещё не так скоро.

Цифровое копирование дорожек Audio-CD

В данном разделе описывается реализация в Linux достаточно спорной с точки зрения звукозаписывающих компаний технологии цифрового копирования (иначе, копирования без потери качества) дорожек с музыкальных компакт-дисков [39]. Оставив в стороне проблемы легальности, отметим, что насущная для пользователей потребность в создании цифровых копий аудионосителей привела к разработке достаточно мощных свободных технологий соответствующего назначения.

Результат извлечения звуковой дорожки с музыкально диска — цифровой звуковой файл без сжатия, чаще всего в формате WAV. Наиболее популярной и часто используемой свободной программой для цифрового извлечения треков является cdparanoia, название которой обязано своим происхождением одной из ключевых функций программы — распознаванию и исправлению ошибок при считывании дисков с дефектами.

Программа cdparanoia запускается из консоли или любого эмулятора X-терминала (Eterm, xterm и т. п.), что позволяет при желании автоматизировать процесс копирования путём написания скрипта на любом языке. Вот наиболее употребительные опции cdparanoia, полный перечень которых можно найти в man-странице программы (man cdparanoia):

-B, --batch

пакетная обработка — каждый трек сохраняется в отдельный файл;

-w, --output-wav

записать файл в формате WAV (используется программой по умолчанию);

-S, --force-read-speed n

извлекать треки со скоростью n (относительно 1X CD-ROM);

-Z, --disable-paranoia

отменить проверку корректности считывания данных;

-X, --abort-on-skip

если трек некорректно считывается из-за царапины на носителе, программа прекращает его считывание и удаляет с жёсткого диска частично записанную копию.

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

Корректное извлечение треков будет сопровождаться показом следующих рожиц:

:-)

корректное считывание без джиттера [40]

:-|

удовлетворительное качество считывания, умеренный джиттер

Если на поверхности диска видны те или иные дефекты, вероятнее всего, вы будете наблюдать следующие рожицы:

:-/

ошибка при считывании

:-P

потеря данных при извлечении трека

8-|

найдены проблемы при повторном считывании того же «проблемного» участка

:-(

обнаружена царапина

В исключительно неприятном случае вы увидите:

:-0

ошибка привода SCSI/ATAPI

;-(

отказ выполнить коррекцию

8-X

считывание отменено вследствие непоправимой ошибки

Свидетельством же удачного исхода операции будет значок:

:^D

извлечение удачно завершено!

Для cdparanoia существует несколько графических интерфейсов, наиболее известным из которых является grip.

Несжатые аудиоданные

Для цифровой записи звуковых данных используются форматы WAV, AU, VOC, RAW. Главная проблема, связанная с этими форматами — их неэкономичность: для представления сравнительно небольшого по времени звучания отрывка требуется значительное дисковое пространство, которое возрастает прямо пропорционально росту качества записи. Именно поэтому широкое распространение получили сжатые форматы представления звуковых данных (см. следующий раздел). Однако при сжатии неизбежна потеря качества, поэтому несжатые цифровые аудиоданные необходимы для решения ряда прикладных задач.

Для поддержки воспроизведения и записи звука в форматах AIFF, AU и WAV с битностью 8, 16, 24 и 32, а также 32 бита с плавающей точкой, для WAV существует библиотека libsndfile.

Для воспроизведения несжатых файлов лучше всего воспользоваться программами play (пакет sox) или aplay (пакет alsa-utils) при использовании OSS или ALSA в качестве звуковой подсистемы. Их опции можно найти в man-страницах.

Для преобразования между различными форматами можно использовать программу sox, без которой не поставляется ни один дистрибутив Linux. Подробнее о ней рассказано в отдельной главе.

Для обработки несжатых аудиоданных существует достаточно много удобных свободных приложений, некоторые из которых вы можете найти в составе ALT Linux 2.4 Master — это Audacity, Glame и Snd.

Сжатие звуковых данных

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

Если представить, что сигнал заданной длины разбивается на много частей, и каждая часть обрабатывается таким образом, чтобы более слабый сигнал, трудно различимый на фоне сильного, попадал «под нож», а более сильный сигнал оставался, то это и будет приблизительной моделью компрессии аудиосигнала. Соответственно, уровень сжатия данных будет зависеть от того, на сколько именно частей (семплов) будет разбиваться исходный файл, и как много слабых сигналов в каждом отдельно взятом семпле будет удалено (каков будет битрейт — количество битов в семпле заданной длительности).

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

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

Очевидно, что при более высокой частоте семплирования (выборки) в 44.1–48.0 КГц и более высоком битрейте (от 160–192 Кбит/сек) мы получим более соответствующий оригиналу звук, чем при частоте семплирования в 22 КГц и битрейте 64 Кбит/сек. Однако размер конечного сжатого файла прямо пропорционален частоте выборки и выбранному битрейту, и именно этим зачастую руководствуются люди, распространяющие музыку в сжатом виде.

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

Ogg Vorbis

Ogg Vorbis — это полностью открытый аудиоформат, позволяющий хранить и передавать аудиоинформацию с высоким качеством звука (частота семплирования 44.1-48.0 КГц, 16+ бит, полифония (многоканальный звук)) и битрейтом, варьирующимся от 16 до 512 Кбит/сек на канал. При этом количество обрабатываемых каналов может достигать 255. Это позволяет поставить Vorbis в один ряд с MPEG-4 audio (AAC и TwinVQ), WMA и PAC — и явно выше, нежели MPEG-1 audio layer 3 (MP3).

Ogg Vorbis также является поточным форматом, что позволяет использовать его, к примеру, для интернет-вещания — тем более, что этот формат поддерживается Icecast. Особенности алгоритма кодека позволяют получать конечный файл меньшего размера, чем файлы MP3 аналогичного качества.

Сжатие в формат Ogg Vorbis осуществляется при помощи программы oggenc из пакета vorbis-tools.

Синтаксис таков:

oggenc [ опции_кодирования ] исходный_файл.wav [ шаблон ] [ конечный_файл.ogg ]

-B n, --raw-bits=n

битность записи (по умолчанию равна 16)

-C n, --raw-chan=n

установить количество каналов для кодируемого потока (по умолчанию используется два, но помните, что при желании можно использовать до 255 каналов)

-R n, --raw-rate=n

частота семплирования (по умолчанию устанавливается 44100 Гц)

-b n, --bitrate=n

битрейт (Кбит/сек)

-m n, --min-bitrate=n

минимально допустимый битрейт (Кбит/сек)

-M n, --max-bitrate=n

максимально допустимый битрейт (Кбит/сек)

-q n, --quality=n

установить степень сжатия n, могущую находиться в пределах от 0 (низкое качество звука) до 10 (максимально возможное качество звука)

-o output_file , --output=output_file

записать кодируемый поток в файл

-n pattern , --names=pattern

позволяет записывать имена файлов, опираясь на заданные теги %a (исполнитель), %t (название композиции), %l (альбом), %G (жанр)

-c comment, --comment comment

задаёт дополнительный комментарий.

При пакетном сжатии файлов, имеющих общее происхождение, есть смысл использовать шаблоны (patterns). Вот как выглядит работа с шаблонами:

oggenc -b 192 -a "Имя исполнителя" -l "Альбом" -t "Название первой композиции" название_соответствующего_ей_первого_исходного_файла.wav -t "Название второй композиции" название_соответствующего_ей_второго_исходного_файла.wav -t "Название третьей композиции" название_соответствующего_ей_третьего_исходного_файла.wav -n "%a - %t.ogg"

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

Запись комментариев

В формате Ogg Vorbis, как и в ряде других форматов, можно хранить данные об имени исполнителя, названии песни и т.д. — иными словами, комментарии. В сумме эти поля, будь то название песни или год её издания, называются общим словом «тег». Для того, чтобы записать подобные служебные данные в файл, вы можете выбрать один из двух вариантов:

  1. При помощи команды

    vorbiscomment -l file.ogg > file.txt

    данные из файла записываются в текстовый файл. Эти данные вы можете отредактировать, а затем командой

    vorbiscomment -w -c файл_с_тегами.txt файл_в_который_записать.ogg новый_файл.ogg

    записать обратно в файл, но уже с новым именем (новый_файл.ogg).

    Обратите внимание на то, что каждый тег пишется в отдельной строке:

                  title=Dream On
                  artist=Depeche Mode
                  date=2001
                  album=Exciter
    

  2. Командой вида

    vorbiscomment -a -t 'тип_тега=содержание тега' файл_в_который_записать.ogg новый_файл.ogg

    напрямую записывается содержание того или иного тега.

Вот список стандартных тегов: title, artist, date, album.

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

vorbiscomment -a -t 'Студия звукозаписи=СамСебеRecords' file.ogg

Итак, вот опции, которыми вы можете воспользоваться для работы с тегами:

-a

добавить комментарий (Append comments);

-c

записать комментарий из файла (commentfile);

-l

вывести записанные в файле комментарии;

-t 'тип_тега=содержание_тега'

назначить новый тег;

-w

заменить записанный ранее комментарий на новый из командной строки через опцию -t, либо из файла с опцией -c.

MP3

MP3 или MPEG-1 audio layer 3 является на сегодняшний день наиболее популярным форматом для хранения и передачи данных в сжатом виде. Этот формат был разработан в Frauenhofer Institut, Германия. Однако, несмотря на повсеместную распространённость формата, не следует забывать, что патент на алгоритмы кодирования и декодирования MP3 принадлежит одной компании, поэтому конечный пользователь в любой момент может оказаться в весьма невыгодных условиях, как это уже произошло с разработчиками свободных средств сжатия данных в MP3. Подробности об условиях лицензирования вы можете получить на сайте разработчиков.

Таблица 8.9. Разработчики предлагают для ознакомления следующие характеристики кодека.

Качество звукаДиапазон частотРежимБитрейтКоэффициент сжатия
«телефонный» звук2.5 КГцмоно8 Кбит/сек96 : 1
Лучше коротковолнового радио (short-wave radio)4.5 КГцмоно16 Кбит/сек48 : 1
Лучше СВ-радио (средние волны, AM) 7.5 КГцмоно32 Кбит/сек24 : 1
На уровне FM-радиостанции11 КГцстерео56...64 Кбит/сек26...24 : 1
Близкое к качеству компакт-диска15 КГцстерео96 Кбит/сек16 : 1
Качество компакт-диска> 15 КГцстерео112..128 Кбит/сек14..12 : 1

Наиболее качественным кодеком считается lame, который в течение последних лет и берётся для проведения различных тестов[41]. Из немалого набора опций рассмотрим основные.

-m mode

режим кодирования = s, j, f, d, m.

Немного подробнее о режимах кодирования:

(s)tereo

сигнал кодируется «как есть», независимо от соотношения слабых и сильных сигналов в каждом канале;

(j)oint stereo

применяется для треков с незначительным стереоразделением каналов;

(f)orced joint stereo

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

(d)ual channels

два канала будут кодированы абсолютно независимо друг от друга; это позволяет, к примеру, записать в один канал речь на одном языке, а во второй канал — на другом языке;

(m)ono

конечный файл будет записан в монофоническом режиме. Если оригинал был стереофоническим, он будет пересемплирован в монофонический суммированием сигналов правого и левого каналов с сопутствующим понижением выходного уровня на 6 децибел;

Интересной опцией является --freeformat. Использование этой опции позволяет задать любой произвольный битрейт выше 8 Кбит/сек. Однако стоит учитывать возможности средств декодирования: тесты показывают, что поток с битрейтом больше 640 Кбит/сек не способен воспроизвести ни один из существующих декодеров.

При кодировании в MPEG-1 Layer 3 (MP3) следует при помощи опции -b указывать один из следующих постоянных битрейтов (при частоте семплирования 32, 44.1 или 48 КГц): 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320.

Эта операция осуществляется при помощи программы mp3info, находящейся в отдельном пакете.

Комментарии задаются из командной строки следующим образом. Флажком активируется запись тегов, которые задаются следующими опциями:

-a artist

исполнитель;

-c comment

комментарий;

-g genre

жанр;

-l album

название альбома;

-n track

номер трека (тип комментариев ID3 v1.1);

-t title

название композиции;

-y year

год регистрации авторского права на композицию (год официального релиза).

Пример использования:

mp3info -i -t АрияNo.2 -a Паваротти -l Лучшее -y 2002 -c Всё_что_придёт_в_голову -n 2 -g опера

Для воспроизведения файлов, записанных в формате MP3, можно использовать как консольные программы, так и графические оболочки к ним. В ALT Linux 2.4 Master входит две консольные программы — mpg123 и mpg321. С функциональной точки зрения они практически идентичны, однако mpg123 больше подходит для использования на маломощных компьютерах.

WMA

Формат WMA является закрытой разработкой компании Microsoft. Ему не удалось занять сегмент рынка, сравнимый с таковым у MP3, однако определённую популярность, несмотря на выявленные серьёзные проблемы с безопасностью, он имеет. В настоящий момент воспроизводить файлы в формате WMA умеет только универсальный проигрыватель MPlayer. Свободных программ для сжатия данных по этому алгоритму не существует и появление их маловероятно.

Синтезированный звук

MIDI (Musical instrument Digital Interface) — это протокол, который был разработан в начале 1983 года ведущими фирмами-производителями музыкального оборудования, такими как Roland™, Korg™, E-mu™, Yamaha™ и другими. Изначально он был предназначен для замены принятого в то время способа управления музыкальными инструментами при помощи аналоговых сигналов управлением при помощи информационных сообщений (events), передаваемых по цифровому интерфейсу. Впоследствии он стал стандартом де-факто в области электронных музыкальных инструментов и компьютерных модулей синтеза. В настоящее время существует несколько стандартов протокола MIDI: XG, GS, GM и другие.

Основным понятием в MIDI-протоколе является событие (event) или сообщение. Каждый раз, когда происходит нажатие на клавишу MIDI-клавиатуры, отпускание нажатой клавиши, вращение ручки или нажатие кнопки, устройство формирует соответствующее MIDI-сообщение или событие. Таким образом, MIDI-поток отражает в себе все действия производимые музыкантом, включая динамику исполнения, технические приёмы и прочее. Каждое такое MIDI-событие привязано к временной сетке и набор этих событий представляет из себя способ записи партитуры. Записанное таким образом произведение может быть сохранено в файл (обычно с расширением mid) и использоваться для последующего воспроизведения и/или редактирования; также возможно использование MIDI в «реальном времени».

Очень важно понять, что MIDI-протокол не является протоколом передачи звука, а только лишь «кодирует» действия, совершаемые музыкантом на музыкальном инструменте, и передаёт их устройству, которое, в свою очередь, отвечает за воспроизведение звука. Информация, передаваемая устройству в MIDI-потоке, эквивалентна нажатию клавиш, вращению ручек и нажатию кнопок устройства (естественно, при том условии, что в самом устройстве данной кнопке или ручке соответствует какое-либо MIDI-сообщение).

Для того, чтобы устройство могло передавать и получать MIDI-информацию, оно должно иметь внутри себя программу и микропроцессор, которые интерпретируют MIDI-поток, а снаружи — разъёмы, к которым подсоединяется MIDI-кабель.

Виды MIDI разъёмов:

MIDI Out

MIDI-выход — через этот разъём устройство посылает MIDI-сообщение на другое устройство;

MIDI In

MIDI-вход — через этот разъём устройство получает MIDI-сообщение от другого устройства;

MIDI Thru

сквозной — через этот разъём посылается точная копия любого MIDI-сообщения, которое поступило на разъём MIDI.

Для подсоединения MIDI-устройств к компьютеру используется MIDI/joystick-порт.

MIDI-каналы предназначены для того, чтобы один синтезатор или звуковой модуль мог играть несколькими разными тембрами одновременно, причём каждый тембр (инструмент) исполняет свою независимую партию. Когда одно устройство передаёт канальные MIDI-сообщения на другое, внешне это выглядит так, как если бы они были соединены шестнадцатью кабелями (и по каждому следуют указания о том, какие ноты каким тембром играть). На самом деле MIDI-технология использует один кабель, но в каждое канальное MIDI-сообщение вписывается номер MIDI-канала, для которого оно предназначено. Устройство-получатель, пользуясь этим номером, направляет каждое канальное MIDI-сообщение на свой канал.

Как уже было сказано выше, MIDI-информация не содержит в себе непосредственно звуковых данных, а лишь указания некоему устройству, будь то внешний синтезатор или программа, выполняющая те же функции, которое ответственно за воспроизведение звука. Таким устройством может быть внешний инструмент или же звуковая карта, которая входит в сборку вашего компьютера.

Как правило, звуковые карты воспроизводят MIDI-файлы при помощи FM-синтезатора, встроенного в них. Хотя возможности FM-синтеза велики, как правило, звучание таких синтезаторов оставляет желать лучшего — на звуковых картах часто используются дешёвые чипсеты фирмы Yamaha™ — OPL2/OPL3 или совместимые с ними.

Гораздо более убедительный звук можно получить при помощи wavetable-синтезатора (WT), который представляет из себя комбинацию постоянной памяти, в которую обычно прошиты банки со звуками от фирмы-производителя, и оперативной, в которую могут загружаться пользовательские банки (как, например, на некоторых картах Turtle Beach или Gravis Ultra Sound). Таким образом wavetable-синтезатор совмещает в себе функции синтезатора и семплера, что делает возможным использование как прошитых в ROM банков, так и пользовательских.

Каждый тембр, как правило, состоит из семплов — аудиозаготовок, которые определяют звучание инструмента. Сэмпл может быть как синтезированным так и записанным при помощи реальных инструментов. Когда вы пытаетесь воспроизвести MIDI-файл (например при помощи программы playmidi [42] или любого другого MIDI-плейера), устройство получает сообщение, которое «просит» его воспроизвести ноту определённой высоты определённым тембром — и, в зависимости от того, по какому принципу оно работает, либо синтезирует этот тембр с нужной частотой, либо воспроизводит семпл, который соответствует данному тембру, меняя его высоту (pitch) в соответствии с тем, какова должна быть результирующая высота ноты. Кроме того, при воспроизведении семпла его звук может претерпеть многие другие трансформации, но, к сожалению, их описание выходит за рамки данного текста.

В итоге качество звука, который вы слышите при воспроизведении, зависит от того, насколько качественный синтезатор встроен в вашу звуковую карту, или от того, насколько качественные семплы использованы в её wavetable.

Некоторые карты (например, Creative SB Live!) не имеют фиксированного wavetable и работают по принципу семплера, позволяя загружать в оперативную память компьютера или же в свою собственную память внешние банки звуков (для SB Live! это банки звуков в формате SF2). При этом размер семплов ограничен только объёмом памяти, поэтому при таком варианте воспроизведения MIDI-файлов можно достичь очень неплохого звучания.

В настоящее время возможности семплера SB Live! и многих других карт могут быть полностью использованы в операционной системе Linux при использовании драйверов звуковых устройств ALSA.

Для воспроизведения MIDI-файлов в консоли используются программы playmidi и timidity; при наличии хорошей звуковой карты с WT-синтезом достаточно и первой, а вот при «обычной» карте (и достаточно мощном процессоре — 200 МГц обычно хватает) рекомендуется использовать timidity, которая синтезирует звук достаточно высокого качества, используя центральный процессор.

Трэкерными называют музыкальные файлы, записанные по схожему с MIDI принципу, но отличающиеся от них тем, что в них также записаны семплы, из которых состоит композиция. Это исключает необходимость иметь для их прослушивания звуковую карту, поддерживающую таблично-волновой синтез. Как результат, качество звучания зависит не от возможностей звуковой карты слушателя, а от качества использованных семплов. Поэтому файлы с качественно записанной музыкой порой не отличаются по размеру от аналогов в форматах MP3 или Ogg Vorbis. Такие файлы по-прежнему используются для озвучивания некоторых игр, хотя время их неумолимо истекает. Трэкерные файлы могут иметь расширение MOD, S3M, XM и так далее — их количество приблизительно равно количеству программ для их создания.

Для воспроизведения «трэкерной» музыки в консоли используются две программы — mikmod и xmp; существуют также основанные на «движках» этих программ (и ModPlug) модули для xmms.

Программа mikmod «понимает» форматы IT, XM, MOD, MTM, S3M, STM, ULT, FAR, MED, DSM, AMF, IMF и 669.

В арсенале XMP порядка 50 форматов, среди которых XM, MOD, MOD, M15, IT, S3M, STM, STX, MTM (Multitracker), MTN , IMF , PTM , MDL, ULT, MMD, PTM , DIGI, EMOD, OKT, SFX, FAR, STIM, FC-M, KSM, WN, PM, KRIS, UNIC, AC1D, ZEN, NP, DI, 669, FNK, AMD, RAD, HSC, CRB, ALM и другие.

XMP умеет работать с aRts, ESD и OSS.

В ALT Linux 2.4 Master входит программа soundtracker, которая позволяет создавать трэкерную музыку в популярных форматах S3M и XM.

Проигрывание и конвертирование звукозаписей

Для воспроизведения звука в дистрибутиве ALT Linux 2.4 Master существует множество различных утилит, с помощью которых можно прослушивать звуковые файлы различных форматов. Наиболее распространённой из них является аналог известного проигрывателя Winamp — программа xmms (X MultiMedia System). Поскольку использование этого проигрывателя исключительно похоже на работу с общеизвестным проигрывателем Winamp, то специально описывать его смысла не имеет.

xmms

xmms поддерживает множество форматов звуковых файлов, в том числе MP3, Ogg Vorbis, WAV (в том числе со сжатием), MIDI, MOD. При помощи плагинов поддерживаются не только звуковые, но и видеоформаты.

xmms поддерживает цифровое воспроизведение CDDA при помощи плагина xmms-cdread.

xmms также поддерживает различные варианты внешнего оформления — темы (skins), по формату совместимые с Winamp. Поэтому вы можете использовать как темы для Winamp, так и те, что находятся в пакете xmms-skins в составе дистрибутива.

Также в xmms есть программный эквалайзер и множество модулей для модификации звуков и создания видеоэффектов на экране монитора при воспроизведении музыки.

Единственная проблема, которая может возникнуть у пользователей — это просмотр русскоязычных названий песен в файлах форматов MP3, Ogg Vorbis и других. Проблема происходит из-за того, что стандартом de facto для русских тегов в MP3 является кодировка Microsoft-CP1251, в то время как стандартной в UNIX кодировкой для русского языка является кодировка KOI8-R. Соответственно, без специальной настройки русские теги являются нечитаемыми. Для произведения этой настройки необходимо зайти в меню настроек xmms и нажать там кнопку «Использование русских настроек для xmms» — после этого русские теги должны отображаться нормально.

GQmpeg

GQmpeg не является такой универсальной программой, как xmms, однако с задачей проигрывать файлы в форматах Ogg Vorbis, MP3 и трэкерных форматах (при помощи XMP) она справляется прекрасно. Кроме того, последняя версия поддерживает ещё и радиотюнеры (при установленной системе Video4Linux).

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

В стандартной поставке есть только одна тема, однако на сайте разработчиков вы найдёте порядка 70 других; в отличие от xmms, темы проигрывателя GQmpeg не ограничены стандартным прямоугольным интерфейсом.

К программе также прилагается визуальный редактор тем. Для того, чтобы создать новую тему, заранее продумайте её дизайн, нарисуйте все элементы, а затем по правой клавише мыши вызовите всплывающее меню и выберите в нём пункт Skin editor. В нижней части появившегося окна укажите отдельный каталог, в который вы записали все элементы темы, и нажмите кнопку «Load». Затем последовательно сопоставьте каждому типу элемента свой вариант и нажмите в правом углу кнопку «Save», предварительно задав имя темы (желательно, чтобы оно совпадало с именем каталога, в котором хранятся рисунки).

cdparanoia

Утилита для копирования аудиоинформации с компакт-дисков.

Пакет cdparanoia для чтения файлов в формате CDDA получает данные от привода CDROM напрямую, без промежуточного преобразования в аналоговый сигнал, и записывает их в файл или перенаправляет на ввод другой программы в форматах .wav, .aifc или в виде 16-битного сигнала без обработки. cdparanoia — это полностью переписанная программа cdda2wav Хейко Айсфелдта (Heiko Eissfeldt); обычно более надёжная, чем оригинал, при чтении повреждённых дисков или при использовании дешёвых приводов.

grip

Grip — CD-проигрыватель с возможностью извлечения и сжатия аудиотреков для GNOME. Может использовать встроенную cdparanoia или внешний обработчик; для сжатия можно применять несколько внешних кодеков. Также поддерживается CDDB.

kdemultimedia-kaudiocreator

Программы: kaudiocreator.

KAudioCreator — это приложение для создания звуковых файлов в окружении KDE. Оно позволяет извлекать звуковую информацию с аудиодисков (реализована поддержка CDDB) и кодировать полученный результат заданным кодеком. Также программа предоставляет систему управления заданиями, что помогает отслеживать сбои и степень выполнения заданий.

kdemultimedia-kmidi

Программы: kmidi, sf2cfg.

Проигрыватель MIDI, использующий синтезатор звуковой платы.

kdemultimedia-kscd

Программы: kscd, workman2cddb.pl.

KSCD — это проигрыватель аудиодисков для среды KDE.

kdemultimedia-noatun

Программы: noatun.

Проигрыватель мультимедиа для окружения KDE. Noatun поддерживает проигрывание аудиофайлов в форматах Ogg, MP3 (включая потоковое вещание MP3), MP2, WAV и MOD, а также видеофайлов формата MPEG.

playmidi

Программы: playmidi.

Playmidi проигрывает звуковые файлы в формате MIDI (Musicial Instrument Digita Interface) с помощью синтезатора звуковой платы. Этот пакет содержит образцы основных звуков для проигрывания простыми FM-синтезаторами.

Установите пакет playmidi, если хотите слушать файлы MIDI, используя звуковую плату вашего компьютера.

vorbis-tools

Программы: ogg123, oggdec, oggenc, ogginfo, vcut, vorbiscomment.

В пакете находится программа сжатия звуковых файлов (oggenc), консольная утилита для воспроизведения файлов формата ogg (ogg123) и редактор тегов (vorbiscomment).

Общий принцип порядка воспроизведения таков:

ogg123 [опция] имя_файла ...

Наиболее существенными опциями при воспроизведении являются следующие:

-d, --device

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

  • null — файл проигрывается, но звук не воспроизводится;

  • wav — записывает воспроизводимый файл в файл формата wav;

  • raw — записывает воспроизводимый файл в файл формата raw;

  • au — записывает воспроизводимый файл в файл формата au;

  • esd — передаёт сигнал через звуковой сервер esd;

  • oss — передаёт сигнал через стандартную звуковую систему OSS;

  • alsa — передаёт сигнал через звуковую систему ALSA;

  • arts — передаёт сигнал через звуковой сервер aRts.

-f, --file=filename

указывает на файл, в который будет производиться запись через указанное ранее (при помощи опции -d) устройство;

-z, --shuffle

воспроизводить файлы в случайном порядке.

При воспроизведении по умолчанию будет отображаться некоторая служебная информация вида:

        [alex@avp exciter]$ ogg123 -z 01_dream_on.ogg 02_shine.ogg
        07_freelove.ogg
        Device: OSS audio driver output
        Author: Aaron Holtzman <aholtzma@ess.engr.uvic.ca>
        Comments: Outputs audio to the Open Sound System driver.
        Playing: 01_dream_on.ogg
        Title: Dream On
        Artist: Depeche Mode
        Date: 2001
        Album: Exciter
        Track number: 01
        Time: 00:20.50 [03:59.36] of 04:19.87 (144.2 kbps) Output Buffer 93.8%

Однако, указав в командой строке опцию -q (quiet), вы отключите отображение этой служебной информации.

Вот несколько примеров использования ogg123:

Обычное воспроизведение:

            $ ogg123 файл_для_прослушивания.ogg

Последовательное воспроизведение нескольких файлов:

            $ ogg123 первый_файл.ogg второй_файл.ogg третий_файл.ogg

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

Воспроизведение через OSS:

            $ ogg123 -d oss файл_для_прослушивания.ogg

Воспроизведение через сервер ESD:

            $ ogg123 -d esd файл_для_прослушивания.ogg

Записать ogg-файл в WAV без прослушивания:

            $ ogg123 -d wav -f конечный_файл.wav исходный_файл.ogg

Записать ogg-файл в WAV с одновременным прослушиванием:

              $ ogg123 -d oss -d wav -f конечный_файл.wav исходный_файл.ogg

easytag

EasyTAG — это утилита для просмотра и редактирования тегов ID3v1 и ID3v2 файлов MP3, MP2 и FLAC, а также тегов OGG, использующая графический интерфейс GTK+.

aumix

Программы: aumix, mute, taumix.

Эта программа служит для управления аудио-микшерами из командной строки или с помощью сценариев, в интерактивном режиме в терминале микшер отображается «на весь экран». При работе в окружении X Window интерфейсом программы основывается на GTK+ версии 2.х.

xawtv-radio

Программы: radio.

Консольная программа для управления радиоприёмником.

Звуковой редактор Audacity

Audacity — это мощный многодорожечный звуковой редактор для Windows, Linux и Mac OS X, который разрабатывается группой профессионалов в области обработки цифрового звука. Audacity позволяет:

  • записывать и редактировать звук, а также преобразовывать его в сжатые форматы;

  • обрабатывать звук различными эффектами;

  • сводить несколько дорожек в одну;

  • готовить сведённые дорожки для записи на компакт-диск;

  • удалять шум из старых аналоговых записей.

Проекты

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

В файле проекта описывается то, какие дорожки в него включены, как они располагаются относительно друг друга, а также некоторая служебная информация  — например, имя исполнителя и название композиции. Это полезно не только для сохранения информации об авторстве, но и для последующего экспорта композиции в один из сжатых форматов для распространения[43].

Что касается непосредственно звуковых данных, они записываются в каталог с именем вида Имяпроекта_data, располагающийся там же, где сохранён файл проекта. Таким образом, после сохранения проекта с именем, скажем, Мой_хит.aup, в одном каталоге с ним окажется каталог Мой_хит_data, внутри которого будут находиться все изменённые и записанные извне данные.

Основные индивидуальные параметры проекта — это частота дискретизации и размер сэмпла, которые настраиваются на вкладке «Качество» диалога настройки программы. В проект можно добавлять звуковые файлы с параметрами, отличными от общих для проекта. В этом случае соответствующие характеристики добавляемых данных просто будут подобраны в соответствии с характеристиками проекта. Частоту дискретизации проекта можно быстро поменять, вызвав из левого нижнего угла окна программы список её возможных значений и выбрав одно их них.

Принцип безопасности

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

  1. не позволяют вернуть данные к любой стадии редактирования после очередного сохранения их на диск;

  2. после каждого сохранения данных на диск они хранят последующие изменения в виде полных копий файлов.

Если пункт 1 является причиной описанной выше проблемы, то пункт 2 является распространённой причиной переполнения диска и требует постоянной дефрагментации диска. Пользователю Audacity предоставляется выбор между несколькими способами загрузки звуковых файлов в проект. Для этого необходимо выбрать соответствующий логический переключатель на вкладке Форматы диалога настройки программы.

Способ первый — целиком скопировать оригинал и работать с копией. Второй способ состоит в работе только с неизменёнными фрагментами оригинального файла, все изменённые фрагменты будут записаны на диск отдельно.

У такого подхода есть обратная сторона — скорость загрузки данных в проект. Действительно, редакторы, загружающие данные напрямую с диска, делают это заметно быстрее, ведь им не надо предварительно копировать их. Однако в случае ошибок этот метод опасен возможностью потери целого файла. Первый вариант загрузки данных в Audacity эту проблему решает.

Упомянутый выше второй недостаток стандартного способа работы с данными обойдён в Audacity достаточно элегантно. Каждая дорожка является единым и неделимым объектом (а зачастую в оригинале — и одним файлом) размером не более мегабайта. Минутная дорожка делится на 60 отрезков по секунде каждый. Когда вы накладываете эффект эха на область дорожки между 25-ой и 28-ой минутой, на диске изменяются только 25-ый, 26-ой, 27-ой и 28-ой файлы. Это заметно увеличивает скорость выполнения процедуры, а также позволяет экономить дисковое пространство.

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

Принцип новой дорожки

Audacity всегда записывает звук в новую дорожку. В ряде случаев бывает полезно добавить новую запись вместо старой[44]. Такой функции в программе пока нет, но этот недостаток легко обходится применением нескольких клавиатурных комбинаций (подробнее см. в четвёртом разделе документации).

Типы дорожек

В проекте Audacity может быть несколько типов дорожек:

Звуковые дорожки

В настоящее время Audacity может работать либо с монофоническими, либо со стереофоническими дорожками. В стереофонической дорожке верхний канал будет левым, а нижний — правым. Впрочем, это не мешает записывать многоканальный звук — для этого достаточно на вкладке Audio I/O диалога настроек программы указать нужное (и поддерживаемое звуковой картой) количество каналов. И тогда, если количество каналов будет больше двух, все они будут записывать звук в отдельные монофонические дорожки.

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

Дорожки для заметок

Дорожки для заметок можно использовать для того, чтобы оставлять различные комментарии к звуковым дорожкам. Характер комментариев целиком и полностью зависит от пользователя. Это могут быть тексты песен, маркеры и прочее (о приёмах работы с дорожками заметок подробнее см. в электронной документации к программе в разделе «Дорожки»).

Дорожка времени

Дорожка времени является новой экспериментальной функцией, при помощи которой можно изменять скорость воспроизведения на протяжении всей дорожки. В проекте может быть только одна дорожка времени. Создать её можно через меню Проект. После этого, выбрав пункт Установить диапазон... в меню дорожки, можно изменить нижний и верхний пределы изменения скорости воспроизведения.

Создание и сохранение нового проекта

При каждом открытии нового окна (Ctrl-N) программы автоматически создаётся новый проект. Стоит обратить внимание на то, что в только что созданном проекте доступен только пункт Сохранить проект как... меню Файл.

Для быстрого сохранения проекта Audacity под тем же именем можно воспользоваться клавиатурной комбинацией Ctrl-S.

Добавление дорожек

Самый простой способ добавить дорожку нажать R или кнопку записи. После этого будет автоматически создана новая дорожка, в которую будет производиться запись то тех пор, пока вы не нажмёте клавишу Пробел или кнопку остановки. Дорожку также можно добавить из существующего звукового файла в формате WAV, AIFF, MP3 или Ogg Vorbis, выбрав пункт Импортировать звуковой файл... в меню Проект.

Любая новая дорожка (записана или импортирована в виде существующего файла), будет добавляться в конец проекта, что при достижении некоего критического числа дорожек приведёт к необходимости пользоваться вертикальной полосой прокрутки или колесом мыши. Эта проблема легко решается нажатием комбинации клавиш Ctrl-Shift-F, в то время как по нажатию комбинации клавиш Ctrl-F все дорожки масштабируются до полного умещения в окне по горизонтали.

Воспроизведение

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

Стоит лишь нажать клавишу P или кнопку «пауза», как воспроизведение будет приостановлено до тех пор, пока вы снова не нажмёте клавишу P или кнопку приостановки. Обратите внимание, что в режиме приостановленного воспроизведения отображаются две линии: чёрная линия курсора, показывающая место, откуда начато воспроизведение, и зелёная линия, показывающая, где воспроизведение было приостановлено.

Инструменты

Инструменты для редактирования (5) находятся в отдельной панели, которую можно отцепить (пункт Отцепить контрольную панель в меню Вид) и вместе с кнопками управления переместить в любое удобное место (вернуть панель на законное место можно, выбрав пункт Прицепить контрольную панель в меню Вид).

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

Следующий инструмент предназначен для изменения огибающей амплитуды звукового сигнала. Этот инструмент позволяет достаточно гибко изменять уровень громкости дорожки путём добавления в дорожку контрольных точек. Каждая контрольная точка устанавливает амплитуду (уровень громкости) в данной точке времени  — от нуля до 150% от нормальной громкости, причём громкость линейно изменяется между каждыми двумя точками.

Например можно добавить контрольные точки в позициях, соответствующих 1.0, 3.0, 5.0, 7.0, и 9.0 секундам. У каждой контрольной точки есть до 4 регуляторов, равномерно распределённых по вертикали. Верхний и нижний обозначают положение контрольной точки относительно нормального уровня громкости, а два средних позволяют задавать громкость выше нормальной (>1.0).

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

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

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

Инструмент для масштабирования отображения дорожки работает в нескольких частях дорожки. Например, когда курсор мыши попадает на область вертикальной линейки, автоматически происходит переключение на него. Одиночным щелчком производится увеличение отображения волновой формы сигнала по вертикали, а по щелчку с нажатой клавишей Shift или щелчку правой кнопкой мыши производится отдаление отображения. Каждый раз масштабирование производится с коэффициентом 2, что удобно для точного редактирования огибающей.

При отдаляющем вертикальном масштабировании Audacity будет автоматически привязано к диапазону -1...1, как только эти значения становятся наиболее близкими. При возникновении проблем с восстановлением вертикальной линейки рекомендуется отдалить отображение до диапазона -2...2, а затем одним щелчком приблизить до -1...1.

Когда курсор мыши находится над самой дорожкой, проведите им по ней выделяющим движением. Отображение выделенной части дорожки будет автоматически приближено. Для отдаления также воспользуйтесь комбинацией Shift-щелчок левой клавишей мыши или щелчок правой клавишей мыши.

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

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

Редактирование звуковых данных

Все основные функции редактирования вынесены на панель редактирования. Если задержать курсор мыши над каждой кнопкой, появится всплывающая подсказка, поясняющая действие, выполняемое по нажатию кнопки.

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

Дополнительные функции — вырезать все данные вне выделения (Правка — Обрезать по краям, Ctrl-T) и заполнить выделение тишиной (Правка — Заполнить тишиной, Ctrl-L). При помощи первой функции вместо всей дорожки остается только выделенный фрагмент, а при помощи второй достигается заглушение его. Вторая функция используется при работе с несколькими дорожками.

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

Предусмотрено, что любое действие можно отменить, а отменённое повторить. Для этого можно воспользоваться соответствующими кнопками на панели редактирования, первыми двумя пунктами меню Правка или горячими клавишами Ctrl-Z (отменить действие) и Ctrl-Y (повторить действие). И, напротив, любой эффект можно применить повторно, выбрав первый пункт меню Эффекты или нажав Ctrl-R.

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

Масштабирование отображения дорожек

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

Приблизить отображение дорожки

При таком масштабировании смещения представления данных по временной шкале не произойдёт и текущий "центр" останется на месте.

Отдалить отображение дорожки

При таком типе масштабирования центр также остаётся на месте.

Уместить текущее выделение в окне

Масштабирование производится так, что выделенный фрагмент занимает всё место в окне по горизонтали.

Показать в окне проект целиком

Масштабирование производится так, что дорожки проекта занимают всё место в окне по горизонтали, сохраняя положение относительно друг друга.

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

Работа с несколькими дорожками

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

Выделение данных в нескольких дорожках и манипуляция ими

Добавьте в проект файлы LadyIsATrampBackgrounds.ogg и LadyIsATrampVocals.ogg, находящиеся на диске.

Если инструмент выделения не выбран, переключитесь на него (F1). Перенесите курсор мыши в область отображения первой (самой верхней дорожки), нажмите левую кнопку мыши и, не отпуская её, переместите курсор с 15 секунды по тридцатую, а затем вниз  — в область отображения второй дорожки. Так в обеих дорожках будет выделена область с пятнадцатой по тридцатую секунды.

Теперь на этом временном отрезке можно одновременно изменять данные одинаковым образом. Для перемещения выделенных данных в буфер обмена следует нажать Ctrl-X. Из обеих дорожек данные будут перенесены в буфер, при необходимости в этом можно убедиться, создав новый проект (Ctrl-N) и вставив из туда (Ctrl-V).

Таким же образом можно выделять данные всех дорожек в проекте. Если все дорожки не помещаются в окне проекта, для выделения одинаковой по времени области во всех из них достаточно провести выделяющим движением мышью вниз за пределы окна. Но удобнее нажать Ctrl-Shift-F для того, чтобы все окна уместились в окне по вертикали, и затем выделить необходимую область звуковых данных.

В некоторых случаях возникает потребность отредактировать только один канал стереофонической дорожки. Для этого необходимо разделить дорожку на две. Щелчком по заголовку дорожки вызовите её меню и выберите пункт Разделить стереодорожку.

По это команде стереофоническая дорожка будет временно разделена на две отдельные дорожки, причём верхняя автоматически получит обозначение «Левая», а нижняя  — «Правая».

После изменения дорожкек их можно объединить обратно в одну стереофоническую, выбрав пункт Сделать дорожку стереофонической в меню дорожки, обозначенной как «Левая».

Временно разделённые дорожки снова станут одной стереофонической.

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

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

Быстрое сведение и громкость дорожек

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

Есть несколько способов добиться выделения одной дорожки на фоне остальных. Во-первых, можно увеличить её собственную громкость, воспользовавшись эффектом Усиление сигнала (меню Эффекты). Во-вторых, можно воспользоваться регулятором громкости воспроизведения, находящимся на панели каждой дорожки. Кроме того, при сведении будут учитываться плавные изменения громкости, создаваемые при помощи инструмента редактирования огибающей.

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

Работа с эффектами

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

В состав Audacity входят 19 встроенных эффектов, которые удовлетворяют основным потрребностям пользователя. Эффекты в зависимости от их назначения распределяются по меню Создание, Эффекты и Анализ. Назначение эффектов:

FFT-фильтр

Предназначен для добавления или уменьшения энергии в тех или иных частотах, что на слух воспринимается как соответственно более заметное или менее заметное звучание этих частот. От эквалайзера FFT-фильтр отличается тем, что работает по несколько иному принципу[45] и, кроме того, более гибок в управлении.

Компрессор динамического диапазона

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

Плавное нарастание и затухание

Модули плавного нарастания и плавного затухания применяются в тех случаях, когда нужно, чтобы на некотором отрезке звук постепенно становился громче или тише.

Смена высоты тона

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

Удаление шума

При помощи этого модуля можно удалять шум из записей.

VST-модули

В Audacity можно использовать и весьма распространённые VST-модули. Работа с модулями эффектов этого типа в настоящее время возможна при использовании программы vstserver Кьетила Матеуссена.

Рассмотрим работу с модулями эффектов на примере LADSPA-модуля для реверберации GVerb. Эффекты реверберации предназначены для имитации закрытого помещения.

Звуковая волна имеет определённую скорость распространения в воздушной среде. Представим себе помещение с четырьмя ровными стенками, источником звука и слушателем. Слушатель сначала воспринимает ПРЯМОЙ сигнал. В модулях эффектов этот сигнал часто обозначают как ИСХОДНЫЙ (DRY). И в большинстве эффектов обработка делится на две части: РАННИЕ ОТРАЖЕНИЯ и Реверберацию. Первые ранние отражения волны достигают слушателя хоть и не намного, но позже прямой звуковой волны, ведь их путь длиннее. Разница во времени между приходом прямой звуковой волны и её ранних отражений измеряется в миллисекундах.

Звуковые волны отражаются от стен и предметов внутри помещения, поэтому через некоторое время индивидуальные отражения исчезают и реверберация нарастает. Время между восприятием слушателем ПРЯМОЙ звуковой волны и началом реверберации называют предзадержкой (Predelay). Этот параметр присутствует во многих модулях реверберации и исчисляется в миллисекундах (мс).

Разница во времени между выключением любого источника звука и достижением уровня реверберации, скажем, -60 Дб от громкости исходного сигнала называют временем реверберации 60 (RT60). Этот параметр также присутствует в большинстве модулей.

Для создания эффекта реверберации в Audacity удобно тренироваться на модуле GVerb. Для этого необходимо переключиться на инструмент выделения (F1), выделить курсором некоторую область звуковых данных и выбрать пункт GVerb в меню Эффекты.

Его стандартные установки не вполне соответствуют более типичной ситуации.

Roomsize (m)

40

Reverb time (s)

4

Damping

0.9

Input bandwidth

0.75

Dry signal level (dB)

0

Early reflection level (dB)

-22

Tail level (dB)

-28

Вот ещё один пример использования Gverb, в результате которого имитируется звучание в большом зале:

Roomsize (m)

40

Reverb time (s)

20

Damping

0.50

Input bandwidth

0.75

Dry signal level (dB)

0

Early reflection level (dB)

-10

Tail level (dB)

-30

Для снижения эффекта реверберации используются регуляторы Early reflection level (dB) и Tail level (dB).

Решение типовых задач

Запись музыкального концерта для выкладывания в Интернет

В выпадающем меню из панели микшера выберите устройство, с которого будет производиться запись. Если микрофон подключается напрямую к компьютеру через звуковую карту (обычно это разъём розового цвета с выбитым на металле вверху изображением микрофона), то выбрать нужно Microphone, если же микрофон или несколько микрофонов по пути к звуковой карте попадают на микшерный пульт, то рекомендуется использовать линейный вход Line In (разъём синего цвета).

Поскольку встроенные индикаторы уровня записи и воспроизведения являются новой для Audacity функцией, которая будет включена только в следующую версию программы, настоятельно рекомендуется проверить уровень записи, сделав несколько проб и оценив громкость записи по линейке слева от области отображения волновой формы. При максимально возможной громкости отклонения от нуля не должны превышать диапазон -0,8..0,8. Корректировка уровня записи производится при помощи соответствующего регулятора в панели микшера, имеющего слева пиктограмму с изображением микрофона.

Отрегулировав громкость, следует позаботиться о том, чтобы на жёстком диске было достаточно свободного пространства. Его объём можно быстро проверить, вызвав диалог настройки программы (Файл Настроить... или CtrlP) и переключившись на вкладку Каталоги. Если,например, к моменту записи доступно 2 Гбайта дискового пространства, этого хватит примерно на 200 минут записи с частотой дискретизации 44,1 кГц и размером сэмпла 16 бит. Увеличение этих параметров (вкладка Качество того же диалога настроек) повлечёт за собой более быстрое заполнение дискового пространства, поэтому стоит расчитать, как много дискового пространства вам понадобится и при необходимости освободить его, временно перенеся данные на другой носитель.

Затем стоит проверить не запущены ли кроме Audacity какие-либо ещё программы, и при наличии таковых выгрузить их из памяти, чтобы избежать перегрузки системы. После того как запись произведена, необходимо в первую очередь сохранить изменившийся файл проекта и по возможности сделать его архивную копию (следует обратиться к каталогу с именем вида Имяпроекта_data).

В записи могут оказаться фрагменты, не представляющие никакой ценности — например, в случае записи концерта длинные паузы между выступлениями, антракт и т.д. От них можно избавиться, выделив их и нажав Ctrl-X или Delete. Полученная склейка может звучать неровно, поэтому лучше всего воспользоваться следующим алгоритмом работы:

  1. Выделить ненужный фрагмент.

  2. Пометить его флажками при помощи дорожки для заметок.

  3. Заполнить этот фрагмент тишиной (через меню Правка или нажатием Ctrl-L).

  4. Использовать эффект плавного затухания на последние несколько секунд до пустого отрезка.

  5. Использовать эффект плавного нарастания на первые несколько секунд после пустого отрезка.

  6. Удалить пустой отрезок.

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

Если в записанном концерте выступало больше одного человека, имеет смысл поделить её на несколько частей (по количеству выступавших) и выкладывать запись несколькими небольшими файлами, а не одним гигантским.

Прослушайте запись и пометьте начало и конец каждого выступления флажком при помощи дорожки для заметок, выделив нужный фрагмент, нажав Ctrl-B (Проект — Добавить заметку к выделению) и записав справа от флажка короткий опознавательный текст.

После того как все фрагменты помечены, настаёт время ножниц и клея. Каждый флажок хранит выделение помеченного им фрагмента. Щёлкните мышкой по флажку и выделите показанный фрагмент. Проверив, что начало и конец фрагмента выбраны правильно, воспользуйтесь функцией разделения дорожки (меню Правка). Выделенный фрагмент будет перенесён в новую дорожку с сохранению положения в времени. Проделайте ту же операцию с остальными фрагментами, а затем удалите пустое пространство справа в первой дорожке, выделив его и нажав Del.

Теперь по очереди экспортируйте данные каждой дорожки в избранный формат, щёлкнув мышкой по её панели вне ползунков и кнопок, а затем выбрав в меню Файл соответствующий пункт. В качестве сжатого формата рекомендуется использовать Ogg Vorbis, а не MP3. Тому есть две основные причины:

  1. Файлы в формате Ogg Vorbis занимают меньше пространства при одинаковой битовой частоте (например, 180 Кбит/с) с такой же записью, но в формате MP3. Файлы в формате Ogg Vorbis имеют лучшее качество в сравнении с записями в формате MP3 с одинаковой битовой частотой, что подтверждено авторитетным тестированием, проводившимся разными лабораториями.

Кроме того, в настоящее время формат Ogg Vorbis поддерживается всеми современными проигрывателями музыкальных файлов, включая Winamp, Quintessential и Zinf.

Выравнивание громкости

Любой пользователь, имеющий архив MP3- или Ogg Vorbis файлов с музыкой, наверняка сталкивался с необходимостью периодически регулировать громкость воспроизведения композиций из проигрываемого списка (плейлиста). Происходит это по ряду причин.

Дело в том, что даже у цифровой записи есть определённый предел громкости, превышение которого сопровождается слышимыми искажениями. У каждого звукорежиссёра свои представления о максимально допустимой громкости, причём в последнее время предпочтение отдаётся более высокому уровню, иногда даже ценой искажений. Поэтому записи старой музыки часто воспринимаются как более тихие, а новой — как более громкие. Надо учитывать, что на одном альбоме у исполнителя могут быть ещё и акустические произведения, которые часто воспринимаются на слух как более тихие.

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

Для того чтобы избежать сложностей подобного типа, рекомендуется ко всем сведённым дорожкам применить эффект Нормализация (меню Эффекты). Выделите всю дорожку щелчком по её панели вне кнопок и ползунков, а затем вызовите диалог модуля Нормализация... из меню Эффекты. Выставьте оба флажка и нажмите ОК. После этого дорожку можно экспортировать в WAV или один из сжатых форматов.

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

Удаление шума из записи

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

Порядок работы с модулем следующий. Сначала необходимо выбрать фрагмент записи (несколько секунд), содержащий только шум, затем вызвать диалог модуля и нажать кнопку Создать модель шума. Затем следует выделить область звуковых данных для фильтрации от шума и нажать кнопку «Удалить шум» в том же диалоговом окне.

Стоит поэкспериментировать с ползунком «Больше Меньше», чтобы подобрать наиболее корректный уровень фильтрации. Появление в результате применения фильтра слышимых искажений в порядке вещей, но чем больше соотношение сигнал/шум, тем качественнее фильтр работает. Так что стоит найти отрезок записи, на котором шума заметно меньше, а внесённые искажения не сводят смысл использования фильтра на ноль.

В будущие версии программы планируется ввести дополнительные модули для реставрации звука: Удаление щелчков и Удаление шипения. Первый помогает в удалении потрескивания на грампластинках, а второй — с характерным шипением старых магнитофонных записей, происходящего по причине износа магнитной ленты.

Горячие клавиши

Работа с файлами

Навигация, воспроизведение и запись

 

Новый проект

CtrlN

Воспроизвести/остановить

Открыть проект

CtrlO

Воспроизвести в цикле

Shift+Space, L

Закрыть проект

CtrlW

Приостановить

P

Сохранить проект

CtrlS

Записать

R

Настроить программу

CtrlP

Воспроизвести секунду вокруг курсора

1

Инструменты

Воспроизвести отрывок между курсором и выделением

B

 

Выделение

F1

Приблизить отображение

Ctrl+1

Редактирование огибающей

F2

Обычный масштаб

Ctrl+2

Изменение сэмплов

F3

Отдалить отображение

Ctrl+3

Масштабирование

F4

Уместить в окне

CtrlF

Сдвиг дорожки во времени

F5

Уместить в окне по вертикали

CtrlSHIFT+F

Многоинструментальный режим

F6

Масштабировать в выделение

CtrlE

Следующий инструмент

D

Предыдущий инструмент

A

Команды редактирования

   

Отменить

CtrlZ

Заполнить тишиной

CtrlL

Повторить (Windows)

CtrlY

Дублировать

CtrlD

Повторить (Mac/Unix)

Ctrl+ SHIFT+Z

Выделить всё

CtrlA

Вырезать

CtrlX

Найти ближайшие нулевые точки

CtrlA

Скопировать

CtrlC

Импортировать звуковой файл

CtrlI

Вставить

CtrlV

Создать заметку

CtrlB

Удалить

CtrlK, DELETE

Повторить последний эффект

CtrlR

Приложение Б. Дополнительные справочные ресурсы

  1. http://audacity.sourceforge.net — основной интернет-ресурс проекта Audacity.

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

  3. www.websound.ru — на этом портале можно узнать много полезного о теории цифрового звука.

  4. www.linuxmusician.com — если вы решитесь использовать Linux как основу домашней звуковой студии, вам наверняка будут интересны тематические статьи и новости разработок свободного программного обеспечения для музыкантов.

Программы для звукозаписи и редактирования звука

sox

Программы: play, rec, sox, soxeffect, soxmix, soxplay.

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

kdemultimedia-krec

Программы: krec.

Программа аудиозаписи для среды KDE.

audacity

Audacity — это звуковой редактор, позволяющий работать с файлами в форматах WAV, AIFF, AU, IRCAM, MP3 и Ogg Vorbis. В нем реализованы все основные операции, такие как удаление, копирование, вставка, микширование треков и применение эффектов, оформленных в виде плагинов, к любой части звукового файла.



[39] Возможность цифрового извлечения аудиотреков появилась благодаря возможности считывать треки как обычные файлы, а попросту, за счёт реализации чтения файловой системы Audio-CD. До того копирование треков производилось в режиме реального времени путём записи сигнала через звуковую карту.

Джиттер

[40] от англ. jitter — «дрожание»; искажение звучания как результат дефекта на поверхности компакт-диска или мощной внешней вибрации.

[41] Увы, есть все основания усомниться в возможности дальнейшего официального использования lame на Западе, поскольку программное обеспечение для сжатия в MP3, распространяющееся под лицензией GPL, признано руководством обладателя патента на алгоритм сжатия MP3, Thomson Multimedia, нелицензионным

[42] При наличии только FM-синтезатора рекомендуем обратить внимание на программу timidity, которая является программным WT-синтезатором.

[43] Разумеется, это делается в том случае, если вы хотите, чтобы имя автора и название композиции отображалось в проигрывателе звуковых файлов вроде Winamp или Zinf.

[44] Так называемый режим Punch In — Punch Out.

[45] При обработке звука он использует так называемые быстрые преобразования Фурье (Fast Fourier Transformations)