Автор Тема: NUX MG-300/MG-30/MG-400 modeller, IR loanding multieffect и аудиоинтерфейс  (Прочитано 225143 раз)

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

Оффлайн deLuther

  • Живу на форуме
  • *******
  • Сообщений: 34277
  • Репутация: +3379/-40
  • alderman of morning star
    • Malefice
Re: NUX MG-300/MG-30 modeller, IR loanding multieffect и аудиоинтерфейс
« Ответ #960 : Сентября 09, 2022, 19:06:24 »
Uncle_D,
Просто надо начать с того что DSP (даже собственно микроконтроллеры, MCU) не такие мощные, ну гигагерц с чем-то максимум, на фоне декстопных и мобильных процов это пшик, а может и ещё слабее придётся что-то ставить, может быть ситуация что DSP может обеспечить только часть обработки, ну и что делать в этом случае? Некоторая обработка принципиально плохо параллелится.
А большая задержка будет либо если что-то криво, либо если, например, петлю аналоговую поставить между ними, добавится ещё дополнительная задержка от конвертеров.
« Последнее редактирование: Сентября 09, 2022, 19:11:39 от deLuther »

Оффлайн Uncle_D

  • Эксперт
  • *****
  • Сообщений: 1264
  • Репутация: +158/-20
Re: NUX MG-300/MG-30 modeller, IR loanding multieffect и аудиоинтерфейс
« Ответ #961 : Сентября 09, 2022, 19:57:36 »
Просто надо начать с того что DSP (даже собственно микроконтроллеры, MCU) не такие мощные, ну гигагерц с чем-то максимум, на фоне декстопных и мобильных процов это пшик
Пардон, но это принципиально разные процессоры: общего назначения и сигнальные. Их в принципе не возможно сравнивать по частоте тактирования.

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

Понеслось...

NUX MG-400 Video Manual - Episode 1 | Firmware Update | Editor Software | Self-test
(нажмите чтобы показать/спрятать)

NUX MG-400 Video Manual - Episode 2 | System Menu
(нажмите чтобы показать/спрятать)

NUX MG-400 Video Manual - Episode 3 | Tone Tweaking Tips
(нажмите чтобы показать/спрятать)

NUX MG-400 Video Manual - Episode 4 & 5 | FOOTSWTICH Tips | LOOPER
(нажмите чтобы показать/спрятать)

NUX MG-400 Video Manual - Episode 6 | Recording Tutorial
(нажмите чтобы показать/спрятать)

« Последнее редактирование: Сентября 09, 2022, 20:09:59 от Uncle_D »

Оффлайн deLuther

  • Живу на форуме
  • *******
  • Сообщений: 34277
  • Репутация: +3379/-40
  • alderman of morning star
    • Malefice
Re: NUX MG-300/MG-30 modeller, IR loanding multieffect и аудиоинтерфейс
« Ответ #962 : Сентября 09, 2022, 20:42:37 »
MCU с ARM-ядром вполне себе используются в гитарных процессорах. С чистыми DSP просто будет немного сложнее в разработке, а специализированные возможности не всегда могут использоваться на полную. Ну может какие и дадут выполнять свёртку аппаратно, но всё равно часто это с небольшой длинной импульса, а более общий алгоритм может и на ARM дать возможность использовать более длинные импульсы итп.
« Последнее редактирование: Сентября 09, 2022, 20:46:59 от deLuther »

Оффлайн Александр Каинов

  • Новичок
  • *
  • Сообщений: 44
  • Репутация: +12/-1
  • Дорогу осилит идущий)
Re: NUX MG-300/MG-30 modeller, IR loanding multieffect и аудиоинтерфейс
« Ответ #963 : Сентября 10, 2022, 05:51:20 »
Я не очень понимаю что такое "последовательно включенный процессор DSP". Это всё же не линия задержки, не резистор и не конденсатор. В нынешнем мире распаралеленных операций и множественных ядрах "последовательное включение" это какая-то фантазия.
Обьясняю на пальцах) Мне не жалко.
Это для тех, кто в embedded разработке, в электронике и цифровой обработке сигналов дуб дубом. Если же человек в этом шарит, но задает подобные вопросы - мир ему уроком.

