Programmable VST Instrument,Audio effect,MIDI effect/sequencer,SoundFont import,Pitch shifter,Multi I/O. v1.0.120 beta.

DSP, Plugin and Host development discussion.
Post Reply New Topic
RELATED
PRODUCTS
Crescendo

Post

woodslanding wrote: Mon Oct 16, 2023 11:36 pm I was curious to hear your waveguide test, but KVR says the file does not exist.

While I'm here.... does your plugin provide MIDI out? I.E., could I use it to create a midi only plugin? Looks like you have midi in, and midi processing...

I am trying right now the file on https://www.kvraudio.com/product/crescendo-by-bjt2 , the link with the name "digital waveguide test", and it works.

But if you have downloaded the .7z file, just load the VST and load waveguide.txt: you can experiment by yourself and also see the source code...

Excuse me if it was not clear that the .txt files are usable test files. I have not invented a file extension, so you can edit the file with any text editor.

EDIT: in case the waveguide.txt is not in the 7z file, you can download it here: https://www.kvraudio.com/product/cresce ... /downloads
Here you will find also links to the theory on which is based:

Theoretical background
https://ccrma.stanford.edu/~jos/pasp/Ac ... Delay.html
Actual simulation
https://ccrma.stanford.edu/~jos/pasp/Di ... odels.html

The difference between the 2 variants is that in one the "string" is excited with a filtered SINC and another with a filtered random noise pulse.



Regarding MIDI, long ago I was digging in the files of the VST SDK to see if there is some virtual function to redefine to declare that i am going to output MIDI.

I already issued "sendVstMidiEvent" in canDo(), i call sendVstEventsToHost() at the end of processevents() but no MIDI output was routed to the next VST in the chain at least in Ableton.

This was some time ago, so i gave up to modify more urgent things, but i haven't tried with other DAWs.

EDIT:

Ok, now i think i got it: i wanted to move the MIDI messages from a VST to the following ON THE SAME TRACK. It does not work this way at least in Ableton; the first VST on the track has a special treatment: sidechaining and MIDI can be passed only to the first VST and obviously the VST must be in another track!

I found this article on the Ableton KB:

https://help.ableton.com/hc/en-us/artic ... ST-plug-in

Looks like that the midi can be rerouted afterall but it is not a straightforward process...

This means that some other DAWs could already see the MIDI output, but since it's a copy of the MIDI in, it is not useful: it's only a repeater.

I performed many tests with many Crescendo copies in multiple tracks:
i managed to have a track that takes the MIDI from another track and the sidechaining from yet another track!

I wrote all the rules down and i will put a full description in the manual, so stay tuned: these rules will apply to other VSTs too, obviously...

Now i must only implement the message filtering/creation: for now Crescendo is just a repeater, but at least Ableton detects that Crescendo can output MIDI data.

This is another story. Probabily it will take some days.

After I have implemented the MIDI message rerouting/processing (and made Crescendo also a MIDI filter/arpeggiator), i may consider adding further MIDI effects...

I have also to modify the manual, this thread and the page in the developer section to highlight that Crescendo is a virtual instrument, Audio effect and (very soon) a MIDI effect...


MANY, MANY THANKS for the idea!
My youtube channel: https://www.youtube.com/channel/UCRwIM2 ... D9DlgfjzLQ
Thread on my programmable VST: viewtopic.php?t=581986

Post

woodslanding wrote: Mon Oct 16, 2023 11:36 pm I was curious to hear your waveguide test, but KVR says the file does not exist.

While I'm here.... does your plugin provide MIDI out? I.E., could I use it to create a midi only plugin? Looks like you have midi in, and midi processing...
Ok, i have implemented MIDI effect, but sadly Ableton cuts down the detune value, so only integer notes can be passed among VSTs. Still arpeggios, chords, duration randomization works. Now i will finish testing, checking the manual and publish it...
My youtube channel: https://www.youtube.com/channel/UCRwIM2 ... D9DlgfjzLQ
Thread on my programmable VST: viewtopic.php?t=581986

Post

Current version, 1.0.62 beta:
  • Crescendo can now be used as a VST MIDI effect. Detailed instructions in the manual.
  • Performance enhancement: merged further IFs in critical code, inlined some functions and tweaked some compiler parameters.
  • Tweaked UI performance and behaviour.
  • Given a name ("Temperament") to the temperament VST Var.
  • Added version, build type, sample rate and block size to some debug messages.
My youtube channel: https://www.youtube.com/channel/UCRwIM2 ... D9DlgfjzLQ
Thread on my programmable VST: viewtopic.php?t=581986

Post

Current version, 1.0.63 beta:
  • UI performance enhancement and bugfix (resource leak).
My youtube channel: https://www.youtube.com/channel/UCRwIM2 ... D9DlgfjzLQ
Thread on my programmable VST: viewtopic.php?t=581986

Post

Current version, 1.0.64 beta:
  • UI tweaks and bugfix.
