Автор Тема: Преимущества QNX и других realtime систем перед Windows при работе со звуком.  (Прочитано 4182 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Santjago Автор темы

  • Живу на форуме
  • *******
  • Сообщений: 13478
  • Репутация: +1029/-40
  • Hard As A Rock
В этой теме скоро появятся интересные посты, которые перенесут из другого раздела  :)
« Последнее редактирование: Августа 14, 2014, 17:09:58 от Santjago »

Оффлайн Босыйиновый

  • Завсегдатай
  • ***
  • Сообщений: 271
  • Репутация: +12/-0
  • Заводы стоят, ***, одни гитаристы в стране, ***

Оффлайн sda00

  • Эксперт
  • *****
  • Сообщений: 2605
  • Репутация: +1438/-142
  • смотрю на стриптиз, омаров жуя! не трачу время на форуме я!
Santjago, за ссылку - ещё раз гратц! по поводу темы - думаю, что "realtime" систем как-то было бы более уместно. т.е. не фокусировать именно на qnx. по крайней мере у меня доступ к 6.0 есть, но буду лжецом, заявив, что мой вариант используется для работы со звуком. всё гораздо прозаичнее. есть вагон датчиков, можно так сказать, и они что-то постоянно валят в кучу. это приходит на драную машину и как-то приводится в порядок. :) думаю понятно, что на этот железный ящик лишний раз чихать опасаются...

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

Оффлайн Santjago Автор темы

  • Живу на форуме
  • *******
  • Сообщений: 13478
  • Репутация: +1029/-40
  • Hard As A Rock
sda00, ну, ты всё-равно лупбек замерь.

Оффлайн sda00

  • Эксперт
  • *****
  • Сообщений: 2605
  • Репутация: +1438/-142
  • смотрю на стриптиз, омаров жуя! не трачу время на форуме я!
Santjago, а смысл? это же ничего не даёт. кроме того, что мне дома ещё надо будет "хрюшу" поднять :). ну покажет эта фитюлька, что "один какой-то определённый сигнал" куда-то ускакал. собсно сама идея пихать выхлоп карточки на её же вход уже настораживает. или что-то не так понял? вроде сказали петлю сделать зачем-то... т.е. сам подход измерений при замыкании выхода на вход чуток непонятен.

собсно по qnx/realtime если есть какие-то конкретные пожелания - не буду голословно чего обещать, но "за просмотр пока денех не беру(т)".

p.s.: по LTU получается, что оно генерит нечто, по USB/PCI это летит на карточку, проскакивает (?без обработки ессно, ибо любая обработка перекорёжит референс?), проходит DAC, влетает на вход, проходит ADC, "замыкается" само на себя, и где-то там нечто как-то решает, что "отклик получен". не? т.е. мягко говоря - это несерьёзно. об этом и говорил, намекая на недетскую стоимость серьёзных измерительных приборов...
« Последнее редактирование: Августа 14, 2014, 17:43:31 от sda00 »

Оффлайн fruitcore

  • Эксперт
  • *****
  • Сообщений: 1537
  • Репутация: +203/-0
  • телекастеры, дилейчики, джазмастеры, пружинки
распишите хоть, что это и с чем его едят ???
это операционная система (если вместо винды предлагается) ?
как же в ней работают драйвера всех устройств, как на ней пойдет привычный муз софт?
...если речь идет о работе со звуком

... и добавил:

т.е. мягко говоря - это несерьёзно.
а почему же несерьезно?

Оффлайн Santjago Автор темы

  • Живу на форуме
  • *******
  • Сообщений: 13478
  • Репутация: +1029/-40
  • Hard As A Rock
Santjago, а смысл? это же ничего не даёт. кроме того, что мне дома ещё надо будет "хрюшу" поднять :).

Так я не просил тебя в хрюше мерять, я просил в QNX.

Цитировать
ну покажет эта фитюлька, что "один какой-то определённый сигнал" куда-то ускакал. собсно сама идея пихать выхлоп карточки на её же вход уже настораживает. или что-то не так понял? вроде сказали петлю сделать зачем-то... т.е. сам подход измерений при замыкании выхода на вход чуток непонятен.