Любой DSP-процессор (или как в случае с современной тенденцией в обработке звука, в ARM-процессорах) имеет несколько каналов I2S, часть которых используется как входа, другие как выходы. Весь звук в цифровом виде передается по такой шине(I2S), от АЦП к CPU, и от CPU к ЦАП. Соответственно, если на плате стоят 2 процессора, то (совсем на пальцах) в один входит звук по и2с, из него выходит по и2с, заходит во второй процессор и так же из него выходит и идет на ЦАП. Это уже совсем если примитивно обьяснять.

Почему так? Потому что I2S - это аудиоданные, в которых уже есть информация о синхронизации. Можно конечно (технически реально) из одного CPU писать RAW-данные в виде сэмплов прямо в общую для обоих процессоров RAM-память, откуда уже будет читать второй процессор, но это накладывает огромные ограничения и сложности на процесс разработки и управления всей этой кухней, надо придумывать кучу примитивов синхронизации и другие технические костыли, чтобы все это работало как надо. Именно по этой причине писать однопоточные приложения намного проще, чем многопоточные.
Технически грамотнее и намного проще передавать данные от одного процессора в другой по I2S, по цепочке, точно так же как это происходит в педалборде, здесь и физическая(аналоговая) среда и цифровая работают совершенно одинаково. Любой инженер и разработчик, и я в том числе, сделали бы именно так, реализуя например, на 1-м CPU часть одних блоков обработки, и соответсвенно на втором проце так же. Отсюда вытекает следующее, что если мы имеем исходный CPU с вычислительной мощностью в XX, что дает нам физическую задержку по времени на выполнение 7мс (это задержка для Mg300) + точно такой же процессор, то получается очень простая математика, о которой я писал выше.

Это все верно, если я не ошибся с тем, что в 400-м стоит точно такой же камень как и в 300-м. Возможно они разорились и поставили туда 2 совершенно других DSP, круче и быстрее. Но я скажу, что даже TMS320C6720, что стоит в трехсотом, не такой уж и дешевый относительно самого процессора.

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

Александр Каинов,
А с какого перепугу два DSP последовательно это обязательно 7 + 7 мс?
Это не два DSP так будут, а два гитарных проца последовательно, с учётом задержек конвертеров.
Уважаемый Лютнер, в гитарных процессорах нет задержки на "конверторах", если вы так обозвали АЦП и ЦАП (если я правильно понял).

Поток данных по I2S приходит от CPU сразу в DAC, без каких либо задержек и буферов, то есть каждый тактовый сигнал (например 48000 раз в секунду) 4 байта данных, полученных по шине, защелкиваются в приемном буфере ЦАПа, что соответсвенно на каждый следующий такт окажется в виде электрического сигнала на аналоговом выходе ЦАПа. С АЦП все тоже точно также. Еще раз повторюсь, в гитарных процессорах нет никакой задержки между CPU и DAC/ACD. Все задержки возникают во время обработки цифровых данных процессором (оно конечное, но не нулевое).
В аудионтерфейсах - да, есть ADC, есть небольшая RAM и микроконтроллер, которые получает непрерывный поток байт от АЦП и складывает их в кольцевой буфер в RAM, по сигналу синхронизации от USB-драйвера отправляя данные из RAM пакетом на USB-интерфейс. Но это уже совсем другая история)))

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

У него задержка около 1,1 мс
Откуда информация, можно ссылку на источник?

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

Я не очень понимаю что такое "последовательно включенный процессор DSP". Это всё же не линия задержки, не резистор и не конденсатор. В нынешнем мире распаралеленных операций и множественных ядрах "последовательное включение" это какая-то фантазия.
Попытаюсь понять ваше недоумевание по поводу этого момента. Частично я уже обьсянил это в другом сообщении, здесь лишь добавлю про распараллеливание, которое вы скорее всего наблюдаете в видеокартах, с тысячами ядер CUDA.

Там совсем другой подход, принципиально другой: если говорить языком "дискретности", то "кадр", который в видео называется фрэймом, а в звуке называется сэмплом, имеет очень разную природу в обоих случаях. Если говорить совсем вкратце, то в звуке у нас очень высокая частота кадров(44800 раз в секунду), а в видео соответственно 60 раз в секудну (или 144 для про-геймеров с их крутыми мониторами). Здесь уже возникает куча проблем с паралелльными вычислениями, потому как количество кадров в единицу времени для звука огромное, и синхронизировать их будет просто нереально, это сверхзатратно в плане вычислений и железа. Второй очень важный момент, это то, как эти кадры связаны между собой во времени. В звуке - каждый кадр(сэмпл) - это аргумент одной большой функции, поэтому во время обработки невозможно рассматривать каждый кадр отдельно от другого, соответсвенно, невозможно выполнять обработку одного сэмпла, не имея информации о соседних сэмплах.

В обработке видео - все не так, там каждый кадр уникальный, и в каноническом подходе во время формирования следующего кадра информация о том, как строились предыдущие кадры, уничтожается в конвейере. Если уж совсем банально, если вместо целевого кадра (одного из 144) мы нарисуем черный или полностью белый экран("ошибка обработки", например), то человек это даже не заметит, тупо не увидит.  А если мы один из сэмплов в потоке 48000 Гц удалим, и вместо него выставим 0-й уровень амплитуды (или наоборот, максимальный),  то гитаристу это разобьет сердце - мы услышим долбанный щелчок, глитч. Лично мне это как ножом по сердцу.

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

Uncle_D,
Просто надо начать с того что DSP (даже собственно микроконтроллеры, MCU) не такие мощные, ну гигагерц с чем-то максимум, на фоне декстопных и мобильных процов это пшик, а может и ещё слабее придётся что-то ставить, может быть ситуация что DSP может обеспечить только часть обработки, ну и что делать в этом случае? Некоторая обработка принципиально плохо параллелится.
А большая задержка будет либо если что-то криво, либо если, например, петлю аналоговую поставить между ними, добавится ещё дополнительная задержка от конвертеров.
Уважаемый Лютнер, к сожалению, вы несколько ошибаетесь. Нет, это не сарказм. DSP в плане обработки сигналов уделывает любой "десктопный" проц общего назначения. На то он и "Digital Signal Processor". Я мог бы расписать на целую страницу почему и отчего это так, но не стану. Потому что это требует уже многих сопутствующих знаний и компетенций, позволяющих понять что такое конвейер, переключение контекста, примитивы синхронизации, предсказание ветвлений, VLIW и x86-64, кэш и когерентность памяти. Если для вас все эти штуки просты и понятны - тогда вы просто троллите остальных)

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

MCU с ARM-ядром вполне себе используются в гитарных процессорах. С чистыми DSP просто будет немного сложнее в разработке, а специализированные возможности не всегда могут использоваться на полную. Ну может какие и дадут выполнять свёртку аппаратно, но всё равно часто это с небольшой длинной импульса, а более общий алгоритм может и на ARM дать возможность использовать более длинные импульсы итп.
Вот тут вы сильно правы. Классические DSP умирают в силу сложности оригинальной архитектуры последних, что вызывает большие проблемы с переносимостью кода, с наличием и развитием библиотек и фреймворков для разработки. В Nux MG30 за обработку звука отвечает ARM Cortex M7+M4, который намного проще прогать, слишком проще, и огромное кол-во библиотек просто дают все карты в руки.
« Последнее редактирование: Сентября 10, 2022, 06:35:07 от Александр Каинов »

Оффлайн Kolivan113

  • Новичок
  • *
  • Сообщений: 17
  • Репутация: +4/-0
  • GuitarPlayer.Ru fan!
