Randomiser 0.5

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

Post

Image

Randomiser sends out a random midi CC message every time it receives a note on message.

Anyone want to test it? If so, set it up like...
Image
(put Randomiser where Cc Seq is, Claw is where your synth or fx is connected. Blue lines, midi, brown, audio)

The Parameters
Value – The base value for the midi CC message.
Randomise – The maximum amount by which the base value is randomised.
CC Out – The CC each message is transmitted on. Randomiser should transmit cc messages on all channels.


I'm curious if this will work on other peoples systems, it works fine on mine.

Download here http://fa-audio.presetbank.net/downloads.htm

Shannon
Last edited by very angry mobster on Mon Nov 29, 2004 6:28 am, edited 1 time in total.

Post

oh, BTW, its an VST effect. :oops: did i miss any other important details?

Post

vam,

I'm going to look at it tonight. You have use delphi right and did you use the Dib controls for the faders?

A other question I want to ask you is about your other product: CC sequencer. Does it sync against the tempo of the host?

ferry

Post

Yeah, Randomiser and CC sequencer have both been programmed with delphi and Randomiser uses the DIB controlls (its the first time I've used them).

CC Sequencer is designed to sync to the host tempo, as far as i know, the timing system is working now, but it's not exactly what i want.

Post

I'm on the same subject myself. That is writing Delphi Midi only VST plugins. I finished an plugin that translated the nrpn midi messages of my Peavey StudioMix midi controller into cc and note messages.

I'm asking about the sync because I'm designing a pattern stepsequencer that can be controlled by the same midi controller ala Doepfer Regelwerk. The controller has motorized faders so stepping thru the differents pattern must be really fun ;)

Can you give me a hint on who you acomplished the midi sync in the processevent procedure?

Thanks anyway...

Post

i've taken two approches to tempo syncing, the first was to calculate the timing internally by counting audio samples and calulating the period of each step in samples.
steptime=(60/bpm*samplerate)/sync

the sync value changes according to the tempo division. ie. 1/1 - sync=1 1/2 - sync=2

but i don't really like this method because it needs an external trigger to correctly sync to the host.


the 2nd method uses ppqpos timing info sent from the host.

var
ptime:pvsttimeinfo;
endstep:integer; (1-16)
StepPosition:integer;

begin
ptime:=gettimeinfo(8);
StepPostition:=floor(ptime.ppqpos*sync) mod endstep;

if StepPosition<>OldStepPosition then
begin
code to be processed each step
end;

end;


StepPosition will always be between 0 - 15 for a 16 step sequence.

Using the 2nd method, the sequencer doesn't need any external triggers to correctly sync it to the host, and it will never go out of sync because of tempo changes (the first might). but it doesn't give the user as much control as the first. This method seems to work, except inside energyXT.


All the processing is done in the processAudio procedure.

is that what you were after?

Post

fun in enrgy im using it in my christmas track :D
:ud:

Post

vurt wrote:fun in enrgy im using it in my christmas track :D
toxicated? :)

Post

vam,

Yes, thanks for the info. This gives me a nice start to get into the matter.

ferry

Post Reply

Return to “DSP and Plugin Development”