Ничего настораживающего. Ты явно не понимаешь смысл луп-бека.

Цитировать
p.s.: по LTU получается, что оно генерит нечто, по USB/PCI это летит на карточку, проскакивает (?без обработки ессно, ибо любая обработка перекорёжит референс?), проходит DAC, влетает на вход, проходит ADC, "замыкается" само на себя, и где-то там нечто как-то решает, что "отклик получен". не? т.е. мягко говоря - это несерьёзно. об этом и говорил, намекая на недетскую стоимость серьёзных измерительных приборов...

Она генерит один сэмпл, длина которого соответствует рабочей частоте. Сигнал проходит выходной буфер асио (или выход звукового движка твоей оси), шину (USB, FW, PCI), DAC, возвращается на ADC, шину, и входной буфер asio. программа измерят длительность полного цикла задержки, который соответствует задержке при игре через асио. Всё тут серьёзно, серьёзней не бывает. Ты либо слился, либо в суть не въехал.

... и добавил:

P.S: Когда проснется модератор, он перенесет посты из этой темы, дабы общественности яснее было, о чем, собственно речь.

... и добавил:

Хотя, LTU работает только под ASIO. Так что, если под эту ось нет подобного измерительного инструмента, то показать реальную "нулевую задержку" realtime систем можно разве что лупбеком в хосте.
« Последнее редактирование: Августа 14, 2014, 18:11:34 от Santjago »

Оффлайн sda00

  • Эксперт
  • *****
  • Сообщений: 2605
  • Репутация: +1438/-142
  • смотрю на стриптиз, омаров жуя! не трачу время на форуме я!
>> Ты либо слился, либо в суть не въехал.

может так, может иначе, хз. чтобы что-то "слить", необходимо для начала как-то определить хотя бы суть вопроса/противоречия/и_т.п..

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

Оффлайн Santjago Автор темы

  • Живу на форуме
  • *******
  • Сообщений: 13478
  • Репутация: +1029/-40
  • Hard As A Rock
sda00, я устал объяснять одно и тоже. Может, у кого-то из камрадов окажется больше терпения.

Оффлайн sda00

  • Эксперт
  • *****
  • Сообщений: 2605
  • Репутация: +1438/-142
  • смотрю на стриптиз, омаров жуя! не трачу время на форуме я!
Santjago, камрад, твои "объяснения", пмсм, касательно LTU по какой-то причине лишь подтверждают очевидное - эта приблуда "меряет" сама себя и полученные/нарисованные цифры к "реальной жизни" имеют лишь приблизительное отношение (если имеют вообще какое-либо...).

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

1) камрад sda00 посетовал, что с IR-loader-ами в *никсах не очень, зато с realtime - хорошо.
2) камрады    Santjago, wilyams и r3d0ut как-бэ смело намекнули, что M$ тоже магёт realtime. причём указание камрадом sda00 на очевидное:
https://en.wikipedia.org/wiki/List_of_real-time_operating_systems
т.е. что собсно нету в "винде" realtime-а, если это не WinCE, камрадов как-то лишь раззадорило...
3) в результате очевидные вопросы, типа "кстати, подскажите пожалуйста, какое отношение ASIO имеет к realtime?" остались без столь же очевидных ответов (типа, да, камрад, ASIO - это круто, но таки не realtime...)
4) от камрада r3d0ut поступило предложение, подкупающее своей новизной: "sda00, не лей воду, озвучь, в чем на практике выражается преимущество при работе со звуком. Очень желательно с пруфами". в результате чего и "родилась" эта тема.

итак, если поставить раком вопрос: "что такое realtime operating system?" - то ответов на него может быть много. и все будут корректными, применимо к ситуации. вариант, который нравится больше всего:

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

