Running Sound Applications under Wine

You still need Wine to get a buzz (and other audio applications) on.
Audio and MIDI Support in Wine

Linux-based musicians have two good reasons to take an interest in Wine's sound support. The first reason is applications. Some Windows sound programs have no equivalent in native Linux versions, and the possibility of running those programs under Wine is very attractive. The second reason involves libwine. That library is a key component in projects that provide support for running Windows VST/VSTi audio synthesis/processing plugins under Linux. In this article, I focus only on running applications under Wine, but readers interested in learning more about the Linux + VST connection should check out the Web page (see Resources) for details regarding the FST (FreeST) Project.

At the user level, the heart of Wine's audio support can be found in the ~/.wine/config file. Here's the relevant section of that file as it appears in my Wine configuration:


[WinMM]
; Uncomment the "Drivers" line matching your sound setting.

"Drivers" = "winealsa.drv"    ; for ALSA users
;"Drivers" = "wineoss.drv"     ; default for most common configurations
;"Drivers" = "winearts.drv"    ; for KDE
;"Drivers" = "winejack.drv"    ; for the JACK sound server
;"Drivers" = "winenas.drv"     ; for the NAS sound system
;"Drivers" = "wineaudioio.drv" ; for Solaris machines
;"Drivers" = ""                ; disables sound
"WaveMapper" = "msacm.drv"	 ; do not change !
"MidiMapper" = "midimap.drv"	 ; do not change !

The WaveMapper and MidiMapper are required; they emulate the native Windows MCI (Media Control Interface) drivers that provide the standard commands for controlling multimedia devices and playing and recording multimedia data files.

Wine provides audio interface drivers for OSS/Free (the default), ALSA, aRts, JACK and NAS (a network audio system). You can select a new driver at any time, but you will need to restart Wine. Your choice of sound driver may be determined by the application. In my experiences, some programs worked only with the OSS/Free driver, others worked only with ALSA, and some worked well with either one. I was especially excited to see a JACK driver listed, but as far as I could tell, the JACK driver is broken in this release—a reminder that Wine is still beta-stage software.

Running Sound Apps under Wine

Due to space considerations, it is not possible to describe the installation and configuration details fully for the programs I've reviewed here. I wanted to test Wine's audio performance without going to heroic measures, employing only its default settings as far as possible and doing little more than selecting an appropriate sound driver as described above. I provide a brief description of each tested program, and then I relate my experience with running the program under Wine. Note that these tests were made mainly with the demos and examples packaged with the programs, and my conclusions are necessarily provisional and incomplete.

AudioMulch

Ross Bencina's AudioMulch is a sound synthesis and music composition environment with a unique interface and a strong emphasis on real-time performance capabilities.

Figure 1. AudioMulch

AudioMulch divides itself into three main panels (Figure 1). The left-most panel is a graphic instrument design and connections center—a canvas upon which you place and connect AudioMulch's various synthesis and processing modules. Next to this panel, we see the controls for the parameters of your selected modules. Underneath it all are the automation controls—a stack of breakpoint displays that control module parameter changes in real time.

Everything in AudioMulch is designed for real-time updates. I verified this assertion by loading an example file and randomly altering its controls and breakpoint displays at random. AudioMulch easily kept up with my changes, and Wine's audio never broke or stuttered. Very impressive!

I tested AudioMulch version 1.0rc2. It installed easily and was ready for immediate use. I loaded and ran every example included with the package, and each one performed perfectly with Wine's OSS/Free and ALSA drivers. Potential users should note that AudioMulch is shareware, not freeware, and the registration fee is $50 US. If you want to test-drive the release candidate, be aware that it will expire on the date indicated at the AudioMulch Web site.

Band-in-a-Box

Band-in-a-Box is an automatic accompaniment generator. The program creates a virtual backing band that interprets a series of user-defined chord changes according to a selected “style”. A Band-in-a-Box style is a set of rules governing quantifiable aspects of a particular music performance style, such as country swing, rhumba, waltz time, blues shuffle and so forth. When the user clicks the Play control, the program processes the chord changes by the style rules, generates a real-time performance stream and plays it with your preferred MIDI synthesizer. Voilà, you have your dream rehearsal band.

Figure 2. Band-in-a-Box

Band-in-a-Box is the reigning king of the auto-accompaniment software domain. Need to play those changes more slowly? No problem, Band-in-a-Box is a MIDI-based program, so you can adjust the tempo to whatever speed is most comfortable. Want those chords played in a different meter or rhythm? Still no problem, Band-in-a-Box supplies hundreds of styles to choose from, and if you don't like what's included with the base package, you can design your own or access literally thousands of styles and arrangements created and freely distributed by the program's vast base of users and style developers. Don't like the instrumentation for a particular style? Change it on the fly, add or subtract players from the band, or mute parts at will.

I downloaded the most recent Band-in-a-Box demo from the program's Web site and installed it with wine bbw2004demo.exe at an xterm prompt. I entered my new ~/c/bbdemo directory and ran wine bbwdemo to start Band-in-a-Box. I loaded an example style from the File/BB Song dialog, pressed the Play control and watched as the program apparently played the loaded style. Alas, there was no sound. I reconfigured the default MIDI output to go to the Emu10k1 synthesizer on my SBLive Value sound card, pressed Play, and behold, I had sound. I tested other built-in styles, all perfectly happy to perform as though they were playing under Windows itself.

I discovered only one potentially serious difficulty with the demo version. I configured the MIDI input device to the hardware port on the SBLive, but Band-in-a-Box would not record what I played on my MIDI keyboard. The program's virtual keyboard display worked perfectly, but I prefer to record directly from the hardware interface, so perhaps it's time to fire up the Wine debugging tools.

