Форум Объединения «Ас»

Форум Объединения «Ас» (http://3vuk.ru/index.php)
-   Иные аппараты (http://3vuk.ru/forumdisplay.php?f=8)
-   -   Компьютер - как источник звука (http://3vuk.ru/showthread.php?t=111)

X_Man 08.02.2009 17:58

Компьютер - как источник звука
 
Как вытащить честный (ничем не испорченный - линейный) звук из компьютера с Windows? Ибо чем только он его и не нагружает: и передискретизация; и программные неотключаемые улучшайзеры и нелажоверы; и худая схемотехника матплат; и навязанные кодеры-декодеры….

В общем рассуждаем:

Какие использовать программы, чтобы доставить цифру (на цифровой выход звуковой карты) такой, какая она есть. Настройка программ.
Форматы lossless кодирования-декодирования. Необходимы ли они вообще? Если нужны, то каковые лучше?
Выбор и модернизация звуковых карт.
…..думаем сами…. Спрашиваем.

Цитата:

Истины на сегодняшний день:

1) Иллюстрации звуковой подсистемы Windows
2) Руководство пользователя программы «FOOBAR»
3) Руководство по копированию CD-DA программой EAC (+ ЧаВо по "синим окнам смерти")
4) ASIO - лучше чем Kernel Streaming
5) Список звуковых карт с "плохим поведением" (улучшайзеры, кривые драйверы, и т.д.)
6) Aplayer - проигрыватель с лучшей звукопередачей
7) Оптимизация компьютера под звук и не только
8) Настройка E-MU 1212 и других (E-MU 0404) для работы через ASIO
.

Chartbreaker 17.03.2009 16:40

Цитата:

Весьма сложно что-то пытаться понять, пока не разобрался с принципом.
Чтобы понять, искажается ли звук при воспроизведении через компьютер, нужно проследить весь путь следования звуковой информации в этой системе. Начать разумно с самого "верха", а именно с контейнера и формата хранения цифрового звука. Сразу отбросив всевозможные lossy-форматы (mp3, ogg, и т.п.), переходим к lossless.

Встаёт первый вопрос: есть ли разница в "звучании" flac, ape, alac и несжатого wav? Для того, чтобы дать обоснованный ответ, нужно разобраться, как программные плееры работают с этими типами файлов. А делают это они следующим образом: определив тип файла, они используют соответствующий декодер для распаковки данных (в случает с форматами lossless-сжатия) или инструкции контейнера (для wav, aiff) и дальше обрабатывают данные в соответствии со своими настройками. Значит, при прочих равных условиях, на данном этапе имеет значение идентичность распакованных соответствующими декодерами данных и несжатыми данными.
Проверяется она очень просто: берём тестовый несжатый wave-образец и считаем его контрольные суммы различными алгоритмами (CRC, MD5 и т.д.), затем сжимаем его в lossless-формат (к примеру, открытый flac). После этого производим обратную процедуру, т.е. разжимаем полученный файл обратно в wav и снова считаем контрольные суммы. Для исходного и конечного файлов они одинаковы практически во всех случаях. Это означает, что после распаковки декодером или прямого считывания PCM-информации, плеер имеет идентичные данные. :evil:

Этап второй. Что же делает движок программного аудиоплеера с полученными данными?
Цитата:

Хоть они и пользуют одинаковые библиотеки, разработанные командой un4seen, всё-таки почему-то думалось, что в звуке будут какие-то различия, судя по полному различию внешнего исполнения и дополнительных примочек каждого
У каждой радиостанции есть свои звуковые настройки, основывающиеся на репертуаре и ожиданиях слушателей. На ЭхоМосквы акцентирован голос и опущены края диапазона, потому что там много болтают, на ЮморФМ приподнят мидбас, поскольку в основном играет ритмичная попса, НашеРадио глушит звук, чтобы сгладить огрехи сведения отечественного рок-андерграунда и т.д. Делать что-то подобное в программных аудиоплеерах не целесообразно, т.к. они не основываются на музыкальных предпочтениях пользователей. Хотите что-то подправить - крутите эквалайзер, добавляйте искажений через плагины... Всё это легко доступно. Подход разработчиков практически целиком отражается в дизайне графического интерфейса пользователя и количестве различных опциональных возможностей. Но регулировать звучание с настройками по умолчанию ни один здраво мыслящий разработчик никогда не станет. :crazy: Всё, что ему нужно на данном уровне, это передать информацию из открываемого контейнера\потока дальше по цепочке, применив пользовательские настройки и специфичные вспомогательные инструкции (например, установки ReplayGain). Поэтому звуковой движок любого аудиоплеера оптимизирован на максимально точную обработку загружаемого в него цифрового потока. Отличия заключаются в использующихся декодерах lossy-форматов и математическом подходе к обработке данных различной частоты дискретизации и разрядности, обусловленные особенностями программирования.
Сейчас модно ругать Winamp и хвалить foobar2000, хотя звуковые движки к обеим программам написал один и тот же человек. Интересно, что он сам на официальном сайте дал ответ на мучающий всех вопрос: Does foobar2000 sound better than other players?
Цитата:

No. Most of “sound quality differences” people “hear” are placebo effect (at least with real music), as actual differences in produced sound data are below their noise floor (1 or 2 last bits in 16bit samples). foobar2000 has sound processing features such as software resampling or 24bit output on new high-end soundcards, but most of the other mainstream players are capable of doing the same by now.
Эту информацию можно применить и к остальным "культовым" плеерам типа Apollo или JetAudio. Думаю, не стоит подвергать сомнению ответ человека, создающего то, в принципе работы чего мы так хотим разобраться. ;)

Куда идёт звук после плеера и что с ним происходит, зависит от операционной системы. Вот здесь и начинаются те самые дебри, разгрести которые сложнее всего. В конечном итоге, данные должны поступить на специальное устройство обработки, чаще всего на звуковую карту компьютера. Многие профессионалы звуковой индустрии используют плагины ASIO (или аналогичный KernelStreaming), чтобы плеер (или звуковой редактор) сразу отправлял сигнал на звуковую карту, минуя операционную систему, тем самым ликвидируя задержки на обработку данных и получая возможность управлять звуком "в реальном времени". Аудиофилы используют эти инструменты, чтобы исключить возможное влияние операционной системы на качество звука в промежутке от аудиоплеера до звуковой карты. Некоторое представление о том, какой путь проделывает цифровой звук в ОС, можно получить из следующих источников (для упрощения, можно выделить несколько основных вариантов):
- Ms Windows до XP включительно (на рус)
- Ms Windows Vista и новее (на англ)
- мэинстримовые дистрибутивы Linux (Ubuntu, Fedora, openSUSE) с сервером PulseAudio (на англ).

Всё остальное - дело техники. :))

X_Man 18.03.2009 11:54

Благодарим за отличную справку!
Есть теперь что показывать людям, приобщающимся к качественному звуку.
Картина честного звука потихоньку проявляется :)

Chartbreaker 13.04.2009 18:15

На одном из зарубежных форумов наткнулся на довольно неплохие иллюстрации звуковой подсистемы Windows:

Вариант для XP:
http://3vuk.ru/picture.php?albumid=31&pictureid=370

Вариант для Vista:
http://3vuk.ru/picture.php?albumid=31&pictureid=371

Это пример для одного приложения, работающего с аудио интерфейсом. Для каждого последующего параллельно будет использован свой WASAPI.

mitus 07.08.2009 17:54

Цитата:

Сообщение от Chartbreaker (Сообщение 220)
Некоторое представление о том, какой путь проделывает цифровой звук в ОС, можно получить из следующих источников (для упрощения, можно выделить несколько основных вариантов)

хотелось бы найти еще вариант для Mac OS...

вот нашел этапы настройки Mac OS для работы с внешним ЦАП:
http://www.usbdacs.com/Macintosh/Macintosh.html

You-Sun 16.10.2009 02:13

Блоксхема
 
Вложений: 1
Вложение 97Хочу добавить блоксхему как должна выглядеть система на РС для всех случаев жизни (игры, кино, МУЗЫКА). По звуковой карте: У меня был XFI, коммутация транзисторными ключами, для оцифровки не годится т.к. встроен лиммитер(неотключаемый). В спецификациях нигде об этом не упоминается(тайна), так что, запишешь громко , но не правильно! Заменил на Xonar . Коммутация на реле и ни каких лиммитеров. Да и процессоры получше.

antiluser 16.10.2009 19:27

S/PDIF без обратной синхронизации я бы не использовал, джиттер будет велик (если, разумеется, в ЦАПе качественный тактовый генератор). Также хороший результат при подключении по i2s.

