Hammond XK1

kelsmusic's icon

kelsmusic

12月 24 2006 | 10:42 午前

Hi all,

I really can't at this time tell you the full story but here it is in a
nutshell:

I own a Hammond XK1, great keyboard for Hammond sounds and a few extra
patches to boot (vintage keys etc). I'm trying to send system exclusive
messages to change some parameters via max. As the manual calls some of
the parameters NRPN (Non-Registered Parameter Number(s)), so I can't go
changes settings via ctlin.

So what I am asking is has anyone had any experience with the XK1 in
the area of system exclusive, and as far as system exclusive goes I'm
having a little trouble...well a lot of trouble in trying to piece
together the right combination of numbers using the appendix in the
back of the XK1 instruction manual.

Hope to hear from someone soon.

Kel

Kasper's icon

Kasper

12月 24 2006 | 11:04 午前

>Hi all,
>
>I really can't at this time tell you the full story but here it is
>in a nutshell:
>
>I own a Hammond XK1, great keyboard for Hammond sounds and a few
>extra patches to boot (vintage keys etc). I'm trying to send system
>exclusive messages to change some parameters via max. As the manual
>calls some of the parameters NRPN (Non-Registered Parameter
>Number(s)), so I can't go changes settings via ctlin.
>
>So what I am asking is has anyone had any experience with the XK1 in
>the area of system exclusive, and as far as system exclusive goes
>I'm having a little trouble...well a lot of trouble in trying to
>piece together the right combination of numbers using the appendix
>in the back of the XK1 instruction manual.
>

you want to receive info from your hammond in Max, and it sends sysex
which ctlin does not understand, right???

if so use midiin - i never used it with a hammond, but received sysex
info from different hardware devices with midiin

best

kasper
--
Kasper T. Toeplitz
noise, composition, bass, computer
http://www.sleazeArt.com

Trond Lossius's icon

Trond Lossius

12月 24 2006 | 11:37 午前

XG-MIDI-tools might be of use to you. Originally designed for the Yamaha
XG MIDI standard, it can be used to send NRPN messages to the module. It
is all done as abstractions, so even if your synth use different SysEx
messages, you might be able to get some inspiration looking at the
abstractions for sending XG sysex messages. Found here:

AFAIR jasch also has made externals or abstractions for sending NRPN.
Search maxobjects.com for more info.

Best,
Trond

Kelly Ottaway wrote:
> Hi all,
>
> I really can't at this time tell you the full story but here it is in
> a nutshell:
>
> I own a Hammond XK1, great keyboard for Hammond sounds and a few extra
> patches to boot (vintage keys etc). I'm trying to send system
> exclusive messages to change some parameters via max. As the manual
> calls some of the parameters NRPN (Non-Registered Parameter
> Number(s)), so I can't go changes settings via ctlin.
>
> So what I am asking is has anyone had any experience with the XK1 in
> the area of system exclusive, and as far as system exclusive goes I'm
> having a little trouble...well a lot of trouble in trying to piece
> together the right combination of numbers using the appendix in the
> back of the XK1 instruction manual.
>
> Hope to hear from someone soon.
>
> Kel

kelsmusic's icon

kelsmusic

12月 24 2006 | 12:32 午後

Thanks for the link Trond.

I did find it a little confusing, more confronting as to how little I
know about system exclusive messaging. I think the main problem I have
is decifering the tables and tables of system exclusive parameters in
the back of the Hammond instruction manual.

Any advice in that area, as to what I should be looking for eg Device
ID, LSB, MSB? My problem is putting it into some sought of order that
can be read by my keyboard. I had a crack at the sxformat object, with
no success. I suppose it comes down to do I have the right tool for the
job or am I the tool in the wrong job?

Again, any help, suggestions gladly taken on board.

Kel

On 24/12/2006, at 10:37 PM, Trond Lossius wrote:

> XG-MIDI-tools might be of use to you. Originally designed for the
> Yamaha XG MIDI standard, it can be used to send NRPN messages to the
> module. It is all done as abstractions, so even if your synth use
> different SysEx messages, you might be able to get some inspiration
> looking at the abstractions for sending XG sysex messages. Found here:
>
> http://www.bek.no/~lossius/download
>
> AFAIR jasch also has made externals or abstractions for sending NRPN.
> Search maxobjects.com for more info.
>
> Best,
> Trond
>
>
>
> Kelly Ottaway wrote:
>> Hi all,
>>
>> I really can't at this time tell you the full story but here it is in
>> a nutshell:
>>
>> I own a Hammond XK1, great keyboard for Hammond sounds and a few
>> extra patches to boot (vintage keys etc). I'm trying to send system
>> exclusive messages to change some parameters via max. As the manual
>> calls some of the parameters NRPN (Non-Registered Parameter
>> Number(s)), so I can't go changes settings via ctlin.
>>
>> So what I am asking is has anyone had any experience with the XK1 in
>> the area of system exclusive, and as far as system exclusive goes I'm
>> having a little trouble...well a lot of trouble in trying to piece
>> together the right combination of numbers using the appendix in the
>> back of the XK1 instruction manual.
>>
>> Hope to hear from someone soon.
>>
>> Kel
>

LoneMonad aka don malone's icon

LoneMonad aka don malone

12月 24 2006 | 12:39 午後

tell us which parameter you want to change

post a table
or a link to the manual

kelsmusic's icon

kelsmusic

12月 24 2006 | 12:55 午後

The link above goes to the PDF of the entire user manual.

What I am trying to do is change the slow speed of the Drum and HOrn in
the Leslie Speaker and to change the speed up/slow down time of the
Leslie. I would usually save them to the internal memory of the hammond
but I only recieved it a couple of days ago. I have a festival to play
at in the next couple of weeks and the backup memory is faulty, not
saving anything. What I was hoping to do would be to compile the data
in max and transfer it at the gig and then it would be good to go,
until next time I play.

What I should do is send it back to the dealer, but I won't et it back
in time for my gigs.

Rock and a hard place.

Kel

On 24/12/2006, at 11:39 PM, don malone wrote:

>
> tell us which parameter you want to change
>
> post a table
> or a link to the manual
>
> --
> it takes all of us
> LoneMonad
> http://faculty.roosevelt.edu/malone/default.htm
>

Chris Muir's icon

Chris Muir

12月 24 2006 | 6:10 午後

At 11:55 PM +1100 12/24/06, Kelly Ottaway wrote:
>https://www.suzuki-music.co.jp/en/pdf/xk_1.pdf
>
>The link above goes to the PDF of the entire user manual.

It looks like the table on the top of page 100 is all that you need, although I don't understand the distinction between "NRPN on XK" and "NRPN on 21", and the other mention I found of this on page 84 didn't help elucidate me. I would try sending the NRPNs both ways and see what works on your unit.

- C

--
Chris Muir | "There are many futures and only one status quo.
cbm@well.com | This is why conservatives mostly agree,
http://www.xfade.com | and radicals always argue." - Brian Eno

kelsmusic's icon

kelsmusic

12月 24 2006 | 11:42 午後

Yeah, page 100 looks like what I need, but putting it into some idea of
sequence that the Hammond will understand is difficult - I'm having a
bit of trouble trying work out what goes where int he sequence. This
what I have got using the sxformat object, it's not in hex:

sxformat 240 85 98 6 99 1/ is $i1 % 99 / 247

This goes into midiout a 1.

As you can see, I've ripped off the example in tutorial 34 as a start,
but I have a feeling that it could be a completely different ball game
to this.

Kel

On 25/12/2006, at 5:10 AM, Chris Muir wrote:

> At 11:55 PM +1100 12/24/06, Kelly Ottaway wrote:
>> https://www.suzuki-music.co.jp/en/pdf/xk_1.pdf
>>
>> The link above goes to the PDF of the entire user manual.
>
> It looks like the table on the top of page 100 is all that you need,
> although I don't understand the distinction between "NRPN on XK" and
> "NRPN on 21", and the other mention I found of this on page 84 didn't
> help elucidate me. I would try sending the NRPNs both ways and see
> what works on your unit.
>
> - C
>
> --
> Chris Muir | "There are many futures and only one status quo.
> cbm@well.com | This is why conservatives mostly agree,
> http://www.xfade.com | and radicals always argue." - Brian Eno
>

Chris Muir's icon

Chris Muir

12月 25 2006 | 2:04 午前

Ah, NRPNs are not sysex. It's a series of controller messages. The
first two select which parameter is to be addressed, and then the
data controller effects the addressed destination. I have to run out
to dinner right now, but I'll whip up a simple example later tonight.

-C

--
Chris Muir | "There are many futures and only one status quo.
cbm@well.com | This is why conservatives mostly agree,
http://www.xfade.com | and radicals always argue." - Brian Eno

kelsmusic's icon

kelsmusic

12月 25 2006 | 4:28 午前

That would be fantastic! Thank-you for your help.

Kel
On 25/12/2006, at 1:04 PM, Chris Muir wrote:

>
> Ah, NRPNs are not sysex. It's a series of controller messages. The
> first two select which parameter is to be addressed, and then the data
> controller effects the addressed destination. I have to run out to
> dinner right now, but I'll whip up a simple example later tonight.
>
> -C
>
> --
> Chris Muir | "There are many futures and only one status quo.
> cbm@well.com | This is why conservatives mostly agree,
> http://www.xfade.com | and radicals always argue." - Brian Eno
>

Chris Muir's icon

Chris Muir

12月 25 2006 | 7:26 午前

At 3:28 PM +1100 12/25/06, Kelly Ottaway wrote:
>That would be fantastic! Thank-you for your help.

OK, a couple things to keep in mind:
- I have no way of testing this with anything that receives NRPNs, much less your keyboard.
- It's been a while since I did anything w/ NRPNs or RPNs, this may be wrong in some detail.
- There are certainly more elegant ways to do this.

That said, I think it has a shot of working for you, or at least steering you in the right direction.

Good Luck,
- C

Max Patch
Copy patch and select New From Clipboard in Max.

--
Chris Muir | "There are many futures and only one status quo.
cbm@well.com | This is why conservatives mostly agree,
http://www.xfade.com | and radicals always argue." - Brian Eno

Chris Muir's icon

Chris Muir

12月 25 2006 | 9:26 午後

At 11:26 PM -0800 12/24/06, Chris Muir wrote:
>OK, a couple things to keep in mind:
> - I have no way of testing this with anything that receives NRPNs, much less your keyboard.
> - It's been a while since I did anything w/ NRPNs or RPNs, this may be wrong in some detail.
> - There are certainly more elegant ways to do this.

I had a boneheaded error in the previous patch (decimal/hex confusion on controller numbers).
Try this one, instead:

Max Patch
Copy patch and select New From Clipboard in Max.

--
Chris Muir | "There are many futures and only one status quo.
cbm@well.com | This is why conservatives mostly agree,
http://www.xfade.com | and radicals always argue." - Brian Eno

kelsmusic's icon

kelsmusic

12月 26 2006 | 12:06 午前

Thanks Chris. I'll give this version a shot.

To everyone on the list I have a simple question: How do you get text
to convert into a patch? I'm running version 4.5.4 of max so it doesn't
have latest in converting techniques.

Can I get a little help please.

Thanks.

Kel

On 26/12/2006, at 8:26 AM, Chris Muir wrote:

> At 11:26 PM -0800 12/24/06, Chris Muir wrote:
>> OK, a couple things to keep in mind:
>> - I have no way of testing this with anything that receives NRPNs,
>> much less your keyboard.
>> - It's been a while since I did anything w/ NRPNs or RPNs, this may
>> be wrong in some detail.
>> - There are certainly more elegant ways to do this.
>
> I had a boneheaded error in the previous patch (decimal/hex confusion
> on controller numbers).
> Try this one, instead:
>
> #P window setfont "Sans Serif" 9.;
> #P hidden number 388 85 35 9 0 255 19 3 0 0 0 221 221 221 222 222 222
> 0 0 0;
> #P hidden number 388 59 35 9 0 255 3 3 0 0 0 221 221 221 222 222 222 0
> 0 0;
> #P window linecount 1;
> #P hidden newex 405 72 62 196617 prepend set;
> #P comment 130 108 90 196617 NRPN Destination;
> #P user uslider 49 123 18 75 128 1 0 0;
> #P hidden newex 198 86 30 196617 t b s;
> #P hidden newex 275 55 40 196617 t b b b;
> #P comment 50 274 27 196617 Data;
> #P hidden message 64 233 14 196617 6;
> #P user umenu 133 122 105 196647 1 64 138 1;
> #X add Slow Speed Horn;
> #X add Slow Speed Bass;
> #X add Fast Speed Horn;
> #X add Fast Speed Bass;
> #X add Rise Time Horn;
> #X add Rise Time Bass;
> #X add Fall Time Horn;
> #X add Fall Time Bass;
> #X add Brake Time Horn;
> #X add Brake Time Bass;
> #X add Volume Horn;
> #X add Volume Bass;
> #X add Mic. Angle;
> #X add Mic. Distance;
> #X add Horn Character;
> #P comment 309 214 106 196617
> #P hidden message 135 103 14 196617 0;
> #P number 133 213 35 9 0 127 3 3 0 0 0 221 221 221 222 222 222 0 0 0;
> #P number 276 213 35 9 0 127 3 3 0 0 0 221 221 221 222 222 222 0 0 0;
> #P number 148 235 35 9 0 127 19 3 0 0 0 221 221 221 222 222 222 0 0 0;
> #P number 291 235 35 9 0 127 19 3 0 0 0 221 221 221 222 222 222 0 0 0;
> #P window setfont "Sans Serif" 12.;
> #P number 49 231 46 12 0 127 3 3 27 40 221 221 221 221 0 0 0 255 255
> 255;
> #P window setfont "Sans Serif" 9.;
> #P hidden message 326 238 20 196617 98;
> #P hidden message 184 233 20 196617 99;
> #P window linecount 2;
> #P comment 139 274 38 196617 MSB (0x63);
> #P comment 280 274 39 196617 LSB (0x62);
> #P window linecount 1;
> #P hidden message 275 102 14 196617 0;
> #P hidden newex 275 35 48 196617 loadbang;
> #P hidden message 276 192 14 196617 6;
> #P hidden message 297 193 26 196617 127;
> #P hidden newex 275 172 55 196617 select 0 1;
> #P user radiogroup 275 118 18 32;
> #X size 2;
> #X offset 16;
> #X inactive 0;
> #X itemtype 0;
> #X flagmode 0;
> #X set 0;
> #X done;
> #P comment 292 136 62 196617 NRPN on 21;
> #P comment 292 120 62 196617 NRPN on XK;
> #P newex 49 254 40 196617 ctlout;
> #P newex 276 254 40 196617 ctlout;
> #P hidden message 191 29 14 196617 1;
> #P user umenu 143 53 100 196647 1 64 69 1;
> #X add "AU DLS Synth 1";
> #X add "IAC Driver Bus 1";
> #X add "from MaxMSP 1";
> #X add "from MaxMSP 2";
> #P hidden newex 143 30 45 196617 midiinfo;
> #P newex 133 254 40 196617 ctlout;
> #P hidden comment 195 312 62 196617 NRPN on 21;
> #P window linecount 2;
> #P hidden comment 221 328 27 196617 MSB (63);
> #P hidden comment 192 328 27 196617 LSB (62);
> #P hidden comment 161 328 27 196617 MSB (63);
> #P window linecount 1;
> #P hidden comment 50 375 394 196617 Slow Speed Bass 6 1 7F
> 1 0 - 63(0 , 24 - 318rpm) 5 (36rpm);
> #P hidden comment 50 360 394 196617 Slow Speed Horn 6 0 7F
> 0 0 - 63(0 , 24 - 318rpm) 5 (36rpm);
> #P window linecount 2;
> #P hidden comment 132 328 27 196617 LSB (62);
> #P window linecount 1;
> #P hidden comment 129 313 62 196617 NRPN on XK;
> #P comment 330 236 138 196617
> #P comment 17 234 30 196617 Data;
> #P comment 143 38 53 196617 MIDI Port;
> #P window linecount 3;
> #P comment 21 47 90 196617 1 - Set MIDI Port 2 - Set NRPN Dest 3 - Set
> Data;
> #P window linecount 2;
> #P comment 272 94 62 196617 Mysterious NRPN Type;
> #P connect 43 0 31 0;
> #P hidden connect 42 1 18 0;
> #P connect 31 0 18 0;
> #P hidden connect 41 2 39 0;
> #P hidden connect 39 0 18 1;
> #P hidden connect 36 0 38 0;
> #P connect 38 0 35 0;
> #P hidden connect 42 1 13 0;
> #P connect 35 0 13 0;
> #P hidden connect 41 0 36 0;
> #P hidden connect 16 0 14 0;
> #P hidden connect 14 0 15 0;
> #P hidden connect 29 0 33 0;
> #P connect 33 0 13 1;
> #P hidden connect 41 2 29 0;
> #P hidden connect 15 1 42 0;
> #P hidden connect 25 0 41 0;
> #P hidden connect 42 0 41 0;
> #P hidden connect 41 0 26 0;
> #P hidden connect 26 0 21 0;
> #P hidden connect 21 0 22 0;
> #P hidden connect 22 0 24 0;
> #P hidden connect 23 0 34 0;
> #P hidden connect 24 0 34 0;
> #P connect 34 0 17 0;
> #P hidden connect 42 1 17 0;
> #P hidden connect 30 0 32 0;
> #P connect 32 0 17 1;
> #P hidden connect 22 1 23 0;
> #P hidden connect 41 2 30 0;
> #P hidden connect 45 0 46 0;
> #P hidden connect 46 0 47 0;
> #P hidden connect 47 0 45 0;
> #P window clipboard copycount 48;
>
>
> --
> Chris Muir | "There are many futures and only one status quo.
> cbm@well.com | This is why conservatives mostly agree,
> http://www.xfade.com | and radicals always argue." - Brian Eno
>