Re: NUX MG-300/MG-30 modeller, IR loanding multieffect и аудиоинтерфейс
« Ответ #964 : Сентября 10, 2022, 09:36:57 »

... и добавил:
 Откуда информация, можно ссылку на источник?
[/quote]
В мануале для MG-400


Оффлайн Uncle_D

  • Эксперт
  • *****
  • Сообщений: 1264
  • Репутация: +158/-20
Re: NUX MG-300/MG-30 modeller, IR loanding multieffect и аудиоинтерфейс
« Ответ #965 : Сентября 10, 2022, 10:43:32 »
В мануале для MG-400
(нажмите чтобы показать/спрятать)
Интересно. Рассказ про последовательное включение процессоров заиграл новыми красками...

Оффлайн Александр Каинов

  • Новичок
  • *
  • Сообщений: 44
  • Репутация: +12/-1
  • Дорогу осилит идущий)
Re: NUX MG-300/MG-30 modeller, IR loanding multieffect и аудиоинтерфейс
« Ответ #966 : Сентября 10, 2022, 15:21:05 »

... и добавил:
 Откуда информация, можно ссылку на источник?

В мануале для MG-400


что-то очень сомнительно, такие цифры, какие-то нереальные. В nux mg30 задержка 2 мс с копейками, а это более дорогая и мощная железка. Подождем реальных тестов.

Оффлайн deLuther

  • Живу на форуме
  • *******
  • Сообщений: 34277
  • Репутация: +3379/-40
  • alderman of morning star
    • Malefice
Re: NUX MG-300/MG-30 modeller, IR loanding multieffect и аудиоинтерфейс
« Ответ #967 : Сентября 10, 2022, 16:40:06 »
Уважаемый Лютнер, в гитарных процессорах нет задержки на "конверторах", если вы так обозвали АЦП и ЦАП (если я правильно понял).
Достаточно открыть даташит любого кодека, АЦП и ЦАП, там найти спецификации цифровых фильтров, где посмотреть на параметр Group Delay.
Вот это и будет задержка самого конвертера.
Например у популярных кодеков CS4271/CS4272 задержка АЦП/ЦАП в максимально качественном режиме на 48к по 12 сэмплов. У других конвертеров цифра может быть заметно больше, упомянутые просто достаточно "быстрые" (за счёт качественных показателей, крутизна, звон). В современных конвертерах начали появляться минимально-фазовые фильтры, там задержка может быть несколько сэмплов при высоких параметрах.
Задержка системы (в случае без всяких RTOS) будет задержка конвертеров + двойной размер буфера. Т.е. при буфере 16 сэмплов, задержке конвертеров по 12 сэмплов, общая задержка системы будет 56 сэмплов или примерно 1.3 мс (как, например, у st.Rock REACT:IR).

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

Уважаемый Лютнер, к сожалению, вы несколько ошибаетесь. Нет, это не сарказм. DSP в плане обработки сигналов уделывает любой "десктопный" проц общего назначения. На то он и "Digital Signal Processor". Я мог бы расписать на целую страницу почему и отчего это так, но не стану. Потому что это требует уже многих сопутствующих знаний и компетенций, позволяющих понять что такое конвейер, переключение контекста, примитивы синхронизации, предсказание ветвлений, VLIW и x86-64, кэш и когерентность памяти. Если для вас все эти штуки просты и понятны - тогда вы просто троллите остальных)
Только вот классические DSP-процессоры не везде помогут. Допусти стоит задача ампсимуляции через те же нейросети (где GPU лучше будут) или тру-симуляцию (по SPICE-подобной методологии) ну и как тут классический DSP поможет?
« Последнее редактирование: Сентября 10, 2022, 16:57:17 от deLuther »

Оффлайн Александр Каинов

  • Новичок
  • *
  • Сообщений: 44
  • Репутация: +12/-1
  • Дорогу осилит идущий)
