Автор: Александр Радзишевский
Александр Чижов
Обо всем по-порядку
В последнее время возможности мультимедийного оборудования значительно выросли, однако этой области почему-то не уделяется достаточно внимания. Рядовой пользователь страдает от нехватки информации и вынужден учиться лишь на собственном опыте и ошибках. Этой статьей мы постараемся устранить это досадное недоразумение. Данная статья ориентирована на рядового пользователя и ставит своей целью помочь ему разобраться в теоретических и практических основах цифрового звука, выявить возможности и основные приемы его использования.
Что именно мы знаем о звуковых возможностях компьютера, кроме того, что в нашем домашнем компьютере установлена звуковая плата и две колонки? К сожалению, вероятно из-за недостаточности литературы или по каким-либо другим причинам, но пользователь, чаще всего, не знаком ни с чем, кроме встроенного в Windows микшера аудио входов/выходов и Recorder’а. Единственное использование звуковой карты, которое находит простой пользователь – это вывод звука в играх, да прослушивание коллекции аудио. А, ведь, даже самая простая на сегодняшний день звуковая плата, установленная почти в каждом компьютере, умеет намного больше - она открывает широчайшие возможности для всех, кто любит и интересуется музыкой и звуком, а для тех, кто хочет создавать свою музыку, звуковая карта может стать всемогущим инструментом. Для того чтобы узнать что же умеет компьютер в области звука нужно только поинтересоваться и перед вами откроются возможности, о которых вы, может быть, даже не догадывались. И все это не так сложно, как может показаться на первый взгляд.
Некоторые факты и понятия, без которых тяжело обойтись:
В соответствии с теорией математика Фурье, звуковую волну можно представить в виде спектра входящих в нее частот.
Частотные составляющие спектра - это синусоидальные колебания (так называемые чистые тона), каждое из которых имеет свою собственную амплитуду и частоту. Таким образом, любое, даже самое сложное по форме колебание (например, человеческий голос), можно представить суммой простейших синусоидальных колебании определенных частот и амплитуд. И наоборот, сгенерировав различные колебания и наложив их друг на друга (смикшировав, смешав), можно получить различные звуки.
Справка: человеческий слуховой аппарат/мозг способен различать частотные составляющие звука в пределах от 20 Гц до ~20 КГц (верхняя граница может колебаться в зависимости от возраста и других факторов). Кроме того, нижняя граница сильно колеблется в зависимости от интенсивности звучания.
Оцифровка звука и его хранение на цифровом носителе
«Обычный» аналоговый звук представляется в аналоговой аппаратуре непрерывным электрическим сигналом. Компьютер оперирует с данными в цифровом виде. Это означает, что и звук в компьютере представляется в цифровом виде. Как же происходит преобразование аналогового сигнала в цифровой?
Цифровой звук – это способ представления электрического сигнала посредством дискретных численных значений его амплитуды. Допустим, мы имеем аналоговую звуковую дорожку хорошего качества (говоря «хорошее качество» будем предполагать нешумную запись, содержащую спектральные составляющие из всего слышимого диапазона частот – приблизительно от 20 Гц до 20 КГц) и хотим «ввести» ее в компьютер (то есть оцифровать) без потери качества. Как этого добиться и как происходит оцифровка? Звуковая волна – это некая сложная функция, зависимость амплитуды звуковой волны от времени. Казалось бы, что раз это функция, то можно записать ее в компьютер «как есть», то есть описать математический вид функции
и сохранить в памяти компьютера. Однако практически это невозможно, поскольку звуковые колебания нельзя представить аналитической формулой (как y=x2, например). Остается один путь – описать функцию путем хранения ее дискретных
значений в определенных точках. Иными словами, в каждой точке времени можно измерить значение амплитуды сигнала и записать в виде чисел. Однако и в этом методе есть свои недостатки, так как значения амплитуды сигнала мы не можем записывать с бесконечной точностью, и вынуждены их округлять. Говоря иначе, мы будем приближать эту функцию по двум координатным осям – амплитудной и временной (приближать в точках – значит, говоря простым языком, брать значения функции в точках и записывать их с конечной точностью). Таким образом, оцифровка сигнала включает в себя два процесса - процесс дискретизации (осуществление выборки) и процесс квантования. Процесс дискретизации - это процесс получения значений величин преобразуемого сигнала в определенные промежутки времени.
Квантование - процесс замены реальных значений сигнала приближенными с определенной точностью (рис. 3).
Таким образом, оцифровка – это фиксация амплитуды сигнала через определенные промежутки времени и регистрация полученных значений амплитуды в виде округленных цифровых значений (так как значения амплитуды являются величиной непрерывной, нет возможности конечным числом записать точное значение амплитуды сигнала, именно поэтому прибегают к округлению). Записанные значения амплитуды сигнала называются отсчетами. Очевидно, что чем чаще мы будем делать замеры амплитуды (чем выше частота дискретизации) и чем меньше мы будем округлять полученные значения (чем больше уровней квантования), тем более точное представление сигнала в цифровой форме мы получим. Оцифрованный сигнал в виде набора последовательных значений амплитуды можно сохранить.
Теперь о практических проблемах. Во-первых, надо иметь в виду, что память компьютера не бесконечна, так что каждый раз при оцифровке необходимо находить какой-то компромисс между качеством (напрямую зависящим от использованных при оцифровке параметров) и занимаемым оцифрованным сигналом объемом.
Во-вторых, согласно теореме Котельникова частота дискретизации устанавливает верхнюю границу частот оцифрованного сигнала, а именно, максимальная частота спектральных составляющих равна половине частоты дискретизации сигнала. Попросту говоря, чтобы получить полную информацию о звуке в частотной полосе до 22050 Гц, необходима дискретизация с частотой не менее 44.1 КГц.
Существуют и другие проблемы и нюансы, связанные с оцифровкой звука. Не сильно углубляясь в подробности отметим, что в
«цифровом звуке» из-за дискретности информации об амплитуде оригинального сигнала появляются различные шумы и искажения (под фразой «в цифровом звуке есть такие-то частоты и шумы» подразумевается, что когда этот звук будет преобразован обратно из цифрового вида в аналоговый, то в его звучании будут присутствовать упомянутые частоты и шумы). Так, например, джиттер (jitter) – шум, появляющийся в результате того, что осуществление выборки сигнала при дискретизации происходит не через абсолютно равные промежутки времени, а с какими-то отклонениями. То есть, если, скажем, дискретизация проводится с частотой 44.1 КГц, то отсчеты берутся не точно каждые 1/44100 секунды, а то немного раньше, то немного позднее. А так как входной сигнал постоянно меняется, то такая ошибка приводит к «захвату» не совсем верного уровня сигнала. В результате во время проигрывания оцифрованного сигнала может ощущаться некоторое дрожание и искажения. Появление джиттера является результатом не абсолютной стабильности аналогово-цифровых преобразователей. Для борьбы с этим явлением применяют высокостабильные тактовые генераторы. Еще одной неприятностью является шум дробления. Как мы
говорили, при квантовании амплитуды сигнала происходит ее округление до ближайшего уровня. Такая погрешность вызывает ощущение «грязного» звучания.
Небольшая справка: стандартные параметры записи аудио компакт-дисков следующие: частота дискретизации - 44.1 КГц, уровень квантования – 16 бит. Такие параметры соответствуют 65536 (216) уровням квантования амплитуды при взятии ее значений 44100 раз в секунду.
На практике, процесс оцифровки (дискретизация и квантование сигнала) остается невидимым для пользователя - всю черновую работу делают разнообразные программы, которые дают соответствующие команды драйверу (управляющая подпрограмма операционной системы) звуковой карты. Любая программа (будь то встроенный в Windows Recorder или мощный звуковой редактор), способная осуществлять запись аналогового сигнала в компьютер, так или иначе оцифровывает сигнал с определенными параметрами, которые могут оказаться важными в последующей работе с записанным звуком, и именно по этой причине важно понять как происходит процесс оцифровки и какие факторы влияют на ее результаты.
Если Вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.