Сегодня 25 декабря 2024
18+
MWC 2018 2018 Computex IFA 2018
реклама
Звук и акустика

"Заметки на полях" (FAQ)

⇣ Содержание

Можно ли осуществить преобразование из одного потокового формата аудио данных в другой?

Да, такое преобразование возможно. Если речь идет о цифровых потоках, сжатых специальными алгоритмами (такими как MPEG, TwinVQ и проч.), то преобразование из одного типа в другой неизбежно влечет за собой потерю качества, так как для преобразования необходимо сначала декодировать исходный поток (качество которого заведомо отличается от оригинала), а затем снова сжать, используя необходимый компрессор (или просто записать в виде абсолютно кодированном виде, иначе говоря, не сжатом). Таким образом, при осуществлении "перекодирования" в новый формат (не в случае простого декодирования в .WAV) происходит фактически двойная потеря качества (относительно качества оригинального сигнала). Под потерей качества следует понимать не только потерю частотных составляющих в некоторых областях спектра сигнала, но и появление различных дополнительных шумов, помех, а также, потерю информации о сигнале в каналах (потерю оригинального стерео).

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

Можно ли осуществить преобразование WAV в MIDI, WAV в трекерный модуль?

Другими словами, можно ли преобразовать цифровой поток (будь то .WAV или .SND файл) в файл формата MIDI или трекерный модуль (например, .XM или .IT)? На этот вопрос есть почти однозначный ответ: эта задача не решаема принципиально.

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

Таким образом, для того, чтобы, скажем, преобразовать оцифрованную музыку в формат MIDI необходимо качественно проанализировать весь исходный цифровой поток и однозначно определить, звучание каких инструментов необходимо будет задействовать в выходном MIDI-файле. То есть, фактически необходимо точно идентифицировать инструменты, входящие в композицию. Однако эта проблема, по крайней мере на сегодняшний день, почти не решаема. Посудите сами: для того, чтобы правильно определить звучание какого инструмента происходит в данный момент, нужно, грубо говоря, однозначно знать спектры всех возможных инструментов. И затем, сравнивая спектр звучащего инструмента с набором спектров известных инструментов, определить звучание какого инструмента мы слышим. Но в тоже время мы знаем, что спектр одного и того же инструмента может сильно измениться даже при небольшом изменении силы воздействия на него, а это в свою очередь означает, что однозначно получить спектр мы не можем. Но все сказанное касалось звучания только одного инструмента. А что же будет со спектром сигнала, если в него входит звучание сразу нескольких инструментов? Спектр изменится коренным образом! Вы скажете, что можно, наверное, определить звучание по формантным областям. Да, это возможно, однако говорить все же о точности определения не приходится. Да и проблема-то не заканчивается точной идентификацией инструментов. В дальнейшем придется точно определять тональности звучания, расстановку во времени и тому подобное. По этой причине можно сделать однозначный вывод: качественное преобразование цифровых потоков в MIDI невозможно в принципе.

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

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

Можно ли выделить из аудио потока звучание конкретного инструмента или голоса?

Такая процедура невозможна принципиально. В целом, существует, конечно, способ выделения голоса (т. н. Karaoke), однако он работает не всегда, и уж тем более не стоит ожидать от него качества. Обычно, голос исполнителя "находится" посредине стерео панорамы. Основываясь на этом, можно попробовать вычесть один канал из другого, удалив таким образом звучащее посредине - на этом механизме основана реализация караоке. Очевидно, что такой способ не дает качественного результата, если дает вообще какой-то результат.

Что же касается вычленения звучания каких-то инструментов, то этот вопрос аналогичен предыдущему (точнее, третий абзац предыдущего вопроса).

Какие существуют способы преобразования MIDI в WAV?

Таких способов много. Попробуем их перечислить.

