Сучасна диджитал-освіта для дітей — безоплатне заняття в GoITeens ×
Mazda CX 30
×

Нужно железо для opensource проекта

Приму в дар или куплю за разумные деньги звуковую плату Creative X-Fi Titanium или Titanium HD или Titanium Fatal1ty в default city. Новую ещё можно найти, но, если честно, жалко платить $230 ради поставленной цели.

Цель сделать reverse engineering EFX DSP программ стандартных эффектов и реализовать их на С для проекта OpenAL-Soft. Я уже сделал простые эффекты equalizer, distortion, chorus, flanger, которые можно было легко реализовать без железки просто зная, какой должен быть результат. С остальными эффектами не так всё просто, нужна железка для анализа.

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Расширим круг, для анализа подойдут также платы Creative E-MU 0404, E-MU 1212, E-MU 1616, E-MU 1820.

Купи новую да продай потом на барахолке. Вроде как $230 не великие деньги для хобби.

Так и придётся сделать, подожду ещё недельку и пойду покупать. Только на барахолку я никогда не ходил, поэтому заменим её на полку.

Цель, вроде как, светлая (OpenAL-Soft) . А вот путь ...
Что книжки лень читать?

От жеж знатоки. В какой книжке я могу взять табличные данные для vocal morpher? ... Упс, нет такой книги? Как жаль, пичалька.

А ничего, что creative реализовала auto-wah эффект таким образом, каким никто не реализовывал до них, в какой книжке я могу прочитать про их особенный резонансный bandpass фильтр?

Важно не просто реализовать, а реализовать, чтобы звучало также как у них.

Ну вот видите, они смогли сами это сделать, не передирая ни у кого.
А вы можете?
Ну если нет, то хоть в открытую спросите у них, а не тырьте тупо.
Если же у вас задание — передрать, то грош такому проекту цена.
А про банд-пасс фильтры куча литературы — хотите спектры считайте, хотите свертки делайте.

Кстати, я могу вам рассказать как просчитать и реализовать такой фильтр, сам с этим сталкивался.


Ну вот видите, они смогли сами это сделать, не передирая ни у кого.
А вы можете?
Конечно могу, вот только звучание совсем не похоже. Зачем делать несовместимые вещи?
Ну если нет, то хоть в открытую спросите у них, а не тырьте тупо.
Они свернули OpenAL, аппаратную акселерацию, и EFX эффекты несколько лет назад, это уже abandonware. И на счёт тыренья вы, наверное, чего-то недопонимаете, стырить невозможно, а можно только посмотреть как оно сделано и затем повторить как можно ближе к оригиналу.
Если же у вас задание — передрать, то грош такому проекту цена.
Никакого задания нет, я хочу сделать такое же звучание, как и в аппаратной реализации.
Кстати, я могу вам рассказать как просчитать и реализовать такой фильтр, сам с этим сталкивался.
Нужен резонансный bandpass фильтр с одновременной возможностью усиления или ослабления центральной частоты с заданной полосой. Все резонансные фильтры «из книжек» оперируют параметром Q для определения ширины полосы и усиления, у creative же реализовано усиление независимым от ширины полосы параметром. Как вариант решения каскадные peaking+bandpass FIR/IIR фильтры дают совсем другую картину звучания, нежели на аппаруре. Для этого аппаратура и нужна, играться можно сотнями параметрами и терять время вместо того, чтобы посмотреть как надо.

Если вы хотите продолжить их дело, то правильный и простой путь — обратиться к ним напрямую с вопросами.

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

Ну спросите у них и играйтесь, если разрешат.
Я бы на вашем месте сам попытался все сделать.
А вдруг еще лучше получится.

Кстати, понятие «резонансный» больше относится к аналоговой электронике, чем к программным фильтрам.

Если вы хотите продолжить их дело, то правильный и простой путь — обратиться к ним напрямую с вопросами.
Вы похоже ни разу не работали с Creative Labs. Я работал, поэтому этот путь простым не выглядит.
пытаюсь перечитать эту фразу, но все равно читается как «не могу украсть, просто возьму это у них и попользуюсь этим так же как и они»
Такой логикой вы скоро дойдёте до того, что каждый opensource драйвер под проприетарную железку есть воровство (половина исходников линукса), т.к. опенсоурс драйвер реализует то же поведение, что и проприетарный.