Mr. Banshee's icon

Mr. Banshee

12月 26 2006 | 2:38 午前

Kelly,
Are you talking about the patches people paste in their
emails in this forum?
If so, then highlight all of the text in the email,
starting max v2 all they down to the end of the text, for
example like this very poor looper patch i just threw
together

Max Patch
Copy patch and select New From Clipboard in Max.

Copy the above text, open max, go to file, click on "New
>From Clipboard", then the patch will open in front of your
eyes. You have the option to open any of your patches as
a text file, all this fun can be found within the file drop
down menu.

i had trouble with this when started off with max/msp as
well, so i know the shoes you are in. Have fun!

-chuck

Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com

kelsmusic's icon

kelsmusic

12月 26 2006 | 3:02 午前

> Copy the above text, open max, go to file, click on "New
>> From Clipboard", then the patch will open in front of your
> eyes. You have the option to open any of your patches as
> a text file, all this fun can be found within the file drop
> down menu.

I got nothing unfortunately. I copied the text, open max, went to file,
dropdown menu for new and not a mention of 'new from clipboard'.

Copying isn't the problem because I can take the text from an email and
place in a text window, but I can't seem to convert it. Is there
possibly something in the script that isn't converting?

Kel

Mr. Banshee's icon

Mr. Banshee

12月 26 2006 | 4:44 午前