Re: NUX MG-300/MG-30 modeller, IR loanding multieffect и аудиоинтерфейс
« Ответ #968 : Сентября 10, 2022, 17:37:24 »
Достаточно открыть даташит любого кодека, АЦП и ЦАП, там найти спецификации цифровых фильтров, где посмотреть на параметр Group Delay.
Вот это и будет задержка самого конвертера.
Например у популярных кодеков CS4271/CS4272 задержка АЦП/ЦАП в максимально качественном режиме на 48к по 12 сэмплов. У других конвертеров цифра может быть заметно больше, упомянутые просто достаточно "быстрые" (за счёт качественных показателей, крутизна, звон). В современных конвертерах начали появляться минимально-фазовые фильтры, там задержка может быть несколько сэмплов при высоких параметрах.
Задержка системы (в случае без всяких RTOS) будет задержка конвертеров + двойной размер буфера. Т.е. при буфере 16 сэмплов, задержке конвертеров по 12 сэмплов, общая задержка системы будет 56 сэмплов или примерно 1.3 мс (как, например, у st.Rock REACT:IR).

... и добавил:
Только вот классические DSP-процессоры не везде помогут. Допусти стоит задача ампсимуляции через те же нейросети (где GPU лучше будут) или тру-симуляцию (по SPICE-подобной методологии) ну и как тут классический DSP поможет?
Спасибо за пример, но он несколько не к месту. Во-первых, для CS4271 максимально качественный режим это 192Кгц, хотя я не углублялся в датащит, и на такой скорости сэмплирования у него появляются артефакты квантования или занижается динамический диапазон - не знаю. Во-вторых, та задержка, о которой вы написали(при включенных фильтрах на 48КГц), из датащита, 12 сэмплов - это 0. 00025 с, то есть 250 мкс. Это не та цифра, к которой стоит аппелировать, говоря о задержке. Если юзать АЦП на 96КГц, тогда задержка будет 4,6 сэмпла, то есть 47мкс. Это очень мало. Например, в PCM1840, который стоит в последней ревизии NUX MG300, там вообще low-latency filter, и все задержки в каких-то наносекундах. Можно вообще не использовать фильтры АЦП, и работать на скорости 96КГц, на таких частотах и с таким ДД(115дБ) можно вообще не париться и использовать медианный фильтр силами CPU, это займет примерно 0.000001 производительности CPU, и эффект будет такой же, как и при использовании built-in фильтра ADC.

Оффлайн deLuther

  • Живу на форуме
  • *******
  • Сообщений: 34277
  • Репутация: +3379/-40
  • alderman of morning star
    • Malefice
Re: NUX MG-300/MG-30 modeller, IR loanding multieffect и аудиоинтерфейс
« Ответ #969 : Сентября 10, 2022, 17:44:45 »
Александр Каинов,
И где, собственно, в гитарных процессорах используется именно 96к или 192к? Чаще именно одинарная скорость, т.е. 44/48, максимально качественный режим я имел в виду именно для этих сэмплрейтов, т.к. есть ещё другие режимы фильтров типа slow rolloff. В данном случае задержка от конвертеров это примерно 2/3 от задержки на обработку. Отмахиваться от такого не стоит. Кстати ещё вопрос задействуются ли минимально-фазовые режимы фильтров или нет, это проверить сложно. Конечно в случае задержек 7-10 мс, задержки конвертеров это не основное.
Даже у акса 48к используются, с отдельным оверсэмплингом для блока усилителя.

Оффлайн mdev

  • Завсегдатай
  • ***
  • Сообщений: 254
  • Репутация: +58/-1
  • GuitarPlayer.Ru fan!
Re: NUX MG-300/MG-30 modeller, IR loanding multieffect и аудиоинтерфейс
« Ответ #970 : Сентября 10, 2022, 19:05:55 »
Спасибо за пример, но он несколько не к месту. Во-первых, для CS4271 максимально качественный режим это 192Кгц...
Мсье - теоретик

