harmony rotator.
http://www.sensomusic.com/forums/upload ... %205.1.pat
i have been trying to build a harmonic rotator similar to the oberheim rotate mode.
This rotator works except there is one problem i cant overcome.
If one of the voices in the rotation receives a note on for the same note it just played the note wont sound.
ex:
V1 c3 d3
v2 e3 e3
V3 g3 f3
the second voice of the second chord wont play because it is receiving the same note.
Can anyone help?
i have been trying to build a harmonic rotator similar to the oberheim rotate mode.
This rotator works except there is one problem i cant overcome.
If one of the voices in the rotation receives a note on for the same note it just played the note wont sound.
ex:
V1 c3 d3
v2 e3 e3
V3 g3 f3
the second voice of the second chord wont play because it is receiving the same note.
Can anyone help?
Hi, I took a quick look, and to me looks ok. However, I did try with input from a keyboard with NoteOns and NoteOffs. I you maybe only send NoteOns to monophonic synths or samplers, you would mostly when repeating the same note number either get no reaction like you describe, or a retriggered note.
Bjørn S
http://www.sensomusic.com/forums/upload ... stream.JPG
here is an example of my midi stream. i send note ons and offs.
This rotator doesnt work perfectly. Im not sure how to fix it.
here is an example of my midi stream. i send note ons and offs.
This rotator doesnt work perfectly. Im not sure how to fix it.
I suppose the screenshot is from some MIDI monitor before entering Usine? I also wonder whether you don't get any action when the input note changes, and the output from the rotator should change as well?
If the problem appears only with repeated input notes, I think I see the problem. In the screenshot the NoteOff of the first note comes after the NoteOn of the next note. That would mean that whatever's listening to the MIDI stream receives two NoteOns for the same note without a NoteOff between them. Are you using some kind of step module or sequencer as the input source? If so, try to avoid the "legato" style of note stream and make sure that the NoteOffs come before the next NoteOn.
If the problem appears only with repeated input notes, I think I see the problem. In the screenshot the NoteOff of the first note comes after the NoteOn of the next note. That would mean that whatever's listening to the MIDI stream receives two NoteOns for the same note without a NoteOff between them. Are you using some kind of step module or sequencer as the input source? If so, try to avoid the "legato" style of note stream and make sure that the NoteOffs come before the next NoteOn.
Bjørn S
-
jeremysdemo
- Member
- Posts: 36
- Contact:
I don't know how it would be done in Usine, but here is an example of simple code to address such a problem:seamus wrote:http://www.sensomusic.com/forums/upload ... %205.1.pat
i have been trying to build a harmonic rotator similar to the oberheim rotate mode.
This rotator works except there is one problem i cant overcome.
If one of the voices in the rotation receives a note on for the same note it just played the note wont sound.
ex:
V1 c3 d3
v2 e3 e3
V3 g3 f3
the second voice of the second chord wont play because it is receiving the same note.
Can anyone help?
If you take a moment to think about it essentially if you are playing the same note as which is already recorded you don't need or want that note to be recorded again (or triggered more than once) so what you need is to filter out the notes with the same value as what is being played during recording, maybe someone more familiar with Usine can help you out with that.public decimal Value
{
get
{
return _value;
}
set
{
if (_value != value)
{
_value = value;
if (_propertyChanged != null) _propertyChanged(this, new PropertyChangedEventArgs("Value"));
}
}
}
of course in Midi you want to use ( bit #7 clear) in a filter on incoming data, if a incoming note matches a note from the recorded data bit #7 clear will be sent and cancel out unwanted duplicates allowing the processor to move onto the next task.
jerm
-
jeremysdemo
- Member
- Posts: 36
- Contact:
I just took notice Usine uses Pascal.
in that case you would have to create a function (or use and existing one) and declare a variable to be used, from the help page:
I would probably attempt to add the filter in the Box you have labeled "transpose".
I like this patch thank you sharing it, I was unable to duplicate your problem but did notice some unusual behavior as far as how it reacted to notes of various velocity.
A heavy note (vol 90--127) produced the triad, a lighter note (vol 10-50) also produced triad, however notes inbetween produce nothing..
I don't know if that is intentional or not, but can see how it may be advantageous in the right circumstances.
jerm
in that case you would have to create a function (or use and existing one) and declare a variable to be used, from the help page:
the type would be Tmidi I think, geez it's been so long since I've done anything in Pascal, high school I remember bits and pieces....function function_name ( param1 : type ; param2: type ; … ;
paramN : type): type_of_result;
Var variable_name : variable_type; // here you declare the local variables used in your function
Begin
// Here’s the code of your function, assign the result of it to the variable Result
Result := ….;
End;
I would probably attempt to add the filter in the Box you have labeled "transpose".
I like this patch thank you sharing it, I was unable to duplicate your problem but did notice some unusual behavior as far as how it reacted to notes of various velocity.
A heavy note (vol 90--127) produced the triad, a lighter note (vol 10-50) also produced triad, however notes inbetween produce nothing..
I don't know if that is intentional or not, but can see how it may be advantageous in the right circumstances.
jerm
Bjorn wrote:
That would mean that whatever's listening to the MIDI stream receives two NoteOns for the same note without a NoteOff between them. Are you using some kind of step module or sequencer as the input source? If so, try to avoid the "legato" style of note stream and make sure that the NoteOffs come before the next NoteOn.
Yes that's the problem. I am using a wind controller (ewi) so unfortunately legato style playing is desired sometimes.
If Jeremy can add the code somehow I would be grateful but unfortunately code and pascal is beyond my reach.
Thanks for your input guys!
That would mean that whatever's listening to the MIDI stream receives two NoteOns for the same note without a NoteOff between them. Are you using some kind of step module or sequencer as the input source? If so, try to avoid the "legato" style of note stream and make sure that the NoteOffs come before the next NoteOn.
Yes that's the problem. I am using a wind controller (ewi) so unfortunately legato style playing is desired sometimes.
If Jeremy can add the code somehow I would be grateful but unfortunately code and pascal is beyond my reach.
Thanks for your input guys!
-
jeremysdemo
- Member
- Posts: 36
- Contact:
I took a stab at it, inside the code for "transpose> Module" I changed this line:seamus wrote:If one of the voices in the rotation receives a note on for the same note it just played the note wont sound.
ex:
V1 c3 d3
v2 e3 e3
V3 g3 f3
the second voice of the second chord wont play because it is receiving the same note.
Can anyone help?
pKeep := CreateParam('keep input', ptSwitch); SetIsOutput(pKeep, TRUE);
from False to True in all four modules,
Now if I send in a C chord in octave 5 with setting "forecast" these notes comes out:
First press:
G# 4
E 4
B 4
Second:
E 4
G# 4
B 4
Third:
A 4
F# 4
D 4
Forth:
E 4
G# 4
B 4
The C 5, D 5, and E5 never make it through to the midi out port (which had to be created for this patch), although I can hear them at the same time since they are also going to external modules.
jerm
-
jeremysdemo
- Member
- Posts: 36
- Contact:
huh, someone coming to me for code help, that will be the day! lolseamus wrote:If Jeremy can add the code somehow I would be grateful but unfortunately code and pascal is beyond my reach.
the guys that right these Pascal scripts are pro's and grad students, I'm just a musician with no formal training in such matters....
I hope what I did works for you but if so it really was pure chance that it did, changing one parameter on or off is simple sometimes but I wouldn't consider it writing code.
HEy if you are a wind synth player you should check out what ONYX Ashanti is doing with pure data and his own "beatjazz" system if you haven't already, truly revolutionary stuff!
jerm
I will try changing what you changed and see if it helps.
Regarding Onyx Ashanti I saw a Ted presentation on him.
The setup was very cool and futuristic although I wasn't so keen on it musically. Perhaps there are some more clips I can listen to.
Regarding Onyx Ashanti I saw a Ted presentation on him.
The setup was very cool and futuristic although I wasn't so keen on it musically. Perhaps there are some more clips I can listen to.
-
jeremysdemo
- Member
- Posts: 36
- Contact:
cool def let us know it will make my day to know if it helped.seamus wrote:I will try changing what you changed and see if it helps.
from what I gather that command string passes incoming notes to the output, since disabling it with the value of TRUE they no longer go anywhere once they are received, with any luck that will solve a simple double midi note dilemma.
He has come a long way in the last few years in sounding more organic due to better control of data stream, implementation and synthesis.seamus wrote:Regarding Onyx Ashanti I saw a Ted presentation on him.
The setup was very cool and futuristic although I wasn't so keen on it musically. Perhaps there are some more clips I can listen to.
I mostly follow the tech, not so much the music, although I do like the organic direction it is taking.
jerm
it still happens. i can build a similar rotation scheme in Kontakt by transposing samples and round robin use of groups. It is more time consuming and only works on samples but i dont have the dropouts that i have with my Usine rotater. Would sending a midi file from my ewi help? perhaps i just need to articulate more 
http://www.sensomusic.com/forums/upload ... %202.1.pat
What is interesting is that this harmonizer that was made by fleau and that i adapted to send out to 4 different midi channels does not have the problem of my rotator. Perhaps i can add my rotation stuff to this harmonizer.
What is interesting is that this harmonizer that was made by fleau and that i adapted to send out to 4 different midi channels does not have the problem of my rotator. Perhaps i can add my rotation stuff to this harmonizer.
jeremysdemo wrote:I like this patch thank you sharing it, I was unable to duplicate your problem but did notice some unusual behavior as far as how it reacted to notes of various velocity.
A heavy note (vol 90--127) produced the triad, a lighter note (vol 10-50) also produced triad, however notes inbetween produce nothing..
I don't know if that is intentional or not, but can see how it may be advantageous in the right circumstances.
Actually that may be the source of the problem. I didnt notice this before but your right. Where is the volume filtering coming from?
i never intended to have this as a feature.
jerm
oops messed up the qouting.
my reply
Actually that may be the source of the problem. I didnt notice this before but your right. Where is the volume filtering coming from?
i never intended to have this as a feature.
my reply
Actually that may be the source of the problem. I didnt notice this before but your right. Where is the volume filtering coming from?
i never intended to have this as a feature.
now i am not getting the volume filtering issues. the real culprit is the note off/on issues. When moving from chord to chord if the voice has the same note as the last voicing a double note on produces silence. Im not sure how to get around this problem
-
jeremysdemo
- Member
- Posts: 36
- Contact:
exactly!seamus wrote:a double note on produces silence
that was why I changed that part of the code, it seemed to indicate input note~output note, if memory serves me correct in Pascal it takes the sum of integers in this case how many FALSE or TRUE's come out of the equation for something to happen (in this case for incoming midi Data to go thru to the out port, I may have been wrong but...
it worked on my end, then again I am sending all 4 Modules out to my own midi output (instead of the MIdi Bus in the patch) and monitoring on Midi OX along with hardware synth modules.
Watching the data being put out the midi port thru Midi OX is how I know the original chord data (C major) is not being forwarded and the data of the offset dials, -7 -5, -22, -etc. is.
In theory if I set one of the dials to -3 and play a G 5 (3rdnote in a C chord) a E 5 should come out (which is also the second note in that C chord), however I am unable for some reason to change or save the changes to these variables in this patch so no way for me to test that since I don't own Usine all I can do is test presets and whatever they are set at, unless they are -6 -4 or -3 they don't correspond to any of the same notes in the original chord being produced.
jerm
-
jeremysdemo
- Member
- Posts: 36
- Contact:
no chords on an Axiom25 controller/keyboard, the problem you described in the OP had to do with chords.seamus wrote:Are you playing single notes in legato?
jerm
i will send a midi file and see if that helps to demonstrate my issue.
not so easy.... the piano roll doesnt record my aftertouch so i have to record midi in some other app like ableton.
it does record aftertouch. im just having problems sending the piano roll to the rotator for some reason
http://www.sensomusic.com/forums/upload ... 20roll.pat
load up this piano roll and send it to the rotator. select the patch 1st rotate and hit the reset button. It should start playing from just before bar 3 in the piano roll. if you reset the rotator before anything is played it should give an example of the double notes on producing muted notes in voices 3 and 4.
load up this piano roll and send it to the rotator. select the patch 1st rotate and hit the reset button. It should start playing from just before bar 3 in the piano roll. if you reset the rotator before anything is played it should give an example of the double notes on producing muted notes in voices 3 and 4.
-
jeremysdemo
- Member
- Posts: 36
- Contact:
an couple of things I noticed today that I did not yesterday.
I cannot see how many nobs or rotators as you call them are in the patch, only 3 of them are visible at the size of the GUI in my USine.
Originally I only knew of 4 of them, the fourth one is out of vision off to the left but I knew it was there since I found the octave module in the layout.
Today, I find a FIFTH transpose module inside USINE, I now connected that to the MIDI out port that needs to be created in the patch so we are going to see different results as far as MIDI OUTPUT goes.
when I play your piano roll (connected to MIDI IN of transpose modules) using FOrecast preset queued up to 4th (so it will trigger 1st)I get this from MIDI OX output port monitor.
FIrst NOTe (F 6) in sequence produces:
A 3
Bb 4
F 5
G 3
G 3
Second nOTe (D6) in sequence, unable Rotator note rotating any more....it's not cycling through the steps from notes in the piano roll as it does from notes coming in MIDI IN...have to try and set that up earlier in the stream...
I see you have some sort of hard wiring changes in the Rotator, for example when I press D5 it goes from patch 1 to 15.
it's actually really hard for me to test this patch further since I don't own Usine I cannot save any changes so before I can even use it each time I have to make a MIDI OUT port and connect all the transposers to it, then I have to change that line of Pascal to TRUE so the incoming midi data does not get forwarded to output, THEN add in your piano roll and connect that to all 5 transposers....
sorry could not be of more help, still it is a learning process to be able to look at these patches and tinker with them.
jerm
I cannot see how many nobs or rotators as you call them are in the patch, only 3 of them are visible at the size of the GUI in my USine.
Originally I only knew of 4 of them, the fourth one is out of vision off to the left but I knew it was there since I found the octave module in the layout.
Today, I find a FIFTH transpose module inside USINE, I now connected that to the MIDI out port that needs to be created in the patch so we are going to see different results as far as MIDI OUTPUT goes.
when I play your piano roll (connected to MIDI IN of transpose modules) using FOrecast preset queued up to 4th (so it will trigger 1st)I get this from MIDI OX output port monitor.
FIrst NOTe (F 6) in sequence produces:
A 3
Bb 4
F 5
G 3
G 3
Second nOTe (D6) in sequence, unable Rotator note rotating any more....it's not cycling through the steps from notes in the piano roll as it does from notes coming in MIDI IN...have to try and set that up earlier in the stream...
I see you have some sort of hard wiring changes in the Rotator, for example when I press D5 it goes from patch 1 to 15.
it's actually really hard for me to test this patch further since I don't own Usine I cannot save any changes so before I can even use it each time I have to make a MIDI OUT port and connect all the transposers to it, then I have to change that line of Pascal to TRUE so the incoming midi data does not get forwarded to output, THEN add in your piano roll and connect that to all 5 transposers....
sorry could not be of more help, still it is a learning process to be able to look at these patches and tinker with them.
jerm
yes i think not owning usine makes it difficult. i appreciate your effort alot. you seem to be very knowledgable with computers and music. let me know if you get usine. i recommend it. it is a great program unlike anything else
-
jeremysdemo
- Member
- Posts: 36
- Contact:
I'm assuming you are trying to make something like this:
EWi harmonic expander
if the programs I was trying to make were already made so affordable I probably wouldn't be spending my time with USINE and MAX right now.
in any event this Xpander of John's would be a good program to dissect and see what challenges he overcame in the last two years.
I use a similar one Xposer from Zyklus IMPROVisor which is free, there you record your sequence and then step it into different keys with single notes from the instrument.
best of luck,
jerm
EWi harmonic expander
if the programs I was trying to make were already made so affordable I probably wouldn't be spending my time with USINE and MAX right now.
in any event this Xpander of John's would be a good program to dissect and see what challenges he overcame in the last two years.
I use a similar one Xposer from Zyklus IMPROVisor which is free, there you record your sequence and then step it into different keys with single notes from the instrument.
best of luck,
jerm
yes that guy has implemented the oberheim expander technique. I shall have to see if i can dissect his if he was able to overcome the repeated notes issue we have been talking about.
i would also love to commission a Usine genius. Any takers.? Name your price patch programming geniuses!
i would also love to commission a Usine genius. Any takers.? Name your price patch programming geniuses!
-
jeremysdemo
- Member
- Posts: 36
- Contact:
I guess your time isn't worth the $24 dollars that guy is asking for his program?
how much are you thinking to pay someone to make a EWi expander type USine program?
is there something wrong with his affordable program you are not wanting to use it?
I just don't get it. :/
jerm
how much are you thinking to pay someone to make a EWi expander type USine program?
is there something wrong with his affordable program you are not wanting to use it?
I just don't get it. :/
jerm
oh no i will check his program out! It is worth 24 $. I dont know logic so well... only a cursory level of familiarity with the environment window but i will probably pick up some tips. I am not going to use logic ultimately because i have been seduced by Usine and all the things it can do.
-
jeremysdemo
- Member
- Posts: 36
- Contact:
my mistake I did not notice it was for "logic" only....it does make sense you would want one as VST for use in any DAW
try this one out,
Harmony Rotator Beta
jerm
try this one out,
Harmony Rotator Beta
jerm
im flying back from POland today. gonna check this out. Fantastic thanks for your interest and help!
im happy to say that the problems I was encountering before have now been solved. What i needed was a a simple "pass if changed" module so that a repeated "note on" of the same note does not cause a dropout. Usine rocks!
Who is online
Users browsing this forum: No registered users and 15 guests
