Ziffers export from MuseScore

Hello fellow in threaders. I hope you are all off a great start of this year.

Just wanted to share this plugin i made for MuseScore during holidays for exporting Ziffers (numbered notation) from MuseScore:

Ziffers exporter for MuseScore

There’s plenty of options (just like in ziffers) to export in different flavours of note duration, octave type, scale type etc. You can use those exports to play in Ziffers or just for analyzing the melodies in songs.

Official Ziffers 2 launch is also getting nearer by the … dont know what … but it’s a whole new animal :dog:. It’s already out there, but i’m still documenting and testing things out. I also added a new experimental method to play those exports from a single call.

EDIT: Fixed broken link

2 Likes

Made some refactoring again and also ended up doing something on a whim. Added alternative “Tracker text” syntax, that can be played in parallel as in “trackers”.

Here’s some Bach in cargah scale … in tracker style:

ztracker "
/ synth: :piano, bpm: 30, scale: :cargah, key: :g
w r  | s 0 _ 2 1 2 0 2 1 2 ^ 0 _ 2 1 2 0 2 1 2  | e ___ 5 ^ 2 5 2 _ 5 ^ 2 5 2
w r  | s 0 _ 3 2 3 0 3 2 3 ^ 0 _ 3 2 3 0 3 2 3  | e ___ 1 5 ^ 1 _ 5 1 5 ^ 1 _ 5
w r  | s _ 6 1 0 1 _ 6 ^ 1 0 1 6 1 0 1 _ 6 ^ 1 0 1  | e ___ 4 ^ 1 4 1 _ 4 ^ 1 4 1
w r  | s _ 6 2 1 2 0 2 1 2 6 2 1 2 0 2 1 2  | e __ 0 4 ^ 0 _ 4 0 4 ^ 0 _ 4
w r  | s _ 5 3 2 3 0 3 2 3 5 3 2 3 0 3 2 3  | e ___ 3 ^ 0 3 0 _ 3 ^ 0 3 0
w r  | s _ 6 3 2 3 1 3 2 3 6 3 2 3 1 3 2 3  | e ___ 6 ^ 3 6 3 _ 6 ^ 3 6 3
w r  | s _ 6 5 #4 5 2 5 #4 5 6 5 #4 5 2 5 #4 5  | e ___ 2 6 ^ 2 _ 6 2 6 ^ 2 _ 6
w r  | s 0 _ 5 #4 5 2 5 #4 5 ^ 0 _ 5 #4 5 6 5 #4 5  | e ___ 5 ^ 2 5 2 _ 5 ^ 2 5 2
w r  | s 0 _ 2 1 2 0 2 1 2 ^ 0 _ 2 1 2 0 2 1 2  | e. ___ 5 s ^^ 0 e _ 6 ^ 0 e. __ 5 s ^^ 0 e _ 6 ^ 0
w r  | s 0 _ 3 2 3 0 3 2 3 ^ 0 _ 3 2 3 0 3 2 3  | e. ___ 1 s ^ 3 e 2 3 e. _ 1 s ^ 3 e 2 3
w r  | s _ 6 1 0 1 ^ 0 _ 1 0 1 6 1 0 1 5 1 0 1  | e. ___ 4 s ^ 6 e 5 6 e. _ 4 s ^ 6 e 5 6
w r  | s _ 6 2 1 2 0 2 1 2 6 2 1 2 0 2 1 2  | e. ___ 0 s ^ 2 e 1 2 e. _ 0 s ^ 2 e 1 2
w r  | s _ 5 3 2 3 0 3 2 3 5 3 2 3 0 3 2 3  | e. ___ 3 s ^ 5 e 4 5 e. _ 3 s ^ 5 e 4 5
w r  | s _ 6 3 2 3 1 3 2 3 6 3 2 3 1 3 2 3  | e. ___ 6 s ^^ 1 e 0 1 e. __ 6 s ^^ 1 e 0 1
w r  | s _ 6 5 #4 5 2 5 #4 5 6 5 #4 5 2 5 #4 5  | e. ___ 2 s ^ #4 e #3 #4 e. _ 2 s ^ #4 e #3 #4
w r  | s 0 _ 5 #4 5 ^ #0 _ 5 4 5 ^ 1 _ 5 4 5 ^ 2 _ 5 4 5  | e. ___ 5 s ^ 2 q 5^#0 e. _ 5 s ^ 2 q 5^#0
w r  | s 3 2 1 2 e 3 _ 5 #5 ^ 5 4 3  | e __ 1 5 s ^ 3 2 1 _ 5 e _ 4 ^ 1 s #5 5 4 1
w r  | s 2 1 2 3 e 4 _ 4 5 ^ 4 3 2  | e __ 0 4 s ^ 2 1 0 _ 4 e _ 3 ^ 0 s 5 4 3 0
w r  | s 1 0 _ #5 ^ 0 q 1 s 1 0 _ #5 ^ 0 q 1  | e ___ #5 ^ 3 s ^ 1 0 _ #5 3 e _ 4 ^ 3 s #5 5 4 1
w r  | s 1 0 _ #5 ^ 0 1 _ 4 #4 ^ 3 q 2 e r 2  | e ___ 2 #5 ^1^4 #5 5 ^ 2 4^#0 2
h. r e 4 t 4 3 4 3  | s 3 2 1 2 3 4 5 _ 5 e #5 ^ 5 q 4  | e __ 1 5 ^1^3 5 _ 4 ^ 1 4#5 1
h. r e 3 t 3 2 3 2  | s 2 1 0 1 2 3 4 _ 4 e 5 ^ 4 q 3  | e __ 0 4 ^0^2 4 _ 3 ^ 0 35 0
w r  | s 1 0 _ #5 ^ 0 e 1 _ 2 3 4 #5 ^ 1  | e ___ #5 ^ 3 #5^1 3 _ 4 ^ 1 4#5 1
w r  | e #0 _ 4 #4 ^ 3 q 2 t r r s #0 1 2  | e ___ 2 #5 ^1^4 #5 5 ^ 2 4^#0 s 2 r
w r  | s 5 4 3 2 3 4 5 1 e #5 5 4 3  | e __ 1 5 ^1^3 5 _ 4 ^ 1 4#5 1
w r  | s 4 3 2 1 2 3 4 _ 4 e 5 ^ 4 3 2  | e __ 0 4 ^0^2 4 _ 3 ^ 0 35 0
w r  | s 3 2 1 0 1 2 3 _ #5 e ^ 4 3 2 1  | e ___ #5 ^ 3 #5^1 3 _ 4 ^ 1 4#5 1
w r  | e. #0 s #0 e 1 2 3 2 3 4  | e ___ 2 #5 ^1^4 #5 5 ^ 2 4^#0 2
w r  | s 5 3 2 3 1 3 2 3 5 3 2 3 1 3 2 3  | s __ 1 5 ^ 1 2 _51 3 1 _ 5 1 5 ^ 1 2 _51 3 1 _ 5
w r  | s #5 3 2 3 1 3 2 3 #5 3 2 3 1 3 2 3  | s ___ 4 ^ 1 4 5 14 #5 4 1 _ 4 ^ 1 4 5 14 #5 4 1
w r  | s 4 2 1 2 0 2 1 2 4 2 1 2 0 2 1 2  | s __ 0 4 ^ 0 1 _40 2 0 _ 4 0 4 ^ 0 1 _40 2 0 _ 4
w r  | s 5 3 2 3 0 3 2 3 5 3 2 3 0 3 2 3  | s ___ 3 ^ 0 3 4 03 5 3 0 _ 3 ^ 0 3 4 03 5 3 0
w r  | s 3 1 0 1 _ #5 ^ 1 0 1 3 1 0 1 _ #5 ^ 1 0 1  | s ___ #5 ^ 3 #5 ^ 0 _3_#5 1 _ #5 3 _ #5 ^ 3 #5 ^ 0 _3_#5 1 _ #5 3
w r  | s 4 1 0 1 _ #5 ^ 1 0 1 4 1 0 1 _ #5 ^ 1 0 1  | s ___ 4 ^ 1 4 5 14 #5 4 1 _ 4 ^ 1 4 5 14 #5 4 1
w r  | s 4 2 1 2 _ #5 ^ 2 1 2 4 2 1 2 _ #5 ^ 2 1 2  | s ___ 2 #5 ^ 2 3 _#52 4 2 _ #5 2 #5 ^ 2 3 _#52 4 2 _ #5
w r  | s 4 2 1 2 #0 2 1 2 3 2 1 2 4 2 1 2  | s ___ 5 ^ 2 5 6 25 ^ #0 _ 5 2 _ 5 ^ 2 5 6 25 ^ #0 _ 5 2
w r  | s 5 3 2 3 1 3 2 3 5 3 2 3 4 3 2 3  | s __ 1 5 ^ 1 2 _51 3 1 _ 5 1 5 ^ 1 2 _51 3 1 _ 5
w r  | s #5 3 2 3 1 3 2 3 #5 3 2 3 5 3 2 3  | s ___ 4 ^ 1 4 5 14 #5 4 1 _ 4 ^ 1 4 5 14 #5 4 1
w r  | s 4 2 1 2 0 2 1 2 4 2 1 2 3 2 1 2  | s __ 0 4 ^ 0 1 _40 2 0 _ 4 0 4 ^ 0 1 _40 2 0 _ 4
w r  | s 5 3 2 3 0 3 2 3 5 3 2 3 4 3 2 3  | s ___ 3 ^ 0 3 4 03 5 3 0 _ 3 ^ 0 3 4 03 5 3 0
w r  | s 3 1 0 1 _ #5 ^ 1 0 1 3 1 0 1 _ #5 ^ 1 0 1  | s ___ #5 ^ 3 #5 ^ 0 _3_#5 1 _ #5 3 _ #5 ^ 3 #5 ^ 0 _3_#5 1 _ #5 3
w r  | s 4 1 0 1 _ #5 ^ 1 0 1 4 1 0 1 3 1 0 1  | s ___ 4 ^ 1 4 5 14 #5 4 1 _ 4 ^ 1 4 5 14 #5 4 1
w r  | s 2 1 #0 1 _ #5 ^ 1 #0 1 2 1 #0 1 3 1 #0 1  | s ___ 2 #5 ^ 2 3 _#52 4 2 _ #5 2 #5 ^ 2 3 _#52 4 2 _ #5
w r  | s 2 _ 5 4 5 2 5 4 5 ^ 2 _ 5 4 5 2 5 4 5  | s ___ 5 ^ 2 5 6 25 ^ #0 _ 5 2 _ 5 ^ 2 5 6 25 ^ #0 _ 5 2
w r  | s 1 _ 3 2 3 1 3 2 3 ^ 0 _ 2 1 2 _ 6 ^ 2 1 2  | s ___ 3 ^ 0 3 4 03 5 3 0 _ 2 6 ^ 2 #3 q _62#4
w r  | s 0 _ 2 1 2 0 2 1 2 ^ 0 _ 2 1 2 0 2 1 2  | s ___ 5 ^ 2 5 6 25 ^ 0 _ 5 2 _ 5 ^ 2 5 6 25 ^ 0 _ 5 2
w r  | s 0 _ 3 2 3 0 3 2 3 ^ 0 _ 3 2 3 0 3 2 3  | s ___ 1 5 ^ 1 2 _51 3 1 _ 5 1 5 ^ 1 2 _51 3 1 _ 5
w r  | s _ 6 1 0 1 _ 6 ^ 1 0 1 6 1 0 1 _ 6 ^ 1 0 1  | s ___ 4 ^ 1 4 5 14 6 4 1 _ 4 ^ 1 4 5 14 6 4 1
w r  | s _ 6 2 1 2 0 2 1 2 6 2 1 2 0 2 1 2  | s __ 0 4 ^ 0 1 _40 2 0 _ 4 0 4 ^ 0 1 _40 2 0 _ 4
w r  | s _ 5 3 2 3 0 3 2 3 5 3 2 3 0 3 2 3  | s ___ 3 ^ 0 3 4 03 5 3 0 _ 3 ^ 0 3 4 03 5 3 0
w r  | s _ 6 3 2 3 1 3 2 3 6 3 2 3 1 3 2 3  | s ___ 6 ^ 3 6 ^ 0 _3_6 1 _ 6 3 _ 6 ^ 3 6 ^ 0 _3_6 1 _ 6 3
w r  | s _ 6 5 #4 5 2 5 #4 5 6 5 #4 5 2 5 #4 5  | s ___ 2 6 ^ 2 3 _62 #4 2 _ 6 2 6 ^ 2 3 _62 #4 2 _ 6
w r  | s 0 _ 5 #4 5 2 5 #4 5 ^ 0 _ 5 #4 5 6 5 #4 5  | s ___ 5 ^ 2 5 6 25 ^ 0 _ 5 2 _ 5 ^ 2 5 6 25 ^ 0 _ 5 2
w r  | s 0 _ 2 1 2 0 2 1 6 ^ 0 _ 2 1 6 ^ 0 _ 2 1 ^ 0  | s ___ 5 ^ 2 6 e ^ 0 s _ 6 5 2 _ 5 ^ 2 6 e ^ 0 s _ 6 5 2
w r  | s 1 _ 3 2 3 1 3 2 6 ^ 1 _ 3 2 5 ^ 1 _ 3 2 4  | s ___ 1 5 ^ 2 e 3 s 2 1 _ 5 1 5 ^ 2 e 3 s 2 1 _ 5
w r  | s 1 _ 1 0 1 ^ 0 _ 1 0 1 6 1 0 1 5 1 0 1  | s ___ 4 ^ 1 5 e 6 s 5 4 1 _ 4 ^ 1 5 e 6 s 5 4 1
w r  | s _ 6 2 1 2 0 2 1 5 6 2 1 5 6 2 1 4  | s __ 0 4 ^ 1 e 2 s 1 0 _ 4 0 4 ^ 1 e 2 s 1 0 _ 4
w r  | s _ 5 3 2 3 0 3 2 4 5 3 2 3 6 3 ^ 0 _ 3  | s ___ 3 ^ 0 4 e 5 s 4 3 0 _ 3 ^ 0 4 e 5 s 4 3 0
w r  | s 1 _ 3 2 3 1 3 2 6 ^ 1 _ 3 2 5 ^ 0 _ 3 2 3  | s ___ 6 ^ 3 ^ 0 e 1 s 0 _ 6 3 _ 6 ^ 3 ^ 0 e 1 s 0 _ 6 3
w r  | s _ 6 5 #4 5 5 5 #4 5 6 5 #4 5 ^ 0 _ 5 #4 5  | s ___ 2 6 ^ 3 e #4 s 3 2 _ 6 2 6 ^ 3 e #4 s 3 2 _ 6
w r  | s _ 6 5 #4 5 2 5 #4 5 6 5 #4 5 2 5 #4 5  | s ___ 5 ^ 2 6 e ^ 0 s _ 6 5 2 _ 5 ^ 2 6 e ^ 0 s _ 6 5 2
w r  | s __ 6 ^ 1 3 5 #4 3 2 3 6 #4 ^ 3 1 _ #4 3 2 3  | w ___2___#4__1
w r  | s __ 5 ^ 0 2 #4 5 2 1 2 5 2 ^ 0 _ 5 ^ 2 0 _ 6 ^ 0  | w ___5__0__2
w r  | s 3 1 #0 1 _ 5 ^ 1 #0 1 2 0 _ 6 ^ 0 _ 2 ^ 0 _ 6 ^ 0  | h ___6__1__3__#4 ___5__0__2
w r  | q. _51 e 0 q. _#4_6 e _ 5  | h __2_0 __2__6_1
w r  | w _0_5  | w ___5__2
"

This format can be exported using “Tracker text” output type from the Musescore plugin.

1 Like

Very cool. I tried the plugin out on my iMac, and it worked, although there didn’t seem to be any way to close the export window after it had generated the code. I had to force quit Muse3

Thanks. Good to know. In windows there is “X” button by default.

On a Mac the pop up window has icons for resize and minimise but the close button is greyed out.

Thanks for testing. I updated the project there should be default “OK” button for now. The idea is that you can try different options and close the result and change the options to generate something else.

Also added new “Midi output” type which outputs simple midi array output … something like:
[[[[[[[0.25,69],[0.25,72],[0.25,74]],[0.25,67],[0.25,76],[[0.25,67],[0.25,69],[0.25,71]]]]]]]. Each track and chords are in arrays … might be useful for something :slight_smile:

In the long run I think i have to learn more about MuseScore and QT to create embedded UI for the input and output of Ziffers. But I think i’ll wait for MuseScore 4 for that. Interesting and useful things coming soon, like vst support: MuseScore 4. Moving from notation software to composition software. | MuseScore.