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: dennis@email-addr-hidden 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@email-addr-hidden > http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev _______________________________________________ Linux-audio-dev mailing list Linux-audio-dev@email-addr-hidden http://lists.linuxaudio.org/mailman/listinfo/linux-audio-devReceived on Sun Jan 27 16:15:19 2008
This archive was generated by hypermail 2.1.8 : Sun Jan 27 2008 - 16:15:19 EET