Если речь идет о переводе в WAV-файл MIDI-композиции с какого-нибудь аппаратного концертного синтезатора, то существует несколько вариантов. Самый простой, вероятно, просто подключить выход синтезатора ко входу звуковой карты компьютера и оцифровать необходимую композицию стандартными методами с помощью какого-нибудь звукового редактора.. Однако этот способ хорош в том случае, если у подключаемого аппарата имеется цифровой выход, а у звуковой карты цифровой вход, так как в этом случае фактически просто произойдет запись цифрового потока с синтезатора в память компьютера, что не повлечет за собой абсолютно никакой потери качества звучания. Если же речь идет об аналоговом соединении аппаратуры, то в таком случае вышеописанный вариант не является удачным, так как внутренние шумы аналоговой части аппаратуры, а также внешние наводки со стороны других устройств могут сильно исказить сигнал и в результате полученный оцифрованный сигнал (.WAV) будет шуметь. Таким образом, если нет возможности осуществить цифровую передачу, можно или удовлетвориться аналоговым соединением или поступить иначе: "перегнать" необходимую MIDI-композицию с синтезатора в компьютер в MIDI-файл и уже MIDI-файл в компьютере доступными средствами оцифровать в .WAV. Однако здесь тоже существуют несколько вариантов.

Для того, чтобы "перегнать" .MID (или файл в ином формате, содержащий MIDI-данные) в .WAV необходимо располагать или звуковой картой со встроенным аппаратным MIDI-синтезатором, или воспользоваться каким-то программным MIDI-синтезатором. Из наиболее распространенных программных синтезаторов можно выделить следующие три: WaveSynth фирмы Creative Labs (поддерживает стандарт GM - General MIDI), Virtual Sound Canvas VSC-88 фирмы Roland (GS - General Synth) и S-YXG100 или S-YXG50 фирмы Yamaha. Следует отметить, что последний качественно отличается от остальных поддержкой стандарта XG (eXtended General). Хотя это тема отдельного обсуждения, следует оговориться все же, что если вы перенесли MIDI-композицию с одного синтезатора и попытаетесь воспроизвести ее на другом (отличном от оригинального), то звучание на нем перенесенной композиции наверняка будет иным (если не абсолютно иным). Эта оговорка особенно касается переноса композиции с концертного синтезатора на компьютер для последующего "перегона" в .WAV, о чем мы говорили выше.

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

Второй способ аналогичен первому в подходе. Дело в том, что, например, звуковая карта Creative SB Live! позволяет безо всяких физических подключений в качестве устройства записи (входа) использовать, грубо говоря, слышимое в колонках. Иначе говоря, в стандартном микшере Windows в списке устройств записи есть устройство "What U hear" ("То, что ты слышишь"). Самое приятное, что при записи через это устройство сигнал не подвергается цифро-аналоговому и аналогово-цифровому преобразованиям, что исключает влияние наводок и вообще появление каких либо помех, связанных с аналоговым соединением. Таким образом, использование этого устройства записи как нельзя лучше подходит для осуществления перехвата цифровых аудио потоков, в том числе, потоков от программных MIDI-синтезаторов. Для владельцев звуковых плат, отличных от SB Live!, можно порекомендовать воспользоваться, например, такой программой, как Total Recorder. Идея программы аналогична идее устройства "What U Hear" в SB Live!. Эта программа создает в списке устройств для воспроизведения новое виртуальное устройство "Playback through Total Recorder", а также имеет собственную программу записи. Для осуществления преобразования необходимо выбрать это виртуальное устройство как устройство "по умолчанию" для воспроизведения аудио (в Sounds and Multimedia в контрольной панели Windows), запустить программу записи Total Recorder и включить воспроизведение необходимого .MID-файла. Вся прелесть такого способа заключается в том, что сигнал вообще не попадает в аналоговый тракт звуковой карты. Вообще говоря, сигнал даже не попадает на звуковую карту - Total Recorder перехватывает поток идущий на виртуальное устройство "Playback through Total Recorder" и записывает его в файл. Таким образом, с помощью Total Recorder можно произвести оцифровку MIDI-файла абсолютно без потерь качества.

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

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

