MIDI Instrument Maps

You name it!
Alex
Moderator
Posts: 316
Joined: Wed Jan 23, 2008 9:08 pm

Re: Midi Map.

Post by Alex » Wed Mar 19, 2008 1:40 pm

Anders, I followed the instructions, and i get this error:

[javac] /home/alex/jsampler/src/org/jsampler/AudioDeviceModel.java:27: cannot access org.linuxsampler.lscp.AudioOutputDevice
[javac] bad class file: /home/alex/jsampler/dist/build/org/linuxsampler/lscp/AudioOutputDevice.class
[javac] class file has wrong version 50.0, should be 49.0
[javac] Please remove or make sure it appears in the correct subdirectory of the classpath.
[javac] import org.linuxsampler.lscp.AudioOutputDevice;
[javac] ^
[javac] 1 error

Any clues?

Alex.

User avatar
dahnielson
Moderator
Posts: 632
Joined: Wed Jan 23, 2008 11:25 pm
Location: Linköping / Tranås, Sweden
Contact:

Re: Midi Map.

Post by dahnielson » Wed Mar 19, 2008 1:56 pm

Best to wait for Big-G to answer that. :)
Anders Dahnielson

Ardour2, Qtractor, Linuxsampler, M-AUDIO Delta 1010, Axiom 61, Korg D12, AKAI S2000, E-MU Proteus 2k, Roland R-5, Roland HP 1300e, Zoom RFX-1000, 4GB RAM x86_64 Intel Pentium Dual 1.80GHz Gentoo Linux

Alex
Moderator
Posts: 316
Joined: Wed Jan 23, 2008 9:08 pm

Re: Midi Map.

Post by Alex » Wed Mar 19, 2008 2:01 pm

Hehe, yes i think you're right.
Way over my head.

:)

grishata
Developer
Posts: 138
Joined: Thu Jan 24, 2008 7:21 pm
Location: Bulgaria
Contact:

Re: Midi Map.

Post by grishata » Wed Mar 19, 2008 2:40 pm

Anders, I followed the instructions, and i get this error:

[javac] /home/alex/jsampler/src/org/jsampler/AudioDeviceModel.java:27: cannot access org.linuxsampler.lscp.AudioOutputDevice
[javac] bad class file: /home/alex/jsampler/dist/build/org/linuxsampler/lscp/AudioOutputDevice.class
[javac] class file has wrong version 50.0, should be 49.0
Java 5 uses class version 49.0
Java 6 uses class version 50.0

Most probably you are using JDK5 instead of JDK6 to compile jsampler, not sure. Make sure JAVA_HOME points to a JDK6. Note that you should also compile and jlscp from cvs and put it in lib/required directory.
I'm planning to start maintaining and recent CVS version of jsampler for download, so when there are significant changes in the CVS version, there will be a recent build available for download.

Alex
Moderator
Posts: 316
Joined: Wed Jan 23, 2008 9:08 pm

Re: Midi Map.

Post by Alex » Wed Mar 19, 2008 3:04 pm

Success!

Thanks G, i stripped out the old Java 5, defined a new JAVA HOME, copied across the latest CVS jlscp, and it built no problem. The midi instrument load is much quicker, and amusingly, fantasia is a lot more stable, so i guess there must have been some sort of conflict happening between java 5 and 6 that was messing things up more generally.

This has been a useful exercise in more than one way.

Much appreciated!

Alex.

:)

Alex
Moderator
Posts: 316
Joined: Wed Jan 23, 2008 9:08 pm

Re: Midi Map.

Post by Alex » Mon Mar 24, 2008 1:21 pm

As a follow up to the now successful jconv install, and usage, i'd also add that i've successfully resamplerated some IRs i had which were 44.1, and are now 48, thanks to a little programme called Sweep.
This little programme is terrific for resampling, and does it quick, without losing anything from the quality of the original sampled space wav.

Alex.

:)

Alex
Moderator
Posts: 316
Joined: Wed Jan 23, 2008 9:08 pm

MIDI Instrument Maps

Post by Alex » Sun Jun 15, 2008 7:49 pm

A quick heads up.

