Bc2000 (for the BCF2000 & BCR2000) group photo

Yahoo Groups archive

Bc2000 (for the BCF2000 & BCR2000)

Index last updated: 2026-04-28 23:16 UTC

Message

Re: Translating Midi Ox "snapshots" to .tx format

2008-04-26 by rpcfender

Hi Andrew
> Let's see, if I understand everything correctly then this:
>
> B00B7F B00100 B04746... (the "raw midi" data as logged by Midi Ox for
> a "patch")
>
> should be converted so it looks like this:
>
> $B0 $0B $7F
> $B0 $01 $00
> $B0 $47 $46
> etc.

Yes
>
> And I could put a few statements on each line. The full output looks
> like this:
>
> B00B7F B00100 B04746 B0486B B04900 B04A01 B01562 B01600 B0177F B0187F
> B0037F
> B00907 B00C7F B00D00 B00E5A B00F07 B01400 B01900 B01A7F B01B00 B01C0F
> B01D00
> B01E00 B01F7F B0467F B04B3D B04C00 B04D00 B04E00 B04F21 B05400 B05500
> B05600
> B05700 B05800

B0 is CC on channel 1 not sysex which starts $F0 and ends $F7 and usually has a manufacture ID device id and other heard bytes before you get to the data bytes, so you as in business as you could fit a whole lot of $B0 messages.

Midi has a thing called 'running status' where it is possible to state the status byte (B0) just once then stream out just the data bytes. So your message would look like this

$ B0 $0B $7F
$01 $00
$47 $46
$48 $6B
$49 $00
; $4A $01
$15 $62
; $16 $00
$17 $7F
$18 $7F
$03 $7F
$09 $07
$0C $7F
$0D $00
$0E $5A
$0F $07
$14 $00
$19 $00
$1A $7F
$1B $00
$1C $0F
$1D $00
$1E $00
$1F $7F
$46 $7F
$4B $3D
$4C $00
$4D $00
$4E $00
$4F $21
$54 $00
$55 $00
$56 $00
; $57 $00
$58 $00

Which saves nearly 1/3 of you data space and will work on the BC (as the BC doesn't care what numbers you put into .tx) and most synths will cope.

You can use 'running status' to send to a PC but you will never see it on a PC as MicroSoft think the know better than a standard that has lasted over 35 years and insist that all Midi device divers convert running status to a normal Midi messages adding that extra third back again. You can send out running status from the PC to test your synth (MidiOx can do this for you).


>
> Counting bytes (where one byte = one hexidecimal value), I come up
> with 105. If I could divide it up among 10 lines or less then I think
> that'd be o.k., correct? If so, I could throw together a quick little
> program that converts the "raw" midi data to hex.
>

You don't have to bother as it will all fit on one button with or without 'running status' as you were wanting to do.
Just look at my pdf called BC Secrets for details about .tx messages (files section).

$button 33
.showvalue on
.mode down
.default 0 ; (semi colon is a comment) this is not used
.minmax 0 127 ; this is not used
.tx $ B0 $0B $7F $01 $00 $47 $46 $48 $6B $49 $00 $4A $01 $15 $62 $16 $00 $17 $7F $18 $7F $03 $7F $09 $07 $0C $7F $0D $00 $0E $5A $0F $07 $14 $00 $19 $00 $1A $7F $1B $00 $1C $0F $1D $00 $1E $00 $1F $7F $46 $7F $4B $3D $4C $00 $4D $00 $4E $00 $4F $21 $54 $00 $55 $00 $56 $00 $57 $00 $58 $00

1st Button top left - check that I got the tx correct.

All the best
Royce

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.