Автор Тема: Чиста софтовый ревер для гитарного усилителя  (Прочитано 30638 раз)

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

fentone

  • Сообщений: 95
    • Просмотр профиля
    • E-mail
Re: Чиста софтовый ревер для гитарного усилителя
« Ответ #100 : Декабря 13, 2019, 04:54:07 pm »
Сейчас не сложно сделать лучшее соотношение сигнал/шум, зачем себя ограничивать 12 битами? Можно подобрать какую-нибудь микросхему кодека с АЦП, ЦАП, и фильтрами. Если нужна компактность можно сделать двухстороннюю плату или двухэтажную конструкцию в случае использования плат типа "синей таблетки". Та-же самая ADAU1701 чем не вариант для работы в паре с STM32 ?

OldMike

  • Сообщений: 1963
  • Сложно сделать - просто, наоборот - сложнее...
    • ICQ клиент - 366028254
    • Просмотр профиля
    • E-mail
Re: Чиста софтовый ревер для гитарного усилителя
« Ответ #101 : Декабря 15, 2019, 07:14:53 am »
Сделать-то, конечно, можно...
Во-первых - стадия отработки - мне нужно принципы отработать, для этого - достаточно.
Во вторых - я ж не использую эмуляцию перегруза (можно посчитать, что остается от 24 бит входного сигнала при полном гейне на гитарном процессоре :)).
Ну и наконец - ну зачем мне с/ш 100 дБ, если гитара (реальная, да еще и с аналоговым перегрузом в цепочке перед моим эффектом) - имеет с/ш 30-40 дБ максимум? (мне не доводилось видеть НЕфонящих гитар и НЕшипящих перегрузов, хотя я долго этим занимаюсь). Ко всему - я ведь прямой сигнал от перегруза (гитары) через обработку не пускаю, только задержанный/сдвинутый...
Ну и последнее... Вот пытался несколькими способами эмулировать BBD линию задержки для хоруса... Минимальное количество артефактов в звуке дает прямое повторение алгоритма аналогового хоруса - линия задержки с переменной частотой сдвига данных - но при условии, что данные выводятся синхронно со сдвигами. т.е. с переменной частотой... Если же частота выгрузки данных в ЦАП фиксирована, начинаются явно-слышимые биения за счет детектирования разности частот между несущими (ЦАПа и ЛЗ)...
А мои 2 встроенных ЦАПа позволяют организовать 2 независимые ЛЗ при условии последующей аналоговой фильтрации (цифровую тоже применяю, она уменьшает слышимость артефактов, но не сводит их на нет) - в общем, возможно я просто не нашел правильного алгоритма...
Кстати - не попадалось где-нибудь описание алгоритма хоруса или лесли для ДСП? Как это реализуется в том же Алесисе? Я чет не нашел, а там это ж как-то решили (с биениями)...
Насчет ADAU1701 - я с ней не знаком (пока :)) - и , возможно, зря а что ты на ней делаешь и как?
« Последнее редактирование: Декабря 15, 2019, 07:19:02 am от OldMike »
производится и предлагается к продаже линия примочек/преампов RedCat BM-4/5/6/7 и SL100/FSL100

KMG

  • Сообщений: 3776
    • ICQ клиент - 412221711
    • AOL клиент - Mike
    • Просмотр профиля
    • E-mail
Re: Чиста софтовый ревер для гитарного усилителя
« Ответ #102 : Декабря 15, 2019, 10:21:54 am »
Цитировать
Кстати - не попадалось где-нибудь описание алгоритма хоруса или лесли для ДСП? Как это реализуется в том же Алесисе? Я чет не нашел, а там это ж как-то решили (с биениями)...
Вообще то я уже выкладывал алгоритмы для AL3201
пульт xenyx1202fx
пиковерб

Принцип в том, что есть команды, использующие в качестве адреса озу сэмплов фиксированный офсет+значение LFO (в AL3201 есть встроенные с программируемой огибающей).

OldMike

  • Сообщений: 1963
  • Сложно сделать - просто, наоборот - сложнее...
    • ICQ клиент - 366028254
    • Просмотр профиля
    • E-mail
