А в чем ламповость?

<div class='quotetop'>QUOTE(\"DonPedro\")</div>
Дык вот ты какой, цветочек аленький.  

ЗначиЦЦа так:  
1. Пишем в линию чистый звук.
2. На SPICE оффлайн мУделируем любое железо, для которого схемка имееЦЦа, и баунсим в вэйв.
3. Подбираем импульс кабинета по вкусу, и - ву-а-ля!

Кто попробует, дайте послушать.[/b]
Под практической работой я имел ввиду разработку и отладку схем.
Использование SPICE моделей для обработки звука также возможно и результат получается качественный, но это неудобно, т.к. в реальной работе всегда необходимо предварительно настроить звук, поэтому придется очень много раз в SPICE симуляторе менять положение регулятора, баунсить, слушать, изменять положение регулятора, баунсить, слушать, изменять положение регулятора, баунсить, слушать..... И это только для одного регулятора. А если учесть, что регуляторов обычно несколько и звук зависит от взаимного положения нескольких регуляторов, то настроить звук таким слепым способом будет очень сложно.
К тому же для обработки гитары (судя по пункту 3. поста №59 DonPedro он хочет ЭТО) способ с записью чистого сигнала с гитары для последующей обработки имеет несколько недостатков - во первых для правильного звукоизвлечения желательно слышать конечный результат, т.е. на разном аппарате/обработке гитарист играет по разному (в смысле звукоизвлечения), поэтому чтобы получить нужный звук необходимый драйв желательно иметь уже на этапе записи. Во-вторых к Hi-Gain аппарату желательно подключать непосредственно инструмент, а не результат оцифровки - шумов получится многовато (хотя для самых старательных - простой совет - полностью вычистить шумы на фонограмме перед баунсингом в SPICE).
Если кто-то будет баунсить wav файлы в SPICE симуляторах - предупреждение - нужно внимательно следить за уровнем выходного сигнала, чтобы он не превышал размаха +-1 вольт (мах амплитуда входного файла принимается +-1 вольт и мах амплитуда выходного сигнала для записи в файл не должна превышать +-1 вольт).
 
Для DonPedro баунс wav в симуляторе - SWCad III схема Bogner Hi-Gain, регулятор DRIVE 0,1 с последующей обработкой Voxengo Pristine Space Light c первым попавшимся под руку импульсом кабинета (в выходном файле только начало исходного файла - около 6 секунд).
 
DonPedro
Как бы уже делали. Многие самопайщики прогоняют схемы в OrCad перед тем как паять, в том числе, чтобы послушать. Я даже писал программу, которая переводит wav в CADы и обратно:
http://gtlab.net/gtlab2/downloads.php?cat_id=2

Надо, наверное, под неё прожект зарегить на sourceforge

NickCrow
Ну, не забывайте, что эти кады делают очень много совершенно левой работы, кроме того спайс-модели интерпретируются в реальном времени (хотя, возможно, некоторые из кадов и прекомпилят их в байт-код), отсюда и берутся _такие_ показатели. Я думаю, цепочка RC фильтров тоже будет в кадах считаться вне реального времени, хотя каждый из них, будучи посчитан напрямую - совершенно базовая операция ЦОС.

Не забываем также тов. Cleopardd, который, по его словам, довольно успешно всё промоделил. Сча его сюда позову.
 
чтобы он не превышал размаха +-1 вольт (мах амплитуда входного файла принимается +-1 вольт и мах амплитуда выходного сигнала для записи в файл не должна превышать +-1 вольт)
А для этого в моей чудесной программе предусмотрена нормализация :))
 
<div class='quotetop'>QUOTE(\"decil\")</div>
А для этого в моей чудесной программе предусмотрена нормализация :))[/b]
Удобно, мля. Я пользуюсь бесплатным SWCad III, твоя программа его формат поддерживает?
 