Шумаков 30.10.2009 14:27

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

Руководство пользователя программы «FOOBAR»

  • Включить программу.
  • В верхней вкладке «File» выбрать «Preferences»
  • В появившемся окне, в левой панели «Components» развернуть вкладку «Playback» путём нажатия на «+»
  • В открывшемся подменю нажать на вкладку «Output».
  • В окне «Output» в верхней вкладке «Output Device:» необходимо выбрать приходящий на звуковую карту вашего компьютера поток «Kernel Streaming». Вкладка будет выглядеть следующим образом: «KS : ваша звуковая карта».
Например: «KS : SoundMAX HD Audio».

Теперь можно закрывать окно настроек и начинать прослушивание цифровых аудиозаписей.

-----> Если прослушиваются в основном 24-битные записи, в том же окне «Output Device:» во кладке «Output Format/Postprocessing» следует выбрать «24-bit». 16-битные записи при этом будут играть как играли но с дополнительными нулями с прибавленными к ним ещё 8 разрядами. То есть ничего не изменится, передискретизации из формата в формат (сиречь - ухудшения) не будет.

-----> Если при старте воспроизведения записи - звука нет или появляется сообщение об ошибке, значит звуковая карта:

1) Не умеет воспроизводить разрядность выше 16 бит. Это говорит о том, что Ваша карта может линейно воспроизводить только форматы CD-DA (16 бит 44100 кГц).

2) Не умеет работать с потоком «Kernel Streaming». В этом случае можно задействовать альтернативный поток: «ASIO». Для этого в окне «Output Device:» выбираем «ASIO : ваша звуковая карта». Эта вкладка иногда может появляться только после дополнительной привязки определённых каналов звуковой карты к ASIO-потоку. Это делается в «ASIO: Virtual Devices» находящимся под меню «Output» и индивидуально для каждой Звуковой Карты. А также (!) часто для каждой частоты дискретизации отдельно.
Если сообщения об ошибках возникают при старте воспроизведения через любой поток при любых собственных настройках ЗК, это означает её полную непригодность и лечится заменой на иную пригодную.

3) Сама не настроена на воспроизведение. В этом случае необходимо также индивидуально разбираться с каждой Звуковой Картой: к тому ли разъёму подключен цифровой кабель, установлен и настроен ли самый свежий драйвер и работает ли он корректно, правильно ли настроен маршрутизатор и позволяет ли он обойти привязанные к звуку фильтры и микшеры Windows, переключен ли режим ASIO на воспроизведение 16ти- или 24х- битных записей (если требуется).

-----> Наиболее линейное звучание (естественно: при качественном драйвере ЗК) выводит поток «ASIO».
Почему именно «Kernel Streaming» и «ASIO»? Именно эти алгоритмы позволяют дойти цифре до S/PDIFa вашей звуковой карты без посредников-"улучшайзеров" (см. схему).

SPU 30.10.2009 14:42

Эмм...
Цитата:

Если прослушиваются в основном 24-битные записи, в том же окне «Output Device:» во кладке «Output Format/Postprocessing» следует выбрать «24-bit». Даже 16-битные записи при этом будут играть с принудительной передискретизацией в 24 бита, при этом снижая звуковое естественное «давление» шестнадцати бит.
Тут как бы ерунда написана. Если карточка поддерживает 24 бита, то с указанными настройками она, как играла 16 бит, так и будет их играть, разница только во внутреннем формате потока (16 бит добивается нулями до 24), а на выходе получится ровно то же самое.
Единственная возможная разница заключается в каких-то особенностях работы конкретного ЦАП с потоками разной разрядности, но обычно никакой разницы нет.

Шумаков 30.10.2009 14:45

Цитата:

Сообщение от SPU (Сообщение 776)
16 бит добивается нулями до 24, а на выходе получится ровно то же самое.

Благодарю, это и имелось ввиду. Наверное "передискретизация" - слово здесь не уместное. Заменю :)

Chartbreaker 13.11.2009 20:05

Цитата:

Сообщение от SPU (Сообщение 776)
Единственная возможная разница заключается в каких-то особенностях работы конкретного ЦАП с потоками разной разрядности, но обычно никакой разницы нет.

Эта опция преимущественно влияет на программную обработку DSP (эквалайзеры, лимитеры и т.д.).