After some time building a midi instrument map as an orchestral GM default, i put it into action this week. and the key to this was the option "On demand hold". A highly underrated feature of LS that frankly, rocks.

With 127 instruments, 16channels, and a determination to test this to the hilt, i set up a quick template in Rosegarden, and set to work, per channel, introducing as many programme changes as i could.

The on demand hold feature does exactly what it says on the tin. If you select a programme numbered instrument, then change the number, the original is held in ram, until you need it again. In the past, a similar feature in 'other' apps would eventually grind to a halt, as the system and app couldn't keep up with the changes. But LS didn't. With 16 programme changes in one bar, for example, at 120bpm, things were easy. So i copied the pattern for different instruments, 16 changes each per bar, across 16 channels, and a wide selection across an orchestra. Still couldn't break it, and more, there were no perceptible gltches, faltering, or hesitation in playback. I added tempo changes to this, and still couldn't make it fall over.

I'm impressed enough with the feature to write about it, and further to this, it means i can build a much bigger, multi bank, instrument map, knowing that although i have all the instruments available, i'm not going to use them all at once.
So the 4gb of ram in the box, of which i usually assign 3.2 gb to LS, is now a virtual '10gb' (for the sake of an example), with anything i select on tap,ready to roll. All this was done in Fantasia (the latest), and Rosegarden was used for the testing. (Sadly RG still doesn't usejackmidi, but that's another story.) The instrument swapping is amazing to watch in action. :D At the height of activity, htop recorded me using 2.4gb of ram. For the equivalent in straight channel loaded instruments on tap and ready to fire, all in ram, i'd need 6 or 7GB at least.


"On demand hold."

A quiet achiever, and ideal for those with limited ram resource who just want to write, instead of manually swapping stuff in and out, or constantly building templates, constrained by hardware. I consider this a great example of optimising resource for the user by getting it right the first time around.

Well done the LS team for a great feature.

Alex.
and now it's back to the smoke filled laboratory, and more experiments..............

Alex
Moderator
Posts: 316
Joined: Wed Jan 23, 2008 9:08 pm

Re: midi instrument maps

Post by Alex » Thu Jun 19, 2008 8:55 am

Here's some screenshots of on demand hold in 'action'.
The first is Fantasia, frontend for Linuxsampler, and on the left you can see the midi instrument maps i've built for orchestral use. There are 29 channels here, corresponding to a channel each for an orchestral instrument, or section. The intent with this 'short' template is to drive articulation changes with programme numbers from within Rosegarden (1.7.0), with audio out to Ardour 2.4 ongoing. (svn version)

Image

The next shot is Rosegarden's midi port window, showing renamed ports reflecting correspoding Linuxsampler ports.
Within Rosegarden, one can also build complete patch maps, but in my case, i change programme numbers in the event editor. You can also see how easy it is to fit a medium size orchestra within one window, and in doing so, reduce the amount of scrolling normally associated with a large track count. I've had to do that with up to 400+ tracks and it's no fun at all. Linuxsampler's 'On demand hold" means programme changes are virtually instant, so that complicated string line plays back as it should, and doesn't falter. A lot easier to handle 29 tracks, than 400+, i can assure you.

Image

Finally, here's a quick snapshot of the event list editor in RG, showing the programme changes entered in a raw state for a short section of 1st violins. RG has an absolute time indicator which can be modified, so after entering these changes i would reduce the absolute time by a tiny fraction, to ensure the programme change will take place before the note, in any circumstance.

Image


More to come,

Alex.

ccherrett
Advanced User
Posts: 162
Joined: Wed Jan 23, 2008 11:24 pm
Contact:

Re: midi instrument maps

Post by ccherrett » Tue Jul 29, 2008 5:08 am

I would pay for a detailed video tutorial of your setup. It is exactly what I would like to do with my VSL libraries.

User avatar
davephillips
User
Posts: 32
Joined: Fri Feb 22, 2008 3:32 pm

Re: midi instrument maps

Post by davephillips » Tue Jul 29, 2008 4:12 pm

Wonderful stuff, Alex, thank you for posting these amazing reports. Have you considered collecting your posts from here and the Reaper board, perhaps for publication of some kind ?

Post Reply