Привет Хабр. Расскажу о своем опыте построения домашнего кинотеатра с многоканальным звуком на ТВ-приставке с Android.
История такая. На выходные ко мне в гости приезжают внуки. В нашу воскресную программу входит неограниченный просмотр мультфильмов и детских сказок онлайн. Дома они тоже это смотрят, но вот родители считают, что времяпровождение у экрана должно быть как-то ограничено. В гостях у бабушки с дедушкой этих ограничений в принципе быть не может. И ещё одно событие в предыстории. Старшему внуку 5 лет и этим летом я сводил его в кинотеатр. Это был первый в его жизни мультик на большом экране с большим звуком. Он, конечно, не выдержал весь сеанс (1час 20минут) но впечатлений было море.
Мы тогда решили – будем строить кинотеатр дома. Телевизор нам для этого не подходит, нужен проектор.
Я выбрал FORMOVE FengMi S5. Это китайская версия и самобытные мастера и умельцы продавца жестко подменили лаунчер, навтыкали в него альтернативных программ, которые условно рабочие. Поэтому использовать его решил только как проектор с входа HDMI. Эта часть сего девайса работает безупречно. Автофокусировка на расстоянии до экрана 4,5 метра отрабатывает на ура, диагональ получилась примерно 160 дюймов, в настройках уменьшил до 150. Более чем достаточно для домашнего кинотеатра. Яркость такая, что возможен комфортный просмотр днём в пасмурную погоду.
В качестве источника сначала был стример “DSP machine 1 Max Power Amp 234” с Raspberry Pi 4. Кино смотрели на веб плеере Chrome. Звук поразительный, я его ещё немного подстроил под комнату. Но нам же этого мало, нам же нужен Surround и как минимум 5.1
Решение не простое. Raspberry Pi 4 со звуком через интерфейс I2S как в DSP machine в принципе не может воспроизводить многоканальный звук. Процессор Broadcom BCM2712 на котором собрана Raspberry Pi5 имеет такую возможность, но пока она не реализована. Об этом сообщили программисты из Raspberry Pi Foundation, я их хорошо знаю с тех пор как мы вместе интегрировали драйвер и оверлей ChipDipDAC в официальную Raspberry Pi OS. Можно конечно выводить звук через USB audio, там у Raspberry Pi можно получить Surround 5.1. Но если USB audio, то лучше использовать ТВ приставку на Android, по крайне мере будет дешевле. У Android очень хорошо проработан выход USB audio и можно получить многоканальный звук очень высокого качества.
В качестве транспорта USB я буду использовать только Reflex3 в силу его невероятной гибкости в настройках звука. И потому, что я один из разработчиков транспортов Reflex. Reflex сам по себе только USB/I2S транспорт и поэтому для вывода аналогового многоканального звука он установлен на наш (Чип и Дип) одноплатный аудио компьютер “Audio Artwork 1452-1934-1761”
Выбор онлайн кинотеатра и ТВ приставки.
Выбор онлайн кинотеатра с surround звуком это было самое трудоемкое занятие. В настоящее время (а это октябрь 2024) фильмы с дорожкой 5.1 можно просматривать на Кинопоиске, Иви, Окко, Wink и Netflix. Это те кинотеатры, на которые я сделал подписки и проверил объемный звук 5.1 из приложений. Может быть есть и другие.
Одновременно испытывал это на нескольких ТВ боксах c Android TV и Google TV.
Работало это так. При подключении Reflex с настройками на вывод звука 5.1 все приложения определяли, что можно выводить звук в формате 5.1, но звук выводится в этом формате только на тех приставках, которые имеют лицензию Dolby audio. Если приставка без этой лицензии, тогда простое стерео. Но там тоже не всё так просто. Пройдемся по приложениям онлайн кинотеатров.
1. ОККО. На ТВ боксах с лицензией Dolby audio, плеер предлагает вывести звук в формате 5.1, но через USB аудио звука НЕТ. Переключить в режим стерео не представляется возможным. На ТВ боксах без лицензии Dolby audio звук выводится в стерео и прекрасно работает, но мне это не надо. Поддержка обещала это поправить. Жду обновления.
2. Кинопоиск. На ТВ боксах с лицензией Dolby audio, плеер предлагает вывести звук в формате 5.1, но через USB аудио звука тоже НЕТ. Но есть выбор звуковой дорожки Стерео. Там всё хорошо, но не нужно. На ТВ боксах без лицензии Dolby audio звук выводится сразу и только в стерео.
3. Netflix. Тоже самое, что и в Кинопоиск. При выборе дорожки 5.1 звука нет. Стерео всё хорошо.
4. ИВИ. Там вообще всё хорошо. На приставках с лицензией Dolby audio на дорожках 5.1 прекрасный звук, но начинается со стерео и на surround переключается через 5-6 секунд. На дорожках стерео всё прекрасно. Хорошо, но есть ещё Wink.
5. Wink. Безупречное воспроизведение дорожек 5.1 через USB audio. Без задержек, превосходное качество. Динамика, сцена. Когда летит вертолет, дети прячутся за кресла. А если мультяшная батальная сцена, бегут на помощь героям. Полное погружение!
Мой выбор Wink и ИВИ и ТВ приставка медиаплеер Хiaomi mi box s 2nd gen, она с лицензией Dolby audio.
Техника.
Теперь низкий уровень для DIY практиков.
USB-I2S транспорт Reflex 3 установлен на “Audio Artwork 1452-1934-1761”. В качестве панели управления будем использовать “Artwork Control Panel Disp”, на ней индикатор частоты сэплирования / разрядности, регулировка громкости и переключатель режимов. Есть ещё две кнопки и индикаторы на адресных светодиодах. Как это всё объединить в кинотеатр? На “Audio Artwork 1452-1934-1761” пристегнуты четыре платки с операционниками. Блок питания 12В/0,5А.
На рисунке сборка кинотеатра.
Особое внимание на Джамперы. Помечены красными прямоугольниками.
Выходы / входы маркированы как в SigmaStudio.
ПО.
На плате “Audio Artwork 1452-1934-1761” установлены DSP ADAU1452 и DAC AD1934, поэтому проект кинотеатра будет создан с помощью SigmaStudio, а с помощью ChipStudio будет перенесён для управления и настройкой кинотеатра в транспорт Reflex.
SigmaStudio
Это графический интерфейс для управления и конфигурирования различных цифровых аудио процессоров производства Analog Devices. В SigmaStudio можно построить аудио тракт практически любой конфигурации, подключая различные алгоритмы управления звуком. В нашем случае аудио процессор ADAU1452 и ЦАП AD1934 сконфигурированы как 6 канальный аудио тракт (5.1). Шесть аудио каналов с транспорта Reflex, уже разложенные в 5.1, подаются на переключатель предустановленных, как бы это правильно назвать? пресетов, что ли. Что это значит? В верхнем положении шесть каналов передаются на шесть выходов через общий регулятор громкости. Особой обработки нет. Только на канале сабвуфера стоит алгоритм супербас и на центральном канале фильтр с ВЧ полкой от 6 кГц с низкой добротностью и небольшим усилением +3дБ. Добавляет прозрачности к сцене. Супербас настроен на 40Гц с коэффициентом интенсивности 1.3 и усилением 1.2 (эмоциональное воздействие от включения этого алгоритма очень велико, будьте осторожны). Алгоритм SuperBass не поднимает уровень НЧ, а искусственно генерирует высокие гармоники над частотой кроссовера, создавая впечатление повышенного баса. Интенсивность устанавливает уровень этих гармоник, а усиление применяется к сигналу ниже частоты настройки (40Гц в нашем случае).
Три нижних положения коммутатора “пресетов” подключают алгоритмы ADIsurround, которые декодируют входной стерео сигнал в объемный звук. Это включается если на входе кинотеатра нет surround каналов, а только стерео. В результате процесса декодирования получаем канал из суммы левого и правого каналов, (L+R), который содержит фронтальную информацию, и разностный канал (разница между левым и правым каналами, L-R / R-L), который содержит информацию об окружающей среде. В зависимости от смешивания и распределения разностного канала с каналом суммы, получаются левый, правый, центральный, а также боковые или тыловые каналы объемного звучания. Фронтальные динамики L и R транслируют музыку, фронтальные звуковые эффекты и направленные диалоги; Центральная колонка несет большую часть диалогов, а колонки объемного звучания (идеально, если они расположенные сбоку от слушателей и немного над ними) обеспечивают атмосферу и эффекты объемного звучания. У меня переключаются три алгоритма: Клуб, Кинотеатр и Рок.
Откройте проект в SigmaStudio, там всё гораздо нагляднее. Можно посмотреть и проверить/поменять различные настройки для зала или маленькой комнаты. С ними можно экспериментировать, чтобы адаптировать звук к комнате, в которой находится система, и личным предпочтениям. Но знайте что «правильной» настройки для алгоритмов ADISurround не существует.
ChipStudio
Интерфейс SigmaStudio — могучая программа. Все изменения и настройки правильного(своего) звука можно делать на лету, подключившись к DSP через интерфейс I2C или SPI. Она бесплатная, что не маловажно. Но есть один недостаток для пользователей без опыта программирования DSP. SigmaStudio всё делает только если она запущена на ПК. При отключении DSP от SigmaStudio проект останавливается и DSP как самостоятельное устройство не работает. Для переноса проекта в микроконтроллер, например установленный на Reflex, была создана среда ChipStudio. Это тоже графический интерфейс, который понимает сохраненный файл SigmaStudio и при подключении по USB к транспорту Reflex правильно переносит проект в память для автономной работы. В файле проектов найдёте так называемый комбопроект для кинотеатра. ChipStudio тоже бесплатная программа. Откройте в ней комбопроект кинотеатра подключите Reflex в режиме загрузки и перенесите его в память. Теперь Reflex будет управлять DSP ADU1452 и DAC AD1934, подключенными по интерфейсам SPI. Все регулировки из этого проекта вынесенные на панель управления подключены к GPIO Reflex-a.
Вот так выглядит проект в ChipStudio
Это статья так себе инструкция. Я просто хочу привлечь ваше внимание к удивительным проектам в области цифрового управления звуком. Если вы скачаете SigmaStudio, посмотрите на её возможности, то будете просто в шоке: Ну как они (AD) всё это придумали? Такие сложные процессы и такие простые средства управления. А если дойдете до практики и откроете ChipStudio, я буду просто счастлив.
Делайте сами настоящий домашний кинотеатр, запасайтесь попкорном! Отдыхайте!
Инструкция по SigmaStudio — ADI Algorithms [Analog Devices Wiki]
Инструкция по ChipStudio, сама программа в разделе Техническая документация — Reflex 3.0, USB Hi-Res transport PCM up to 32bit/384kHz, DSD512, SPDIF Out 384kHz, Surround 4xI2S, TDM
Sigma Studio и ChipStudio проекты для кинотеатра в архиве.
ссылка на оригинал статьи https://habr.com/ru/articles/849124/
Добавить комментарий