LINUX.ORG.RU
ФорумTalks

Паралельное подключение 20 динамиков

 


0

1

Всем привет, задача такая, нужно подключить более 20 динамиков к компьютеру. Вкратце - нужно сделать объемные звуковые эффекты. Интересно и с теоретической точки зрения и с практической тоже. Всвязи с этим вопрос как организовать программное руление этими 20 динамиками.

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

Спасибо!



Последнее исправление: pup_kin (всего исправлений: 1)

а просто воткнуть в комп нужное количество звуковых карт? И почему для объёмных звуковых эффектов нужно именно 20, вроде как 6 всем хватает для этого

Harald ★★★★★
()
Ответ на: комментарий от Harald

Ребята, вы гении! Я же чувствовал что решение где-то рядом! Слава Фоксу Малдеру!

Попробую подсоединить 10 звуковух (по два канала в каждой).

Только вот вопрос, сколько звуковух выдежит USB, если я к нему к примеру внешнее питание присобачу? 5 вольт думаю можно взять от чего -нибудь не столь редкого и дорогого, к примеру вот (5в 20а) https://www.chipdip.ru/product/nes-100-5

Вопрос только в том, какую ширину канала отбирает одна звуковушка из 480 Мбит USB 2.0. Есть такая инфа у кого-нибудь? А может вообще есть сетевые звуковые карты? Чтобы на 1гбит эзернет повесить?

pup_kin
() автор топика

чтобы у каждого был собственный источник звука

audiomulch и три карты по 8 выходов.
добавлю: не вижу смысла на каждый динамик свой источник. в тех же «пищалках» это глупо, как по мне. так, что лучше две карты.
/thread

system-root ★★★★★
()
Последнее исправление: system-root (всего исправлений: 3)
Ответ на: комментарий от pup_kin

А самому посчитать? Один канал это по максимуму 192000 x 16бит в секунду, умножаешь на 20

Harald ★★★★★
()
Ответ на: комментарий от pup_kin

32 стерео или моно?

чертовы наркоманы...

ты ниасилишь. забей.

Rastafarra ★★★★
()
Ответ на: комментарий от system-root

Спасибо за ответ, действительно лучше программно рулить каналами чем велосипедить свою типа звуковушку.

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

Спасибо ещё раз.

Исправлю шапку поста.

pup_kin
() автор топика

Просто взять несколько звуковух - так себе вариант. Их надо синхронизировать.

Лучше применить многоканальный ЦАП.

Deleted
()
Ответ на: комментарий от Harald

а шо, в пределах одной звуковухи каналы прям идеально синхронизированы?

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

Deleted
()

А ещё вот один упоротый вариант: раздобыть 20 б/у смартфонов, подключить как-то к сети, установить на них pulseaudio и выводить через них звук. Сами смартфоны подключить к усилителям. Вместо пульса можно другие варианты, хоть просто rtp стриминг. Это конечно если латентность и синхронизация пофиг.

Ya_gnu_linux
()
Ответ на: комментарий от Ya_gnu_linux

Не годится. Эксперименты с объемными эффектами подразумевают точное соблюдение фазы. Значит, все каналы ЦАП должны быть синхронизированы.

Deleted
()
Ответ на: комментарий от Deleted

Встречаются чудо-девайсы со сдвигом на один отсчет между правым и левым каналом. Естественно, на 20 кГц у них фазовый сдвиг - около 180 градусов.

А как ты это определил или откуда знаешь?

Harald ★★★★★
()

Мне вот такая штука интересна, если воткнуть китайские USB-звуковухи (а они в лучшем случае юсб второй) в треттий юсб - они тогда поделят весь канал третьего юсб, или не поделят?

pup_kin
() автор топика
Ответ на: комментарий от Rastafarra

а вдруг у осциллографа каналы плохо синхронизированы! :)

Harald ★★★★★
()
Ответ на: комментарий от pup_kin

зачем? PCI асусы, восьми канальные, БУ за 4к рублей 2шт купи и всё.
10 китайских юсб да ещё и на скрутках.. афигеть там у тебя экспириенс будет.

system-root ★★★★★
()
Ответ на: комментарий от Deleted

точное соблюдение фазы. Значит, все каналы ЦАП должны быть синхронизированы.

А никаких технологий синхронизации / компенсации задержек нет? Теоретически можно же например в каждом потоке передавать дополнительную дорожку с таймкодом и одну такую же передавать общую одну для всех, например мультикастом, с которой все устройства и будут синхронизироваться.

Ya_gnu_linux
()
Ответ на: комментарий от Ya_gnu_linux

Это не на раз-два делается, вон мужики никак не закостылят для сетевого вещания синк на основе нтп — оно вроде как все еще на стадии обсуждения спеков.

deep-purple ★★★★★
()
Ответ на: комментарий от Harald

А как ты это определил или откуда знаешь?

Конкретно это в интернетах встречалось. Определяется тестированием. Банально - генератор, осциллограф.

Deleted
()
Ответ на: комментарий от Ya_gnu_linux

А никаких технологий синхронизации / компенсации задержек нет?

Есть. Серьезные АЦП/ЦАП обычно можно синхронизировать, у них должны быть специальные входы-выходы для этого.

Можно синхронизировать и по сигналу, да, но это должно все равно поддерживаться в ЦАП на железном уровне.

Вообще в принципе есть три метода синхронизации:

1) ЦАП синхронизируется по источнику сигнала. Так работают всяческие качественные ЦАП со входом SPDIF, например.

2) Источник сигнала синхронизируется по ЦАП. Так работают компьютерные звуковухи, в т.ч. USB.