И где, собственно, в гитарных процессорах используется именно 96к или 192к?
Даже у акса 48к используются, с отдельным оверсэмплингом для блока усилителя.
:)

Оффлайн deLuther

  • Живу на форуме
  • *******
  • Сообщений: 34277
  • Репутация: +3379/-40
  • alderman of morning star
    • Malefice
Re: NUX MG-300/MG-30 modeller, IR loanding multieffect и аудиоинтерфейс
« Ответ #971 : Сентября 11, 2022, 10:28:30 »
Хотя я забыл Strymon Iridium, там 96к .:)

Оффлайн Александр Каинов

  • Новичок
  • *
  • Сообщений: 44
  • Репутация: +12/-1
  • Дорогу осилит идущий)
Re: NUX MG-300/MG-30 modeller, IR loanding multieffect и аудиоинтерфейс
« Ответ #972 : Сентября 11, 2022, 10:47:30 »
Мсье - теоретик
:)

В части обработки звука - да, теоретик, с АЦП/ЦАП-ами работал только при обработке не столь динамично изменяющихся сигналов. С обработкой сигналов работал, но немного, я больше с дискретными сигналами работаю.

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

Александр Каинов,
И где, собственно, в гитарных процессорах используется именно 96к или 192к? Чаще именно одинарная скорость, т.е. 44/48, максимально качественный режим я имел в виду именно для этих сэмплрейтов, т.к. есть ещё другие режимы фильтров типа slow rolloff. В данном случае задержка от конвертеров это примерно 2/3 от задержки на обработку. Отмахиваться от такого не стоит. Кстати ещё вопрос задействуются ли минимально-фазовые режимы фильтров или нет, это проверить сложно. Конечно в случае задержек 7-10 мс, задержки конвертеров это не основное.
Даже у акса 48к используются, с отдельным оверсэмплингом для блока усилителя.
В гитарных процессорах выше 48КГц не используют (по крайней мере сейчас) по той причине, что особого смысла в этом нет, поскольку задержки, зависимые от частоты сэмплирования, в системах с bare metal минимальны. "Задержка от конвертеров это примерно 2/3 от задержки на обработку" - это вообще как понимать? Обьясните, если не трудно. И я скажем так, не претендую на звание эксперта в цифровой обработке сигналов, я в этом направлении только совершаю первые шаги, так сказать) Просто делюсь тем что знаю сам, своим опытом.
« Последнее редактирование: Сентября 11, 2022, 10:52:20 от Александр Каинов »

Оффлайн Uncle_D

  • Эксперт
  • *****
  • Сообщений: 1264
  • Репутация: +158/-20
Re: NUX MG-300/MG-30 modeller, IR loanding multieffect и аудиоинтерфейс
« Ответ #973 : Сентября 11, 2022, 11:21:45 »
В части обработки звука - да, теоретик, с АЦП/ЦАП-ами работал только при обработке не столь динамично изменяющихся сигналов. С обработкой сигналов работал, но немного, я больше с дискретными сигналами работаю.
Вероятно на платформе Ардуино специализируетесь?

На сегодня "динамично изменяющиеся сигналы" это SDR-радио например. Ну там свёртки в ряды Фурье и подобные алгоритмы. На рабочих частотах выборки в 10+Гигагерц и около того. Звуковая полоса частот не считается такой уж динамичной. 21 век на дворе как-никак. Звуковые частоты логичнее с постоянным током сравнивать в парадигме нынешних достижений обрабатывающего железа.
« Последнее редактирование: Сентября 11, 2022, 12:04:33 от Uncle_D »

Оффлайн mdev

  • Завсегдатай
  • ***
  • Сообщений: 254
  • Репутация: +58/-1
  • GuitarPlayer.Ru fan!
Re: NUX MG-300/MG-30 modeller, IR loanding multieffect и аудиоинтерфейс
« Ответ #974 : Сентября 11, 2022, 12:23:05 »
Хотя я забыл Strymon Iridium, там 96к .:)
Boss GT-1000*, 96k