Making Music With Linux : Notation And Alphabet Soup
In the computer world's neverending list of confusing acronyms, OSS is used in a lot of different ways. I had the opportunity to speak with Dev Mazumdar, president of 4Front Technologies, the people behind OSS (hang on, you'll find out which one!) and xmms to clear up the confusion.
"OSS is Open Sound System and in this case, the word 'Open' implies 'Open Systems' which are typically UNIX (aka Solaris, AIX, BSD, UnixWare, etc.) based."
"We coined the term OSS before there was any concept of Open Source Software pitched by ESR. However, there is an 'Open Source' version of OSS known as OSS/Free which is distributed with the Linux kernel sources. OSS/Free (aka Voxware) is also distributed in the FreeBSD kernel. OSS is actually an API with both commercial and free software implementations -- much like X Windows, where there are XFree and commercial implementations from companies like XiG, MetroLink, etc. We are just the copyright holders for the OSS API (which is distributed under a BSD-like license)."
So, what's new in the world of the Open Sound System? Dev continues:
"The biggest news, of course, is support for more and more soundcards and the fact that companies like Creative and Aureal are doing their own drivers based on the OSS API. Additionally, there are more and more commercial companies developing apps on top of the OSS API, which means that these apps work perfectly on either OSS/Free, or our commercial OSS drivers -- and this translates to FreeBSD, Solaris, and UnixWare users being able to use Linux binaries on their operating systems via Linux emulation."
"In terms of other stuff that we do, XMMS just won the Slashdot Beanie award ... that's huge."
Dev's company, 4Front Technologies, has gotten a lot of flak on Slashdot and other places for thriving on proprietary software. Dev said he hopes that Linux and Open Source advocates can see the forest for the trees, and he explained what 4Front is doing with OSS.
"If you are talking about OSS as in Open Source Software, then basically, we've given up the control of OSS/Free to Alan Cox so that he can shepherd the continuous development and as a matter of fact, there's tons of good work going on in the Linux 2.4 side -- people have been fixing configuration and driver bugs so that Linux 2.4 is going to have some really good sound support."
"However, we do have an Open Source Software program -- X MultiMedia System (XMMS) that's GPL'ed, and that as you know has been winning rave reviews. 4Front's employees, Peter, Olle and Thomas are being paid to work on XMMS. While XMMS doesn't earn us any revenue, we do sell the QSound plugin for XMMS which gives us a little more revenue from XMMS."
"XMMS is proof that 4Front is not all about closed-source software ... we do closed-source software (aka our sound drivers) to make money, in order to do other open-source stuff and of course to make a living. The fact that XMMS won Slashdot's Beanie award says volumes about 4Front's 'products' and our engineering ability."
You really couldn't ask for a better flagship sound product than XMMS, but working with OSS still has it's challenges.
"Currently [the biggest challenge is] getting the SBLive, Maestro and Vortex drivers working with all the bells and whistles. While Creative's and Aureal's own OSS compatible drivers work much better than ours, they are only Linux oriented. We have SBLive and Vortex running on other operating systems like Solaris, FreeBSD etc."
"Some of the other challenges are getting OSS supported on BeOS or other operating systems. It's more the case of lack of manpower than the engineering skills to do it."
Dev feels that the key to getting great audio authoring tools working on Linux is to pull in the celebrity angle on the production end.
"Right now, there are some really good programs like Snd, Slab, Jazzware, Rosegarden, Broadcast2K and MP3 stuff. But what is needed is one good example of a popular musician to come out and say 'I made this multiplatinum album using Linux!' The 'Titanic made on Linux' was a tremendous boost for Linux, we just need a similar boost -- even if Linux plays a small part in the production who cares as long as someone like Madonna, or any of the teen idols say they used Linux. This will be a wakeup call to the applications industry to start paying attention to Linux."
"The future of music on Linux lies in application support it receives. Currently, we do have all the major apps like RealAudio, MP3, Flash, ViaVoice [and] Loki Games working, but some of the 'pro' audio stuff like ProTools, SoundForge, or Cakewalk are sorely missed on Linux. But we think that these apps will never see the light of day on Linux because the userbase is most happy with the Macintosh or Windows environment. I have many friends in Hollywood who are either scoring music for movies and music videos or are sound engineers, and all of them are wedded to their Macs -- you couldn't pry their cold dead hands off their Macs! We really need support for the pro audio hardware -- stuff that sound engineers use on their Macs. We'll probably get there some day, but until then, we in the Linux community have to bite the reality pill and accept that Linux is not there yet."
"There is another side to music production and that's the realaudio or icecast/shoutcast MP3 stuff. This is where you'll see more Linux/Unix machines. We're working with a couple of radio stations to implement Real Audio live streaming servers using Linux."
When it comes to breaking into the semi-professional and professional audio production space, the ALSA team is making some strides. I spoke with Jaroslav Kysela, SuSE developer and head of the ALSA project. First, I asked Jaroslav about what ALSA was, and how it differed from the OSS efforts.
"The ALSA abbreviation means the Advanced Linux Sound Architecture. We offer a modern sound driver and basic audio library for this driver. Along these main goals, we are working on configuration tools for end users to simplify the installation and usage."
"We want to give the real audio power to the Linux users, because interfaces, used in Open Sound System, seem to be very limited to us. But compatibility is a major key for us, too. We provide the complete OSS emulation implemented in add-on layers."
"We definitely entered into world of semi-professional and professional audio. Actually, the ALSA driver package contains code for RME Hammerfall, RME Digi 96 and Envy24 (MidiMan Delta series) soundcards."
"Other hot news is that the ALSA driver can forward the AC3 stream through the S/PDIF output. Linux DVD players may use this feature."
"Also, we have positive signals that the ALSA driver is going to be merged into Linux 2.5 development kernels. That is a preliminary fact, but we hope that our dealing with Alan Cox will be successful."
SuSE is well-known for a solid Linux distribution as well as video card support out the wazoo. What's SuSE doing with ALSA?
"I have to do some advertisement here ;-) SuSE is very helpful, because the ALSA professional team works full-time on the ALSA project. The team has two members and we will grow to three members soon."
"More information about the ALSA professional team may be found at http://www.alsa-project.org/announce.html."
"The primary goal is the integration into the Linux 2.5 development kernel. Also, the development continues. Some things are still waiting for the implementation. I may notice support for four and six speakers to create a interface for 3D audio layers and software DVD audio decoders. We want to finish the documentation for application developers and the work on the driver configuration utility is in progress."
What about music production on Linux, Jaroslav?
"This is a bit difficult question, because I am not a musician and I spend most of my time only with the driver development. I personally think that the current progress in this area is very promising. For example, Jazz++ sequencer is covered with GPL now. The support for professional cards in ALSA provoked next reactions like Ardour (a multitrack recording application). I feel, the actual situation with Linux music and audio applications will be better and better."
Well, the worlds (and acronyms) of OSS and ALSA are no longer a mystery. Moving steadily from technology to the artist, we turn to the universe of notation. While it may have been good enough for the Beatles not to be able to read sheet music, the rest of us may need a staff and notes to know how to play 'Please Please Me.'
Well-known Linux music packages Brahms and Rosegarden handle notation, as do lesser-known programs like Lilypond, which can convert your source file to a TeX file, or Mup, which will convert your music to a postscript file that can be printed as standard sheet music.
For a super-techy way of handling notation under Linux, check out Haskore. From the Haskore web documentation: "Haskore is a collection of Haskell modules designed for expressing musical structures in the high-level, declarative style of functional programming. In Haskore, musical objects consist of primitive notions such as notes and rests, operations to transform musical objects such as transpose and tempo-scaling, and operations to combine musical objects to form more complex ones, such as concurrent and sequential composition. From these simple roots, much richer musical ideas can easily be developed." An example of Haskore expressions, check out http://haskell.org/haskore/onlinetutorial/childsong6.html.
I hope you've enjoyed reading this series as much as I have writing it. From professional music production to hobbyists, from track editors to free content licenses, from acronyms to notation, we've run the gamut. If you have any cool Linux sound news you'd like to share, or know about a really cool open source sound project, share it in the comments below!
There only real limitation is that, right now, AC-3 forwarding will probably only work on Trident 4DWave NX based cards like the Soundtrack Digital NX. This is no incident since Trident has released ALL of their soundcard documentation to us. The SBLive! card should support AC-3 forwarding, as soon as Creative releases more documentation that describes the S/PDIF interface in detail. RME cards will probably be next on the list of fully supported S/PDIF cards.
:-)
I have had great success with playing full Dolby Digital 5.1 sound from within Linux using an external decoder (Matrix baby!). This is one less hurdle in getting good DVD support in Linux (excuse the blatant shameless plug
Check out ac3play and alsaplayer
-adnans
"In short: just say NO TO DRUGS, and maybe you won't end up like the Hurd people." --Linus Torvalds
For my sequencing needs (composing for small jazz combos, etc.), I use Jazz++...it's finally to the point where it can replace Cakewalk (at home). For my tracking, SoundTracker is nice, as I was "raised" on FastTracker in DOS.
jMax, however, is something entirely new and different...and free. Just as many people have realized the cool potential of Max in the Macintosh world, let's not forget that we have something all our own (jMax is currently available on Linux and SGI)
http://www.ircam.fr/equipes/temps-reel/jmax/
WMBC freeform/independent online radio.
Basically, the idea is that you have patterns of rows, in which you can input data, such as note trigging, effect parameters, etc. Then you make a sequence out of these patterns and the program plays them.
OCTAL is going to have virtual sound machines, meaning modules that can produce or transform sound. You then program each of these machines to play music or produce effects.
An app similar to OCTAL is already out for Windoze, called Buzz and it has proven that such a concept works great and has the ability to produce unique sounds. (I should know, I wrote a whole lot of songs using Buzz). Unfortunately, Buzz is not open-source (albeit it's free) and it's not available for Linux or anything like that. So, I'm definitely looking forward to OCTAL coming out, as it's going to kick loads of ass.
I don't like using CSound because it's too cumbersome and nonrealtime for me. With OCTAL (and Buzz), things are much easier (although you don't have as much power), yet you still get very nice results. Finally, compared to old-style trackers that only played samples at different speeds (that's where tracking began), OCTAL soft-synthesizes sound right on the spot, giving you the best sound possible. The main disadvantage of this all is that it's quite CPU intensive.
So, check it out: http://www.gnu.org/software/octal/ I can't wait till it comes out and I'm drooling over it. Serious. Very exciting stuff (at least for me).
In the last article on this, I put a link to my old Electronic Musician article about Linux MIDI + sound, but it was really late in the lifespan of the Slashdot article, so I'm pretty sure most readers missed it. It lives on my site because EM's site managed to munge the archives for 06/99, when it was published.
I'm posting it again, along with a link to Electronic Musician magazine itself, because they're a great magazine, and had the forethought to commission an article on Linux music support over a year ago. Check them out, and check out the article.
--
Incidentally, something I've been wondering . . . ALSA is very nice, from all I've heard. Good architecture, and many nice features.
Only thing is, I have an Ensoniq SoundScape, which is only supported by the OSS drivers in the stock kernel.
Has the ALSA folks been eyeing the OSS drivers, to "absorb" them into ALSA? Would retooling the older drivers be too nontrivial? Are they focusing their efforts on newer hardware? What's the situation?
What sucks about the OSS driver is its lack of MIDI support (okay, you *can* do MIDI, but you can't adjust the volume and it plays EXTREMELY LOUD) and the annoying "pop" it makes whenever it starts playing digital audio. ALSA fixes both these problems, and goes way beyond.
iSKUNK!
I personally like the ES1370/1371 based Creative cards (eg, the PCI128). A good 256 stream through one sounds almost as good as the CD, whereas the Awe32 sounds like a dying Black and Decker jigsaw and a SB16 sounds like Norm just started every powertool in the New Yankee Workshop.
.sig: Now legally binding!
A good 256 stream through one sounds almost as good as the CD, whereas the Awe32 sounds like a dying Black and Decker jigsaw and a SB16 sounds like Norm just started every powertool in the New Yankee Workshop.
Hint: set "ogain" to zero before using awe64 (and probably awe32) card. Of course, comparing anything with SB16 is plain stupid -- in its "normal" form the card has really noisy amplifier and only FM MIDI that indeed produces extremely awful sounds.
However SB PCI 128 (that is not even originally from Creative -- it's Ensoniq AudioPCI) is a very unremarkable card except for the fact that it has two identical devices, one of which is used by all-software MIDI.
Contrary to the popular belief, there indeed is no God.
M-S, or Mid-Side, stereo recording is a a really neat way to capture ambience and be able to vary the perception of stereo depth.
Does anyone know of a software / hardware combination under Linux or other free OS which allows for this?
Ideally, I would like to make multiple 2-track recordings simultaneously of the same subjects, in order to go back and compare the differences in approach, mic placement, mic type, etc, and M-S is one thing I've heard about but don't have the equipment to do right now.
Anyone doing this?
timothy
jrnl: http://tinyurl.com/c2l8yr / foes: http://tinyurl.com/ckjno5
CSound home page
/. community be looking for?
It's free, the source is available, and it can synthesize some amazing sounds. What more could the