Thierry Douez MIDI for Win 7 64 bit

Got a LiveCode personal license? Are you a beginner, hobbyist or educator that's new to LiveCode? This forum is the place to go for help getting started. Welcome!

Moderators: FourthWorld, heatherlaine, Klaus, kevinmiller

Post Reply
erikhans08
Posts: 87
Joined: Wed Mar 25, 2015 2:01 am

Thierry Douez MIDI for Win 7 64 bit

Post by erikhans08 » Mon Sep 21, 2015 6:51 am

I couldn't find an email address for le Douez, hence this post.
Thierry's http://sunny-tdz.com/about#contact site says: "You need a LiveCode business edition!" I have Community and only want to write for Community users. My dance app needs music. I can use Band-In-A-Box Styles to create songs that can be saved in MIDI format.

Good old Shakobox downloads and opens In Windows LC. Vive SecouerLaBoîte! The demo download sunnYmidi demo v2.0 yields a .dmg file which I can't open.

I would like to buy ANYthing relating to MIDI if it will work for Windows 7 64 bit and Community. I need to co-ordinate exactly with animation commands like:"send" "mouseMove" "mouseStillDown" "Pending*" etc. NOT a movie background sound track. Any additional workaround ideas would be much appreciated.

Erik Hansen

PaulDaMacMan
Posts: 683
Joined: Wed Apr 24, 2013 4:53 pm
Contact:

Re: Thierry Douez MIDI for Win 7 64 bit

Post by PaulDaMacMan » Wed Oct 07, 2015 9:38 pm

::Sigh:: - this subject seems to come up time and time again.

Yes sunnyMIDI is Mac OS X and Commercial Edition LC Only (and I think it relies on QuickTime MIDI Synth which Apple no longer supports?)