<div class='quotetop'>QUOTE(\"decil\")</div>
Я думаю, цепочка RC фильтров тоже будет в кадах считаться вне реального времени, хотя каждый из них, будучи посчитан напрямую - совершенно базовая операция ЦОС.[/b]
Даже простейший RC фильтр (реальный) не может быть описан базовой операцией DSP, поскольку реальный резистор не является идеальным резистором и реальный конденсатор не является идеальным конденсатором, а хорошие SPICE модели учитывают эту неидеальность конкретных типов компонентов.
 
Ну, может она Orcad, Circuit Maker & MicroCap. Если найдёшь описание входного/выходного файла, а я найду немного времени - будет поддерживать что угодно.

А если ты ещё поможешь раскопать модель лампы из SPICE файла и в двух словах объяснишь её мне... Ну, тут вообще перспективы захватывающие
 
NickCrow
я понимаю отлично, что можно в плагин ещё и засунуть ручку температурного режима. Но зачем такой экстремизм. Нам же надо не дивайсы отлаживать
 
<div class='quotetop'>QUOTE(\"decil\")</div>
А если ты ещё поможешь раскопать модель лампы из SPICE файла и в двух словах объяснишь её мне...[/b]
Вот SPICE модель лампы 6Н2П:

.SUBCKT 6N2P 1 2 3; P G C;
+ PARAMS: MU=106.00 EX=1.398 KG1=1326.3 KP=415.26
+ KVB=4680.6 VCT=0.30 RGI=1k
+ CCG=2.25P CGP=0.7P CCP=2.5P
E1 7 0 VALUE=
+{V(1,3)/KP*LN(1+EXP(KP*(1/MU+(V(2,3)+VCT)/SQRT(KVB+V(1,3)*V(1,3)))))}
RE1 7 0 1G
G1 1 3 VALUE={(PWR(V(7),EX)+PWRS(V(7),EX))/KG1}
RCP 1 3 1G ; TO AVOID FLOATING NODES IN MU-FOLLOWER
C1 2 3 {CCG} ; CATHODE-GRID;
C2 2 1 {CGP} ; GRID-PLATE;
C3 1 3 {CCP} ; CATHODE-PLATE;
D3 5 3 DX ; FOR GRID CURRENT
R1 2 5 {RGI} ; FOR GRID CURRENT
.MODEL DX D(IS=1N RS=1 CJO=10PF TT=1N)
.ENDS

А вот объяснить, к сожалению сейчас не смогу - пока не разбирался, все не хватает времени.
Кстати, кажется darlock как то упоминал, что сам делал SPICE модели каких-то ламп - может быть он поможет?
 
фигасе разговор пошел...вы как сделаете ламповый эмулятор свистните плиз :gigi:
 
Для decil в двух словах объясняю вышеприведенную модель лампы 6Н2П (хорошо, кстати, что появился повод и сам наконец-то разобрался).
{(PWR(V(7),EX)+PWRS(V(7),EX))/KG1} это выражение описывает ток анода лампы. Вместо EX и KG1 подставляются значения EX=1.398 KG1=1326.3. Вместо V(7) подставляется выражение:
{V(1,3)/KP*LN(1+EXP(KP*(1/MU+(V(2,3)+VCT)/SQRT(KVB+V(1,3)*V(1,3)))))}, в котором KP=415.26, MU=106, VCT=0.30, KVB=4680.6, V(1,3) - напряжение между анодом и катодом, V(2,3) - напряжение между сеткой и катодом. Это основные формулы взаимозависимости тока анода, напряжения на аноде и напряжения на сетке.
Если напряжение на сетке лампы хотя бы иногда будет превышать напряжение на катоде (а в каскадах гитарных предусилителей это бывает часто), то необходимо еще учитывать сеточный ток - в данной модели это эмулируется подключением между сеткой и катодом цепочки последовательно соединенных резистора номиналом 1кОм и диода (модель диода .MODEL DX D(IS=1N RS=1 CJO=10PF TT=1N))
Также в модель включены значения входной, выходной и проходной емкостей лампы и величина сопротивления закрытой лампы.
И это все.
Больше там ничего нет.
 
короче, ребята, как будет что-либо реаьно-триодное, выдающее 2 и3 нагора, пусть даже не в режиме реального времени - свистите..
NickCrow с меня пивас... ну и decil тоже, только не знаю, где Луганск
 
<div class='quotetop'>QUOTE(\"decil\")</div>
Да не вопрос, но одной лампой в каскаде сыт не будешь.[/b]
Для начала попробуй самый простой вариант с постоянным смещением на сетке лампы и без учета сеточного тока (для сатуратора будет достаточно) - добавляются три константы - анодный резистор - например 100кОм, источник анодного напряжения - например 400 вольт, и источник напряжения смещения на сетке - например -1,5 вольта (минус 1,5 вольта - напряжение на сетке отрицательное по отношению к напряжению на катоде).
Для такой схемы:
V(2,3) - напряжение между сеткой и катодом будет равно мгновенному входному напряжению плюс напряжение смещения (т.е. без входного сигнала V(2,3) = -1,5 вольта, а входной сигнал изменяет это значение, но без превышения порога 0 вольт - т.е. мах размах входного напряжения + - 1,5 вольта).
V(1,3) - напряжение между анодом и катодом может быть выражено как 400 вольт минус 100 000*ток анода лампы (произведение номинала анодного резистора на ток).
Или ток анода лампы может быть выражен как (400 - V(1,3))/100 000.
Для ориентира - при прогоне в симуляторе при 400 вольт анодки, 100 кОм анодного резистора и смещении -1,5 в отсутствии входного сигнала исходные значения получаются такие:
V(1,3) = 229 вольт, ток анода 0,001709 Ампер.
Выходное напряжение может быть выражено как разность мгновенного значения V(1,3) и величины V(1,3) в отсутствии входного сигнала (в нашем случае 229 вольт).
 
Прошу, кто может - выложите сухой файл (например синтетический бас) и бас пропущеный через лампу с максимально возможными искажениями. Очень интересно послушать как искажается звук. Спасибо.
 
Ребята, не надо пока прямой ток сетки учитывать, хотябы самую грубую модель реализовать. И сильно подозреваю что на ламповость звука нюансы не влияют - основное - малая обратная связь, малая крутизна и специфические ограничения сигнала в связи с этим. К сожалению сам в спайсах не силен... И еще совет - если есть возможность реализовать _табличные_ функции, а не вычислять на ходу эти экспоненты все, то это значительно поднимет производительность. Другими словами, если загнать статические характеристики лампы в таблицы, а не использовать вычисление по формулам для каждого значения, это даст выигрыш по производительности значительный (и, кстати, будет точнее в смысле ближе к оригиналу - формулы это приблизительная модель всегда)
 
Я не сомневаюсь что дедушка молодец. :smile: Просто увидел все эти експоненты ужаснулсо, как представил что все это с каждым тиком обсчитывается.
 
Сейчас прикинул - в варианте, который я предлагал в посте №79 лучше напряжение смещения принять минус 2 вольта (соответственно мах размах входного напряжения + - 2 вольта) и величину напряжения источника питания понизить до 350 вольт. В этом случае получается побольше гармоник - при мах размахе входного напряжения 8,4% 2-я гармоника, 1,6% 3-я, 0,28% 4-я, 0,035% 5-я.
При отсутствии входного сигнала при этих параметрах:
V(1.3) = 240 вольт, ток анода = 0,0011 ампера.
 
NickCrow
Камрад, а у тебя ацко есть?
Я сейчас, правда немного другими плагами занят, но тему ты развил сильно интересную, надо бы пообщаться плотнее. :beer:
 
<div class='quotetop'>QUOTE(\"tim_ka\")</div>
Другими словами, если загнать статические характеристики лампы в таблицы, а не использовать вычисление по формулам для каждого значения, это даст выигрыш по производительности значительный [/b]
и произведет на свет очередной шедевр, ничем не лучше уже имеющихся в наличии.
Я считаю, что нужно сначала реализовать алгоритм, идентичный SPICE модели, а затем уже смотреть, что можно оптимизировать.
 
<div class='quotetop'>QUOTE(\"decil\")</div>
Камрад, а у тебя ацко есть?[/b]
Ацко нет. Мыло есть в профиле. Тема действительно интересная, чем смогу - помогу.
 

Сейчас просматривают