Kelly,
>From what i know all versions of max/msp has the "New From
Clipboard" option in the file drop down menu, i could be
wrong though. Are you running max runtime? That may be
the issue. Perhaps some of the max elders could shed light
for both of us on this matter.
-chuck

Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com

kelsmusic's icon

kelsmusic

12月 26 2006 | 7:29 午前

No, I'm not running runtime. I'm using version 4.5.4 if that helps at
all.

On 26/12/2006, at 3:44 PM, Chubb wrote:

> Kelly,
>> From what i know all versions of max/msp has the "New From
> Clipboard" option in the file drop down menu, i could be
> wrong though. Are you running max runtime? That may be
> the issue. Perhaps some of the max elders could shed light
> for both of us on this matter.
> -chuck
>
>
> Do You Yahoo!?
> Tired of spam? Yahoo! Mail has the best spam protection around
> http://mail.yahoo.com
>

Chris Muir's icon

Chris Muir

12月 26 2006 | 8:01 午前

At 2:02 PM +1100 12/26/06, Kelly Ottaway wrote:
>I got nothing unfortunately. I copied the text, open max, went to file, dropdown menu for new and not a mention of 'new from clipboard'.
>
>Copying isn't the problem because I can take the text from an email and place in a text window, but I can't seem to convert it. Is there possibly something in the script that isn't converting?

There's a little housekeeping stuff that is needed when saving a text patch that isn't included (or needed) when copying/pasting for the New From Clipboard.

If you save this as a file, perhaps calling it something like TextTemplate, you can then replace the line that includes "Replace Me" with any patch that comes over the forum and it should load OK then.

Max Patch
Copy patch and select New From Clipboard in Max.

-C

--
Chris Muir | "There are many futures and only one status quo.
cbm@well.com | This is why conservatives mostly agree,
http://www.xfade.com | and radicals always argue." - Brian Eno

Emmanuel Jourdan's icon

Emmanuel Jourdan

12月 26 2006 | 11:02 午前

Chris Muir's icon

Chris Muir

12月 26 2006 | 4:54 午後

At 10:02 PM +1100 12/26/06, Kelly Ottaway wrote:
>Hi Chris,
>
>I followed your advice and I got error messages:
>
>* check failed: egetfn (filename): corrupt object
>* check failed: egetfn (filename): corrupt object
>* check failed: egetfn (front): corrupt object
>
>I know this must be wearing thin your patience but I can't trace the glitch.

Did you replace the whole line that had "Replace Me" in it?

At any rate, here's the patch (recreated from the template and the clipboard chunks, BTW):

Max Patch
Copy patch and select New From Clipboard in Max.

--
Chris Muir | "There are many futures and only one status quo.
cbm@well.com | This is why conservatives mostly agree,
http://www.xfade.com | and radicals always argue." - Brian Eno

Trond Lossius's icon

Trond Lossius

12月 28 2006 | 7:58 午後

If you want to learn more about MIDI in general, Kelly, this is the best
resource I have ever come acrross. IMHO it is a far better reference
than the specification made by MMA itself:

Best,
Trond

Kelly Ottaway wrote:
> Thanks for the link Trond.
>
> I did find it a little confusing, more confronting as to how little I
> know about system exclusive messaging. I think the main problem I have
> is decifering the tables and tables of system exclusive parameters in
> the back of the Hammond instruction manual.
>
> Any advice in that area, as to what I should be looking for eg Device
> ID, LSB, MSB? My problem is putting it into some sought of order that
> can be read by my keyboard. I had a crack at the sxformat object, with
> no success. I suppose it comes down to do I have the right tool for
> the job or am I the tool in the wrong job?
>
> Again, any help, suggestions gladly taken on board.