However...
Here is something you may find interesting for generating music from LiveCode:
http://kenjikojima.com/livecode/LCMIDI/
and the original
http://udimac.web.fc2.com/stack/tool.html
The core of it is a LC library called makeSMF / PMD that can create Standard MIDI files from ABC-style notation (similar to HyperCard's old play command back in the day). You then playback the midi file with whatever MIDI playback mechanism your OS has by passing it to LC's play vc / or play ac or mobile equivalent of those commands. I've used it with QuickTime on Mac OS X & Windows 7, as well as on Android's built in MIDI synth, but your system/OS has to already have the ability to playback MIDI files, whatever that mechanism may be. There's use to be another part it for parsing of MIDI files that unfortunately seems broken, but makeSMF's midi-file creation is still pretty good and speedy for a stack that's over a decade old! Once the MIDI file is created playing it back is virtually instant.

Also...
I've also been using FluidSynth via LC's shell() command (you can use it with sockets too) which is software synth that is available for many platforms, it excepts MIDI commands directly, is it's own built-in synthesizer/sample player that can load whole sound bank files called Soundfonts, it can be driven from real music instruments and relay and modify-on the fly instrument input, and a do lot more.
I'm hoping that in the near future myself and/or others will wrap the library libFluidSynth with the new LiveCode Builder language / open-language / Foreign code interface that will allow it to be accessed directly from LiveCode script on all platforms and ultimately we'll all will finally have some Musical scripting in a great X-talk language!

And lastly...
I've written my own MIDI file writing code from scratch that takes input strings that are a bit less human readable. It also can parse standard MIDI files and Apple's CAF files that contain MIDI data into a human readable format for examination. I also created a custom sideways piano-roll style data-grid for use with it.

I plan to release some LC musical experiments soon.
My GitHub Repos: https://github.com/PaulMcClernan/
Related YouTube Videos: PlayList

Thierry
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 875
Joined: Wed Nov 22, 2006 3:42 pm

Re: Thierry Douez MIDI for Win 7 64 bit

Post by Thierry » Thu Oct 08, 2015 7:58 am

Yes sunnyMIDI is Mac OS X and Commercial Edition LC Only
true, even if somehow I make it to work on iOS too for private development.
(and I think it relies on QuickTime MIDI Synth which Apple no longer supports?)
You could read in the docs:
A note for QuickTime users

SunnYmidi has nothing to do with QuickTime!
One question which keeps coming from LiveCode coders is how can I play music wthout any latency. SunnyMidi is the answer today! For technology lovers, SunnYmidi is built on top of the Apple CoreAudio Framework and uses by default the internal DSL synth available on all MacIntosh computers.
....
and the keyword here is : "with no latency"

Kind regards,

Thierry
Last edited by Thierry on Thu Nov 17, 2022 12:32 pm, edited 1 time in total.
!
SUNNY-TDZ.COM doesn't belong to me since 2021.
To contact me, use the Private messages. Merci.
!

PaulDaMacMan
Posts: 683
Joined: Wed Apr 24, 2013 4:53 pm
Contact:

Re: Thierry Douez MIDI for Win 7 64 bit

Post by PaulDaMacMan » Thu Oct 08, 2015 4:35 pm

@Thierry
I stand corrected on my QuickTIme question. People probably assume that because the demo looks like it's using the Roland DLS bank that came with QuickTime 2.5 to 7.x. I guess the DLS synth now is based on the EXS acquired from Apple's purchase of EMagic rather than the QT Music Instruments plugin?

Anyway, I hope I don't come-off like I'm knocking your extension. It does seem to be the closest thing that exists for LiveCode to the great Ear-Level Training MIDI I/O Xternal that was around in ancient times (I used to use it for sending & recieving SysEx from 1980's analog synth). It's just that I'm a perpetually cash strapped hobbyist coder / musician with an interest in algorithmic composition, a love for X-talk scripting language, and nostalgia for pitch-shifted boing-sample piano stacks. The key words here are "perpetually cash strapped".

As for latency, yes, it can be tough to work around when creating MIDI files on the fly and then passing them (particularly with longer sequences). I think anyone trying to process MIDI data from LiveCode script will have some issues to deal with. FluidSynth can function as a real-time instrument including CoreMIDI input/output with fairly low-latency on decent hardware. However passing messages via LC's open process / interactive shell functions seems to introduce a lot of latency (vs. using it directly from command line or from input from an App like VirtualMIDIPianoKeyboard), This is something I'm hoping can be improved by using LC8's new LCB with Foreign Code Library. Hell, I would even try to scrape up some cash to contribute if someone were to have a funding campaign to code a project like this because I think this all may be a little out of my league coding-wise.

@erikhans08
Using FluidSynth purely for MIDI play back works perfectly fine and it should work on Windows 64bit too. If your system / OS already can playback MIDI (as is the case on Android) you really only need to pass a filename.mid file to a play command as if it were any other audio or video format your system/OS supports playing.
My GitHub Repos: https://github.com/PaulMcClernan/
Related YouTube Videos: PlayList

erikhans08
Posts: 87
Joined: Wed Mar 25, 2015 2:01 am

Re: Thierry Douez MIDI for Win 7 64 bit

Post by erikhans08 » Sun Mar 06, 2016 3:42 am

Thanks for the information.
Right now my player controls don't work so I haven't gotten to the MIDI.

PaulDaMacMan
Posts: 683
Joined: Wed Apr 24, 2013 4:53 pm
Contact:

Re: Thierry Douez MIDI for Win 7 64 bit

Post by PaulDaMacMan » Fri May 13, 2016 2:26 am

Since this thread, I've begun using the browserWidget with JavaScript to pass MIDI messages to Web-MIDI API (which can pass to Apple's CoreMIDI and is supposed to become a W3C Web-Standard ). The browserWidget is back to using WebKit (vs. Chomium/CEF) on MacOS X, so this requires the Jazz MIDI webbrowser-plugin to be installed in order to function.
My GitHub Repos: https://github.com/PaulMcClernan/
Related YouTube Videos: PlayList

Post Reply