TK. Posted May 18, 2009 Report Share Posted May 18, 2009 Only one word: tight!Thanks to USB!!! :)Following impressive example shows, how fast MIDI events can be sent via USB interface in comparison to UART based MIDI with and without running status optimisation:So, the thin red bar at the left side are 128 Note On and 128 Note Off events sent via the STM32 internal USB interface.The transfer of 256 MIDI events takes 1.9 mSThe second bar in the middle shows 128 Note On and 128 Note Off events with running status optimisation (highest throughput by ommiting the status byte - works only if Note events are sent over the same MIDI channel)The transfer takes ca. 164 mSThe third bar at the right side shows the common UART based MIDI timing without running status optimisation.The transfer takes ca. 245 mSThis test shows, that the usage of an integrated USB peripheral is the perfect solution for controlling software synthesizers, especially drum synths or percussive sounds which should be played synchronously. :)Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
QBAS Posted May 19, 2009 Report Share Posted May 19, 2009 Impressive! :o Quote Link to comment Share on other sites More sharing options...
ultra Posted May 20, 2009 Report Share Posted May 20, 2009 awesome :) Quote Link to comment Share on other sites More sharing options...
nILS Posted May 21, 2009 Report Share Posted May 21, 2009 neato :)mmm software synthesizers *nudge nudge* Quote Link to comment Share on other sites More sharing options...
Wilba Posted May 21, 2009 Report Share Posted May 21, 2009 Sweet!Can the same performance work the other way? i.e. software sequencers controlling (STM32-based) hardware synths via a virtual MIDI interface across USB? Quote Link to comment Share on other sites More sharing options...
nILS Posted May 21, 2009 Report Share Posted May 21, 2009 As far as I can tell, yes. (Software sequencer controlling and stm32 based software synth). Quote Link to comment Share on other sites More sharing options...
TK. Posted May 21, 2009 Author Report Share Posted May 21, 2009 Yes, MIDI IN should be superfast as well. :)Here some impressions from a similar test, this time MIDI events are sent over ethernet by using the OSC protocol. At the Mac side I'm using an OSC->MIDI proxy, so that Note On/Offs can be recorded with Logic Audio.First bar: 256 MIDI events via USB-MIDI for comparison (ca. 2 mS) Second bar: 256 MIDI events sent with 256 separate OSC datagrams (ca. 46 mS) Third bar: 256 MIDI events sent in 32 OSC bundels (ca. 11 mS) The STM32 was extremely busy while sending OSC messages. Timestamps are not used - they could help to trigger events synchronously, but they would also lead to a higher latency.The OSC Proxy was busy as well, it consumed ca. 10% CPU while processing the packages - bad if the same computer is used to play virtual instruments.This article gets a FAQMARKER, so that I can quickly find it if somebody should argue again, that OSC is faster than MIDI ;)Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
ultra Posted May 23, 2009 Report Share Posted May 23, 2009 awesome. i had some problems with osc and ethernet on the liveapi side of things for my midibox live project, so i made a protocol over midi instead. i guess midi is the way to go anyway. :) Quote Link to comment Share on other sites More sharing options...
creatorlars Posted May 28, 2009 Report Share Posted May 28, 2009 Awesome!!! My SEQ is anxiously awaiting his upgrade! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.