3) Источник и ЦАП синхронизируются по внешнему сигналу, например, по GPS. Применяется в некоторых телекоммуникационны сетях.

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

Deleted
()
Ответ на: комментарий от deep-purple

вон мужики никак не закостылят для сетевого вещания синк на основе нтп — оно вроде как все еще на стадии обсуждения спеков.

А Jack умеет? Вроде есть возможность его использовать через сеть и у него может есть что-то для синхронизации? По крайней мере подключенный к нему софт он синхронизирует.

Ya_gnu_linux
()

Мне кажется, самым дешевым и качественным решением для этой задачи будет использовать несколько недорогих SPDIF DAC с синхронизацией по SPDIF, и какую-то железку и/или софтину, которая раскидает несколько потоков звука по нескольким выходам SPDIF, но сделает это синхронно.

Deleted
()
Ответ на: комментарий от Ya_gnu_linux

Да, что-то такое есть, но я не использовал жек кроме локалхоста, тут не могу подтвердить.

deep-purple ★★★★★
()

Почитал еще, и нашел вот что. USB-звуковухи имеют три режима работы:

1) синхронный - бесполезный

2) адаптивный - синхронизация от компа

3) асинхронный - синхронизация от АЦП

Если взять несколько звуковух с адаптивным режимом, то, в принципе, программным путем их можно заставить выдавать звук синхронно.

Deleted
()
Ответ на: комментарий от Deleted

Вообще, если всё подключено к одному USB-хабу то с большой вероятностью тактовый сигнал USB (и SOF - USB-пакет, который шлется четко раз в миллисекунду) будут синхронны на устройствах. Не уверен, правда, насчет сдвига по фазе и джиттера всего этого дела...

Kosyak ★★★★
()

Ооо, еще немного и ты какой-нибудь Dolby Atmos изобретёшь. Спойлерная - купить готовое будет таки проще (возможно, даже дешевле) ))))

targitaj ★★★★★
()
Ответ на: комментарий от pup_kin

Если хаб через который ты их воткнёшь будет USB 3.0 и кабель между ним и компом тоже, то по идее должны поделить.

KivApple ★★★★★
()
Последнее исправление: KivApple (всего исправлений: 1)

Помнится, читал рассказ, где профессор занимался изучением акустики, забацал мегокресло из динамиков и чего-то. В двух словах: пригласил к себе типа, поговорить. Усадил, дал послушать усиленный в n раз звук летящей иглы в трубе (пациент услышал взлет самолета). А потом включил ему, как пациент воспринял, океан. Ну, жертва начала тонуть, а профессор всё приговаривал, что это поцелуй подопытного и жены профессора, увеличенный в надцать раз. Злой гений победил ;) Подопытный утонул ;)

К чему я это; хотелось бы похожее креслице забацать или услышать историю успеха.

vombat
()
Ответ на: комментарий от vombat

в 2013-м что ли году товарищ попросил помочь с кастомным carpc
оттуда и совет ТСу про карты с софтом. комп i7 с боксовым кулером, 16гигов памяти и ssd, чтоб от вибрации не сломался. в корпусе из оргстекла. для аудиокарт шлейфы PCI гнущиеся были, чтоб профиль системника влазил в бардачок.
софтом всё разводилось на каналы и резалось ещё по уровням, чтоб на буфер басы, на «пищалки» высокие.
он на связь не выходит, так что модели комплектующих не скажу на память, особенно автомобильных усилков, там вообще какая то редкая дичь за ненормальные деньги.
по ощущениям, это тебе не у мониторов на концерте стоять. нет этой мерзкой ударной волны.
подходит слово «всеобъемлющий», другое сложно подобрать. музыка и везде и прямо в твоей голове.
это конечно не кресло из динамиков, но тоже кулстори.

system-root ★★★★★
()

Если для серьёзных экспериментов и синхронность важна (например, хочется позабавится с фазированной решёткой из динамиков) - городи свой велосипед с 20-ю ЦАП. Например, можно взять недорогой FPGA и загнать туда Ethernet контроллер, который будет раскидывать каждый принятый пакет по 20 синхронизированным I2S выходам на которые повесить недорогие ЦАП'ы. Получишь и синхронизацию, и всё такое.

С китайскими USB звуковухами ничего хорошего не выйдет, они будут вразнобой принятое воспроизводить. Даже с 2-мя девайсами (простейшее квадро) будет фигня, причём неконтролируемая вообще - какой-то из потоков будет случайным образом опережать другой.

Stanson ★★★★★
()

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

Quasar ★★★★★
()
Ответ на: комментарий от pup_kin

Попробую подсоединить 10 звуковух (по два канала в каждой).

И USB задохнётся, ибо латентность, а не ширина канала даже.

Quasar ★★★★★
()
Ответ на: комментарий от Ya_gnu_linux

Jack это протокол. Есть то ли две, то ли три реализации сервера jack. Одна из них точно не умеет сеть. Один фиг тут речь про железо. И лучше отказаться от затеи топикстартера, так как неблагодарное и неэффективное это дело. Наушников для объёмного звука хватит всем.

Quasar ★★★★★
()
Ответ на: комментарий от targitaj

Купить наушники ещё дешевле, даже если десяток-другой.

Quasar ★★★★★
()
Ответ на: комментарий от pup_kin

USB 1.1 выдерживает не более 4 каналов с приемлемыми задержками.

Shadow ★★★★★
()

dolby atmos уже предложили и как раз в тему. лучше ты врядли что-то сделаешь/добудешь за те же деньги.

лучше бы озадачился вопросом о том, где контент брать будешь под свою «систему».

n_play
()
10 сентября 2017 г.
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.