Evgeniy_1990
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Цитата: MP3, AC3, AAC, Vorbis и другие кодеки с потерями сохраняют звук не в PCM представлении, а в неком своем формате, который дополнительно фильтруется и ужимается. Т.е. в этих форматах уже нет никаких int16 или int24. Современные декодеры при обратном преобразовании в PCM, как правило получают float, а потом, если это требуется, преобразуют его до любого другого формата. Именно поэтому на выходе ffmpeg декодера после вышеуказанных форматом получается float. | Спасибо за ответ! Получается, что кодеки с потерями выводят звук во Float, а кодеки без потерь, так называемые "лоси", типа "FLAC", "TrueHD", выводят звук напрямую в int16, или int24. Цитата: Я так же не советую отключать галку "Float" во встроенном декодере. Иначе при использовании микшера каналов или "автоматической регулировке громкости" получите лишние преобразования integer<->float. | Полезный совет, но я не согласен с ним, поскольку пользуюсь внешними аудио картами. Вы забываете, что у нас существуют внешние аудио карты, например от "ASUS", в которых присутствуют так называемые технологии вывода "реалистичного" и объемного звука в пространстве. В данном случае - это "Xonar GX2.5". Он способен превзойти наши привычные "EAX 2.0" и "EAX Advanced HD 3.0/5.0". Так вот, Float не предназначен для Windows XP, поскольку XP поддерживает его лишь частично, т.е. только в "стерео" режиме и только при условии, если GX отключен и не используется. Но без GX получается уже совершенно другой звук. Стоит только, при воспроизведении аудио во Float, вывести звук, к примеру, на 4 канала, как мы тут же получим сильнейший шум и треск. Вывод: Галочка "Float" для XP не нужна вообще. Она просто бесполезна. Далее, ситуация на 32-разрядной Windows 7 SP1: Тут скорее всего баг со стороны самой операционной системы, когда я запускаю Float + GX2.5 на встроенных фильтрах, то вылетает BSOD, в случае с LAV Audio Decoder, который спроектирован просто безобразно, где включены абсолютно все галочки, в сочетании Float с GX, в MPC-BE полностью отсутствует звук, в MPC-HC - настоящий вой и рёв. По крайней мере, XP вполне нормально переносит недопустимое состояние Float + GX, т.е. при их комбинации просто отсутствует звук, при воспроизведении любого аудио и видео файлов, чего не скажешь про Windows 7, где виснет сама система да еще и BSOD. Также, на новых системах Win7 и Win8.1 бывает ситуация, когда могут работать вместе и Float и GX, т.е. Float + GX, но это уже 100% баг самих этих систем, поскольку, при таком раскладе что-то одно все-равно так или иначе игнорируется и опускается, или сам Float заменяется на аналог int32, либо GX просто отказывается работать. Вместе они работать ни за что не могут. Как раз такое я получал однажды на 64-разрядной Windows 7 SP1. На XP всегда строго: Float + GX - звука просто нет, он просто отсутствует. По поводу 64-разрядной Windows 8.1 - сколько уже ей пользуюсь, пока нормально работают алгоритмы, т.е. при Float + GX звука просто нет, падений нет и BSOD'а тоже нет. Но кто его знает, как будут вести себя дальше эти "проблемные" системы и что у них на уме вообще...? Вывод: Если у вас встроенные, т.е. интегрированные аудио карты на материнских платах, в виде чипов, типа "Realtek HD/AC97", "VIA Viny HD", "SoundMAX", то галочку Float можно не отключать вообще, при условии, что пользуйтесь не XP, а новыми системами с полной поддержкой Float. А если пользуемся внешними аудио картами, то тут в некоторых, все же придется отключать Float, иначе получите "черт его знает" что за ахинею. Опять же галочка не для всех случаев может быть включена. V0lt, по поводу лишних преобразований, тут я с вами полностью согласен. Это именно так и происходит. Но увы, без них никак, я вынужден с ними сидеть, хотя бы потому, что пользуюсь XP. По вашим словам само преобразование может быть "обратным". Но у себя я видел и вижу до сих пор только преобразование в одну сторону, т.е. такое: 32bit Float -> Int16, при условии что стерео, и прямое "16bit -> Int16", если это "моно" звук. |