т.е. грубо говоря вне зависимости от обстоятельств/нагрузки "труба" за чётко указанный интервал времени обработает всё, что ей сунули на "вход" без потерь. если обработка по времени превышает указанный порог - то труба не может считать себя realtime. при этом по большому счёту ограничений на "время" - нет. т.е. "труба" не обязана быть "быстрой". ключ в том, что "обработка" должна занимать чётко определённый и конечный промежуток времени. при этом расчёт оптимальной нагрузки для realtime системы крайне важен! считать, что сама собой realtime operating system превратит любой драный i486DX в "кору-дуру" - большая ошибка. даже в плане "выжать максимум из железа" - не стоит. хотя именно в динамике так и получается, поскольку "average load" для "риалтайма" обычно считают где-то в 70% от пиковой нагрузки (можно сказать, что 70% - цифирь с потолка, ибо при нормальных раскладах жёстко считают нагрузку для каждого конкретного случая с тестированием, бэкапами и т.п. и т.д.).

умные и грамотные люди ессно могут сказать много более полезного

далее можно попробовать в форме вопрос <-> ответ.

В: - распишите хоть, что это и с чем его едят ???
О: суть вроде выше худо-бедно изложена. любой (цифровой) гитарный проц или любая цифровая педаль (дилэй например) есть суть железяка, в которой работает realtime operating system. кроме того, можно realtime систему вкорячить себе на домашний комп. нужно ли? - хз. в 90% случаев проще купить какую-то другую железяку, чем развлекать себя изучением новой ОСьки. если Вы хотите свою "винду" превратить в Ъ крутой realtime - то вам сюда:
http://www.intervalzero.com/

В: - это операционная система (если вместо винды предлагается) ?
О: QNX - да, это очень хорошая RTOS (real time operating system). можно её попробовать при условии некоммерческого использования. но смысл? если всё устраивает в "винде" - не стоит создавать себе трудности на пустом месте

