Hi Audun, Thank you for answering.
> The idea is to provide the JSM with a patch and synth (and other > metadata) database, > and a mechanism for sequencers to connect to and query the database. So > patch selection > will happen in the sequencer in the classical sense: I think that contradicts to what Thorsten wrote: > I think the patch selection would be more part of the JSM than the > sequencer, but the details must be figured out in collaboration with > sequencer authors. So it wouldn't be the sequencer requesting a patch, > but rather patch selection through the JSM, the JSM providing all > necessary info to the sequencer and changing connections. Thorsten also writes about JSM providing info to the sequencer. But as I understand it the trick is that the sequencer tells JSM what sound it wants so that JSM can find and select an appropriate patch from one of the available synthesizers. I think such a scheme could be implemented without a change to the sequencers. JSM being in between the sequencer and the synthesizers would receive the patch changes (PC / CC) from the sequencer and perform a translation to them before sending them to one of the synthesizers. +-Sequencer-+ +-----JSM-----+ +---------+ | | | | --CC 32 / PC 56-->| Synth A | | #TRACK 1# |-PC 32---|->Synth Bass-|-\ / +---------+ | | | | X | #TRACK 2# |-PC 06---|->Rhodes EP--|-/ \ +---------+ | | | | --PC 98---------->| Synth B | +-----------+ +-------------+ +---------+ That's how I understand it: JSM implements a standard patch list. Much like the General MIDI patch list (only more comprehensive). When JSM receives a patch change it makes use of the user provided synth profile in order find a synthesizer and to select a fitting patch from it. There's no need for JSM to talk back to the sequencer since it wouldn't make any difference. But it could be even easier: > From the outside, the computer can be dealt with like a single > compound synthesizer. Different synthesizers can be triggered from > ranges on a single keyboard (key splits). Synthesizers can be layered. > The whole setup can be switched with program changes. In such a scenario the sequencer (or master keyboard) wouldn't need to bother about patch selection at all. Patch selection would be entirely JSM's domain: +-Sequencer-+ +-----JSM-----+ +---------+ | | | | --CC 32 / PC 56-->| Synth A | | #TRACK 1# |---------|->Synth Bass-|-\ / +---------+ | | | | X | #TRACK 2# |---------|->Rhodes EP--|-/ \ +---------+ | | | | --PC 98---------->| Synth B | +-----------+ +-------------+ +---------+ Yours sincerely, Dennis Schulmeister -- Dennis Schulmeister - Schifferstr. 1 - 76189 Karlsruhe - Germany Tel: +49 721/5978883 - Mob: +49 152/01994400 - eMail: [EMAIL PROTECTED] Now moved to the corridor: Hermes! (http://ncc-1701a.homelinux.net) (mostly German) http://www.windows3.de - http://www.denchris.de http://www.audiominds.com - http://www.motagator.net/bands/65 <GunPG KeyID: B8382C97> On Sun, 2008-01-27 at 00:24 +0100, Audun Halland wrote: > Dennis Schulmeister wrote: > > So the idea is to decouple patch selection from the sequencers. A > > sequencer would just send MIDI data to a MIDI port offered to it by JSM. > > JSM in turn would provide the necessary means to select a patch from any > > synthesizer available. > > > The idea is to provide the JSM with a patch and synth (and other > metadata) database, > and a mechanism for sequencers to connect to and query the database. So > patch selection > will happen in the sequencer in the classical sense: I imagine that a > "patch" database entry > will contain the necessary information the sequencer needs in order to > get the right > sound from it's midi tracks: The port to connect to (A JSM jack midi > input port), the midi > channel and the required program and bank changes. The only thing that > changes inside > the sequencer is that it doesn't have to care about midi metadata, it > gets it for free from the > JSM. The sequencer is entirely free as to whether it wants to read the > JSM database or not. > The same old midi data is sent, and it can be set up by hand using low > level midi numbers > if one wants that instead. > > > > Of course for such a feature an arbitrary large library of meta-data of > > all patches of all MIDI-capable synthesizers ever built and written > > would be needed. :) > > > > > Metadata for most synths are available via a simple google search. The > plan for JSM is to > be able to read and import the standard instrument definition formats > and put the instrument definitions in > it's database, ready for sequencers to read. Some of the patch > categorization has to be set up > by hand, but some of it could also be automated due to the nature of > naming patches what they > sound like: A patch that sounds like a piano will likely have "piano" > somewhere in its patch name, > and JSM will hopefully correctly deduce that it belongs in the "piano" > category. > > -Audun Halland- > _______________________________________________ > Linux-audio-dev mailing list > Linux-audio-dev@lists.linuxaudio.org > http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev _______________________________________________ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev