Hello all,
I wonder if there is a way to create a Mircotuner for MIDI Synths which do not base on Pitchbends, so that you can play it polyphonic.
Any Idea how we could solve this ?
Cheers
Marc
Hello all,
I wonder if there is a way to create a Mircotuner for MIDI Synths which do not base on Pitchbends, so that you can play it polyphonic.
Any Idea how we could solve this ?
Cheers
Marc
You mean MicroTonal tuning? As in some other tuning besides the 12 tone scale?
I don’t think that microtuning is supported with MIDI.. I could be wrong?
Regards
Mike
I just found this company, looks interesting
http://www.h-pi.com/index.html
Strange you post this, my band is working out a long piece with a several minute microtonal part in the middle right now. We are planning on doing this with samples, splitting the octave into multisamples. It seemed like less hassle to do the necessary math in splitting it up, and just creating the samples since we already use lots of sampling live.
My bandmate found some kind of program that allowed you to make a standard midi keyboard to play microtonal, it may be the pitchbend flavor. We haven’t used it yet, so the pitchbend style is monophonic? I wonder what those H-PI products are like, they look interesting.
There is a midi standard for tuning, but very few synths support it.
(Perhaps a midibox synth could be adapted?)
Most companies have stuck to their own methods of tuning using various methods of preset 12 tone variations, to complete keyrange reprogramming. A little info on the general here:
http://www.midi.org/techspecs/midituning.php
There are many software synthesisers that are very easy to do microtonal tunings for. The software called Scala is very complicated, but it is utterly massive in this arena so worth investigating:
http://www.huygens-fokker.org/scala/
I started to code software (for PIC) to convert keystrokes into microtones for the Yamaha FB-01, but kind of left that in the dust due to the amount of work after realising I already had both hardware and software synths much more easily programmed and had even written software years ago for the Z1 to do so (doh!).
Of course, you have to figure out that once your musical piece changes key, so the tuning shifts and it starts to become a bit more difficult to do it just-ice…
I just make sure my guitar is out of tune and randomly push and pull the bender these days ![]()
Quick search brought these:
Building a MIDI ‘keyboard’ controller, microtonal
scales definitions of the intervals
Re: Request for comments: chords
Enjoy!
Nutshell: There are only two ways to do this: tuning data as per the spec, if your synth supports it which is rare; or pitchbend with your notes, with the pitchbend depth of the synth being predetermined by the device which adds the pitchbend, and manually set into your synth.
Thank you very much for your replies, and links !
I wonder how these hi-pi guys solve the tuning, I bet via pitchbend?
So you could theoreticly use 3 MIDI channels to play a microtonal chord?
I wonder how these hi-pi guys solve the tuning, I bet via pitchbend?
So you could theoreticly use 3 MIDI channels to play a microtonal chord?
H-Pi products are compatible with the widest range of MIDI equipment on the market; however’ date=’ not all devices are compatible. The easiest way to check is to scan for the words MULTITIMBRAL and PITCH BEND in the user manual of any synth or sampler you want to retune with a TBX1 or Tonal Plexus controller. If pitch bend is supported and the device is multitimbral, then you are in business.
[/quote’]
Yes they use pitchbend with RPNs to determine bend depth.
And you’d need more than one channel for chords, which is why they need multitimbrality.
Hm,
editing sequences afterwards might be a lil bit hard due to all theses data.
That’s why the midi spec includes tuning ![]()
That’s why the midi spec includes tuning
yeh unfortunately not any synth supports this standard, the guys from access even dont knew that there is such a standard…
Some kind of magic box would be cool *lol*
hi ansolas,
some years ago I realized a software based microtuning processor on the Atari ST for the old Yamaha FB 01. This supported something like “note on with friction” which was based on four bytes I think the third byte was microtune or friction which divides a halftone into 128 microtones. I think there might be some other yamaha synths like dx7 and perhaps sy77 that suopport this.
Another possibility is to use something like dynamic midi channel swapping to split the midi events on different midi channels.
clem!
I assume they’re sysex? I’m sure they’re not real MIDI status bytes because they’re all > 0x80 ![]()
Well, even if Yamaha did it in a strange way, at least they are one synth manufacturer who built in some microtuning support… or, per-note pitchbend anyway.
Some ideas about making microtuning possible
on nearly every midi instrument with more than 7 voices/parts that can be triggered on different Midi-channels.
If we want to realize this, we must use the Pitchbend on the different Midi-channels. So at first we need to make the Midi-configuration at our sound module for all the eight channels equal.
How to build the program-routine?
At first we need 12 Bytes “MIDI-Note-Finepitch-VALUE1-12†, for the twelve different notes we want to detune, where we can store our finepitch-value from -63 to 64 or 0-127 and we need a place to save the information whether this note is in use at the moment and if on which midi channel this is happening and how much events there are “Number-Of-Notes-Active1-12â€. So we need another 12 Bytes to store this upper 4 Bits=Channel lower ones=Activity. And at least we need 8 stores where we can place the information whether a Midi-Channel is in use or not. This means another Byte where we store this bitwise called “Midi-Active-Channelsâ€.
I´m not firm in programming so we need someone with assembler- know-how to program this but I try to explain my thoughts:
if Midi-Input-Event=Note-ON on channel x
fetch the Finepitch-Value of this note
if Finepitch-Value is still in use
send Midi-Output-Event on the used Channel
encrement Number-Of-Notes-Active
else
find free Midi-Channel
send Finepitch-Value as Pitchbend
set Bit at Midi-Active-Channels
encrement Number-Of-Notes-Active
send Midi-Output-Event on this channel
endif
if Midi-Input-Event=Note-OFF or ON with Velocity=0 on channel x
fetch the Finepitch-Value of this note
fetch the channel
send Midi-Output-Event on the used Channel
decrement Number-Of-Notes-Active
if Number-Of-Note-Active=0
unset Bit at Midi-Active-Channels
endif
endif
other events or controllers must be duplicated or filtered for the different channels eventually there could be timing problems I think
What you’re talking about is a clone of the commercial offering we discussed earlier… don’t worry about ASM, you might as well do this in C I think - and the code would not be too different to your pseudo code ![]()