[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [fluid-dev] Sending MIDI Events from a MIDI Keyboard on Mac OS X

From: mike
Subject: Re: [fluid-dev] Sending MIDI Events from a MIDI Keyboard on Mac OS X
Date: Fri, 01 Apr 2011 23:39:05 +0100
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv: Gecko/20100430 Fedora/3.0.4-2.fc11 Thunderbird/3.0.4

On 04/01/2011 10:49 AM, Pedro Lopez-Cabanillas wrote:
On Tuesday 29 March 2011, mike wrote:
On 03/27/2011 09:14 PM, Bastien Dejean wrote:

I thought by reading the man page that I could just plug my USB MIDI Keyboard, launch fluidsynth with a soundfont as argument and play.
But it seems I'm missing something.
I tried 'fluidsynth -d -m coremidi x.sf2' but I don't see any MIDI events being received.

Any hints ?

fluid-dev mailing list


Can I ask the same question for Windows?  I'll be using Qsynth with 
fluidsynth and I also have a USB MIDI keyboard connection.  I have the 
software installed but haven't tried this part yet.

I tried previously with a different USB connection which installed the 
drivers under USB instead of sound and could never figure out how to 
make Qsynth see the driver.  That's why I'm asking here.

BTW I'm using the fluidsynth bundled with Qsynth (version 1.1.1) for 
getting started purposes if it makes a difference.  Also the version of  
Windows is XP Professional SP3. The MIDI/USB connection is a Cakewalk 
branded MIDI/USB interface.  Again for getting started purposes I'd like 
to use the default Windows drivers and not Roland's.

Previously Pedro wrote this:
Yes, FluidSynth can read from Windows MIDI ports. Using the command line interface program (fluidsynth.exe), you need to provide the exact port name (including spaces) in the command line:

C:>  fluidsynth.exe -o midi.winmidi.device="port name"

The list of available port names are listed in the sound settings of the windows control panel.
In the worst case can "port name" be a USB port or should XP install 
drivers that will map the USB into the sound settings of the control 
panel?  Also, do I need an equivalent of the Patchbay application for 
Mac OS X?
The port name given to FluidSynth must be the name provided by a MIDI device using a Windows MIDI driver. It doesn't matter if the device is connected externally to an USB computer port, or it is an internal PCI card, you need to install a specific Windows driver for your MIDI device, usually the driver provided by the manufacturer of the MIDI device.

The port names can be obtained using FluidSynth itself. To do so, plug and switch on all your devices, start fluidsynth.exe at the command prompt, and type this command in the FluidSynth shell: "info midi.winmidi.device". for Instance:

FluidSynth version 1.1.1
Copyright (C) 2000-2009 Peter Hanappe and others.
Distributed under the LGPL license.
SoundFont(R) is a registered trademark of E-mu Systems, Inc.

Type 'help' for help topics.

info midi.winmidi.device
Type:          string
Value:         default
Default value: default
Options:       EDIROL UA-4FX, In From MIDI Yoke:  1, In From MIDI Yoke:  2, RedLocal, default
Real-time:     no

The line "Options" contains a list of all the available MIDI IN ports in my system, including the "EDIROL UA-4FX", which is an external USB MIDI and audio device.

About the MIDI patchbay question: No. You don't need a MIDI patchbay software, because unlike in Linux/ALSA and Mac OSX/CoreMIDI, FluidSynth reads MIDI data directly from a system device. Also, unlike in Linux and Mac, you can't connect directly the MIDI output of some other software (like VMPK, a virtual piano) to the MIDI input of FluidSynth. To do so, emulating in Windows some of the MIDI routing capabilities of other operating systems you can use virtual MIDI cables like MIDI Yoke and MIDI-OX, but this is not needed in your case if you only want to connect an external USB MIDI device to FluidSynth.


Thanks very much for all that.  That's very clear.  I look forward to trying it.

fluid-dev mailing list


reply via email to

[Prev in Thread] Current Thread [Next in Thread]