Go Back   Cockos Incorporated Forums > Other Software Discussion > OSCII-bot forum

Reply
 
Thread Tools Display Modes
Old 09-27-2018, 08:46 AM   #1
Alejandro H.H.
Human being with feelings
 
Alejandro H.H.'s Avatar
 
Join Date: Mar 2018
Posts: 38
Default Converting OSC messages from Iannix´s curve/triggers to retuned midi messages

Hello, is this possible?
to convert OpenSoundControl messages from Iannix´s curve/triggers to retuned midi messages?
here is the deal, im making an immersive music presentation with a special kind of piano i need, id be using pianoteq, they tell me that pianoteq accepts retuning messages *go to single note tuning change in the following link at the bottom of the page.(http://www.somascape.org/midi/tech/spec.html#rusx_ts).
i need for this piano to follow the curve like in the picture attached, for this the curve will trigger each cent/microtone/note as accordingly as the curve passes through... So the direction of the signal would probably be this: iannix OSC message to midi conversion and then instantly to retune the message. thank you, do you think its possible?
Attached Images
File Type: jpg democurve 2.jpg (22.4 KB, 491 views)
Alejandro H.H. is offline   Reply With Quote
Old 09-27-2018, 01:26 PM   #2
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,634
Default

I understand you want a microtuned Piano, each note defined to some +/- cent value before actually adhering to the note-onmessage.

Correct ?

-Michael
mschnell is offline   Reply With Quote
Old 09-27-2018, 03:16 PM   #3
Alejandro H.H.
Human being with feelings
 
Alejandro H.H.'s Avatar
 
Join Date: Mar 2018
Posts: 38
Default

Quote:
Originally Posted by mschnell View Post
I understand you want a microtuned Piano, each note defined to some +/- cent value before actually adhering to the note-onmessage.

Correct ?

-Michael
yes that is correct, i think that is the only way,,, i set up iannix this way:
iannix works on a cartesian plane where each whole number on the Y dimension equals half a tone... C4 is Y=0, C#4 is Y=1, B3 is Y=-1,,, C4 plus 25 cents would be Y=1.25 etc etc
i want to use triggers(OSC discrete attacks) and curves(osc glissandi/continuous movement), iannix works with them
If i place a trigger at Y=9.89 with duration of 4 seconds, that would mean that the note im hearing is an A4 plus 89 cents of 4 seconds, similar with curves, if I place a diagonal curve from C4 to C#4 for example of one second, and if our resolution is of 100 cents per half tone, we would then listen to 100 cents/microtones triggered in a second accordingly as the curve passes through.
for this i think that the osc messages have to be converted to midi first, then retuned on the spot to the according note, is this possible? thank you.
Alejandro H.H. is offline   Reply With Quote
Old 09-27-2018, 09:26 PM   #4
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,634
Default

Why do you want to use OSC ? This is very unusual for controlling an instrument.

On their website they claim that iannix can output as well OSC as Midi.

When using Midi, the task supposedly would be a lot easier, by just doing JSFX programming in Reaper.

-Michael
mschnell is offline   Reply With Quote
Old 09-28-2018, 06:27 AM   #5
Alejandro H.H.
Human being with feelings
 
Alejandro H.H.'s Avatar
 
Join Date: Mar 2018
Posts: 38
Default

well as far as i know, curves only work with OSC, im trying to find where i read that but no luck, maybe im hallucinating or just assumed that curves where for osc, or maybe i just wanted to use osc...
but in the end curves dont output messages, only the cursors do.
can you do this programming with midi? youd be helping me out a lot. we could make a deal or work however you wish.
there is a pitch bend message in the midi section here:https://github.com/buzzinglight/Iann...rfacing-IanniX maybe that is of help
Alejandro.
Alejandro H.H. is offline   Reply With Quote
Old 09-28-2018, 07:24 AM   #6
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,634
Default

As I don't have a iannix, I don't think that I can help with more than a few tips.

-Michael
mschnell is offline   Reply With Quote
Old 09-28-2018, 07:31 AM   #7
Alejandro H.H.
Human being with feelings
 
Alejandro H.H.'s Avatar
 
Join Date: Mar 2018
Posts: 38
Default

iannix is very easy to use, i could teach you or we could work together, or do you know someone who could do the programming?
id go for working together.
Alejandro H.H. is offline   Reply With Quote
Old 09-28-2018, 11:00 AM   #8
Alejandro H.H.
Human being with feelings
 
Alejandro H.H.'s Avatar
 
Join Date: Mar 2018
Posts: 38
Default

?? do you want to work together? i could teach you iannix(free software), only the basics would be needed,,, alternatively there is the developer you told me about last time, do you think he can help?
Alejandro H.H. is offline   Reply With Quote
Old 09-28-2018, 01:55 PM   #9
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,634
Default

In fact I don't think that making Music in this way is something I could be interested in (right now). And the Reaper-related software I do is just for enabling my equipment to work in the way I want it to.

Doing software as a hobby (right now) is out of question, as I happily do software all day in my job.

("Right now": maybe I will retire in a year that might change things ...)

-Michael
mschnell is offline   Reply With Quote
Old 09-28-2018, 03:09 PM   #10
Alejandro H.H.
Human being with feelings
 
Alejandro H.H.'s Avatar
 
Join Date: Mar 2018
Posts: 38
Default

do you know someone who could do this?
Alejandro H.H. is offline   Reply With Quote
Old 09-28-2018, 04:19 PM   #11
Alejandro H.H.
Human being with feelings
 
Alejandro H.H.'s Avatar
 
Join Date: Mar 2018
Posts: 38
Default

i could pay a fixed price of course.
Alejandro H.H. is offline   Reply With Quote
Old 09-28-2018, 10:52 PM   #12
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,634
Default

The amount of work to be done until you get something you are satisfied with seems to be hard to estimate and can be huge. So if you want to hire a consultant you/(s)he need at first to do a paper of exactly defining the task, which (s)he supposedly will not do without payment, and then agree on the terms for the actual job.

-Michael
mschnell is offline   Reply With Quote
Old 09-29-2018, 06:50 AM   #13
Alejandro H.H.
Human being with feelings
 
Alejandro H.H.'s Avatar
 
Join Date: Mar 2018
Posts: 38
Default

ok, ill do that.
Alejandro H.H. is offline   Reply With Quote
Old 09-29-2018, 10:27 AM   #14
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,634
Default

Quote:
Originally Posted by Alejandro H.H. View Post
they tell me that pianoteq accepts retuning messages *go to single note tuning change in the following link at the bottom of the page.(http://www.somascape.org/midi/tech/spec.html#rusx_ts).
I did not find any hint that Pianoteq is able to adhere to the "Somascape Midi Tuning Standard" or to Midi MPE )-> https://www.midi.org/articles-old/mi...expression-mpe ) which to me seems more appropriate for single note modifications (I did not research the differences).

-Michael

Last edited by mschnell; 09-29-2018 at 11:20 AM.
mschnell is offline   Reply With Quote
Old 09-29-2018, 12:13 PM   #15
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,634
Default

here -> https://www.forum-pianoteq.com/viewtopic.php?id=5754 (Message #5) I found:

Quote:


Pianoteq supports only the "realtime tuning" message: http://www.microtonal-synthesis.com/MIDItuning.html . This is the midi message that is supported:

F0 7F id 08 02 tt ll [kk xx yy zz]x(ll) F7

The tuning is applied as an alteration of the current tuning in pianoteq so it is better to select either 'Equal temperament' in Pianoteq , or 'Flat temperament' (the difference between those two is that there is no octave stretching on the flat one).

Here is an example of a MIDI file with such messages: http://www.forum-pianoteq.com/uploads.p … ngtest.mid
Nonetheless, using Pitchbend on MPE to me seems a lot more appropriate for your task, No idea if Pianoteq supports this.

-Michael
mschnell is offline   Reply With Quote
Old 09-30-2018, 09:46 AM   #16
Alejandro H.H.
Human being with feelings
 
Alejandro H.H.'s Avatar
 
Join Date: Mar 2018
Posts: 38
Default

pianoteq supports pitch bending, go to 3.6.1 (2010/05/20) in the change history, it implies that it has it, it also accepts scala files which need pitch bending.
"Fixed issue with multi-channel pitch-bend messages when used for microtuning purposes (with devices such as h-pi )."
(https://www.pianoteq.com/changelog)
I sent an email to the consultant, hope he can answer. everything he needs to know is in that email.
Alejandro H.H. is offline   Reply With Quote
Old 09-30-2018, 10:41 AM   #17
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,634
Default

"multi-channel pitch-bend messages used for microtuning purposes" sounds like exactly what is to be used for your purpose.

(As I have suggested this method) if I have half an hour spare time during the next days I'll try this with the Pianoteq demo version by simply creating a Reaper Midi Item with some Midi notes and pitch bend events.

-Michael
mschnell is offline   Reply With Quote
Old 09-30-2018, 12:59 PM   #18
Alejandro H.H.
Human being with feelings
 
Alejandro H.H.'s Avatar
 
Join Date: Mar 2018
Posts: 38
Default

good luck mschnell, i hope they can be controlled by curve, because placing thousands of triggers instead of a curve will be really unpractical.
curves dont output messages, only cursors and triggers in iannix.
in the simple score attached in email, if you go to the cursor´s messages you can choose to output its messages through midi, and there are several options, i think its possible to control curves through midi, there are options for that.
Alejandro H.H. is offline   Reply With Quote
Old 09-30-2018, 01:11 PM   #19
Alejandro H.H.
Human being with feelings
 
Alejandro H.H.'s Avatar
 
Join Date: Mar 2018
Posts: 38
Default

i set up the cursor to work through midi, and when the cursor touches the curve, ableton live receives midi messages it can use, but no sound, i dont know what to do from here.
Alejandro H.H. is offline   Reply With Quote
Old 09-30-2018, 01:49 PM   #20
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,634
Default

In fact I'll do a test on how to create mictotonal melodies by Pianotec, because I do have some experiences with Midi and virtual Pianos. This is what I understand i one of the corner points of the task you describe.

I don't know anything about "curves", iannix and Ableton. So I can't be of much help (without doing an in depth research).

-Michael

Last edited by mschnell; 09-30-2018 at 09:28 PM.
mschnell is offline   Reply With Quote
Old 09-30-2018, 03:18 PM   #21
Alejandro H.H.
Human being with feelings
 
Alejandro H.H.'s Avatar
 
Join Date: Mar 2018
Posts: 38
Default

i hope i get an answer from the consultant, maybe its really easy to setup the piano the way i intend to, but i wouldnt get there by myself,,, if it could be done easily through reaper id buy it.
Alejandro H.H. is offline   Reply With Quote
Old 09-30-2018, 03:37 PM   #22
Alejandro H.H.
Human being with feelings
 
Alejandro H.H.'s Avatar
 
Join Date: Mar 2018
Posts: 38
Default

i imagine that the pitch bend for the curve would work like this:
each pitch bend would work for a maximum bend of half a tone,,, if i draw a diagonal line of 5 seconds from C4 to F4 the pitch bend would work like this: one pitch bend to take care of all the microtones(1000 per half a tone) from C4 to C#4, another pitch bend from C#4 to D4, another one from D4 to D#4, another pitch bend from D#4 to E, and finally another pitch bend to work all 1000 microtones from E4 to F4. this line would attack 5000 thousand microtones in 5 seconds accordingly as the curve passes through them.
Alejandro H.H. is offline   Reply With Quote
Old 09-30-2018, 09:42 PM   #23
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,634
Default

Using MPE (which is what I understand Pianoteq support by "multi-channel pitch-bend messages used for microtuning purposes") you would set the Pianoteq Midi receive to "any" channel and use the Midi channels for the notes to play in a round robin way so only 16 (or 15 ? ) virtual keys can be held down at the same time.

Each note-on event is preceded by a a pitch bend event in the same channel.

Pitch bend is set to +/- 50 cent (i.e. range 0..16384 -> -1/2 semitone ... + 1/2 semitone)

This results in a very fine resolution of microtuning with just three 3-byte Midi messages per Note: Pitchbend / Note-on / Note-Off. Overhead regarding a "normal" non microtonal Midi stream just 50 %.

-Michael

Last edited by mschnell; 10-01-2018 at 03:34 AM.
mschnell is offline   Reply With Quote
Old 10-01-2018, 03:32 AM   #24
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,634
Default

Here a Reaper project as a proof of concept that with Pianoteq in fact MPE Midi can be used to create mictotonal composing.

-> www.schnellphoto.de/microtonal.rpp

You need to set the Pitchbend range in Pianoteq to -50 / +50. With the demo version this setting is lost when closing and needs to be done again with any start of the project.

Notes are held correctly until the appropriate note-off event is received when new (even very similar) notes are started by note-on on other channels.

Also you can use the hold pedal to hold microtonal notes as if they all had their own strings.

It seems that the Pitchbend in Pianoteq is not perfectly fine. In the example I use 8 steps per semitone (12.5 cent) but there are audible differences in the step size.

have fun !
-Michael
mschnell is offline   Reply With Quote
Old 10-01-2018, 03:41 AM   #25
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,634
Default

Can you record the Midi output of iannix when creating a "curve" ?

Maybe the issue is less difficult than I initially supposed...

-Michael
mschnell is offline   Reply With Quote
Old 10-01-2018, 07:28 AM   #26
Alejandro H.H.
Human being with feelings
 
Alejandro H.H.'s Avatar
 
Join Date: Mar 2018
Posts: 38
Default

im unable to record anything, there isnt any sound, but in fact i get midi messages that can be used when the cursor(the cursor is like a programmable sequence bar) runs through the curve, but i dont know how to use them...
what do you recommend? would i need reaper for this? is it necessary? i think that with Mulab(the main daw i use) i would be fine.
i agree with you, maybe this is a lot easier than expected.
Alejandro H.H. is offline   Reply With Quote
Old 10-01-2018, 07:45 AM   #27
Alejandro H.H.
Human being with feelings
 
Alejandro H.H.'s Avatar
 
Join Date: Mar 2018
Posts: 38
Default

i downloaded the pianoteq demo, when running the curve pianoteq receives continuous midi messages, but no sound. i sent an email to the pianoteq team to see if we can get some help to finally figure this out.

Last edited by Alejandro H.H.; 10-01-2018 at 08:04 AM.
Alejandro H.H. is offline   Reply With Quote
Old 10-01-2018, 08:28 AM   #28
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,634
Default

Quote:
Originally Posted by Alejandro H.H. View Post
im unable to record anything, there isnt any sound,
I was talking about recording the Midi stream. That is easy with Reaper. If Pianoteq does see any Midi, you just need to record that track. Then you should see a Midi item.
Reaper stores the recorded Midi in it's project rpp file. If you post it somewhere I can take a look.

-Michael
mschnell is offline   Reply With Quote
Old 10-01-2018, 08:58 AM   #29
Alejandro H.H.
Human being with feelings
 
Alejandro H.H.'s Avatar
 
Join Date: Mar 2018
Posts: 38
Default

let me download the trial version of reaper, ill send the project to your email... there are several options in iannix though, you could send control change, send note, send bend, send program change... which one do i choose?
Alejandro H.H. is offline   Reply With Quote
Old 10-01-2018, 10:15 AM   #30
Alejandro H.H.
Human being with feelings
 
Alejandro H.H.'s Avatar
 
Join Date: Mar 2018
Posts: 38
Default

Michael! check your email! i got sound out of the curve in reaper, i sent iannix file and reaper file, open both and press play in iannix.... i got to play 12 half tones to the octave only, no microtones,,, supposedly pianoteq accepts scala files: with scala files i could import a 1200 microtone to the octave scale and maybe that could get the curve to play microtones!
Alejandro H.H. is offline   Reply With Quote
Old 10-01-2018, 11:34 AM   #31
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,634
Default

Plain old Midi files of course can't do micrononal materiel. Hence iannix would need to adhere to some specification on how to send such information.
MPE with pitchbend like I proved that PianoTeq does accept is one such specification, which indeed is explicitely covered by the (new) Midi standard.

Another could be "compress semitone in the note events by a factor of 10" or whatever and hence rather "propriety".

Of course there could be lots of other ways to code microtonal material - including the "realtime tuning" by Sysex messages (which is very inefficient for your task, but seemingly also some kind of standard).

So you need to find out what iannix in fact is doing.

Unfortunately in the rpp files you sent me there are no recorded midi data (no Midi item exists in the track) .

-Michael

Last edited by mschnell; 10-01-2018 at 11:44 AM.
mschnell is offline   Reply With Quote
Old 10-01-2018, 11:44 AM   #32
Alejandro H.H.
Human being with feelings
 
Alejandro H.H.'s Avatar
 
Join Date: Mar 2018
Posts: 38
Default

ok i think that iannix is sending when working with pianoteq a maximum of 2 tones in range, so when the curve is at the top its at one note, and at the bottom of the curve 2 tones lower... but when placing triggers and not curves i get the whole 128 in half tones in range, also when working with sine waves and curves i get 128 half tones in range(all of midi),,, but when importing scala file in pianoteq i think that its only reproducing a max of 2 tones because of the lack of keys in the keyboard,,, the virtual keyboard in scala accepts midi and has a keyboard with a range of 10 octaves and 1200 notes per octave,,, in scala i should be listening to the whole range, but im only getting 2 tones max.
ill make a video and show it to you...
Alejandro H.H. is offline   Reply With Quote
Old 10-01-2018, 11:45 AM   #33
Alejandro H.H.
Human being with feelings
 
Alejandro H.H.'s Avatar
 
Join Date: Mar 2018
Posts: 38
Default

ill send another reaper file with a recorded midi file
Alejandro H.H. is offline   Reply With Quote
Old 10-01-2018, 11:50 AM   #34
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,634
Default

Quote:
Originally Posted by Alejandro H.H. View Post
ok i think that iannix is sending when working with pianoteq...
How does iannix know that it works with Pianoteq ?

Quote:
Originally Posted by Alejandro H.H. View Post
... a maximum of 2 tones in range, so when the curve is at the top its at one note, and at the bottom of the curve 2 tones lower...
OK. If you define the "stretch factor" and the "base note" a JSFX could rather easily be done that in relatime converts "stretched microtponal" to "MPE microtonal" material. But of course this would be limited to play at most 128 different frequencies, which is much too small to allow for what I understand you mean by a "curve".

Quote:
Originally Posted by Alejandro H.H. View Post
when importing scala file in pianoteq
I have no knowlege about "scala files". If this is something that in Pianoteq defines the exact tuning of every note, this in fact would be able to define a microtonal Range, but again limited to at most 128 different frequencies, which is much too small to allow for what I understand you mean by a "curve".

Quote:
Originally Posted by Alejandro H.H. View Post
ill make a video and show it to you...
It does not make much sense to make a video of something that I already know will not work.

-Michael

Last edited by mschnell; 10-01-2018 at 11:58 AM.
mschnell is offline   Reply With Quote
Old 10-01-2018, 12:03 PM   #35
Alejandro H.H.
Human being with feelings
 
Alejandro H.H.'s Avatar
 
Join Date: Mar 2018
Posts: 38
Default

ok i sent you an updated reaper file with the recorder track, according to the piano roll it recorded 128 half tones from top to bottom, but im not hearing it all, just like 2 tones tops.
Alejandro H.H. is offline   Reply With Quote
Old 10-01-2018, 12:08 PM   #36
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,634
Default

Yep.

This is just a sequence of semitones without any additional information (but nicely increasing velocity), Of course it nicely is played by Pianoteq (without scale file). Only the top and bottom eight is mute because it's outside the range of a piano.

If this is supposed to represent a microtonal "composition" additional information - such as stretch factor and base note - would be necessary to interpret it.

But of course limited to just 128 different frequencies, which I don't suppose is what you are trying to accomplish.



Have you via Pianoteq been able to play back the mictotonal "composition" I sent you ?

-Michael

Last edited by mschnell; 10-01-2018 at 12:14 PM.
mschnell is offline   Reply With Quote
Old 10-01-2018, 12:14 PM   #37
Alejandro H.H.
Human being with feelings
 
Alejandro H.H.'s Avatar
 
Join Date: Mar 2018
Posts: 38
Default

if you want, in tuning in the pianoteq window, go to advanced tuning, then at the top click on temperament, and at the bottom go to scala file, and then "load scala file", so if you want to see load the scala file that i sent to your email.

i think pianoteq is set to a default of 100 cents per half tone,,, so yeah, if i draw a diagonal curve/line from C4 to F4 of 5 seconds, in 5 seconds i should be able to hear 500 microtones attacked as the curve passes through. but not 500 microtones at the same time, but "melodically"
Alejandro H.H. is offline   Reply With Quote
Old 10-01-2018, 12:15 PM   #38
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,634
Default

Quote:
Originally Posted by Alejandro H.H. View Post
if you want ...
As said, I don't want, as I understand that just 128 different frequencies is not appropriate for the task in question.

-Michael
mschnell is offline   Reply With Quote
Old 10-01-2018, 12:20 PM   #39
Alejandro H.H.
Human being with feelings
 
Alejandro H.H.'s Avatar
 
Join Date: Mar 2018
Posts: 38
Default

ok i listened to the reaper project you sent, what about it? i could do that with scala... and no 128 separate notes will not be enough,,, if the steinway model d has 105 notes, id need 10,500 microtones in total,,, supposing we have a resolution of 100 cents per half tone.
Alejandro H.H. is offline   Reply With Quote
Old 10-01-2018, 12:29 PM   #40
Alejandro H.H.
Human being with feelings
 
Alejandro H.H.'s Avatar
 
Join Date: Mar 2018
Posts: 38
Default

Quote:
Originally Posted by mschnell View Post
As said, I don't want, as I understand that just 128 different frequencies is not appropriate for the task in question.

-Michael
when you say 128 different frequencies are you talking melodically or polyphonically, i cant seem to understand you.
Alejandro H.H. is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 09:12 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.