Sequencer Tightness: Hardware vs. Software
Does hardware have the edge over software when it comes to timing?
Introduction
Sequencers facilitate the recording and playback of musical events over time — and that timing is essential for music. Producers have leveraged electronic music sequencers since the analogue n-steps of the 1970s, to hardware digital sequencers of the 1980s, to the software sequencers of the 1990s, and to the sophisticated DAWs of today.
Though less common than their software counterparts, hardware sequencers remain in vogue. As such, there remains debate over whether timing on hardware sequencers is more precise i.e. tighter, than software sequencers running on PCs. Typical arguments go along these lines:
Hardware sequencers have specially designed realtime operating systems in them, thus giving you secure and accurate timing. Personal comuters [sic] don’t have this, therefore the processor being busy can make a note get somewhat delayed. — regebro, Future Music Forums, 2002
This is a reasonable argument, as modern PC operating systems service many processes — few of which have to do with the sequencer itself, and since they cannot all be serviced at the same time, the OS’s scheduler must context-switch between them. Thus it is possible for timing inaccuracies to be introduced as the sequencer awaits service from the CPU.
On the other hand, hardware sequencers usually run pretty slow processors, giving software sequencers a theoretically higher resolution.
This is also a reasonable argument; despite the OS scheduling and the additional layers (e.g. USB controllers, drivers, frameworks) between the sequencer and the MIDI port, the net effect may be negligible due to the high performance of PC microprocessors.
So which is it?
Methodology
On each sequencer to be analyzed, sixteen bars of 16th notes are programmed for a total of 256 notes. The notes begin on the 2nd measure to avoid any irregularities that may occur immediately after the play button is hit, e.g. sending program changes or clock start events. The sequence is played back at 120 bpm. For 16th notes at 120bpm the notes will ideally have 125 milliseconds (125,000 microseconds) between them:
The MIDI output is received by a ubld.it MIDI breakout board connected to an Adafruit Grand Central M4 microcontroller. Upon a received MIDI note-on event, the sketch writes a microsecond timestamp to a log file on a microSD card. The log file is transferred to a laptop and imported into a spreadsheet for analysis. Sketch code here.
Results
The distance between each onset detection is computed for a total of 255 data points. The min, max, range, standard deviation, and frequency distribution are calculated for each sequencer.
Roland MC-50mk2
Yamaha QY100
Akai MPC2500
Firmware is JJOS v3.13.
E-mu E6400 Ultra
Firmware is v4.70.
Arturia BeatStep Pro
Firmware is v2.0.1. Caveats: MIDI clock out could not be disabled.
DOS / Voyetra
Desktop used was an Athlon XP 2000+. Operating system was FreeDOS. Software was Voyetra Sequencer Plus Gold v4.10. MIDI out provided by a Yamaha XG YMF724-F PCI sound card (TSR mode) via MIDI to gameport adapter cable. Caveats: MIDI clock out could not be disabled.
Surface Pro / Reaper
Tablet used was a Microsoft Surface Pro 6 with a Core i5 @ 1.6Ghz. Operating system was Windows 10. Software was REAPER v6.05/x64. MIDI out provided by an Arturia Keystep via USB.
Ubuntu Linux / Reaper
Laptop used was a Dual Core i7 @ 2.67 GHz. Operating system was Ubuntu 18.04 with Linux lowlatency kernel v4.15.0. Software was Reaper v6.06. MIDI out provided by an Arturia Keystep via USB.
MacOS / Reaper
Laptop used was an Quad Core i7 @ 2.2 GHz. Operating system was macOS High Sierra v10.13.6. Software was REAPER v5.29/64. MIDI out provided by an Arturia Keystep via USB.
iPhone / Cubasis
Handset used was an iPhone Xs with iOS v13.3.1. The software was Steinberg Cubasis 3. MIDI out provided by an Arturia Keystep via the Apple Lighting to USB Camera Adapter.
Overall
Raw data for the overall results (ordered by Std. Dev) is here.
Discussion
The two metrics of Std. Deviation (Fig. 11) and Range (Fig. 12) offer different views of timing precision. For example, the BeatStep Pro appears to have an idiosyncrasy where the first note of the sequence plays early. The remaining 255 notes in the sequence did not have this behavior. The BeatStep Pro ranks in 5th place for Std. Deviation due to its tight timing on average, while it ranks in 9th place for Range due to this single off note.
By both metrics, we observe the Roland MC50 ends up in last place and macOS, iPhone and QY100 occupy the top 3.
Limitations
The 10 devices under test were whatever was lying about. Sorry, I don’t have an Android phone, or a Windows box, and the guy selling the Atari ST on Craigslist wanted too much money for it :)
The time available to tweak settings was limited. On Linux for instance there are many configuration options from Reaper, to ALSA, to the kernel, all of which could have affected timing. However default settings were used where possible.
Conclusion
The top spots went to software sequencers, though we do see a wide range of performance of both software and hardware and overlap between them. Now before we go, regebro left us with another insight:
I doubt you could hear the difference in a blind test. Go with what feels best.
This is likely true. There is an effect known as temporal fusion where “direct and reflected sounds reaching the ear approximately 10 to 20 milliseconds apart after the original waves are perceived as a single sound” [Alten]. So it is unlikely one could tell apart a timing difference below 20 ms and in our results the largest range was around 6 ms.
Challenge!
Let’s put it to the test — below you’ll find two videos where the sequence was synthesized using an Alesis SR16 side-stick:
One is the lowly ranked Roland MC50, the other is highly ranked macOS/Reaper. Can you tell a difference in the timing? The answer is in the video description.
References
Alten, Stanley. “Audio in Media: The Recording Studio” Wadsworth Publishing. 1996. p. 29–30.