Band-in-a-Box is strictly commercial software, with a list price of $88 US for the Pro Edition. The demo is, of course, free.

Band-in-a-Box has the honor of a place in the Wine AppDB Gold 10, a selection of Windows applications that has demonstrated consistently excellent performance under Wine. By the measure of my simple tests, I must concur with that rating. Band-in-a-Box is an excellent music application that runs beautifully under emulation. Consider it double-plus recommended.

______________________

Similis sum folio de quo ludunt venti.

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Great article for Apple users

JK Fertighaus's picture

I am a long-year apple-fan. I dont use it for professional use in music-business, but the band-in-a-box program is a great piece of work, done by apple. So especially this part of the article was interesting for me. :-)

I have huge problems with

Anonymous's picture

I have huge problems with wine first you can't run two sound programs at once. I can't say output an MP3 with one wine program and try to record it at same time from Linux by listening to the sound card output. Also the worse problem is I have a program that outputs MP3s and I can't play them in LINUX because it says the file is EXECUTABLE type wine. If I setup this same program on Windows box, it would output MP3s. I can take those MP3s to my Linux box and do whatever I wanted. Now with wine it doesn't work. Wine must put some binary output in the file itself saying it is an executable file hence unusable MP3 in Linux.

Good article - bad premise

oldman's picture

It wonderful to see that this kind of work is being done, but without official support from the vendors of the packages in question, one os SOL if there are any problems that the community cant solve.

Its simply easier t run these natively.

*easier* hmm.. lot's of

Anonymous's picture

*easier*

hmm.. lot's of great cliches come to mind, great things, patience, nothing good comes, something or other.

you are right, though. i just want to run things out of pride for my OS. i don't actually want any of these proprietary beasts; i just want to be all like, "say I can't run Reaktor in Ubuntu, go ahead." Muuuhaaahaaa

"make my day." it's really going to be great when people are lagging along on Vista with insane resources and I speed by in some light-weight little linux rig with a P4.

Sorry to be a 'fanboi' as I have only recently learned the word. I always said that I was a partisan.

worth doing sometimes - not always

a friend of the troll in the basement's picture

Oldman has a valid point, although there are still times when running windows sound apps under Linux is worth it.

For everyday computing, such as web browsing, mail, viewing movies etc. I use Linux. This is because Windows committed suicide on me several times, forcing me to reinstall it, and all my applications, each time. If I want to take a break and dabble in some music making I don't want to reboot into Windows. Audiomulch works under wine without any hastle and I have never known it to crash. One should also remember that Microsoft is making it increasingly hard to update unlicensed copies of its current operating systems. If you want an MS OS and you don't want to pay for it, then sooner or later you will probably have to restrict yourself to software that will run on Windows 2000.

One thing Dave Phillips didn't mention is that a great many VST plugins work under Linux, but outside the wine environment proper, using various wrappers such as dssi-vst. Most of the ones I have tried have also worked within audiomulch.

If you are setting up a dedicated studio and your tool of choice is cubase, ableton or whatever, and you don't want a lot of hastle, then of course you should choose an OS that won't give you any nonsense. As Dave said, at the moment those kind of tools don't work at all within Wine, and even when they begin to, there will probably be some pain involved. Then again, even though it will be harder work to get these to run flawlessly on Linux--Audiomulch's developer has a much friendlier attitude to Linux than the companies that make the other stuff--I suspect that this will indeed happen sooner or later.

That said, if you want to use ableton or whatever then you should do it on a mac rather than windows both because the audio latency is usually lower and because of all the other problems you get with windows that most windows users already know too well.

If, on the other hand, you are willing to do the nerd work, you may find it very useful to use windows audio apps alongside traditionally unix ones (of which there is a very long tradition) in a Linux environment. One reason is that it is possible to achieve very low, glitch-free, audio latency, even under very heavy system load. There is also a huge potential for working over a network in ways that tend not to happen under windows or mac os. Some of these, such as clustering, don't apply directly to windows apps and plugins running in wine or a VST wrapper, but others, such as syncing low latency audio backwards and forwards across a network, certainly do.

Amongst all of the flaming

Anonymous's picture

Amongst all of the flaming going around on the subject of linux audio, you have just so happened to put my thoughts into words, when I'm giving other people advice.

Personally, linux and I are recently married and enjoying a long honeymoon after having a high school fling years ago. Cheating on my operating system is not negotiable. Whatever the limitations, I plan to go without a few impressive high-level audio manipulation GUIs and stick with my linux box through thick and thin.

White Paper
Linux Management with Red Hat Satellite: Measuring Business Impact and ROI

Linux has become a key foundation for supporting today's rapidly growing IT environments. Linux is being used to deploy business applications and databases, trading on its reputation as a low-cost operating environment. For many IT organizations, Linux is a mainstay for deploying Web servers and has evolved from handling basic file, print, and utility workloads to running mission-critical applications and databases, physically, virtually, and in the cloud. As Linux grows in importance in terms of value to the business, managing Linux environments to high standards of service quality — availability, security, and performance — becomes an essential requirement for business success.

Learn More

Sponsored by Red Hat

White Paper
Private PaaS for the Agile Enterprise

If you already use virtualized infrastructure, you are well on your way to leveraging the power of the cloud. Virtualization offers the promise of limitless resources, but how do you manage that scalability when your DevOps team doesn’t scale? In today’s hypercompetitive markets, fast results can make a difference between leading the pack vs. obsolescence. Organizations need more benefits from cloud computing than just raw resources. They need agility, flexibility, convenience, ROI, and control.

Stackato private Platform-as-a-Service technology from ActiveState extends your private cloud infrastructure by creating a private PaaS to provide on-demand availability, flexibility, control, and ultimately, faster time-to-market for your enterprise.

Learn More

Sponsored by ActiveState