Slashdot Log In
What Is The State Of MIDI Support Under Linux?
Posted by
Cliff
on Sat Mar 11, 2000 09:26 AM
from the musicians-want-free-too dept.
from the musicians-want-free-too dept.
CodeShark asks: "I am 99% ready to completely wipe all Windows software from my machines, but the last 1% I need to do so is an effective MIDI
system that includes: a multitrack midi sequencer, a sound librarian, and notation software (outputting the midi tracks to sheet music). I've tried searching via the Web with little luck, and am wondering what is out there/in development. I'd even be willing to pick up and/or start an Open Source project in this area myself, but I don't have a lot of knowledge of where to start. Suggestions anyone?" I'm hoping that with all the newfound popularity, someone has already started exploring with Linux in music production.
This discussion has been archived.
No new comments can be posted.
What Is The State Of MIDI Support Under Linux?
|
Log In/Create an Account
| Top
| 163 comments
(Spill at 50!) | Index Only
| Search Discussion
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
(1)
|
2
(1)
|
2
Roland Juno-6 softsynth (Score:3)
You mentioned softsynths. For some reason, I hadn't heard about this [ultramaster.com] until just a while ago and I was pleasantly surprised... It's a Roland Juno 6 -softsynth, "Ultramaster Juno-6". It's the best softsynth I've seen for Linux. You can buzz and howl all you want with it, and it works today. Great stuff!
Have a backup machine just in case (Score:3)
Umm, if you've got more than one computer, leave Windows into one of them if only for the sake of running Cubase or Logic Audio or whatever in it. Linux audio software isn't yet up to those of Windows, but they're slowly getting there.
Most of the audio software I've tried are in their very early stages of development. There are a couple of relatively decent MIDI packages around (such as Brahms, aka. "ex-koobase"), but for those of us dealing with samples, the situation does not seem so bright. Crashes and unexpected weirdness is not uncommon. But that's acceptable for software still in development!
However, there are a couple of real jewels (for the bedroom music enthusiast) emerging, mainly terminatorX [cjb.net] and soundtracker [soundtracker.org]. IMO they both need no-compromise stereo sample support (mono as of 3.55 and 0.3.10 respectively), and Soundtracker should get rid of that horrible "pitchbender" gizmo. and improve the sound quality instead... I like terminatorX because the user interface is very intuitive. You can just blast away and make music without having to conduct The Ceremony of Ye Olde Premeditated Scripting Of Obscure Syntax. I'm not a person who can spend one week thinking about some strange way to make the program put my inspiration into audio form. So the interface has to be wham, bam, thank you ma'am.
What Linux needs is a Gimp for audio. That would really be a killer app. Still, things are looking bright. Bump around the Sound and MIDI Software for Linux [linuxsound.at] site and you'll not only see glimpses of the future but might come across some pleasant surprises to adopt as well!
What I have used... (Score:3)
but many of them are more for sound experimentation and not straightforward music sequencing and recording, which is what you likely mean.
Note that my ideal sequencer is version 1 of Vision from OpCode, which I still have on a Mac Classic. Clone that, and the world will thank you.
Jazz++ is the best of the worst. It does audio tracks, and under linux offers most of the basic midi capability you need to write music. Lacking is decent support for MMC or MTC, and there is no concept of "subsequences", ala Vision, which to be fair, is not found on a lot of Windows sequencers either. No step recording either; though you can draw notes on the piano roll window. Jazz++ is what I currently use for all of my music.
Brahms looks like it might be good sometime, but not yet. GSeq lags even further behind.
Melys is one to watch also.
Muse promises some great features, but I haven't gotten it to run on my system yet.
Typesetting your music, you might look at Rosegarden and Lilypond; I haven't dealt with either.
As far as multitrack, SLab is pretty darn neat.
If you are up for the command line, ecasound would do.
Latency is certainly an issue. Even recording
input sound cards on the market for pro dtd recording, so beware.
Linux and Music Creation Software... (Score:3)
----
Music notation software: GNU Lilypond (Score:3)
On the other hand, GNU Lilypond [lilypond.org] has a midi2ly utility which tries to do this. (Normally to use Lilypond you type the music in a LaTeX-like format). If you're happy with what automated midi typesetting can manage, then give this a try.
To see some Lilypond output, look at the Mutopia project [uwaterloo.ca] (a sort of musical Gutenberg project).
Don't sacrifice functionality for the OS. (Score:3)
BeOS shows promise-- we'll just have to wait and see on that one also.
As for now, if I were to use MIDI software under Linux, it would need to do the following (based on what my current CW Pro Audio setup does):
1) Multitrack audio with non-destructive effects assignable to each track
2) MIDI effects (arpeggiator, chord analyzer)
3) Patch lists, with soundfont support, and patch names for most synthesizers
4) SYSX bank capability-maybe Brahms does this. I have custom banks to load into my external synths (wavestation SR, Proteus MPS)
5) Joystick MIDI support for both of my soundcards. Maybe Linux support is already there for dedicated MIDI interfaces, like MOTU?
6) Soundfont support. I have a few hundred MB of soundfonts that I like to use. Getting general MIDI support with the Emu10K1 under Linux would be a start, although I don't use GM.
7) Audio scrubbing + editing + interfacing with a 3rd-party audio tool, like SoundForge
8) Emu10K1 effects support. Beyond just reverb, the effects engine is actually pretty powerful.
9) Software synthesizers like Reality which can also be used in the recording software.
I could probably list a few more, but you get the idea. For me at least, I'm at quite a bit less than "99%" ready to make the switch. Based on my requirements above, most of which only Windows currently fulfills, I'm perhaps 30% ready.
I wouldn't mind keeping windows a little bit longer, and still use it for games + music software. Then I can just start up an Exceed session whever I need me Linux fix
Re:My sentiments exactly (Score:3)
Eep. Unclear on the concept? (Score:4)
Airwindows (my domain name) started as the name for my studio, and that is still very important to me. The studio is largely MIDI based, with synthesizers ranging from Kawai to Proteus to an Alesis drum module to an old Yamaha FM module for basses and weird FM noises ;) It all runs off an old Mac performa 410 (a very weak pizza-box Mac from the 68030 days).
There's a variety of interesting and peculiar programs to do odd MIDI things: a delay unit for MIDI messages, a chaotic-algorithm toy for generating multichannel weird 'space music', a wild but buggy 'do everything' tool called Megalomania that will cheerfully take particular keyboard ranges and echo them upwards in major thirds recursively through different instruments if asked (if it doesn't just freeze up first! ;) ). There's also a program I myself wrote (in REALbasic) that produces sysex messages to program the very weird and twisted Yamaha FB-01, for which there is no programmer except one for DOS and a couple of flaky, sub-Linux-polish, and very expensive 'professional tools'. But above all else, there is Musicshop. This is, I think, a little brother of the 'Vision' v.1 that somebody else mentioned. I'll take a minute to explain what this does- then I'll explain what it doesn't do, and what I'd give my eyeteeth for in a MIDI sequencer.
First and foremost, Musicshop is solid. I'm not talking 'interface feel' at all, I mean musically. It is capable of playing dense MIDI sequences on an 8 mhz 68000-based Mac Plus. It does _not_ hesitate, or drop notes- the rhythm does not lurch no matter what, even while you interact with it. It does this by taking over the Mac entirely, and placing note timing above all other things, including screen refresh. You'll often see it redrawing the screen poorly or not at all while it's busy playing the notes. On a faster machine it still lags in screen redraw or interface responsiveness due to this intentional decision to put Notes Uber Alles. I won't willingly settle for anything less from a sequencer if it's going to be driving synthesizers that I have to play music on, and play along with. It's damned unprofessional for a sequencer to make the music sound slightly drunken or fumbling, and this has always been a problem with underpowered Windows PCs running MIDI sequencing. Not Musicshop! MIDI _is_ hard realtime stuff and this must be understood first (unless the idea is to compose sequences and then get a mac plus for playing them solidly because it can do hard realtime by starving the OS of cycles completely?)
Tracks can be shown in musical notation, but I and I suspect many other synthesizer-tamers go for the music roll display, in which you're looking at basically colored lozenges showing the pitch, channel, on and off of each note. There is a trick Musicshop does to handle very short notes or notes that would extend less than three pixels on the screen at the current zoom level- it draws the note as an X, not a lozenge. This takes on great importance when using the Alesis's trigger inputs as a drum kit- the notes this produces are just about infinitely short at most zoom rates, and without code to draw them properly they will vanish and be impossible to manipulate.
Notes can be manipulated by the mouse in three distinct ways- pitch change, attack and note length. Clicking on a note sounds it and sets up one of these changes- on the middle of the note you get to slide it up and down in pitch (each new frequency sounds the note again), at the front of the note you get to change the start time, at the back of the note you can stretch it out for longer or shrink it down to make it more staccato, without affecting pitch or when the note was struck.
It's important to point out that this is not necessarily quantized, as MOD sequences are. Musicshop counts 480 units in a quarter note, or 1920 for a whole note. The note triggers can vary by as little as one unit, 'quantizing' the basically infinite-resolution timing of a live performance down to these 'units'. At 120bpm this is just barely perceptible- for instance, a seriously grooving performance on drum triggers will be faintly unfocused when reduced to 'units'. Sometimes I've run the sequencer at double or quadruple time to get more unit density- this works pretty well, actually.
This also means that you can program in sequences, such as a drum sequence, as quantized (to start out with a machinelike rigidity), copy or repeat them (another feature that's quite handy) and then go in and select all notes sounded by a particular drum (click on the border of the note field and you can select a horizontal line through the entire performance) and carefully move all the notes forward or backward in time in unit resolution- not note resolution. The reason to do this is to get _real_ 'live feel' rather than some dumb random inaccuracy feature. To make a hihat groove harder, sequence it with dynamic information (if size of dot is volume, you might have it like this: O...o..oO...o..oO...o..oO...o..o) and then take the soft hits and move them back in time just a touch, so they hesitate. Do the same with soft bassdrum hits, and take the snare backbeat and move it back until it feels like someone's arm swinging down to hit a drum- snare backbeat _needs_ to be shifted back in time from the quantized position in order to sound more relaxed and grooving, otherwise it doesn't even feel like a drum, it feels like a MOD. Once this is all done, nothing _feels_ 'hesitated'- instead, the bassdrum and hat feel like they are coming in with extra force and authority on top of the beat. (You also need to do this with bass and any other instruments being sequenced.) The reason not to push things _forward_ is because in Musicshop you get to compose music using multiple parts and it will happily let you sequence these live or sequenced parts as if it _was_ a MOD: you write a chorus, and then just stick it in each time you need one, saving time. If you need it all in one performance, export to standard MIDI and re-import. When you are using multiple parts it's a problem to move an attack _earlier_ than time zero of the sequence, so as a result you have to take all non-'pushed' notes and pull them back instead, to get a human feel. This also means the aggressively hit notes are mechanically perfect, making the overall groove more easy to sense.
Now, I've barely scratched the surface there- haven't touched on using the repeat paste to compose polyrhythms, or the spiffy little tuple algorithm they have, or various interface tweaks, or even the strip chart which I wanted to mention (alter durations or velocities etc. _graphically_). I'd love to go into more detail for anyone trying to make a serious Linux MIDI program, if anybody is, which I wonder. I wrote a REALbasic program to give sysex events but I am _so_ not qualified to write a sequencer in C, much less realtime kernel patches to make it actually useful. But I can explain what's needed for design and will spend any amount of effort to help such a project because I write free software too (GPLed, to be exact, and hindered by my inability to write actual C code).
One major feature that I really, really wish Musicshop had was more interesting ways of affecting selections of notes. For all I know recent versions of Vision have this, but Gibson bought out Opcode and basically dismantled it for no good reason, so Vision is pretty dead now through corporate idiocy, many programmers laid off. At any rate, I'd like to be able to sequence a bunch of notes, such as a snare drum fill- imagine a steady bass drum happening, then a 'chemical brothers' sort of fast snaredrum roll leading into the bass drum again. I'd like to be able to select all the snare hits and fade them in (something I can already do in Musicshop with the strip chart, easily), and then select them again and timeshift them only on one end of the selection, the alterations blending smoothly into the original timings like a gradient. By this I mean that I should be able to take a machinelike snare roll and with a few easy adjustments be able to make it go zzzZZZZWIP! into the bass drum, starting late but the notes happening faster so that it's like they accelerate into the bass drum. This is a _very_ common effect from live drummers with a sense of drama- it's the difference between a Steve Gadd and a Chad Wackerman, the sense of elastic time that dramatizes the steadiness of the underlying beat. Alternately I'd like to take a sequenced, robotic fill and stretch it _out_ so that it started out sounding totally offtempo, and then as you picked out a regularity it would converge on the existing beat. It takes a Bill Bruford to pull off something that weird on real drums, but it's an amazing effect. Currently the only way I can do it in Musicshop is by digging out the ol' calculator and writing it all out on paper in units- which is such a pain that some of these things I've never even attempted. I'd like to see a Linux MIDI sequencer that does _more_ than cakewalk-and-a-soundcard, that dares a little more- even one which relies only on some weird programming language, if necessary. The important thing is that it would need to actually understand what music is, and concepts like this elastic time concept that's so important to sequencing appealing, interesting, exciting music. The other important thing is that it would have to be realtime if it had any pretenses of being a professional tool.
What I've found (Score:4)
Sound librarians are far behind... there is a port of CSOUND to Linux (the top patch synthesizer), but this only synthesizes patches, I don't think it has a wave editor, nor do I think it can download patches from a keyboard.
Music notation software is even further behind. The Rosegarden project (now part of Gnome) had a notation part, but the whole thing is being rewritten from sratch for GNOME (hmpf - it needed to be rewritten, I understand, but what ever happened to platform idependence?)
Hope this helps, it was a while ago that I looked, so sorry for the lack of URLs... but maybe there's enough here that you can do a search.
GNUstep/MusicKit, ALSA (Score:5)
Secondly, if you are familiar with NeXTSTEP and their fabulous MusicKit/SoundKit combo, I am (as soon as this term is over!) planning on porting it to GNUstep/Linux. So, all the powerful NeXT music and sound apps (like SynthBuilder) should be easily portable to Linux. See http://ccrma-www.stanford.edu/CCRMA/Software/Music Kit/MusicKit.html#bg for background on all this.
I'm still wading through low-level MusicKit code (in addition to trying to keep my grades up!) and would appreciate some help, so write me at my email address!
midi have you looked at... (Score:5)
For notation I use Rosegarden, then to listen there is timidity, kmidi, kmid, and I am sure are more. There is plugger as a plugin for midi and several other resources. So far I have not seen anything as grand as cakewalk, but I have not used cakewalk either so I do not know.
There is also jazz which recently became open source. Try http://www.jazzware.com/cgi-bin/Zope.cgi/jazzware/ [jazzware.com] for jazz and see if it suites your needs. Between Rosegarden and Jazz I think you will find a good package.
send flames > /dev/null
Sound & MIDI Software For Linux (Score:5)
GNU LilyPond, notation and sound (Score:5)
LilyPond also features MIDI output and comes with a separate program (midi2ly) for converting MIDI to LilyPond's input language. However, trying to convert MIDI to sheet music is a rather useless undertaking, IME. Rich MIDI lacks lots of notation features, such as accents, ties (as opposed to a note of double length), chords vs. voices, clefs, grouping into staffs (two voices on one staff, or each on its own), voices that switch staffs, beaming, arpeggios (vs quickly played notes) grace notes and ornaments in general, flageolets, fingering, enharmonics. So, if you want a real nice score, you'll have to edit the resulting score by hand, anyway. It is this editing that takes most of the time, not the entry of plain notes (that is, if you can touch type).
As a separate project, work is underway to build a GUI (GTK+) frontend to LilyPond. Check out Denemo: denemo.sourceforge.net [sourceforge.net]. Still in its early stages, but already usable.
RoseGarden is basically an orphaned project. To quote Elliot Lee: "It isn't going anywhere any time soon." The last post on the Rosegarden mailing list is dated december, 6 1999. There are 2 branches. The first one is the X11 program, and hasn't changed much since the time Han-Wen named LilyPond as a pun on Rosegarden three years ago. They are also doing a complete ground-up rewrite of the package (slated to be 3.0), using Client/Server architecture, CORBA, GUILE, C++ and GTK. This all means that noone is working on the usable 2.x sources, and 3.x doesn't even compile. 2.x doesn't have any LilyPond support, but it is planned for 3.x
Jan.
--
Jan Nieuwenhuizen | GNU LilyPond - The music typesetter
www.xs4all.nl/~jantien [xs4all.nl] | www.lilypond.org [lilypond.org]
Brahms (Score:5)
As the old name suggests, it is a MIDI sequencer in the style of Cubase.
It is looking very promising, but at the time I last used it (a few months ago - so I may be out of date) it wasn't ready to replace Cubase.