Re: Чиста софтовый ревер для гитарного усилителя
« Ответ #103 : Декабря 15, 2019, 01:17:10 pm »
Спасибо, Миша!
Значит я прозевал, где ты выкладывал - ну меня тогда больше алгоритмы реверберации интересовали.
Да получить линию задержки несложно - у меня в STM  я это сделал вообще на DMA - настроено 2 канала DMA в режиме circular - один пишет со входа (ADC или просто переменная) в массив, другой из этого же массива с нужным сдвигом адресов считывает - все аппаратно работает, тактируется от таймера... Но - возникают артефакты при попытке вывести через DAC c фиксированной частотой, если частота тактирования DMA изменяется...
Пробовал я и длину линии задержки (с постоянной частотой) менять от LFO - еще хуже звучит, почему-то...
В общем - нужно посмотреть, чего умные люди уже напридумывали...
Спасибо!
« Последнее редактирование: Декабря 15, 2019, 01:18:58 pm от OldMike »
производится и предлагается к продаже линия примочек/преампов RedCat BM-4/5/6/7 и SL100/FSL100

KMG

  • Сообщений: 3776
    • ICQ клиент - 412221711
    • AOL клиент - Mike
    • Просмотр профиля
    • E-mail
Re: Чиста софтовый ревер для гитарного усилителя
« Ответ #104 : Декабря 15, 2019, 07:13:33 pm »
Цитировать
Пробовал я и длину линии задержки (с постоянной частотой) менять от LFO - еще хуже звучит, почему-то...
Собственно про это я  и писал:
Цитировать
Принцип в том, что есть команды, использующие в качестве адреса озу сэмплов фиксированный офсет+значение LFO (в AL3201 есть встроенные с программируемой огибающей).
Если принять за аналогию BBD с отводами от каждой ячейки, то как бы отводы переключаются на выход в соответствии с мгновенной (на момент обработки каждого сэмпла) амплитудой LFO.

OldMike

  • Сообщений: 1963
  • Сложно сделать - просто, наоборот - сложнее...
    • ICQ клиент - 366028254
    • Просмотр профиля
    • E-mail
Re: Чиста софтовый ревер для гитарного усилителя
« Ответ #105 : Декабря 15, 2019, 08:02:24 pm »
Миш, пробую разобраться в алгоритме - но не все понятно. Подскажи, ежели знаешь:
CHR0 RZP chorusmeml" COMPK LATCH ; Read middle of chorus memory
CHR0 RAP chorusmeml"+1   ; Read middle+1 chorus memory
почему тут пара команд чтения и что дает аргумент COMPK?
Чет моего английского не хватает... :)

По логике - должна быть вроде одна команда чтения, адрес формируется аппаратно...
Или у них как-то кроссфейдируются значения соседних ячеек при изменении длины ЛЗ?
производится и предлагается к продаже линия примочек/преампов RedCat BM-4/5/6/7 и SL100/FSL100


OldMike

  • Сообщений: 1963
  • Сложно сделать - просто, наоборот - сложнее...
    • ICQ клиент - 366028254
    • Просмотр профиля
    • E-mail
Re: Чиста софтовый ревер для гитарного усилителя
« Ответ #107 : Декабря 16, 2019, 04:12:29 am »
Спасибо, уже разобрался. Там действительно линейная интерполяция между двух соседних значений отсчетов. Я пробовал сделать подобное (сам придумал! :) ), но где-то накосячил при интерполяции и оно не заработало, а без интерполяции слышны артефакты... У меня был запасной вариант (с переменной частотой тактирования ЛЗ) и я бросил недоделанный алгоритм интерполяции... Зря.
Ну, вечером-ночью придумал, как сделать интерполяцию другим способом, будет время - попробую...
производится и предлагается к продаже линия примочек/преампов RedCat BM-4/5/6/7 и SL100/FSL100

fentone

  • Сообщений: 95
    • Просмотр профиля
    • E-mail
Re: Чиста софтовый ревер для гитарного усилителя
« Ответ #108 : Декабря 17, 2019, 04:01:41 pm »
Цитировать
Насчет ADAU1701 - я с ней не знаком (пока :)) - и , возможно, зря а что ты на ней делаешь и как?
На ADAU1701 я реализовал простой плеер импульсов - эмулятор кабинета. Можно обсудить в Плеер импульсов Fentone CAB Sim

OldMike

  • Сообщений: 1963
  • Сложно сделать - просто, наоборот - сложнее...
    • ICQ клиент - 366028254
    • Просмотр профиля
    • E-mail
