Requirements
You need the following hardware/software components for installing and running SoundHelix:
- Java SE Development Kit or Runtime Edition 6 (JDK 6 or JRE 6) or later (http://www.oracle.com/technetwork/java/javase/downloads)
- Apache log4j 1.2.x or later (included)
- GNU Getopt 1.0.14 or later (included)
- a MIDI hardware playback device, MIDI-capable software or operation system's MIDI implementation
- some MIDI hub software a.k.a. virtual MIDI cable (optional)
- some audio recording software (optional)
Downloading, installing and starting SoundHelix
Download a binary package of SoundHelix and extract it somewhere. Then, open a console and go to that directory. Then on Windows simply run SoundHelix by typing
run.bat
You can also double-click on "run.bat" (or "run", depending on how it's displayed) using the Explorer.
On Linux or any other Unix variant type
./run.sh
(this requires the "x" flag of the script to be set; if it is not set, you can run "chmod a+x ./run.sh" upfront to set it).
Without parameters (like above), this will start SoundHelix with the XML file examples/SoundHelix-Piano.xml.
Run the script with the parameter "--help" to view the usage options:
Usage: java -jar SoundHelix.jar [options] xml-filename
Options:
-h
--help Show this help
-v
--version Show the application version
-s songname
--song-name songname Set the song name for seeding the random generator
-m
--show-midi-devices Show available MIDI devices with MIDI IN port
Instead of using a local filename you can use a URL that contains SoundHelix XML data. E.g., run "run.bat http://www.soundhelix.com/applet/examples/SoundHelix-Piano.xml". Supported URL schemes are http, https, ftp and file.
During playback, SoundHelix provides a very simple command console. Type "help" in the console to view the possible commands.
Logging
SoundHelix uses Apache log4j for logging. You can configure the log level to use in the "log4j.properties" file found in the SoundHelix directory. For details about how to configure log4j, please refer to the log4j documentation.
Using a MIDI hub (a.k.a. virtual MIDI router or virtual MIDI cable)
Some MIDI software (like Propellerhead Reason) does not offer a MIDI device itself, but can connect to an existing MIDI device to receive MIDI messages. SoundHelix also does not make itself visible as a MIDI device, so neither can SoundHelix connect to the MIDI software nor can the MIDI software connect to SoundHelix. In this case, you must install some MIDI hub software as a man-in-the-middle, for example loopMIDI (available for Windows, other platforms offer similar MIDI hub software), where both SoundHelix and the MIDI software can connect to. This software simply sets up a MIDI device that is visible from both Java and from any other MIDI software and relays MIDI messages between SoundHelix and the MIDI software. SoundHelix must be configured to use the MIDI hub input port as the MIDI output device and the MIDI software must use MIDI hub output port as the MIDI input device. A nice side effect of this approach is that you can start SoundHelix and the MIDI software independently, because they can both successfully connect to the MIDI hub, even if the corresponding MIDI partner has not connected yet.
With loopMIDI, simply create a MIDI port with any name and use this port in your SoundHelix XML file as the MIDI output device. The MIDI software can then use the same port for input. If needed, you can create more than one MIDI port (every MIDI port can handle upto 16 MIDI channels) and configure these ports as separate MIDI devices in SoundHelix. Visit the loopMIDI website to download loopMIDI. loopMIDI will run on Windows XP, Windows Vista and Windows 7 (both on 32-bit and 64-bit).





Comments
Virtual MIDI driver
Hi there,
for an alternative virtual MIDI driver,
you might take a look at loopMIDI on my website...
Best regards, Tobias
Works great
loopMIDI works great together with SoundHelix (both on 32-bit and 64-bit Windows). Thanks for the hint!
I've updated the documentation...
"With loopMIDI, simply create
"With loopMIDI, simply create a MIDI port with any name and use this port in your SoundHelix XML file as the MIDI output device."
Ok, but how i proceed to add a port in wich XML Sound Helix file please ?
Everybody are not programmers. I really beg you to give me some help, it will be very kind.
Thanks both of you for your creations.
Best regards.
In your SoundHelix XML file,
In your SoundHelix XML file, use the created MIDI port name in the "device" tag of the MidiPlayer, like this (here, the created loopMIDI port is called "loopMidiPort"):
<device name="device1" clockSynchronization="true">loopMidiPort</device>
The MIDI device can then be referenced by the name "device1". You can map the instruments to that MIDI device like this:
<map instrument="percussion" device="device1" channel="1"/>
Exporting
Hi, Is it possible to export the generated song to a raw MIDI file? If so, how? Thanks in advance, Frenk. (Combine)
It is currently not possible
It is currently not possible to export songs in MIDI format. However, this will most likely be a new feature added in SoundHelix 0.5.
MIDI export now available
MIDI format export is now part of SoundHelix 0.5u and will be part of the final release 0.5. See the MidiPlayer configuration for details.
Add new comment