Making Music with Linux : Mastering, Bandwidth, and Synthesis
Burning a CD under Linux is super-easy, and there are quite a few programs that make it possible under Linux. X-CD-Roast is a popular tool, and is used constantly by Linux enthusiasts to burn their own multi-session content onto a compact disc. The problem is that there is still no Linux equivalent for the huge multi-track mixer you'll find at professional recording studios. If you're hoping to mix down tracks and perform studio-quality takes and 'bounces' of your work, you're going to need an expensive chunk of professional digital audio hardware. Once you've got your finished master, you'll have no problem making as many copies as you want using your Linux machine. Until we have a real-time mixdown utility, the waiting game wins again.
The world of low-bandwidth sound transport is wide open on the Linux platform, except for the glaring exception of not being able to play Windows Media Player sound files on your machine. Although the 'media darling' of sound transport is the mp3 file format, there's no denying the fact that mp3 provides solid sound quality and a small file footprint. Mp3 still isn't the answer to all of our prayers, however. No matter what anyone tells you, mp3 is not CD-quality sound, and tends to boost the mid-range in most tunes.
When you're living with a low-bandwidth target, the sound you're streaming is secondary in importance to stretching that stream over a maximum number of clients with the least amount of lag. RealPlayer suffers from the same mid-range band pass issues as mp3, but in the grand scheme of things, you're a lot more likely to encounter RealPlayer as an option when you're surfing. Producing RealPlayer content is easy to do and easy to host, but the downside is that it's not free. RealProducer will run you $149.95 from RealNetworks.
Joseph Ottinger, Linux-savvy musician, shares his thoughts on streaming audio. "I choose mp3 because of the high quality and decent compression. Real's stuff is nice because it's streaming, but even on a fast connection, that stuff sounds like it's ground up. Microsoft's streaming format is worse, lacking even more of the fundamental sound's depth and clarity. The problem with mp3 is Napster. Napster makes it easy to send and find mp3's. A lot of people trade though, so people rip stuff at low quality just to get their numbers up and their bandwidth down."
Csound is a wonderfully portable and versatile sound synthesis package written entirely in C. Csound uses two files to work its magic; a score file that basically acts as a timed-event trigger file, and an orchestra file to interpret what voices it should use to play the score. This is a classical approach to sound synthesis, and can be used to either generate a sound file or, if your system is fast enough, to send the output directly to a DAC on your system's soundcard. If you like, you can even use a standard MIDI file to act as the score file. Csound has about a bazillion extensions, and nifty gadgets that use it.
For those interested in using their Linux machine as a powerful tool for creating original instruments and sounds, they'll find a friend in Cecilia, a wonderful sound synthesis tool that sits right on top of Csound, without you having to get your hands dirty. Cecilia provides real-time signal processing on sound files, live input, or can work as a software synthesizer on its own. If you're in love with real-time resonance or envelope filters, Cecilia lets you configure the software synth to the limit.
Next time, we discuss Linux sound hardware and support, and we're going acronym-diving! Find out what OSS and ALSA are, and why they've got something to do with those big speakers you bought. We'll also navigate the treacherous waters of musical notation with Linux. If you know of any fantastic audio production programs, please let us know! See you next time...
Yes, but this is irrelevant. We're talking about high-end digital audio. I work with this stuff all the time, my digital I/O is via Motu 2408, a card which is considered an absolute bargain at $1000. ASM doesn't help anything, it helps performance a little, by completely destroying portability. I'd much rather have something that can be ported to run on new/different architectures than something which runs incredibly fast on one low-end chipset and doesn't run at all on anything else.
----------------------------
I asked several of the digi tech guys about this at the 1999 Winter NAMM (yah, almost 15 months ago, now), and mostly they just looked at me funny. The one guy who'd ever HEARD of Linux said something best paraphrased as "we're still getting our WINDOWS support stabilized, man, why would we want to take on another platform?"
I pestered them for hardware info on their AMIII cards, just to get a foot in the door, but never got anywhere productive.
digi's a very strange company, VERY proprietary about their hardware and software, and, like most of the MI industry, VERY myopic about their computing platforms.
--
In a comment posted to part I of this series, I talked about an article I wrote for Electronic Musician about the state of music hardware and software for Linux as of about this time last year.
Since then, I've cleaned up the ASCII version of the article, and placed it online myself, since EM's parent company can't seem to run a website to save their lives.
Please check it out, but maybe wait a bit -- it's only a DSL line, and I'd prefer people not mirror it, since _I'm_ even publishing it without explicit permission.
--
This package is pretty good for basic recording/effects processing on a single stereo track...pretty basic, but good. I don't think that it is maintained anymore, since the last maintainer, Nick Bailey, has no reference to it on his home pages. It is written in TK/TCL + a tiny bit of C as a graphical interface to SOX. Very well done.
I've been using to digitize the songs that the person who has been recording in my studio.
ttyl
Farrell J. McGovern
3Light Studio
CAN-CON 2019 - Ottawa's only book oriented Science Fiction Convention! October 18-20, Sheraton Hotel, Ottawa, Canada h
Avoid the soundblasters. The soundblaster 2^n cards are limited at -2dB for recording so you only get 15 bits for recording and noise.
Or at least I made the first server available to the public which would stream live mp3 to any number of listeners - over a year before Nullsoft grabbed all the glory with Shi^Houtcast ;-)
Ok... hardly commercial quality - but it was good fun... and there is one thing about my original server that set it apart from anything else I've seen - The whole thing was implemented in abotu 15 lines of bourne shell.
Sometimes linux leads the way, sometimes it follows, but when it follows it does it better.
Echo has announced earlier on their web site that they are not supporting OpenSource for their line of cards. I don't know if this means the driver will never be available or if they just won't OpenSource them and maybe provide a binary at some point. Check their website for more information.
clif
send flames > /dev/null
Only 'flamers' flame!
There is an opensource driver in ALSA for among others, RME's hammerfall (rme-audio.com). It has digital io for i believe 3 adat lightpipes and something like 52 channels. see the page for full details and what not.
I've got high hopes for GLAME... the internals are starting to to look good, and there is a lot of activity. Now we need some audio experts to come in and lend their knowledge to make this a great tool.
ANd a question - what soundcard would you use for processing with linux?
... hi bingo
His other project Quasimodo is even more ambitious - a modular synth system, where the modules are written in CSound code. This makes a whole bunch of modules instantly available, and I can see an application like this being embraced by the audio/DSP Education sector, where CSound is used to test pretty much everything. I'm mentioning theses programs not because I have any affiliation with the project, but Ardour and Quasimodo are two of the most promising Linux audio applications out there, and it's a shame not more developers are working to get them finished.
I'd be willing to work on this project, as I've found out that I may not be able to bring my G3 Mac with me to my new abode for space considerations, but I still want to have my Pro Tools audio setup....
"But always she's the spectre of uncertainty I first endured, then faded, then embraced..."
There are apparently several. I have used SLab and it's quite decent. Certainly full featured. I haven't used it enough to know if it's ready for primetime, but if it's not, it must indeed be close.
As for soundcards, I'm not heavy into PC-based recording, but I know names like Creative and Turtle Beach are NOT the choice picks.
There's a report on PC sound cards at PC AV Tech that does some real quantitative comparisons, and includes some pro cards. The summary is here.
As for brands, start with
Somebody mentioned older Pro Tools hardware available cheaply, but I don't know if that's usable without the Digidesign software.
I think most pro applications and users would be covered by the brands above. I know the basement hobbiest may not go for those cards, but I think most people coming from a music/studio background will.
Are these brands supported under *nix? It's hard enough getting stable drivers for some pro cards for NT or 9x. I don't imagine that there's the audio equivalent of the gaming industry pushing manufacturers to release hardware specs so that open drivers can be written by the community.
I have to think that driver support for the pro audio cards will be a critical issue in the near term... I would even consider getting involved in this type of project over the summer once I'm finished school (12 days until I finish classes for my EE!!).
Still, I'd love for somebody to correct me.
Christopher
Mozilla
I think what has been lacking is a real scene that drives the need for tracking utils. North America (which slashdot is pretty centric too) has never been a huge hot bed of demo's and music. Sure, there were arists making some cool stuff here but the tracking/demo parties held in North America were never as big/good as the European counterpart.
That being said the main point it Linux is at the point where the hardware support can work well with tracking. Linux has a great potential and that isn't being tapped.
The biggest area is in the ALSA-Project. There is a fair amount of chatter around the new RME support. Another company which I think get's looked over but is already supported by ALSA are the Hoontech products. Hoontech makes some of the most unusual sound products I've seen. With the ability to expand Digital and Midi I/O and insanely cheap prices I think the poor mans (linux) mixing console is near.
One big problem I've noticed in real time audio for Linux lies in the code. Decent trackers for DOS are written in 90-100% assembly. It seems no one who does sound development for Linux is prepared to write a lot of assembly routines.
There's a real-time virtual 8-track called Goat Studio (or Goat Tape, by some) that come with the source. It's for DOS, and it's got a chunk of assembly in it. I would port it, but I'd have to learn two styles of ASM for the x86 -- which I don't have time to do. Goat Studio is very useful for laying down tracks, since it uses full duplex to play the non-muted tracks for you while you record one. The only physical limitation is that you can only record one track at a time, but this won't concern most solitary musicians.
Back to the point. Many real-time apps must be written in ASM since the processing has to be fast, perhaps you can get away with C these days, since we're no longer dealing with 386s, but PII/400s -- but I still keep a 386 with a tracker and some other stuff on it to bring to tracking parties (like MGF). I'm not going to take my best box on the road with me if I'm going to need it for something else, but a 386 or 486 plus a soundcard I can pick up for nothing.
---
script-fu: hash bang slash bin bash
[ approaching AI ]
my golly, I'm still recording with my bash script that 'cat's from '/dev/dsp' ;)
Anyway I was told to price solutions for producing audio and video content. Windows Media encoder and the server is free with IIS and RealProducts are EXPENSIVE.
I want the ease of WMP in WMP format on the stability of *nix/BSD. Oh and free too.
Real offers the free "basic version" of Realserver 7 for Red Hat and its clones.   Catch is that you're limited to 25 streams (and something else is missing, I think).   I have it running on Mandrake 6.5 and Red Hat 6.1 and although I haven't really put it through its paces, it's still a nice piece of work - and for free!   To do the live streams, you need RealProducer 7, which they also offer as a free basic version for Linux.   This product is unfortunately beta (or better, alpha) and needs a little work - but I'll putz around with it some more.
The one reason why I prefer Real's products is the fact that you have more granular management of bandwidth consumption - critical for dial-in users with slow modems, and I've seen some WMP stuff that is REALLY crap!   You also get a real nice web interface to configure and graphically monitor the server.
As an ISP, I expect that you'd obviously have far more than 25 simultaneous streams, but if you distribute 25-stream licenses across several cheap Linux boxes, you'd save yourself some bucks...   It would probably make sense to distribute this kind of stuff anyway.
-- Win2k: "It's not so much that it's only 65,000 bugs, it's just that they stopped at 65,535 to prevent an overflow."
I am going to build or buy a Linux box and was wondering what Sound card is best supported in Linux? Preferably one that RedHat 6.1 will autodetect and configure for me.
;-)   Although I've discovered that most of the latest kernels shipping with the "Red Hats" (like Red Hat 6.x and Mandrake 6.x/7.x) are precompiled with sound modules enabled, so you might not have to do anything.   It's also preferable that you load your sound as modules anyway...
If you pick a Sound Blaster card (including the recent Sound Blaster Live!), then you'll be pretty safe and good to go.   I setup the basic version of RealServer 7 on Red Hat 6.1 and stuck in a cheapy Sound Blaster 16 ISA card (in an EISA slot) and RH's "sndconfig" utility found it right away.   This is in preparation for giving RealProducer 7 a shot.   I found that RealProducer doesn't seem to like ALSA drivers (prefers the OSS drivers), so if you have a Sound Blaster card, you probably won't have much of a prob.
Also, does anyone have any recommendations for what Video Card has the best combination of speed 2D/3D, OpenGL implementation, and open source drivers (though they don't have to absolutely be open source, it is a preference)
As for video cards, I'm not into that stuff but Matrox cards are supposedly very good and have decent Linux support.
I am mid-level user who can compile my own kernel and I have 4 or 5 Linux boxes, but none with high end video or sound. Thanks for any help, Fox
Kernel compiling is fun...
-- Win2k: "It's not so much that it's only 65,000 bugs, it's just that they stopped at 65,535 to prevent an overflow."
Sorry to say this, but I know plenty of musicians who use windows for music production. Live. Even such "Kiddie Grade" programs, like MixMan Studio, are amizingly effective if you use your own samples, and throw a little beat matching with wax on it. Most of the Mac stuff is production quality, and the BeOS stuff is still not too well known.
So why is linux good for this? Simple:
OK, so what does windows have going for it? Glad you asked:
So if I wuz going to sit down and write my ultimate appz for live performance, what would I do? 1] KeyKit for MIDI support. 2] Something like TerminatorX for loops, but with the ability to sync to a clock. 3] a software synth like re-birth. Add some turntables, and my board, and life will be good.
opinions? Am I wrong? Better ideas?
- Dan
Aside from the fact that I can't get Linux drivers out of Event (actually Echo Audio) for my Gina/Darla/Layla cards (strangely enough, I can get BeOS drivers and even NT drivers now) here is a short synopses of why I, a lowly amateur musician, won't be looking at Linux as a Music OS for a long time.
I am not a big MS fan, but music composition/ sequencing/ sampling/ recording/ effects software (lots of categories here) for Windows 9x is pretty decent. I've played with a lot of them, and they work. Doesn't mean I won't look at other choices though, primarily because Windows crashes frequently. The plugins architecture is an excellent touch. (i.e. a reverb plugin becomes available in all DirectX-compatible recording programs when it's installed.)
Unfortunately, I think a lot of energy that could have gone into interesting Open Source music projects has been used by programmers writing music shareware/freeware for Windows. AudioMulch, Anvil Studio, and many others, are good examples of excellent, innovative (especially AudioMulch) software written for poor working musicians without high budgets. And, yes, they are only for Windows, sadly. I'm not sure why, except that for a long time it was difficult to get sound cards working under Linux.
Why do most of the projects I see on Linux just copy other software? Why can't somebody write some audio software for Linux that just blows my socks off? I've seen some pretty freaky, damn cool programs come out for Macs, hell, even Windows, in the last year or two. They were innovative. They weren't knockoffs of software on other platforms. Maybe I'm not looking in the right place, but it is not enough for Linux to ape whatever MS and MacOS does.
Even if some cool audio programs were written for Linux (and I know there are some available), I don't think I would use Linux for my multimedia stuff yet. Why? The desktop environments and GUIs are (how can I put this without getting flamed) not quite comfortable to work in yet.
Fonts are aliased, widgets are inconsistent, etc; maybe it's just the fact that I use KDE (should I switch to Gnome?), but it just plain doesn't do it for me yet. And yes, I know, "but that's what I love about Linux, is it's totally customizable." Well, not everyone wants to have to customize every damn thing on their system just to get it to work, Spunky.
Even Netscape (a universally available browser under Linux) looks like crap compared to certain Windows browsers. Why is this??? It's not like it's a 1.0 release or something. And please don't tell me to copy my Windows TT fonts into the appropriate system directory in Linux; that is just another in a long line of things I shouldn't have to do to make Linux work out of the box. If I won't do it, you better believe most musicians (no offense to pro musicians out there) won't even know where to start.
I don't know how the latency issues are compared to BeOS or Windows, and quite frankly I don't think I care. Even under a high latency system like Windows 9x I have been getting acceptable results, probably because I don't use MIDI stuff.
Please don't misinterpret this to read that I think MS RULEZ! or that LINUX SUX! because hopefully we are all intelligent enough to realize that is not what I am saying at all. If I thought that, I wouldn't have multiple boxes running multiple OS's and wouldn't be hanging out at Slashdot in the first place.
Don't get me wrong, I would love to see somebody come along and fix these things in the next generation of Linux distros. But the fact is, I need music software/hardware support in 1997, not in 2003 (it has been around in one form or another for 20+ years now). I love Linux for my servers, but for a DAW it needs a serious, or maybe just a whole bunch of tiny tweaks ;-) makeover.
Free music from Jack Merlot.
Here is what the real problem is with audio and Linux. I am not going to be taking sides on this issue, so please don't flame me as such. Linux, as far as I know, cannot process realtime audio. This has do with really, really bad latencies in the kernel (especially)and underlying subsystems with prevent realtime audio from working in Linux at all. This is the same story with WinNT. I purchased BeOS because of its incredible audio applications and its ability to do things with audio and video that I have never seen before. So being curious I decided to do some research on the subject of why other OS's cannot do things such as realtime crossfading and realtime input/output/mixing. If you do some honest research you will discover a lot of things that will really open your eyes. Most notably that although everyone here loves Linux, it was never meant to be or designed to be a realtime audio processing OS. Has anybody else done real honest research into this topic like myself?