Re: Чиста софтовый ревер для гитарного усилителя
« Ответ #109 : Декабря 19, 2019, 07:16:25 pm »
2KMG Разобрался, сделал по образу и подобию AL3201... :) Работает хорус нормально, артефактов не слышно. Ну еще поиграюсь с вариантами и настройками.
Еще таки попробую прикрутить нормальный аудио-DAC 16 битный, это для другого проекта - у меня еще незаконченый Hammond ждет - я там Лесли сделал на аналоговых линиях задержки (ну у меня от Вермоны Пиано-Стрингс хорус остался), а хочу переделать все на цифру, вот тут-то и пригодятся все наработки по задержкам и фильтрации.
2 fentone
С удовольствием посмотрю, спасибо....
« Последнее редактирование: Декабря 19, 2019, 08:06:31 pm от OldMike »
производится и предлагается к продаже линия примочек/преампов RedCat BM-4/5/6/7 и SL100/FSL100

OldMike

  • Сообщений: 1963
  • Сложно сделать - просто, наоборот - сложнее...
    • ICQ клиент - 366028254
    • Просмотр профиля
    • E-mail
Re: Чиста софтовый ревер для гитарного усилителя
« Ответ #110 : Декабря 20, 2019, 06:21:26 pm »
Сегодня подключил к проекту и настроил по I2S DAC CS4344. На слух разницы почти не слышно (потихонечку и на дешевые наушники :)), осциллограф показывает заметное улучшение формы сигнала - ну все же цифровая фильтрация... В общем - уже работает и будет использовано...
производится и предлагается к продаже линия примочек/преампов RedCat BM-4/5/6/7 и SL100/FSL100

Torbjörn

  • Сообщений: 136
  • GtLab.Net forever!
    • Просмотр профиля
    • E-mail
Re: Чиста софтовый ревер для гитарного усилителя
« Ответ #111 : Декабря 21, 2019, 11:26:20 pm »
Давеча сидел листал алиэкпресс. Предлагают за 150 грн платку c CS4344 ЦАП и CS8416 ресивером. Интересный "кит", как для тех, кому SPDIF тюльпаны или оптика на аудиоинтерфейсе "муляють" :)
P.S: пардон за флуд.
« Последнее редактирование: Декабря 21, 2019, 11:28:25 pm от tor12ax7eh »

OldMike

  • Сообщений: 1963
  • Сложно сделать - просто, наоборот - сложнее...
    • ICQ клиент - 366028254
    • Просмотр профиля
    • E-mail
Re: Чиста софтовый ревер для гитарного усилителя
« Ответ #112 : Декабря 28, 2019, 04:34:41 pm »
Рассказать пока особо нечего... Алгоритмы я более-менее отработал (дилей, хорус, холл) - ну голые алгоритмы, я так понимаю, особо никому не интересны. Для бюджетного гитарного применения, ИМХО, достаточно 12 битного ЦАП/АЦП на борту STM32F303CC. Ну - для гитарной примочки эффектов нужно доделать какой-нибудь интерфейс - энкодер какой-никакой, пару кнопок там, светодиоды/индикатор, ну и написать прогу для управления этим всем и сохранения настроек...
По схемотехнике там все просто - входной буфер, выходные ФНЧ и сумматоры - штук 5 ОУ максимум...
Когда я этим займусь - пока не знаю, как будет время и настроение.
Просто сейчас появилось настроение доделать приостановленный год назад проект органа Hammond на STM32. :) Орган у меня играл еще год назад - и играл довольно похоже (в той версии у меня, правда, было по 8 гармоник на ноту, а не по 9, как у Hammond - STM32F051, на котором я его начал, больше не тянул по скорости)... Самое сложное оказалось сделать правдоподобный Лесли-эффект... Первоначально в цепочке после генератора органа я сделал аналоговый перегруз, за ним был кроссовер на 800Гц, далее были включены задержки от хоруса Вермоны (2 из 3х) и амплитудный модулятор для НЧ, затем управляемые ФНЧ (имитация прохода ВЧ рупора Лесли мимо микрофона), потом сумматоры... LFO (3 фазы) вырабатывал STM, причем скорость при переключении менялась вверх и вниз плавно, как у механического Лесли... В общем - устройство было сложное, хоть и звучало похоже...
Потом я сделал цифровой перегруз... Попробовал сделать и цифровой кроссовер и хорус - но тогда я не довел до нормального звука алгоритм хоруса, а без него пришлось оставить аналоговые кроссовер, модулятор и задержки - в общем, я тогда устал от проекта и на год его  забросил...
Теперь захотелось его доделать - во первых, взять проц по-быстрее - думаю, это будет STM32F411CE - купил на Али платку (аналог всем известных "синих плат" с STМ32F103С8Т6), внешний ЦАП CS4344, ну и алгоритмы хоруса (для Лесли) уже отработаны... Да, там не все так просто - для Лесли треугольный LFO не годится, но я уже придумал, что буду делать... :) Как-то так...
Всех - с наступающим Новым Годом!  :)
производится и предлагается к продаже линия примочек/преампов RedCat BM-4/5/6/7 и SL100/FSL100

