MPC-BE forum

MPC-BE => Баг Репорт / The bug report => Архив / Archive => Тема начата: LongKick64 от 12 февраля 2019, 14:01:05

Название: Почему звук выводится в 16 бит? [Исправлено]
Отправлено: LongKick64 от 12 февраля 2019, 14:01:05
Купил цапоусь CEnrance DACPortable (https://hi-news.ru/audio/obzor-portativnogo-cap-s-usilitelem-dlya-naushnikov-cenrance-dacportable.html). Он поддерживает 32 битный вывод звука. Вот пруф:
(https://monosnap.com/image/CF6d3xTQa01SoQpdLoGmMKMfptGTs4.png)


Скачал клип (https://mega.nz/#!kngkGRDK!YmImOSIQQ5p5QCAdBGbZa609nDXBUO2MSM2Nj-IZX1E), с 24 битной звуковой дорожкой.
(https://monosnap.com/image/TyTihIE6byJoG2O0vpTL6U8t7zEck0.png)


В настройках плеера выбрал MPC Audio Renderer и в его свойствах выбрал режим WASAPI Exclusive.
(https://monosnap.com/image/g3Ep2iyamAEZGPPutBqesrpy6qlmy6.png)


Открываю клип, перехожу в меню "Воспроизведение" > Фильтры" > "MPC Audio Renderer" > "Свойства...", переключаюсь на вкладку "Статус" и вижу, что на выходе, вместо 24 бит, почему-то получается 16.
(https://monosnap.com/image/8xLnkIzwFubEYcUI1HVTlKCYuFJotx.png)


Почему так происходит? Ведь по идеи, в эксклюзивном режиме, на выходе, я должен получить тоже самое, что и на входе, то есть 24 бит. Объясните, пожалуйста. :|
Название: Почему звук выводится в 16 бит? [Исправлено]
Отправлено: Aleksoid1978 от 12 февраля 2019, 14:55:13
Возможно(а такое очень часто у подобных девайсов) - для WASAPI драйвер просто не отдает данных что он поддерживает чтолибо отличное от 16-bit. Попробуй опцию "Не проверять поддержку формата" - хотя думаю она не поможет, ибо звук 24-bit, а карта поддерживает только 16 или 32.
Название: Почему звук выводится в 16 бит? [Исправлено]
Отправлено: LongKick64 от 12 февраля 2019, 14:56:54
ЦитироватьПопробуй опцию "Не проверять поддержку формата" - хотя думаю она не поможет
Не помогло. :(
Название: Почему звук выводится в 16 бит? [Исправлено]
Отправлено: Aleksoid1978 от 12 февраля 2019, 15:26:59
Вот тестовый билд - https://yadi.sk/d/ej2dcZeu2K-nAg
После запуска -> открытия файла -> закрытия - выложи лог с рабочего стола.
Название: Почему звук выводится в 16 бит? [Исправлено]
Отправлено: LongKick64 от 12 февраля 2019, 16:04:57
Вот: https://mega.nz/#!D9Yw2YoY!PQ1Q2XP1Gcc7RKDij4HBMHJ0S8jtPfrm3OlLxEnPPE8
Название: Почему звук выводится в 16 бит? [Исправлено]
Отправлено: Aleksoid1978 от 12 февраля 2019, 16:24:46
Ну как я и говорил - драйвер(ну по крайней мере для WASAPI) возвращает данные только по 16-bit.
Могу посоветовать только что - выставить нужные настройки в самой системе и использовать WASAPI Shared, тогда будет использоваться текущие настройки системы.
Название: Почему звук выводится в 16 бит? [Исправлено]
Отправлено: LongKick64 от 12 февраля 2019, 16:28:19
Если выбрать WASAPI Shared, то тогда, те записи что 44100 будут на выходе переконвертироваться в 48000. Я в системе выбрал 32 бит, 48000 Гц, потому что у меня большинство файлов с частотой 48000. Еще, есть парочка фильмов с частотой 96000, выходит, они тоже будут переконвертироваться в 48000, если выбрать WASAPI Shared, что не есть гуд.
Название: Почему звук выводится в 16 бит? [Исправлено]
Отправлено: Aleksoid1978 от 12 февраля 2019, 16:42:52
Ну а я то что сделаю - ну жалуйся производителю своей железки. Не я же такую "фигню" с WASAPI придумал :)
Название: Почему звук выводится в 16 бит? [Исправлено]
Отправлено: LongKick64 от 12 февраля 2019, 16:44:45
А это оч. плохо, что 24 битная запись, на выходе в 16 битную превращается? Может не так уж это и страшно? :)
Название: Почему звук выводится в 16 бит? [Исправлено]
Отправлено: Aleksoid1978 от 12 февраля 2019, 16:53:38
Ну немного в качестве теряется в случае преобразования 24 -> 16, 1/3 "часть" бит теряется :)
Название: Почему звук выводится в 16 бит? [Исправлено]
Отправлено: LongKick64 от 12 февраля 2019, 16:54:18
Написал письмо разработчику, интересно что он ответит. :)
Название: Почему звук выводится в 16 бит? [Исправлено]
Отправлено: Aleksoid1978 от 21 февраля 2019, 07:37:35
Ну и что - был ответ ?? :)
Название: Почему звук выводится в 16 бит? [Исправлено]
Отправлено: LongKick64 от 21 февраля 2019, 16:23:52
Неа, тишина. :(

Добавлено: 2019-02-21 15:40:34

При том, что на другие мои вопросы они отвечают в течении пары часов. :rolleyes:


Добавлено: 2019-02-21 16:13:51

Проверил в MPC-HC. Там, правда, LAV Audio Decoder задействуется, но он почему-то умеет правильно выводить битность на мой цап.
(https://monosnap.com/image/8F2l3JrymTu6rq8rlzJLnyF0Ay6jRT.png)


Добавлено: 2019-02-21 16:23:52

В PotPlayer например, можно выбрать вывод звука в 32-бит (Float).
(https://monosnap.com/image/JsAS3OQxm7NLhOo6WVs0u8EYGmL1vw.png)


и на выходе получить 32 бита.
(https://monosnap.com/image/Gf3wPt1YkZSIntwYBogv93CwADDpFC.png)
Название: Почему звук выводится в 16 бит? [Исправлено]
Отправлено: V0lt от 22 февраля 2019, 17:46:45
LongKick64
Выбери режим Shared будет тебе 32-бит флоат.
Название: Почему звук выводится в 16 бит? [Исправлено]
Отправлено: Evgeniy1990 от 23 февраля 2019, 06:55:14
LongKick64

Как интересно, сначала речь шла про аудио-рендерер, потом уже идет аудио декодер.

Сравнивать нужно, или два аудио декодера (один MPC Audio Decoder, другой - LAV Audio Decoder), или же два аудио-рендерера (один MPC Audio Renderer, другой - Sanear Audio Renderer, тот что встроен в MPC-HC) и уже смотреть какие данные, допустим, при одном и том же режиме "WASAPI Exclusive", выдают наш встроенный MPC Audio Renderer и ему аналогичный сторонний Sanear Audio Renderer.

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

И также желательно проверить и сравнить связки фильтров:

MPC Audio Decoder + MPC Audio Renderer (WASAPI : Exclusive)
MPC Audio Decoder + Sanear Audio Renderer (WASAPI : Exclusive)

LAV Audio Decoder + Sanear Audio Renderer (WASAPI : Exclusive)
LAV Audio Decoder + MPC Audio Renderer (WASAPI : Exclusive)
Название: Почему звук выводится в 16 бит? [Исправлено]
Отправлено: LongKick64 от 23 февраля 2019, 07:03:39
ЦитироватьВыбери режим Shared будет тебе 32-бит флоат.
А что делать с этим (https://mpc-be.org/forum/viewtopic.php?pid=4568#p4568)? :rolleyes:


Evgeniy1990, подключил к MPC-BE Sanear Audio Renderer. Он, в отличии от MPC Audio Renderer, умеет выводить в 32 бита. То есть что-то не так с MPC Audio Renderer.
(https://monosnap.com/image/qTU1ZSrlse1x7KTmg8aIM9p9WoePHd.png)
Название: Почему звук выводится в 16 бит? [Исправлено]
Отправлено: Aleksoid1978 от 23 февраля 2019, 07:33:31
Чисто теоретически можно так сделать - без опроса WASAPI на поддержку того или иного формата, просто пытаться вывести, перебирая все возможные варианты(видимо что-то похожее и делает Sanear).
Но - я не хочу париться с этим, пусть лучше драйверо-писатели пишут нормальные драйвера для своих железок.

P.S. Тут подумал - реализовать "подбор" битности при установленной галке "Не проверять поддержку формата" - реализую, с этим больших проблем нет.
Название: Почему звук выводится в 16 бит? [Исправлено]
Отправлено: V0lt от 23 февраля 2019, 07:44:47
Ну или ошибка у них в статистике. :p

Цитата: LongKick64
ЦитироватьВыбери режим Shared будет тебе 32-бит флоат.
А что делать с этим? :rolleyes:.
Ты тему то не переводи. В режиме Shared получил 32-бит флоат?
Название: Почему звук выводится в 16 бит? [Исправлено]
Отправлено: Aleksoid1978 от 23 февраля 2019, 07:49:00
Да в Shared он получит тот режим, который выставлен в системе :)
Название: Почему звук выводится в 16 бит? [Исправлено]
Отправлено: LongKick64 от 23 февраля 2019, 08:07:58
ЦитироватьТы тему то не переводи. В режиме Shared получил 32-бит флоат?
Получил и вместе с ним еще и в придачу передискретизацию из 44100 в 48000 и из 96000 в 48000 получил так, как в системе выбрана частота дискретизации 48000. :)

Добавлено: 2019-02-23 08:07:58

ЦитироватьP.S. Тут подумал - реализовать "подбор" битности при установленной галке "Не проверять поддержку формата" - реализую, с этим больших проблем нет.
Здорово, если будет как в Sanear Audio Renderer работать! Бросьте потом сюда тестовый билд, проверю. ;)
Название: Почему звук выводится в 16 бит? [Исправлено]
Отправлено: Aleksoid1978 от 23 февраля 2019, 08:10:55
А можно сам файл(или небольшой сэмпл) со звуком PCM 24-bit.
Название: Почему звук выводится в 16 бит? [Исправлено]
Отправлено: LongKick64 от 23 февраля 2019, 08:15:40
Цитата: Aleksoid1978А можно сам файл(или небольшой сэмпл) со звуком PCM 24-bit.
Вот, например, клипчик с 24 битной звуковой дорожкой. :)
Название: Почему звук выводится в 16 бит? [Исправлено]
Отправлено: Aleksoid1978 от 23 февраля 2019, 08:33:10
Вот пробуем - https://yadi.sk/d/pwFrOkalvygxvQ
не забывает выставить галку "Не проверять поддержку формата".
Название: Почему звук выводится в 16 бит? [Исправлено]
Отправлено: LongKick64 от 23 февраля 2019, 08:39:13
Цитироватьне забывает выставить галку "Не проверять поддержку формата".
Галку поставил, но на выходе все-равно 16 бит. :(
Название: Почему звук выводится в 16 бит? [Исправлено]
Отправлено: Aleksoid1978 от 23 февраля 2019, 08:46:18
Очень странно. У меня на 24bit работает, выводит в 32bit.
Ну что могу сказать - не имея железки на руках не разобрать. Есть желание - спонсируем, если приобрету - смогу все подправить :)
Название: Почему звук выводится в 16 бит? [Исправлено]
Отправлено: LongKick64 от 23 февраля 2019, 21:34:51
ЦитироватьЕсть желание - спонсируем, если приобрету - смогу все подправить
Ну, $350, не $10) Я и сам долго собирал на этот цапоусь, так что вряд-ли спонсорством займусь)
Название: Почему звук выводится в 16 бит? [Исправлено]
Отправлено: Aleksoid1978 от 24 февраля 2019, 05:16:14
Вот пробуем еще разок - https://yadi.sk/d/mhG8Tw6YtNyLVQ
Этот билд создает лог на рабочем столе. Открыть файл с 24bit звуком, закрыть и выложить лог с рабочего стола мне.
Название: Почему звук выводится в 16 бит? [Исправлено]
Отправлено: LongKick64 от 24 февраля 2019, 05:21:40
Все сделал, вот: https://mega.nz/#!DpQSUQzJ!CByJIG4fQj0PnM1U6wDfLZV4NbMHfq0oEkif7Xmt9qE
Название: Почему звук выводится в 16 бит? [Исправлено]
Отправлено: Aleksoid1978 от 24 февраля 2019, 06:27:33
Спасибо - нашел в чем косяк был. Щас переделаю и залью новый билд.

Добавлено: 2019-02-24 13:27:33

Обновил тестовый билд - перекачать и проверить.
Название: Почему звук выводится в 16 бит? [Исправлено]
Отправлено: LongKick64 от 24 февраля 2019, 07:11:12
Перекачал, проверил. На выходе получаю 32 бита. Ура! Это победа. :)

(https://monosnap.com/image/nqNLBhG018Efi19msUhoujAS8A0b0U.png)

Добавлено: 2019-02-24 07:11:12

А если на входе 16, то на выходе получаю 16. Так и должно быть?

(https://monosnap.com/image/mHZmDPTvXKtk7uLkkJIUKv6e87gIZx.png)
Название: Почему звук выводится в 16 бит? [Исправлено]
Отправлено: Aleksoid1978 от 24 февраля 2019, 07:38:07
Про 16-bit - ну конечно так и должно быть.
Название: Почему звук выводится в 16 бит? [Исправлено]
Отправлено: LongKick64 от 24 февраля 2019, 08:05:59
Странно что Sanear Audio Renderer, 16 битную дорожку, выводит в 32 бита. :|

(https://monosnap.com/image/HrKHtMlwqeTyRVrQtgKeYYjWtrROM5.png)
Название: Почему звук выводится в 16 бит? [Исправлено]
Отправлено: Aleksoid1978 от 24 февраля 2019, 09:13:13
Ну значит он не определяет поддержку форматов, а выводит в максимальной битности.
Название: Почему звук выводится в 16 бит? [Исправлено]
Отправлено: LongKick64 от 24 февраля 2019, 09:28:43
А что лучше? Как у нас, чтобы он сам определял битность или вывод в максимальной битности? :)
Название: Почему звук выводится в 16 бит? [Исправлено]
Отправлено: Aleksoid1978 от 24 февраля 2019, 09:37:37
По факту разницы нет, т.к. при повышении битности качество не меняется.
Название: Почему звук выводится в 16 бит? [Исправлено]
Отправлено: LongKick64 от 24 февраля 2019, 23:29:24
Понятно. Главное что баг пофиксили. :)


ЗЫ Тему, наверное, нужно в раздел "Баг Репорт / The bug report" (https://mpc-be.org/forum/viewforum.php?id=2) перенести и отметку [Исправлено] поставить.
Название: Почему звук выводится в 16 бит? [Исправлено]
Отправлено: LongKick64 от 07 марта 2019, 17:35:29
Не хочу показаться навязчивым, но может стоит и 16 битный звук на входе выводить в 32 битный, как это реализовано в Sanear Audio Renderer? Немного попереключал туда-сюда режимы WASAPI Shared и Exclusive и такое впечатление, что в режиме Shared (16 -> 32) звук меняется в лучшую сторону, становится мягче и объемнее. В режиме Exclusive (16 -> 16) все звучит как будто менее объемно и более резко. Понимаю, что по идеи разницы в звучании быть не должно, но я ее почему-то отчетливо слышу.
Название: Почему звук выводится в 16 бит? [Исправлено]
Отправлено: V0lt от 07 марта 2019, 17:53:48
Цитата: LongKick64Не хочу показаться навязчивым, но может стоит и 16 битный звук на входе выводить в 32 битный, как это реализовано в Sanear Audio Renderer?
Нет.
Если так уж не милы 16-бит, то сними соответствующую галку в Настройки -> Аудио -> Обработка звука -> Формат вывода.
Название: Почему звук выводится в 16 бит? [Исправлено]
Отправлено: LongKick64 от 07 марта 2019, 18:03:33
ЦитироватьЕсли так уж не милы 16-бит, то сними соответствующую галку в Настройки -> Аудио -> Обработка звука.
Благодарю за идею, соответствующую галку отключил. ;)

Добавлено: 2019-03-07 18:03:33

Интересно, почему автор Sanear Audio Renderer решил все выводить в 32 бита, включая 16 бит.
Название: Почему звук выводится в 16 бит? [Исправлено]
Отправлено: V0lt от 07 марта 2019, 18:24:57
Возможно просто сделал вывод в одном формате. Лучше у автора спроси.
Название: Почему звук выводится в 16 бит? [Исправлено]
Отправлено: LongKick64 от 13 октября 2019, 00:19:04
Я сейчас на Shared Mode перешел. В эксклюзивном режиме, если на входе имеем 16 бит, то и на выходе получим 16 бит. Слушать в таком режиме музыку просто невыносимо( На высоких появляется отчетливая резь и вообще все начинает звучать сильно хуже. Наушники Beyerdynamic Custom Studio + внешняя звуковуха CEntrance DACportable. На более дешевой аппаратуре, видимо, все нормально. :rolleyes:
Название: Почему звук выводится в 16 бит? [Исправлено]
Отправлено: Aleksoid1978 от 18 октября 2019, 04:58:33
Так говорили же - убери галку с 16-bit, и тогда не будет его на входе.
Название: Почему звук выводится в 16 бит? [Исправлено]
Отправлено: LongKick64 от 18 октября 2019, 05:23:11
Это понятно. Я предлагаю все в 32 бита выводить. Другие включат эксклюзивный режим и знать не будут почему их наушники стали хуже звучать, хотя теоретически должно быть наоборот.
Название: Почему звук выводится в 16 бит? [Исправлено]
Отправлено: V0lt от 18 октября 2019, 05:46:36
LongKick64, не выдумывай про других людей. То что у тебя с 16-бит не лады, то это не значит что у других так же. Я бы сказал, что чаще наоборот. 16-бит самый стабильный.

Проблема юзера, который ленится переключить настройку - это проблема юзера и только.
Название: Почему звук выводится в 16 бит? [Исправлено]
Отправлено: LongKick64 от 18 октября 2019, 06:08:49
Ну, начнем с того, что подобная реализация, когда 16 на входе и на выходе 16, только у вас. У других, 16 на входе, а на выходе получаем 32 флоат. И у меня нет проблем со стабильностью, а вот на слух, звучание становится хуже. Не каждый заметит, кто-то с говенными наушниками будет думать что все ок и так и надо. Тот же AIMP, например, на выходе 32 бита, флоат делает:
(https://jpegshare.net/images/61/2d/612d01bd8ce0c60a3f113e2a0e6672bc.png) (https://jpegshare.net/)

Добавлено: 2019-10-18 06:08:49

Да и Senear Audio Renderer тоже...
Название: Почему звук выводится в 16 бит? [Исправлено]
Отправлено: Aleksoid1978 от 18 октября 2019, 06:50:25
У нас по дефолту - вывод для форматов без потерь 1:1, для форматов с потерями - во Float.
Если включены в проигрыватели различные аудио-постобработки - то тогда во Float.
Это самое оптимальное.

Ну и как бы не надо "гнать" про 16-bit. Если источник 16-bit - то никакие выводы в 24/32/Float не сделают лучше. Если так - значит конкретное железо не умеет или плохо умеет работать с 16-bit(может в железке при этом не работают улучшалки или еще что-то - тут могут дать ответ только производители).
Название: Почему звук выводится в 16 бит? [Исправлено]
Отправлено: V0lt от 18 октября 2019, 18:17:21
Цитата: Aleksoid1978У нас по дефолту - вывод для форматов без потерь 1:1
Во-во. Самый аудиофильный режим предлагают похерить. ;)
На входе CD 16-бит или DVD-Audio 16/24-бит. Декодер выдает как есть. Аудиорендерер так же может выводить без изменений. Но давайте на последнем этапе обломаем всю малину. Да еще без вариантов. И не потому что какую-то обработку добавим, а потому что лень галочку снять.

Говоря о стабильности 16-бит, Я имел в виду всякие внешние USB ЦАПы. Многие из них просто не умеют принимать 32Float.
Название: Почему звук выводится в 16 бит? [Исправлено]
Отправлено: LongKick64 от 18 октября 2019, 19:47:42
Почему тогда в AIMP\'е не имеет значение какие файлы я буду воспроизводить, сжатые или несжатые? На входе всегда 32, а на выходе 32 (Float). Значит умеет моя внешняя звуковуха принимать 32Float, но легче всего, конечно, на нее все валить чем что-то исправлять.

(https://jpegshare.net/images/a8/07/a807690acd356f9d284747ca95fd6ee7.png) (https://jpegshare.net/)

(https://jpegshare.net/images/e2/64/e264dd6b95f1fe4274e6457a80afc788.png) (https://jpegshare.net/)



ЗЫ Так же проверил на другой своей внешней звуковухе OPPO HA-2SE (https://stereo.ru/to/ira4c-test-portativnogo-tsap-usilitelya-dlya-naushnikov-oppo-ha-2se-stilnyy-kompakt), та же фигня. :rolleyes:
Название: Почему звук выводится в 16 бит? [Исправлено]
Отправлено: V0lt от 18 октября 2019, 20:50:46
Цитата: LongKick64Почему тогда в AIMP\'е не имеет значение какие файлы я буду воспроизводить, сжатые или несжатые? На входе всегда 32, а на выходе 32 (Float).
Не смысла здесь это спрашивать, здесь нет авторов AIMP.
На скриншотах на выходе WASAPI 32Int, а не как ты написал.
Название: Почему звук выводится в 16 бит? [Исправлено]
Отправлено: LongKick64 от 18 октября 2019, 22:11:31
Почему в последней бете, 1.5.4 (build 4850) beta, я даже в режиме WASAPI Shared, на выходе получаю 16 бит? :rolleyes: Раньше, в режиме WASAPI Shared, на выходе я получал 32 бита.

(https://jpegshare.net/images/81/34/81343fe179c022618b7b49b8dbb05a4d.png) (https://jpegshare.net/)

Добавлено: 2019-10-18 22:11:31

Короче я уже в конец запутался.
Название: Почему звук выводится в 16 бит? [Исправлено]
Отправлено: V0lt от 19 октября 2019, 07:38:48
Принципы работы со звуком.
1. Если формат звука в фильтре не меняется, то по возможности отправляем дальше как есть.
2. Если происходит серьезная обработка звука (например, микширование каналов), то после обработки звук становиться в формате 32Float. По возможности отправляем звук дальше в формате 32Float, т.к. изменение формата на исходный может ухудшить звук.
3. Если формат выходом не поддерживается, то преобразуемым исходный формат звука в поддерживаемый. Выбирается наиболее оптимальный формат, чтобы минимально отразилось на качестве.
Название: Почему звук выводится в 16 бит? [Исправлено]
Отправлено: LongKick64 от 20 октября 2019, 04:37:00
Хорошо, объясните мне тогда такой момент. Есть два клипа. В обеих клипах lossless аудио-дороги, 24 бит. Данные аудио первого клипа:
Идентификатор                            : 2
Формат                                   : PCM
Настройки формата                        : Little / Signed
Идентификатор кодека                     : A_PCM/INT/LIT
Продолжительность                        : 11 м. 53 с.
Вид битрейта                             : Постоянный
Битрейт                                  : 2304 Кбит/сек
Каналы                                   : 2 канала
Частота                                  : 48,0 КГц
Частота кадров                           : 200,000 кадров/сек (240 SPF)
Битовая глубина                          : 24 бит
Размер потока                            : 196 Мбайт (8%)
Язык                                     : Japanese
Default                                  : Да
Forced                                   : Нет



Данные аудио второго клипа:
Идентификатор                            : 4352 (0x1100)
Идентификатор меню                       : 1 (0x1)
Формат                                   : PCM
Настройки формата                        : Big / Signed
Режим смешивания                         : Blu-ray
Идентификатор кодека                     : 128
Продолжительность                        : 4 м. 7 с.
Вид битрейта                             : Постоянный
Битрейт                                  : 2304 Кбит/сек
Каналы                                   : 2 канала
ChannelLayout                            : L R
Частота                                  : 48,0 КГц
Битовая глубина                          : 24 бит
Размер потока                            : 67,9 Мбайт (7%)



Почему у одного на входе получается 24 -> 32, а у второго 32 -> 32?

(https://i.imgur.com/eTbyJEC.png)

(https://i.imgur.com/vC7Wf15.png)
Название: Почему звук выводится в 16 бит? [Исправлено]
Отправлено: Aleksoid1978 от 20 октября 2019, 07:00:52
В первом случае чистый PCM, минуя декодер идёт дальше. Второй случай - Blu-Ray формат, его ещё надо обработать. Ну в данном случае декодер выводит в 32-bit PCM.
Название: Почему звук выводится в 16 бит? [Исправлено]
Отправлено: LongKick64 от 20 октября 2019, 07:13:59
А почему, собственно, не во Float?
Название: Почему звук выводится в 16 бит? [Исправлено]
Отправлено: V0lt от 20 октября 2019, 07:31:48
Цитата: LongKick64Почему у одного на входе получается 24 -> 32, а у второго 32 -> 32?
Декодер так выдает вот и все.  Рендерер тут не причем.

Можно, конечно напрячься и сделать так, чтобы и для второго файла декодер выдавал 24-бита (декодер там вроде нашего исполнения). Но на практике в этом нет никакого смысла. 24-бита очень неудобный для обработки формат, и некоторые декодеры (например, FFmpeg) сразу декодируют такое в 32-бита. Преобразование 24->32->24 в целых числах полностью безопасная операция, ни один бит не теряется.

Добавлено: 2019-10-20 07:31:48

Цитата: LongKick64А почему, собственно, не во Float?
24Int -> 32Int - преобразование без потерь, биты просто копируются.
По сути любой декодер, которому приходиться декодировать поток (FLAC, BD-PCM), изначально получает семплы в 32Int из 24-битного потока, и только потом он может отбросить лишние биты. Но как Я уже говорит, некоторые декодеры оставляют 32Int, так удобнее и быстрее в итоге

24Int -> 32Float - преобразование "вроде как без потерь". Формат представления чисел меняется. Имеет смысл, если сам декодер будет делать обработку звука. Наш декодер обычно только декодирует.