X_Man 14.11.2009 00:30

То есть при выставленных 24 битах 16-битная запись будет не только эквализоваться, но и регулироваться динамически (по громкости) качественней. Я правильно понимаю?

SPU 14.11.2009 02:19

Цитата:

Сообщение от Chartbreaker (Сообщение 818)
Эта опция преимущественно влияет на программную обработку DSP (эквалайзеры, лимитеры и т.д.).

Согласен. Выход с DSP из foobar2000 будет немного качественнее, если использовать повышенную разрядность.
Дело в том, что для простоты DSP реализуются так, что на входе и на выходе у них один формат потока, т.е. пришло на вход 16 бит, и на выходе будет 16 бит. Однако, никто не запрещает использовать внутреннюю обработку хоть в 64 бита. Получается, что все ухудшение качества будет только в округлении при приведении из внутреннего формата к исходной разрядности.

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

Chartbreaker 14.11.2009 13:48

Цитата:

Сообщение от X_Man (Сообщение 820)
То есть при выставленных 24 битах 16-битная запись будет не только эквализоваться, но и регулироваться динамически (по громкости) качественней. Я правильно понимаю?

Наверное, так и есть. По крайней мере в таких опциях, как hard -6dB limiter, точно влияет.
Цитата:

Сообщение от SPU (Сообщение 821)
В любом случае использование DSP при воспроизведении само по себе портит звук, поэтому нет большого смысла гоняться за ошибками округления. Лучше вообще не использовать DSP. Тем более, что речь в данной теме вроде шла просто о максимально качественном выводе звука с компьютера.

Бывают случаи, когда применение DSP может улучшить воспринимаемое качество. Например, воздействие плагина Bauer stereophonic-to-binaural для использования наушников. ;)

Шумаков 03.12.2009 18:56

Вложений: 2
Выкладываю очень полезную инструкцию по правильному копированию CDDA в компьютер.

Только что попытался последовать по инструкции - при включении сей программы вылезло "синее окно смерти", придётся серьёзно разбираться.
Так что если кому надо, выкладываю справочник по "синим окнам смерти" тоже :)

You-Sun 04.12.2009 05:52

Цитата:

Сообщение от Шумаков (Сообщение 992)
Выкладываю очень полезную инструкцию по правильному копированию CDDA в компьютер.
Только что попытался последовать по инструкции - при включении сей программы вылезло "синее окно смерти", придётся серьёзно разбираться. Так что если кому надо, выкладываю справочник по "синим окнам смерти" тоже :)

Странно, у меня она всегда стабильно работала, именно за это ее и люблю.

От большинства синих окон могу предложить образ лицензионной
Win XP HE. Всех своих знакомых на нее подсадил:).
Сам на ней просидел без всяких заморочек более 4 лет, пока не стал официальным бета-тестером Win-7. С августа опять на ХР.

SPU 04.12.2009 12:23

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

You-Sun 05.12.2009 09:01

Ну не знаю, я как перешел на лицензии, так и забыл, про синии окна и глюки. С ограничением НЕd - Professional не сталкивался, если написано
для ХР - так и работает.

X_Man 13.12.2009 12:59

Цитата:

Сообщение от Chartbreaker (Сообщение 823)
Наверное, так и есть. По крайней мере в таких опциях, как hard -6dB limiter, точно влияет.

Ладно. Допустим, включил я AIMP и слушаю+эквализую что-нибудь при выставленных 32 битах... Допустим это всё эквализуется аккуратнее чем положено... Но а как быть со звуковой картой? Она же обязана выдать на S/PDIF только ту разрядность, на которую заточена? А это может означать, что во время моего "аккуратнейшего прослушивания", ЗК сводит на нет все эти старания лишь одной своей передискретизацией?

SPU 14.12.2009 17:39

Надеюсь 32 бита не с плавающей точкой?
Вообще все зависит от драйверов карточки. Если сигнал на S/PDIF подается автоматически, то трудно понять, что там на выходе (16 или 24 бита)... разве что подключить с другой стороны устройство, которое это показывает (компьютер). В любом случае никакой передискретизации не будет, просто обрежутся младшие биты и все (если исходный поток был целочисленный).


Часовой пояс GMT +4, время: 02:23.

Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd. Перевод: zCarot
2008-2022 (с) Объединение «Ас»