fluid-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [fluid-dev] Recent discussions on sysex commands and the MIDI Tuning


From: David Bellows
Subject: Re: [fluid-dev] Recent discussions on sysex commands and the MIDI Tuning Standard
Date: Wed, 17 Aug 2016 08:22:19 -0700

Hey Marcus!

Actually that MIDI note shouldn't really matter as it's the sysex
command that contains the pitch information for the note that's being
re-assigned (1 in this case) to what it's supposed to sound like (60 +
2048 pitch bend, for example).

In Timidity this plays just fine but the resulting MIDI file does not
play in FluidSynth. However(!) what I just noticed is that the
resulting flac file from Fluidsynth *does* play though it plays the
wrong notes.

Give me some more time to experiment with this. I don't think I had
ever bothered having FS render an audio file before since I couldn't
get the MIDI file to play but apparently something interesting is
going on there. I'm going to try several other strategies for getting
FS to play the correct notes.

Dave

On Wed, Aug 17, 2016 at 4:39 AM, Marcus Weseloh <address@hidden> wrote:
> Hello David,
>
> I got triggered by your recent question about different tunings in
> FluidSynth, as I will need different tunings as well. I found this old
> posting of yours, so you seem to know about MTS and have tried to use
> it. I had a look at your example file and am not surprised that it
> doesn't gerenate anything useful. When dumping the file and looking at
> the containted events, it seems like you are playing and chaning
> tunings on MIDI key 01. That is very low indeed! Even if you could
> hear the sound at all from your speakers, frequency changes at that
> low tone range need to be very large for the human ear to pick up.
> Maybe you could try again with something closer to "middle c" (key
> 60). Let me know how you get on :-)
>
> Here's the dump of your file:
>
> ---------------------------------------------------------------------------
> File: /scratch/Piano_Standard.midi
> ---------------------------------------------------------------------------
> Length: 9167 ticks
> Duration: 9167000 microseconds
> ---------------------------------------------------------------------------
> DivisionType: PPQ
> Resolution: 1000 ticks per beat
> ---------------------------------------------------------------------------
> Track 0:
> -----------------------
> tick 0: Set Tempo: 60.0 bpm
> tick 0: [C0 00] channel 1: program change 0
> tick 0: Sysex message: F0 7F 7F 08 02 00 01 01 1E 7A 7F 7F
> tick 0: [C0 00] channel 1: program change 0
> tick 0: [C0 00] channel 1: program change 0
> tick 0: [C0 00] channel 1: program change 0
> tick 0: [C0 00] channel 1: program change 0
> tick 0: [C0 00] channel 1: program change 0
> tick 0: [C0 00] channel 1: program change 0
> tick 0: [C0 00] channel 1: program change 0
> tick 0: [C0 00] channel 1: program change 0
> tick 0: [C0 00] channel 1: program change 0
> tick 0: [C0 00] channel 1: program change 0
> tick 0: [C0 00] channel 1: program change 0
> tick 0: [C0 00] channel 1: program change 0
> tick 0: [C0 00] channel 1: program change 0
> tick 0: [C0 00] channel 1: program change 0
> tick 0: [C0 00] channel 1: program change 0
> tick 0: [C0 00] channel 1: program change 0
> tick 0: [C0 00] channel 1: program change 0
> tick 0: [C0 00] channel 1: program change 0
> tick 0: [C0 00] channel 1: program change 0
> tick 0: [C0 00] channel 1: program change 0
> tick 0: [C0 00] channel 1: program change 0
> tick 0: [C0 00] channel 1: program change 0
> tick 0: [90 01 50] channel 1: note On C#-1 velocity: 80
> tick 0: Set Tempo: 60.0 bpm
> tick 0: [C0 00] channel 1: program change 0
> tick 167: [80 01 50] channel 1: note Off C#-1 velocity: 80
> tick 167: Sysex message: F0 7F 7F 08 02 00 01 01 28 02 40 7F
> tick 167: [90 01 36] channel 1: note On C#-1 velocity: 54
> tick 500: [80 01 36] channel 1: note Off C#-1 velocity: 54
> tick 500: Sysex message: F0 7F 7F 08 02 00 01 01 64 02 40 7F
> tick 500: [90 01 6A] channel 1: note On C#-1 velocity: 106
> tick 833: [80 01 6A] channel 1: note Off C#-1 velocity: 106
> tick 833: Sysex message: F0 7F 7F 08 02 00 01 01 58 02 40 7F
> tick 833: [90 01 50] channel 1: note On C#-1 velocity: 80
> tick 1166: [80 01 50] channel 1: note Off C#-1 velocity: 80
> tick 1167: Sysex message: F0 7F 7F 08 02 00 01 01 1C 75 7F 7F
> tick 1167: [90 01 6A] channel 1: note On C#-1 velocity: 106
> tick 1833: Sysex message: F0 7F 7F 08 02 00 01 01 58 75 7F 7F
> tick 1833: [90 01 6A] channel 1: note On C#-1 velocity: 106
> tick 1834: [80 01 6A] channel 1: note Off C#-1 velocity: 106
> tick 2166: [80 01 6A] channel 1: note Off C#-1 velocity: 106
> tick 2167: Sysex message: F0 7F 7F 08 02 00 01 01 58 75 7F 7F
> tick 2167: [90 01 50] channel 1: note On C#-1 velocity: 80
> tick 2333: Sysex message: F0 7F 7F 08 02 00 01 01 15 00 00 7F
> tick 2333: [90 01 50] channel 1: note On C#-1 velocity: 80
> tick 2334: [80 01 50] channel 1: note Off C#-1 velocity: 80
> tick 2500: [80 01 50] channel 1: note Off C#-1 velocity: 80
> tick 2500: Sysex message: F0 7F 7F 08 02 00 01 01 23 78 3F 7F
> tick 2500: [90 01 50] channel 1: note On C#-1 velocity: 80
> tick 3167: [80 01 50] channel 1: note Off C#-1 velocity: 80
> tick 3167: Sysex message: F0 7F 7F 08 02 00 01 01 64 02 40 7F
> tick 3167: [90 01 50] channel 1: note On C#-1 velocity: 80
> tick 3833: Sysex message: F0 7F 7F 08 02 00 01 01 25 7D 40 7F
> tick 3833: [90 01 36] channel 1: note On C#-1 velocity: 54
> tick 3834: [80 01 50] channel 1: note Off C#-1 velocity: 80
> tick 4166: [80 01 36] channel 1: note Off C#-1 velocity: 54
> tick 4167: Sysex message: F0 7F 7F 08 02 00 01 01 47 05 01 7F
> tick 4167: [90 01 36] channel 1: note On C#-1 velocity: 54
> tick 4500: [80 01 36] channel 1: note Off C#-1 velocity: 54
> tick 4500: Sysex message: F0 7F 7F 08 02 00 01 01 66 7A 7F 7F
> tick 4500: [90 01 6A] channel 1: note On C#-1 velocity: 106
> tick 4667: [80 01 6A] channel 1: note Off C#-1 velocity: 106
> tick 4667: Sysex message: F0 7F 7F 08 02 00 01 01 1C 02 40 7F
> tick 4667: [90 01 6A] channel 1: note On C#-1 velocity: 106
> tick 5000: [80 01 6A] channel 1: note Off C#-1 velocity: 106
> tick 5000: Sysex message: F0 7F 7F 08 02 00 01 01 1C 02 40 7F
> tick 5000: [90 01 50] channel 1: note On C#-1 velocity: 80
> tick 5333: [80 01 50] channel 1: note Off C#-1 velocity: 80
> tick 5333: Sysex message: F0 7F 7F 08 02 00 01 01 28 75 7F 7F
> tick 5333: [90 01 6A] channel 1: note On C#-1 velocity: 106
> tick 5666: [80 01 6A] channel 1: note Off C#-1 velocity: 106
> tick 5667: Sysex message: F0 7F 7F 08 02 00 01 01 31 7D 40 7F
> tick 5667: [90 01 50] channel 1: note On C#-1 velocity: 80
> tick 6000: [80 01 50] channel 1: note Off C#-1 velocity: 80
> tick 6000: Sysex message: F0 7F 7F 08 02 00 01 01 2D 00 00 7F
> tick 6000: [90 01 36] channel 1: note On C#-1 velocity: 54
> tick 6333: [80 01 36] channel 1: note Off C#-1 velocity: 54
> tick 6333: Sysex message: F0 7F 7F 08 02 00 01 01 4E 7A 7F 7F
> tick 6333: [90 01 6A] channel 1: note On C#-1 velocity: 106
> tick 6666: [80 01 6A] channel 1: note Off C#-1 velocity: 106
> tick 6667: Sysex message: F0 7F 7F 08 02 00 01 01 17 78 3F 7F
> tick 6667: [90 01 50] channel 1: note On C#-1 velocity: 80
> tick 6833: Sysex message: F0 7F 7F 08 02 00 01 01 23 78 3F 7F
> tick 6833: [90 01 50] channel 1: note On C#-1 velocity: 80
> tick 6834: [80 01 50] channel 1: note Off C#-1 velocity: 80
> tick 7166: [80 01 50] channel 1: note Off C#-1 velocity: 80
> tick 7167: Sysex message: F0 7F 7F 08 02 00 01 01 1E 7A 7F 7F
> tick 7167: [90 01 6A] channel 1: note On C#-1 velocity: 106
> tick 7833: Sysex message: F0 7F 7F 08 02 00 01 01 15 00 00 7F
> tick 7833: [90 01 6A] channel 1: note On C#-1 velocity: 106
> tick 7834: [80 01 6A] channel 1: note Off C#-1 velocity: 106
> tick 8500: [80 01 6A] channel 1: note Off C#-1 velocity: 106
> tick 8500: Sysex message: F0 7F 7F 08 02 00 01 01 25 7D 40 7F
> tick 8500: [90 01 50] channel 1: note On C#-1 velocity: 80
> tick 9167: [80 01 50] channel 1: note Off C#-1 velocity: 80
> tick 9167: End of Track
> ---------------------------------------------------------------------------
>
> 2016-07-10 19:33 GMT+02:00 David Bellows <address@hidden>:
>>> FluidSynth is supposed to support MTS.  I have never used it myself though. 
>>>  If you are having troubles using this, it may be a bug.  An example file 
>>> would be helpful for testing purposes.
>>
>> Cool! I've attached a MIDI file generated by the Lua library at:
>> http://www.pjb.com.au/comp/lua/MIDI.html.
>> It is random piano notes using Pythagorean tuning. It plays just fine
>> in timidity but I can't get it to play in fluidsynth. I am able to get
>> conventional MIDI files to play in fluidsynth. The command I'm using
>> is:
>> fluidsynth -a alsa -m alsa_seq -l -i
>> /home/dave/soundfonts/campbellspianobeta2.sf2 Piano_Standard.midi
>>
>>
>>
>> On Sun, Jul 10, 2016 at 7:46 AM, Element Green
>> <address@hidden> wrote:
>>> Hello David
>>>
>>> FluidSynth is supposed to support MTS.  I have never used it myself though.
>>> If you are having troubles using this, it may be a bug.  An example file
>>> would be helpful for testing purposes.
>>>
>>> Cheers.
>>>
>>> Element
>>>
>>> On Sun, Jul 10, 2016 at 7:57 AM, David Bellows <address@hidden>
>>> wrote:
>>>>
>>>> First off, I really do not understand MIDI to a surprisingly alarming
>>>> degree, so forgive me if none of this really connects.
>>>>
>>>> I'm working on some software that generates music using any tuning
>>>> imaginable. The software generates a MIDI file that uses the MIDI
>>>> Tuning Standard to basically (when seen from a high level description)
>>>> send specific audio frequencies with each note (that's not really
>>>> what's happening but that's kind of what it looks like) using various
>>>> sysex commands.
>>>>
>>>> Right now I'm using Timidity to play those MIDI files and convert them
>>>> to various audio files. I've been told that switching to FluidSynth
>>>> will make things easier/better but for now I can't do this because FS
>>>> doesn't seem able to playback those MIDI files my software generates
>>>> using the MTS.
>>>>
>>>> Is there any plan to support the MTS in FluidSynth or is it something
>>>> that is forever tied directly to a specific "manufacturer" and
>>>> Timidity just took it upon itself to create meanings for these
>>>> specific sysex commands?
>>>>
>>>> Thanks everyone!
>>>> Dave
>>>>
>>>> _______________________________________________
>>>> fluid-dev mailing list
>>>> address@hidden
>>>> https://lists.nongnu.org/mailman/listinfo/fluid-dev
>>>
>>>
>>>
>>> _______________________________________________
>>> fluid-dev mailing list
>>> address@hidden
>>> https://lists.nongnu.org/mailman/listinfo/fluid-dev
>>>
>>
>> _______________________________________________
>> fluid-dev mailing list
>> address@hidden
>> https://lists.nongnu.org/mailman/listinfo/fluid-dev
>>
>
> _______________________________________________
> fluid-dev mailing list
> address@hidden
> https://lists.nongnu.org/mailman/listinfo/fluid-dev



reply via email to

[Prev in Thread] Current Thread [Next in Thread]