fentone

  • Сообщений: 95
    • Просмотр профиля
    • E-mail
Re: Чиста софтовый ревер для гитарного усилителя
« Ответ #113 : Декабря 29, 2019, 08:03:50 am »
Если еще нет в наличии, то не забудьте прикупить к "черной таблетке" на STM32F411CE современный кабель USB Type-C.

OldMike

  • Сообщений: 1963
  • Сложно сделать - просто, наоборот - сложнее...
    • ICQ клиент - 366028254
    • Просмотр профиля
    • E-mail
Re: Чиста софтовый ревер для гитарного усилителя
« Ответ #114 : Декабря 29, 2019, 10:07:35 am »
Очень приятный цвет! :) Кстати - а есть где нибудь ее схема? Если есть - поделитесь, плз... Оно вроде все понятно - но хотелось бы подробностей.

А кабель мне пока не нужен - все равно подключаю через ST-Link, от него оно и питается... Я ее еще не программировал - нужно подчитать по настройкам синхронизации, задержек чтения Flash и т.д. - даже от 303 отличается, зараза... Я пока "вылизываю" алгоритмы синтезатора органа на 303 - благо все настройки проекта взяты от ревербератора, а переход на новый кристалл займет некоторое время на настройку.
Просто я решил немного разделить функции - прошлогодний Hammond имел только один проц, который и клавиатуру опрашивал, и индикацию на 1602 выводил, и потенцы футбаров с кнопками опрашивал, и генерил 64 синусоидальных осциллятора с частотой 31,25 кГц. Так вот - я решил поставить 2 проца: 411 - чисто генерировать звук и его обрабатывать (вся цепочка обработки из предыдущего поста), а для клавиатуры, органов управления и индикации поставить еще STM32F030 и сделать индикацию на TFT, ибо двухстрочника мне не хватает для удобного отображения настроек, ну и связать процы по банальному MIDI...
производится и предлагается к продаже линия примочек/преампов RedCat BM-4/5/6/7 и SL100/FSL100

Torbjörn

  • Сообщений: 136
  • GtLab.Net forever!
    • Просмотр профиля
    • E-mail
Re: Чиста софтовый ревер для гитарного усилителя
« Ответ #115 : Февраля 07, 2020, 04:16:11 am »
@ OldMike Михаил, а не могли бы Вы записать сэмпл? Т.е. "продукт обработки", так сказать. Не микс, а именно "сырец" на выходе DAC. Очень хочется мотивироваться такими крутыми проектами, где "хорошую пружину" можно "выжать" из "голого" М4.

« Последнее редактирование: Февраля 07, 2020, 10:59:24 am от tor12ax7eh »

OldMike

  • Сообщений: 1963
  • Сложно сделать - просто, наоборот - сложнее...
    • ICQ клиент - 366028254
    • Просмотр профиля
    • E-mail
Re: Чиста софтовый ревер для гитарного усилителя
« Ответ #116 : Февраля 07, 2020, 09:01:24 pm »
Надо подумать, как это сделать... Чисто технически - ибо я все это делал на работе в свободное время, вроде обеда... А там я использовал в качестве источника звука просто короткий голосовой семпл "Разсс...", записанный в виде массива прямо в STMку. Т.е. у меня сейчас нет готовой цепочки для записи семпла - там ведь нужен какой-нибудь буфер на вход АЦП присобачить...
О. идея... Есть маленький семпл органа - правда там уровень ревера совсем небольшой, там основной упор на имитатор Лесли у меня... Там бедный STM32F411 делает сразу все - генерирует звук органа, затем пропускает его через ревер и Лесли...
https://drive.google.com/open?id=1aAalEtTCKWrOlOfy_ZsAS1WYfKxUBZjd
Вот вроде должно открываться - разучился вставлять музыку на форум :)
Вот тут неплохо слышно:
https://drive.google.com/open?id=156W4nlR9xkrXQ-I4lc2HWfH0IY_IERN0
« Последнее редактирование: Февраля 09, 2020, 04:02:24 pm от OldMike »
производится и предлагается к продаже линия примочек/преампов RedCat BM-4/5/6/7 и SL100/FSL100