В: - как же в ней работают драйвера всех устройств, как на ней пойдет привычный муз софт?
О: на QNX, если железо поддерживантся системой, то оно работает збс! иначе не скажешь. собсно с Linux/*nix история та же самая, как правило. ессно не без исключений/нюансов. "привычный муз софт" скорее всего никак работать не будет. если не портирован для той или иной RTOS. т.е. грубо говоря надо взять исходники "привычного софта", допилить их, обучив работать в/с RTOS, компильнуть, проверить тщательно (трижды найденная "бага" - уже не "бага", а "фича"!) и собсно "вэлкам"... делов-то...

В: - в чем на практике выражается преимущество при работе со звуком?
О: если тупо и в двух словах - не будет потерь. точка. абзац. т.е. если вас и так всё устраивает - то и ладно. частный случай, очень опосредованно относящийся к сабжу - у Вас драная (встроенная) звуковая карточка и asio4all не спасают (опять же, проще - купить новую железяку, толку будет больше). ещё раз: если всё устраивает, если нет "потерь", если у Вас не "high load", если в заду не свербит экспериментировать (простите мой французский) - то realtime Вам не нужен.
« Последнее редактирование: Августа 15, 2014, 09:46:08 от sda00 »

Оффлайн NSb

  • Живу на форуме
  • *******
  • Сообщений: 37695
  • Репутация: +2826/-49
  • shit in - shit out
sda00,
Цитировать
суть вроде выше худо-бедно изложена. любой гитарный проц или любая цифровая педаль (дилэй) есть суть железяка, в которой работает realtime operating system.
что имеется в виду под "operating system" ?

Если взять к примеру объяснение из вики, то мы видим:

Операцио́нная систе́ма, сокр. ОС (англ. operating system, OS) — комплекс управляющих и обрабатывающих программ, которые, с одной стороны, выступают как интерфейс между устройствами вычислительной системы и прикладными программами, а с другой стороны — предназначены для управления устройствами, управления вычислительными процессами, эффективного распределения вычислительных ресурсов между вычислительными процессами и организации надёжных вычислений. Это определение применимо к большинству современных операционных систем общего назначения.

В логической структуре типичной вычислительной системы операционная система занимает положение между устройствами с их микроархитектурой, машинным языком и, возможно, собственными (встроенными) микропрограммами — с одной стороны — и прикладными программами с другой.


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

И причем тут спрашивается реалтаймовость и операционная система в целом?

кстати цифровой делей, тем более может не иметь набор прикладных программ, а вот если по мимо основной функции задержки, нужно внести дополнительные обрабатывающие, да еще с запоминанием настроек, выводом на цветной дисплей, с возможностью управления по цифре между компом, уже можно говорить о некой системе
« Последнее редактирование: Августа 15, 2014, 00:49:17 от NSb »

Оффлайн sda00

  • Эксперт
  • *****
  • Сообщений: 2605
  • Репутация: +1438/-142
  • смотрю на стриптиз, омаров жуя! не трачу время на форуме я!
NSb, уточнил, что речь идёт именно о любом цифровом процессоре или любой цифровой педали, спасиб.

>> что имеется в виду под "operating system" ?
ровно то, что и написано: определение в Вики дано для "общего случая" вполне корректно.

пример: любой ADC/DAC (ЦАП/АЦП) конвертер есть суть аппаратно-программный комплекс "реального времени" (realtime operating system). если он включён/работает, то вне зависимости от внешних условий, - т.е. можно лабать, можно ковырять в носу - его это не волнует - некую единицу времени он будет (грубо говоря) собирать данные активного буфера, переведя поступление всех новых данных в "фоновый" буфер, соберёт, запулит их куда-то, переведёт "фоновый" буфер в статус активного, а прежний буфер станет "фоном". т.е. он обеспечит 100%-ю сохранность данных и их корректную обработку за строго ограниченный указанный интервал времени.

>> И причем тут спрашивается реалтаймовость и операционная система в целом?
см. выше. надеюсь, что ответ дан и понят.

Оффлайн fruitcore

  • Эксперт
  • *****
  • Сообщений: 1537
  • Репутация: +203/-0
  • телекастеры, дилейчики, джазмастеры, пружинки
насколько я понимаю, на данном этапе эта тема актуальна для разработчиков софта и прочих программистов.
для рядовых пользователей это совсем непривлекательно (осваивать языки программирования, писать программный код, тыщу раз выискивать баги, исправлять, переписывать.. и т.д. - мало кто за это возьмется из простых смертных)


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

или сейчас уже есть какие-либо рабочие программы реалтаймовых обработок?

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

Оффлайн NSb

  • Живу на форуме
  • *******
  • Сообщений: 37695
  • Репутация: +2826/-49
  • shit in - shit out
sda00,
Цитировать
любой ADC/DAC (ЦАП/АЦП) конвертер есть суть аппаратно-программный комплекс "реального времени" (realtime operating system)
Вовсе нет, то что они работают достаточно быстро, не означает что процесс реального времени, происходит задержка дважды, преобразование в цифру и преобразование в аналог.
Речь может идти о дальнейших преобразованиях уже в цифровом коде, т.е. программы, вычислительные ресурсы для исполнения программ.
Суть того же asio или core audio обойти лишние программные модули на пути цифрового звука, а суть ресурсов что бы быстрее обработать массив данных, для минимизации задержки и я не думаю что тут сильно завит от того как система, скорее то как написать программу.
В этом плане очень показательны SawStudio и Reaper маленькие, легкие и верткие, при относительно небольшом размере с кучей всевозможных функций.

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

... и добавил:

fruitcore,
В ближайшем будущем не будет 100% реалтаймовости, пока не изменят сам тип преобразователей и не повысится мощность ресурсов раз в цать.
Ты сейчас можешь выставить задержки по 2ms, это уже можно условно назвать реалтаймом, вопрос на какое количество обработки у тебя хватит ресурсов.
Да и смысла нет практически  :hmmm:
« Последнее редактирование: Августа 15, 2014, 11:52:56 от NSb »

Оффлайн deLuther

  • Живу на форуме
  • *******
  • Сообщений: 34249
  • Репутация: +3365/-40
  • alderman of morning star
    • Malefice
Ага, и чтобы ресурсов хватало на прямую свёртку с длинными импульсами :)
В противном случае буферы меньше 64 сэмплов смысла не имеют.