Running Sound Applications under 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.
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.
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.
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 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.
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.
Practical Task Scheduling Deployment
July 20, 2016 12:00 pm CDT
One of the best things about the UNIX environment (aside from being stable and efficient) is the vast array of software tools available to help you do your job. Traditionally, a UNIX tool does only one thing, but does that one thing very well. For example, grep is very easy to use and can search vast amounts of data quickly. The find tool can find a particular file or files based on all kinds of criteria. It's pretty easy to string these tools together to build even more powerful tools, such as a tool that finds all of the .log files in the /home directory and searches each one for a particular entry. This erector-set mentality allows UNIX system administrators to seem to always have the right tool for the job.
Cron traditionally has been considered another such a tool for job scheduling, but is it enough? This webinar considers that very question. The first part builds on a previous Geek Guide, Beyond Cron, and briefly describes how to know when it might be time to consider upgrading your job scheduling infrastructure. The second part presents an actual planning and implementation framework.
Join Linux Journal's Mike Diehl and Pat Cameron of Help Systems.
Free to Linux Journal readers.Register Now!
- Stunnel Security for Oracle
- Murat Yener and Onur Dundar's Expert Android Studio (Wrox)
- SourceClear Open
- SUSE LLC's SUSE Manager
- Managing Linux Using Puppet
- My +1 Sword of Productivity
- Google's SwiftShader Released
- Parsing an RSS News Feed with a Bash Script
- Non-Linux FOSS: Caffeine!
- SuperTuxKart 0.9.2 Released
With all the industry talk about the benefits of Linux on Power and all the performance advantages offered by its open architecture, you may be considering a move in that direction. If you are thinking about analytics, big data and cloud computing, you would be right to evaluate Power. The idea of using commodity x86 hardware and replacing it every three years is an outdated cost model. It doesn’t consider the total cost of ownership, and it doesn’t consider the advantage of real processing power, high-availability and multithreading like a demon.
This ebook takes a look at some of the practical applications of the Linux on Power platform and ways you might bring all the performance power of this open architecture to bear for your organization. There are no smoke and mirrors here—just hard, cold, empirical evidence provided by independent sources. I also consider some innovative ways Linux on Power will be used in the future.Get the Guide