Resources for “Running Windows Audio Applications under Wine”

Resources for the print article.

Wine Web Site: www.winehq.com

AudioMulch: www.audiomulch.com

Band-in-a-Box: www.pgmusic.com

Buzz (official site): www.buzzmachines.com

Buzz from Flavor8: flavor8.com/index.php/2005/10/15/buzz-tracker-on-linux

Other System Emulators: linux-sound.org/different.html

FST Project (VST Plugins on GNU/Linux): joebutton.co.uk/fst

______________________

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.

problem configuring a DAW under Linux and using the VST plug-ins

cavapippo's picture

Hi Davis,
I’m not familiar with the Linux Audio system. But I’m sure you will be able to help me.
I’ve read a lot of documents about how to setup a Linux for a musician and I’ve already tested a few distributions: Planet CCRMA, DEMUDI, MUSIX etc.
In the past I started using a Fedora Core 3; I rebuilt the kernel with the low latency patch and all the tools (jack etc.).
Now I'm using DEMUDI.

My issue is very easy: I have not a DAW under Linux yet! :-(

Note: I also use Windows (sorry for that) with the KX-Project drivers. So, with my SLBlaster Live Platinum, I’m able to play my guitar adding, in real-time, some VST plug-ins. Moreover, I can use the IK AmplitubeONE (it’s free!) as a stand alone application. Obviously, I use the ASIO driver with a latency of 10ms.

Summarizing my questions are:
How can I reproduce the same environment under Linux?
Which is the best distribution to do that?

I wonder if my issues only depend of a wrong configuration of the JACK connections.

Finally, I’ve found a lot of web documentation about how to use the VST plug-ins but I only can say: now I’m really confused!

Thanks a lot
Giuseppe

wine midi mapper not working?

Wolfgang Polzleitner's picture

Hi Dave!

I have just read your wonderful article in LJ 2006/05. You offered to be interested in feedback, which I am posting here.

Stimulated by your success story I ventured to try and get Band-In-A-Box installed on my Suse 10.0 system. I installed the program, but I did not get the sound working. BB displays the "wine midi mapper" in the available midi output drivers list (Opt->Midi driver setup), but BB keeps complaining that there is no MIDI Output Driver installed. Searching the web did not provide any answers to this problem, only nurtured my suspicion that midi mapper is not working in wine.
MY QUESTION: What did you do to be able to select the Emu10k1 (where is that menu, drop down list, configuration entry)? You do not seem to have been bothered by this midi mapper situation.

By the way, I use the latest version of wine (wine --version displays Wine 20060303), the crossover office version does the same (Wine 20050830).

Any help from anyone would be greatly appreciated.

Cheers (and thanks again for your great work!)

Wolfgang

Bank-In-A-Box 2005 and 2006, working fine in wine and cxoffice

Wolfgang Polzleitner's picture

Following my previous comment, I seem to have solved the problem. Here are the major steps (the impatient can find a summary at the end of my comment):

0. My system
SUSE 10.0, kernel 2.6.13-15.8-default, ALSA 1.0.9b

1. Sound Configuration.
The sound configuration of WINE has been changed by wine HQ and is now (versions after July 2005) only possible through the registry (the ~/.wine/config file is happily ignored by the new versions). The best way to configure your wine sound system is to do

# for cxoffice
$ wine --wl-app winecfg

or

# for the "regular" wine
$ winecfg

When you issue this command from the shell, the configuration window pops up. Select the Audio tab, and choose ALSA. (Sometimes I had to choose something else first and then ALSA to force the program to take over the selected parameter).

2. Midi driver setup in BIAB.
Now I can do (from the Band-In-A-Box wine-directory)

$ wine bbw.exe

and do "Opt." -> "Midi driver setup" and (WOW!) I can see my MIDI devices.
I don't have a MIDI-"enabled" sound card, so I need to play either through the MIDI-piano, or use timidity. However, using timidity is a little tricky:

3. Timidity.
The version of timidity I have (2.13.2-52) does not communicate correctly with Band-In-A-Box. It does receive MIDI data, but in a wrong way. I verified this by patching timidity from the source code (playmidi.c) to give me the MIDI events it acutally receives. The channels are screwed up. The reason is some weird combination of how Band-In-A-Box sends the MIDI events, ALSA, and timidity. (I tried Sweet-Midi, a Windows midi-player, and it worked fine with timidity). When I dump the midi events BIAB sends using

$ amidi -p virtual -d &

(and using the "virtual" MIDI-device in BIAB), the events from BIAB seem o.k. But how to get marvellous timidity back in business?

The good news: I found a work-around using Midi-Through. I need to start timidity as usual, e.g.,


$ timidity -iA -B2,8 -Os &
Requested buffer size 2048, fragment size 1024
ALSA pcm 'default' set buffer size 65536, period size 16384 bytes
TiMidity starting in ALSA server mode
Opening sequencer port: 128:0 128:1 128:2 128:3

And then do

$ aconnect 62:0 128:0

The magic 62:0 and 128:0 happen to be the port my Midi-Through virtual sound card is using and the port timidity offered when you started it. You can find out what you have to use instead of 62:0 by typing

$ cat /proc/asound/devices

and look for "raw midi" in the output.

Now, restart BIAB, goto Opt.->Midi driver setup, select Midi-Through, and try to play something. You shoud get timidity sound!

A final remark: I tried Midi-Through also to get BIAB sending its events to a VST-plugin using FST (Native Instruments Akoustic Piano). There I needed to disable "Midi-Thru" in the Midi driver setup window. Otherwise, even a single Midi event seemed to bounce back and forth between BIAB and the VST, finally forcing the VST to die of Midi event suffocation.

4. TODO
I have not had time to test any latency issues when playing a "real keyboard" throug BIAB related to this setup. Anyone interested, drop me a line.

5. SUMMARY
Here is a summary of the whole setup:

# -- Configure wine to use ALSA
$ winecfg # for "regular" wine
# -- for cxoffice # for cxoffice wine
$ wine --wl-app winecfg


$ timidity -iA -Os -B2,8 &
$ aconnect 62:0 128:0 # replace 62 and 128 by "your" values)


$ wine bbw.exe
# -- or
$ wine --start bbw.exe


# -- Then do Opt.-> Midi driver setup: Select Midi-Through
PLAY PLAY PLAY PLAY PLAY PLAY PLAY PLAY PLAY PLAY PLAY PLAY PLAY

error with aconnect

Anonymous's picture

Hello,
Thanks for your help. Indeed, OSS consume more CPU resources and I can use it. But with alsa, I can follow your advise. When I type
aconnect 8:0 128:0
I get :
connection failed (Argument invalide)
So timidity server works perfectly with 128:0
And when I type
cat /proc/asound/devices
I obtain :
0: [ 0] : control
1: : sequencer
4: [ 0- 0]: hardware dependent
6: [ 0- 2]: hardware dependent
8: [ 0- 0]: raw midi
9: [ 0- 1]: raw midi
10: [ 0- 2]: raw midi
16: [ 0- 0]: digital audio playback
18: [ 0- 2]: digital audio playback
19: [ 0- 3]: digital audio playback
24: [ 0- 0]: digital audio capture
25: [ 0- 1]: digital audio capture
26: [ 0- 2]: digital audio capture
33: : timer

So, 8:0 is a good value, no ? Idem for 9:0 or 10:0

Thanks for help,
Thibaud.

MIDI-thru

Alain's picture

Thanks for this great article and the comments. In Wolfgang's comment I miss a useful piece of info. It took me a while to find out, what your MIDI-Thru is and how to set it up.

What I had to do is load the snd-seq-dummy module to get a MIDI-Thru at port 62:0

then I did the
aconnect 62:0 128:0

now biab plays!

regards
Alain

Thank you

Anonymous's picture

Many thanks, now i can play Dink SmallWood in wine with midi sound.

VIRTUAL DJ 5 WORKS UNDER

Anonymous's picture

VIRTUAL DJ 5 WORKS UNDER WINE
WTF NICE

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