Ну спросите у них и играйтесь, если разрешат.
На это разрешения не нужно.

Я бы на вашем месте сам попытался все сделать.
А вдруг еще лучше получится.
Вы понимаете что такое стандарт? «Лучше» или «хуже» мало кого волнует, должно быть также. Всё жёстко параметризировано (спецификация www.scribd.com/...Extension-Guide ).
Кстати, понятие «резонансный» больше относится к аналоговой электронике, чем к программным фильтрам.
А в чём разница? Всё можно реализовать используя дискритный сигнал и цифровую обработку. Я даже делал эмуляцию работы лампового усилителя на C, что по сути есть обычное искажение звуковой волны.

Ну не знаю даже что и сказать вам больше по поводу воровства.
Что делать и как это сделать — разные вещи.
Что вам мешает делать все по спецификации, но чтоб звучало лучше, чем у тех ребят?
Разница в том, что вы хотите слизать — электронику или алгоритм.

Что вам мешает делать все по спецификации, но чтоб звучало лучше, чем у тех ребят?
Вначале нужно добится _правильного_ звучания, а затем уже добиваться улучшения.
Разница в том, что вы хотите слизать — электронику или алгоритм.
Когда как приходится.

Ну добейтесь правильного звучания, только сами.
Кстати, неужели в спецификации прям так прописано правильное звучание ? ))

Ну добейтесь правильного звучания, только сами.
Когда это будет коммерческий проект — несомненно добьюсь, а в opensource прожигать своё время на бесполезное занятие, потому что некто «ff» считает что так круто — хрена с два.
Кстати, неужели в спецификации прям так прописано правильное звучание ? ))
Многие существующие приложения опираются на креативовское звучание, если после подмены библиотеки оно начнёт звучать по другому — такое даром никому не нужно.

А мне казалось что opensource — это для души, когда прожигаешь ради этого свое время...

А если оно будет звучать лучше ?
Зачем привязывать себя в своем же проекте к каким-то непонятным условностям ?

А мне казалось что opensource — это для души, когда прожигаешь ради этого свое время...
Тратить время — правильно, а бестолку прожигать — нет.
А если оно будет звучать лучше ?
Что вы вкладываете в «лучше» ? Тон звука выше или «чище» звук или появление каких-то музыкальных гармоник? В чём лучшесть?
Зачем привязывать себя в своем же проекте к каким-то непонятным условностям ?
Это не мой проект, он общий. Условности очень даже понятны — это стандарт. Если эффект будет звучать по-другому, то стадарт предусматривает для этого создание расширения. Тогда по-другому звучащий эффект будет иметь другое название. Так понятней?

А каким образом стандарт описывает как должен звучать эффект ?

де-фактовым образом.

Там что эталонные звуковые файлы прилагаются ?

Вы когда эмулятор процессора будете делать, тоже будете улучшать скорость выполнения команд и прочее? Нет?

Это ведь разные вещи,
работу процессора легко описать, а вот как описать требования к звуковым эффектам ?
Что-то вроде «эффект должен звучать вот так: ззз ррр шшш »

Что-то вроде «эффект должен звучать вот так: ззз ррр шшш »
Что-то вроде такого: postimg.org/...mage/j58bcxcnx

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

Вернулись к тому, с чего начали. В какой книжке я могу почитать о Creative Auto-Wah filter (он там на нижней картинке так и обозначен) ? Какие у него входные параметры я писал несколькими постами выше.

На мой взгляд здесь все совсем просто, и те ребята просто следовали здравому смыслу.
Вам необходимо выделить амплитуду огибающей и согласно ей изменить частоту фильтра.
Что здесь не ясно ?

Амплитуду огибающей выделить: детектор (функция абс) + НЧ фильтр

Амплитуду получить — находите максимум

Скорость изменения задается параметрами

Эх мне бы ваши проблемы

На мой взгляд здесь все совсем просто, и те ребята просто следовали здравому смыслу.
Быстрое и неправильное решение.
Вам необходимо выделить амплитуду огибающей и согласно ей изменить частоту фильтра.
Что здесь не ясно ?
Что не ясно я описал в этом сообщении: dou.ua/...ic/7591/#323936 последний абзац.
Амплитуду огибающей выделить: детектор (функция абс) + НЧ фильтр
Ну вот вы ещё раз ошиблись lowpass фильтр тут не подойдёт, на картинке это ясно видно.
Эх мне бы ваши проблемы
Так а вы ни одну мою проблему не решили.

Эх не хотите вникать, а ведь там все просто

1. Выделить амплитуду входного сигнала (как вариант я описал вам аналогию как это делается аппаратно — выделение огибающей (абс+НЧ), другой вариант — определить амплитуду как максимум от модуля вх сигнала)

2. Изменить частоту полосового фильтра на величину изменения амплитуды (из п.1). Скорость изменения и пределы задаются у них параметрами
www.manualslib.com/...?page=56#manual
Сам характер изменения — експоненциальный

Там же задаются параметры банд-пасс фильтра (реализуете его как fir или iir на свой вкус)

Все просто ?

Я думаю с вами стоит завершить беседу. Я подробнейшим образом описал свою проблему, в предущем сообщение ещё раз акцентировал на ней внимание. А вы продолжаете говорить только о том, что знаете, что пользы мне не приносит никакой.

1) Как в абс+НЧ фильтре задать скорость возрастания и затухания огибающей? А это требуется контролировать согласно спецификации. То что вы предлагаете даст рандомный клокочущий звук.

2) С чего вы взяли, что характер экспоненциальный? Там же почти русским языком написано, что он линейный. Экспоненциальный используется только в случае с LFO, а не с envelope follower.

Теперь с фильтром. Почитайте ещё и ещё раз о той проблеме, что я написал. Можете задать вопросы, если какие-то слова или даже предложения непонятны. Если быть кратким, то мне нужен как раз этот bandpass фильтр, но управляемый параметрами, которые указаны в спецификации. Я могу ещё больше сузить проблему, мне нужно менять степень открытости bandpass фильтра в зависимости от входного уровня сигнала, а не только его частоту.

Такое впечатление что нужно все разжевать и засунуть в рот

Итак, внимательно читаем это

www.manualslib.com/...?page=56#manual

Затем делаем выводы
1. Ширина банд-пасс фильтра остается постоянной и задается параметром Bandwidth
2. Центральная частота банд-пасс фильтра меняется (плавает) в зависимомти от амплитуды входного сигнала и исходно задается параметром Center Frequency
3. Затухание банд-пасс фильтра задается параметром Env. Sensitivity
4. Характер слежения за амплитудой экспоненциальный хотя бы глядя на рисунок в квадратике (где вы узрели линейность )
задается параметром

Осталость — определить амплитуду сигнала и пересчитать самый обычный полосовой фильтр

Вы правы только в пунктах 1 и 2, которые и так описаны в документации. В пунктах 3 и 4 вы неправы, это уже давно пройденные момены. Завершаем беседу.

Вы можете закончить беседу и остаться при своем, однако это смахивает на некую упертость и непонимание.

Таким образом при возникновении на входе ноты вы определяете ее уровень(амплитуда огибающей), и в зависимости от настроенных из таблицы параметров качаете центральную частоту фильтра (попросту пересчитываете банд-пасс фильтр в реальном времени) таким образом чтобы за время Env. Attack Time ее положение сдвинулось на величину Sweep Range по экспоненциальному закону в сторону Wah Direction
То же самое только наоборот происходит при исчезновении ноты.