My youtube channel: https://www.youtube.com/channel/UCRwIM2 ... D9DlgfjzLQ
Thread on my programmable VST: viewtopic.php?t=581986

Post

Current version, 1.0.65 beta:
  • UI performance tweaks: trimmed down excessive redraw.
  • UI bugfix: excessive redraw impairs host parameter modify when VST interface is open.
My youtube channel: https://www.youtube.com/channel/UCRwIM2 ... D9DlgfjzLQ
Thread on my programmable VST: viewtopic.php?t=581986

Post

Current version, 1.0.66 beta:
  • UI tweaks and cosmetic bugfixes.
My youtube channel: https://www.youtube.com/channel/UCRwIM2 ... D9DlgfjzLQ
Thread on my programmable VST: viewtopic.php?t=581986

Post

Current version, 1.0.67 beta:
  • UI personalization: font, colors.
  • UI hide: hide some informations to gain more space.
  • Performance enhancement and bugfix.
My youtube channel: https://www.youtube.com/channel/UCRwIM2 ... D9DlgfjzLQ
Thread on my programmable VST: viewtopic.php?t=581986

Post

Current version, 1.0.68 beta:
  • UI: custom knobs instead of sliders: click for focus, pageup/down, home/end, mouse wheel for moving or mouse click&drag for accelerated move for fine tuning.
  • UI: custom knob position is floating point instead of integer, for higher precision.
  • UI: knob diameter, label font size, border color and inner color are configurable.
  • UI: default font Tahoma 16 DLP (8 points), bold.
  • UI performance enhancement: removed duplicated redraws.
  • UI is DPI aware: rescale font size with DPI changes. SETFONT size value is the font size at 96 DPI.
  • UI is DPI aware: interface size, controls size and position, UIMOD values are rescaled with final font size. Given values are for font size = 16 DLP at 96 DPI.
  • Soundfont import modified to support the new UI features: reimport the files!
  • Force rounding of integer VST Vars when moving them.
My youtube channel: https://www.youtube.com/channel/UCRwIM2 ... D9DlgfjzLQ
Thread on my programmable VST: viewtopic.php?t=581986

Post

Current version, 1.0.69 beta:
  • Introduced REVERB0, with the least parameters possible, to simplify interface. Use REVERB0 in Soundfont import.
  • Introduced full BANK MIDICC 155. Modified Soundfont import to use new full bank MIDICC.
  • Reimport all SoundFonts.
  • Clarified in the manual the behaviour with VST VARs linked to program, full bank, bank lsb, bank msb etc... See MIDICC help.
  • Bugfixes.
My youtube channel: https://www.youtube.com/channel/UCRwIM2 ... D9DlgfjzLQ
Thread on my programmable VST: viewtopic.php?t=581986

Post

Current version, 1.0.70 beta:
  • Introduced programmable MIDI sequencer mode.
  • Allowed multiline instructions.
  • Expanded and reworked the manual.
  • Introduced a secondary input, to be able to perform sidechaining in all configurations.
  • Added song time and sequencer time (if activated) next to polyphony in debug mode.
  • Added host song time and host flags next to polyphony in debug>=2 mode.
  • Bug fix:
    - Correctly sync the internal clock with the host clock.
    - Correctly detect if the DAW is in play mode.
    - MIDI messages generation.
    - Dynamic allocation of some buffers.
  • Changed SENDSx behaviour: same as OUT except that after POST step their values are lost.
My youtube channel: https://www.youtube.com/channel/UCRwIM2 ... D9DlgfjzLQ
Thread on my programmable VST: viewtopic.php?t=581986

Post

Current version, 1.0.71 beta:
  • Multiple inputs and multiple outputs, IO <ins>,<outs> instruction, INxx and OUTxx variables.
  • Full explanation in the manual of signal routing in complex scenarios, e.g. with multiple VSTs with multiple inputs and/or outputs on the same track.
  • Bugfix: off triggers not correctly filtered for midi channel in some cases.
My youtube channel: https://www.youtube.com/channel/UCRwIM2 ... D9DlgfjzLQ
Thread on my programmable VST: viewtopic.php?t=581986

Post

Current version, 1.0.72 beta:
  • Deleted deprecated functions.
  • Independent knobs' position, diameter and colors.
  • Compiled with the last Visual Studio version.
  • Modified the manual.
My youtube channel: https://www.youtube.com/channel/UCRwIM2 ... D9DlgfjzLQ
Thread on my programmable VST: viewtopic.php?t=581986

Post

Current version, 1.0.73 beta:
  • Various bugfixes.
My youtube channel: https://www.youtube.com/channel/UCRwIM2 ... D9DlgfjzLQ
Thread on my programmable VST: viewtopic.php?t=581986

Post

Current version, 1.0.74 beta:
  • Bugfixes on DAW clock start and stop.
My youtube channel: https://www.youtube.com/channel/UCRwIM2 ... D9DlgfjzLQ
Thread on my programmable VST: viewtopic.php?t=581986

Post Reply

Return to “DSP and Plugin Development”