Какой метод сравнения двух аудио сигналов можно признать наиболее точным?

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

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

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

  • Первый заключается в графическом сравнении результирующих АЧХ оригинального и восстановленного сжатого сигналов за какой-то промежуток времени. Под понятием "результирующая АЧХ" подразумевается график зафиксированных пиковых значений амплитуд частотных составляющих сигнала за некоторый промежуток времени. Таким образом, взяв два одинаковых промежутка сравниваемых сигналов и построив их результирующие АЧХ, по совпадению (не совпадению) графиков АЧХ можно приблизительно оценить уровень потерянных частотных составляющих в сжатом сигнале, а также увидеть полосы частот, где эти потери наиболее выражены. Однако этот метод является статичным, то есть он абсолютно не учитывает изменение сигналов в динамике, что является очень важным, так как часто встречаются случаи, когда результирующие АЧХ сигналов почти совпадают, однако звучание сравниваемых промежутков сигналов отличается коренным образом даже на слух.

  • Вторая разновидность спектрального анализа - сравнение сонограмм сигналов (сонограмма - это диаграмма, на которой по оси абсцисс откладывается время, по оси ординат - частота, а амплитуда соответствующей частотной составляющей отмечается интенсивностью цвета в данной точке графика). Сонограмма является более информативной характеристикой, так как позволяет учесть при сравнении изменение сигналов в динамике. Однако этот метод, в отличие от предыдущего, является "слишком графическим", то есть, если при сравнении статических АЧХ имеется возможность оценить "на глаз" разницу графиков, то в случае с сонограммами эта возможность затруднена, так как сравнивать приходится не кривые графиков, а интенсивность цветов на диаграммах. Есть и еще один немаловажный недостаток сонограмм - размытость сигнала во времени, то есть неточное совпадение (отставание либо опережение) спектральной картины с реальным спектральным составом сигнала в каждый конкретный момент времени. Такой феномен обусловлен принципом неопределенности сопутствующим использованию Быстрого Преобразования Фурье (БПФ): чем больше временнОе разрешение спектра, тем меньше спектральное разрешение, и наоборот. При построении сонограммы берутся относительно большие окна для БПФ (промежутки времени, в которых анализируется спектр) и именно это и обуславливает эффект размазывания сигнала. Конечно, появление этого эффекта можно в какой-то мере избежать применяя анализ с перекрывающимися окнами в несколько проходов, однако объем вычислений при этом крайне возрастет и достичь одновременно высоких спектрального и временного разрешений не удастся.

  • Третий метод представляет собой более конкретизированный предыдущий, он заключается в построении АЧХ для каждого сканируемого окна БПФ. Однако эта задача не лишена тех же проблем, что и предыдущий метод, и, кроме того, производить сравнение графически крайне неудобно, даже если представить всю обсчитанную спектральную картину сигнала в трехмерном виде.

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

 
← Предыдущая страница
⇣ Содержание
Если Вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.
Вечерний 3DNews
Каждый будний вечер мы рассылаем сводку новостей без белиберды и рекламы. Две минуты на чтение — и вы в курсе главных событий.

window-new
Soft
Hard
Тренды 🔥
ИИ научили генерировать тысячи модификаций вирусов, которые легко обходят антивирусы 24 мин.
В Epic Games Store стартовала новая раздача Control — для тех, кто дважды не успел забрать в 2021 году 35 мин.
За 2024 год в Steam вышло на 30 % больше игр, чем за прошлый — это новый рекорд 2 ч.
«Яндекс» закрыл почти все международные стартапы в сфере ИИ 2 ч.
Создатели Escape from Tarkov приступили к тестированию временного решения проблем с подключением у игроков из России — некоторым уже помогло 3 ч.
Веб-поиск ChatGPT оказался беззащитен перед манипуляциями и обманом 4 ч.
Инвесторы готовы потратить $60 млрд на развитие ИИ в Юго-Восточной Азии, но местным стартапам достанутся крохи от общего пирога 5 ч.
Selectel объявил о спецпредложении на бесплатный перенос IT-инфраструктуры в облачные сервисы 6 ч.
Мошенники придумали, как обманывать нечистых на руку пользователей YouTube 6 ч.
На Открытой конференции ИСП РАН 2024 обсудили безопасность российского ПО и технологий искусственного интеллекта 7 ч.