Вы можете закончить беседу и остаться при своем, однако это смахивает на некую упертость и непонимание.
Мне все равно. Я знаю как правильно, ибо уже делал сам и затем смотрел как было сделано.
Таким образом при возникновении на входе ноты вы определяете ее уровень(амплитуда огибающей), и в зависимости от настроенных из таблицы параметров качаете центральную частоту фильтра (попросту пересчитываете банд-пасс фильтр в реальном времени) таким образом чтобы за время Env. Attack Time ее положение сдвинулось на величину Sweep Range по экспоненциальному закону в сторону Wah Direction
Зачем вы это мне рассказываете? Это уже давным давно реализовано и реализовано правильно и более оптимально. Attack/Decay применяется сразу к огибающей линейно. Если применять экспоненциальную зависимость для envelope follower, то часто будет возникать distortion, IIR/FIR фильтр из-за маленькой памяти не сможет приспособится к резкой смене частоты и будет срезать пики. Если вместо EF применяется LFO (например синусоидальный), который сам по себе нелинейный, то сильных скачков частоты не будет, ибо LFO цикличный.

Если вам интересно, то реализуйте свой способ и вы увидете ошибки, резонанса как такового не будет, он всегда будет приходится на спадающую волну вместо пика при динамичном сигнале, например, игре на гитаре, для чего этот эффект, собственно, и применяется. Про distortion я уже говорил.

Я уже говорил о моменте, который мне непонятен, если есть что сказать по нему you’re welcome, по поводу остального не нужно тратить время, я знаю как должно быть правильно.

Я так понимаю, что у вас пробелы в базовых понятиях о сигналах и спектрах, отсюда и растут ноги.
Вы столько написали ерунды, что у меня отпадает желание разбирать ее по пунктам и просвещать вас, учите базу, читайте книжки. Без этих понятий вам придется постоянно блукать в лесу из трех деревьев в поисках выхода

Взаимно, в следующий раз просто пройдите мимо, если нечего предложить.

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

(открыл баночку пива)
Интересная у вас беседа, я вам скажу. Увлекательная...

Странный аноним. Я всю прошлую неделю беседовал с RBJ, гуру цифровой обработки звука, была очень интересная и увлекательная беседа, он понял суть проблемы выдал наружу пяток способов как можно попробовать реализовать такой bandpass фильтр, я реализовал в софте десяток аналоговых auto wah коробочек от многих ведущих контор мира, чтобы добится нужного звучания. А тут какой-то аноним рассказывает базовые вещи, вроде 2+2, поучительным тоном, причём видно, что ни разу не делал то, о чём говорит, ибо на лицо видны очевидные ошибки. В общем вы поняли, где я ставлю ваше мнение в иерархии значимых высказываний.

Ну я как бы тоже аноним. До сути проблемы мне очень далеко, но вот чего Вы хотите достичь, я вполне понял.
Почитать ваше словесное фехтование было интересно, для общего развития...

Просто я не спрашивал совета изначально (потому что знаю что это ДОУ) и пришёл с вполне конкретной просьбой достать железку.

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

Спасибо большое, я тоже летаю туда-сюда и где-то с таким же периодом. В Украине народ часто складывает неиспользуемые железки на полку, уже много раз с этим встречался, когда надо было достать какую-то старую железку. Просто эта видать не очень старая и на полку ещё не попала. В Оттаве я поспрашивал до ДОУ, там ещё глуше.

Предложили E-MU 0404 за 500 гривен, подожду ещё недельку, может что-то всплывёт, если нет, то куплю её.

Коментар порушує правила спільноти і видалений модераторами.

Ну не знаю даже что и сказать вам больше по поводу воровства.
у вас какое-то извращенное понятие воровства
этож получается что когда настройщик роялей настраивает роялю по камертону, он тоже ворует звук у производителей камертонов ?

что то вы напутали с камертоном, подумайте сами в чем

aukro.ua/...3290328898.html
1100 грн
до конца лота — 10 часов

Спасибо, но это дорого, готов максимум 500 гривен отдать, ведь после разработки я её просто положу на полочку. Ну и конечно украинские цены радуют безмерно, на амазоне столько новая стоит напрямую от креатива: www.amazon.com/...s=x-fi titanium .

этот форум врядли поможет. я например впервые слышу о подобных платах
может больше шансов найти такую плату на профильных форумах ?

Это вроде игровые платы, в 2010-2011 массово продавались в Украине. Если бы я спрашивал E-MU серию, которые имеют налет профессиональности, то я бы ещё мог понять.

Підписатись на коментарі