Jump to content
Video Files on Forum ×

ac7 style file renamer: testers wanted


shiihs

Recommended Posts

8 hours ago, Mclandy said:

I was directed to this thread because I was asking if there was any way to edit the "notes" in a Rhythm pattern/part copied from one of the built-in rhythms on my CT-X5000.  Apparently this is not possible, because all those parts are marked as "Fixed", which I assume is what you mean by a "locked" track.  The suggestion was that if ReStyle unlocks the tracks, that might make them editable (show up as "Recorded" status??).  In any case, I tried it by running ReStyle (the version at the above link) on a User style that I copied from a built-in style (saved it to USB, opened in ReStyle on PC, renamed, saved it with a different file name, then reloaded from USB), and the parts still showed up as "Fixed" (and therefore, uneditable).

 

Do I understand this correctly, or does "unlocked" mean something else? Should ReStyle have made the parts in the saved AC7 file editable?  Could it be that the AC7 format for the CT-X keyboards is different?  Thanks.

 

Unlocked indeed means "make it editable". The unlocked .ac7 file should have a slightly longer file length (a few bytes) than the locked version - you could check that to see if the tool actually applied the unlocking. The AC7 format should not be fundamentally different for CT-X keyboards.

 

Link to comment
Share on other sites

2 hours ago, shiihs said:

 

Unlocked indeed means "make it editable". The unlocked .ac7 file should have a slightly longer file length (a few bytes) than the locked version - you could check that to see if the tool actually applied the unlocking. The AC7 format should not be fundamentally different for CT-X keyboards.

 

Thanks for the tip, and the response.  I'm seeing the old and new files as being exactly the same number of bytes.  This is a very simply rhythm made by copying the built-in Straight 8 Beat Pattern into Pattern V1, with some jingle bells added in the Percussion part. So I tried again, this time not only renaming the rhythm, but also moving the parts (swapping V1 and V2).  The V1 pattern did get moved to V2, as expected, but the file size was again exactly the same, and the Drum part (now in V2) still shows "Fixed" when I try to edit it.  I don't know if it will help, but I'll attach the original file here.  Again, all the other Patterns are empty except V1.

Xmas.AC7

Link to comment
Share on other sites

1 hour ago, shiihs said:

I have added the unlocked version in attachment, sorry if this is too late for you.

I haven't actually tested it, but at least the file length changed, so I have some faith it has worked :)

 

 

 

XmasUnlocked.AC7 4.71 kB · 0 downloads

Thank you very much for looking into this.  It wasn't so much that I needed this particular rhythm "unlocked", as I was just trying to see if ReStyle would do what I want, and it didn't seem to be working.   If you get a chance to release an updated binary, that would be excellent!!

 

Also, I'll be sure to take a look at ac7maker - being able to start from a midi file would be great!  I already know of 2 or 3 midi files from which I'd been wishing I could "extract" a rhythm, rather than recreating it from scratch.

 

P.S. I can also confirm that the unlocked version of the .AC7 file that you posted does work, the previously "Fixed" parts now show up as "Recorded", and can be edited.

  • Thanks 1
Link to comment
Share on other sites

Thanks for your continued work on this, @shiihs. Hope you’re doing well this holiday season, and staying healthy.

 

I’m still working on a tutorial project for Casio’s YouTube channel at the moment, but as soon as that’s done, I’m going to dive back into the archival  work. The main priority is getting the CT-X700/CDP-S350 Rhythms archived so that those users can implement the Registration naming workaround I’ve talked about before.

 

After that, I’ll be releasing an updated archive of the complete CT-X3000 Rhythm set, which will feature unlocked versions of all the same Rhythms. And then, on to updating all the MZ-X Rhythms to use the CT-X voice assignments.

 

This .AC7 maker intrigues me, and the documentation of the way the CT-X models parse tone assignments and sysex messages is fascinating stuff. I know that @Just Alexdefinitely oughta take a look at this, since he’s been doing plenty of .AC7 conversion work from other formats. Perhaps this will help him streamline the process a bit.

 

This also makes me want to update my .CKF Rhythm creation guide with a version (or perhaps a completely new guide dedicated to this program). That old Russian AC7 converter that used Excel was a bit too janky to be worth documenting in a guide, but an open source project with active development like this definitely deserves more exposure to Casio users who might be interested in helping with testing (even coding at the back end).

 

shiihs, has this documentation of the format given you any insight into fixing the VarSwap functionality for the 4-variation boards (specifically with Var2 always ending up blanked out after a swap)? It’s ok if not; as it is now, ReStyle is plenty sufficient for my archival process. However, working VarSwap for 4-variation files would remove the time consuming step of importing a 4-var Rhythm to my PX-350 and then re-saving it as a 2-variation Rhythm. ReStyle can VarSwap 2-var AC7s just fine, so as long as the CT-X700 archive is all 2-variation files, end users will be able to properly utilize the variation swap in ReStyle if they want to re-order things on their own. But if it worked just as well for 4-variation Rhythms, that would be even easier. Really though, no pressure. It’ll get done either way.

Link to comment
Share on other sites

1 hour ago, Chandler Holloway said:

shiihs, has this documentation of the format given you any insight into fixing the VarSwap functionality for the 4-variation boards (specifically with Var2 always ending up blanked out after a swap)? 

 

One very interesting part is that they think the order of elements in the ac7 file is different from what I had guessed.
(This has nothing to do with the ordering in the UI, it is about ordering in the file)

 

They think:

 

1: "Intro"
2: "Variation 1"
3: "Fill 1"
4: "Variation 2"
5: "Fill 2" 
6: "Ending" 
7: "Intro 2 (unused)" 
8: "Variation 3" 
9: "Variation 4" 
10: "Fill 3" 
11: "Fill 4"
12: "Ending 2 (unused)"

 

But I guessed:

 

1: "Intro"
2: "Variation 1"
3: "variation 2"
4: "Fill 1"
5: "Fill 2"
6: "Ending"
7: "Intro 2"
8: "Ending 2"
9: "Variation 3"
10: "Fill 3"  
11: "Fill 4"
12: "Variation 4"

 

From the earlier experiments, I remember you said "Variation 3 and Fill-In 3 are correctly swapped into the Normal/Fill-In1 slot" So that means I swap slots 9 <-> 2 and slots 10 <-> 4. If they were right about the order of elements it should have resulted in Variation 4 <-> Variation 1 and Fill 3 <-> Variation 2. That doesn't seem to be what you described. So I think their ordering might be wrong as well. 

 

I think I have the correct order for at least slots 1-6. The other ones I cannot test.

 

One very interesting observation is that they think Ending 2 is in slot 12, and is always unused (empty) on CT-X. Slot 12 is where I thought variation 4 lives, so if I copy "my" var 4 slot (slot 12) into something else, it would indeed result in a blank part.

 

Therefore I think we need to set up an experiment on a 4 variation model to establish without doubt what the correct ordering is of the different elements in the file.


The experiment I would like to propose is to take a rhythm, and produce - using they keyboard - 12 variations of it:

 

Variation 0 = the original rhythm without modifications
Variation 1 = the original rhythm, but only the intro changed (e.g. change/delete some/all notes)
Variation 2 = the original rhythm, but only variation 1 (normal) changed 
Variation 3 = the original rhythm, but only variation 2 changed
etc...

 

By systematically examining the differences between each of the variations and the original rhythm, it should be easy to establish once and for all the correct ordering of elements in the ac7 file. Only when the ordering is correct has the swapping a chance of working as expected.

 

Does that sound like something that is "doable" ? 

 

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

6 hours ago, shiihs said:

Does that sound like something that is "doable" ? 

Absolutely, I’m happy to do any amount of experiments or testing on my CT-X5000. I’m visiting family at the moment but once I get back home on Monday I’ll upload the files.

 

Please do not hesitate to ask me for favors like this; I’m well versed in MIDI and sysex, but when it comes to these proprietary file types and actually programming software utilities, I’m afraid I’m not much help. Testing and feedback, though? Always happy to help, however I can.

 

I wonder, would it be helpful to perform this experiment with an MZ-X file too? I have some raw MZ-X Rhythms archived, extracted directly from the original hardware via flash drive and the panel controls. Perhaps it could be illuminating to have 4 sets of data to inspect in this trial run, although I would need the assistance of someone who has access to an MZ-X500 since I only have a CT-X at home:

 

Data set 1: The 12 variants of a stock CT-X Rhythm as outlined above, edited and exported on the CT-X5000.


Data set 2: 12 variants of a stock MZ-X Rhythm, edited and exported on an CT-X5000

 

Data set 3: 12 variants of the same stock CT-X Rhythm from set 1, edited and exported from the MZ-X500

 

Data set 4: 12 variants of the same stock MZ-X Rhythm from set 2, edited and exported from the MZ-X500

 

That way, we could see if there’s some difference in behavior between 4-variation Rhythms sourced/exported from the CT-X or MZ-X machines. It could at the very least tell us a bit more about what happens when an MZ-X .AC7 Rhythm (which might contain some Ending 2 content, I know they have a dedicated intro 2 unlike the CT-X models) is brought into the CT-X Rhythm editor (which has no provision for editing/selecting Ending 2). Like I said before, I archived some MZ-X Rhythms (about a third of the total presets), and I’ve attached those files to this post if you want to look them over and compare them against the CT-X files.

MZ-X Rhythm Archive Session 1.zip

 

I’m also gonna reach out to the guy from the .AC7 maker GitHub, let him know we’re doing some testing here if he wants to join in. I’ll provide him with the same files I’m giving you for his own reference, in any case.

 

I’ll @ you once I get the test files uploaded. Looking forward to it!

  • Like 1
Link to comment
Share on other sites

8 hours ago, Just Alex said:

Does that AC7 maker makes styles with 4 variations?

This is my main point of interest, otherwise, I'm pretty well done with that excel converter, except that it can't make styles with 4 variations.

 

 

The creator is testing using a CT-X3000, and makes several references to Var3 and Var4 throughout the documentation, so I would assume that 4-variation .AC7 files are supported.

 

He also seems to have listed some examples of which MIDI events can be utilized during a singular Rhythm element (not just between elements like panning or Program Change), which I know you've asked about before.

Link to comment
Share on other sites

On 12/25/2020 at 7:00 PM, shiihs said:

 

One very interesting part is that they think the order of elements in the ac7 file is different from what I had guessed.
(This has nothing to do with the ordering in the UI, it is about ordering in the file)

 

They think:

 

1: "Intro"
2: "Variation 1"
3: "Fill 1"
4: "Variation 2"
5: "Fill 2" 
6: "Ending" 
7: "Intro 2 (unused)" 
8: "Variation 3" 
9: "Variation 4" 
10: "Fill 3" 
11: "Fill 4"
12: "Ending 2 (unused)"

 

But I guessed:

 

1: "Intro"
2: "Variation 1"
3: "variation 2"
4: "Fill 1"
5: "Fill 2"
6: "Ending"
7: "Intro 2"
8: "Ending 2"
9: "Variation 3"
10: "Fill 3"  
11: "Fill 4"
12: "Variation 4"

 

From the earlier experiments, I remember you said "Variation 3 and Fill-In 3 are correctly swapped into the Normal/Fill-In1 slot" So that means I swap slots 9 <-> 2 and slots 10 <-> 4. If they were right about the order of elements it should have resulted in Variation 4 <-> Variation 1 and Fill 3 <-> Variation 2. That doesn't seem to be what you described. So I think their ordering might be wrong as well. 

 

I think I have the correct order for at least slots 1-6. The other ones I cannot test.

 

One very interesting observation is that they think Ending 2 is in slot 12, and is always unused (empty) on CT-X. Slot 12 is where I thought variation 4 lives, so if I copy "my" var 4 slot (slot 12) into something else, it would indeed result in a blank part.

 

Therefore I think we need to set up an experiment on a 4 variation model to establish without doubt what the correct ordering is of the different elements in the file.


The experiment I would like to propose is to take a rhythm, and produce - using they keyboard - 12 variations of it:

 

Variation 0 = the original rhythm without modifications
Variation 1 = the original rhythm, but only the intro changed (e.g. change/delete some/all notes)
Variation 2 = the original rhythm, but only variation 1 (normal) changed 
Variation 3 = the original rhythm, but only variation 2 changed
etc...

 

By systematically examining the differences between each of the variations and the original rhythm, it should be easy to establish once and for all the correct ordering of elements in the ac7 file. Only when the ordering is correct has the swapping a chance of working as expected.

 

Does that sound like something that is "doable" ? 

 

@shiihs, I'm not exactly sure if this is what you were looking for, but I got on my CT-X5000 and created a user rhythm with patterns that I could easily tell apart, and tried moving them around with ReStyle to see what would happen.  Basically, I create a 4-measure V1 with one bass drum beat, V2 with 2 beats, and so on.  Likewise I created 1-measure Fill Ins, where F1 had one hand clap, F2 had 2, and so on.  The intro was just 4 triangle beats, and the ending was 4 descending drum beats.

 

Then I loaded that rhythm onto a USB and used ReStyle to move the parts around.  I just swapped Intro and Ending, and moved V2/F2 into V1/F1, shifting them all down and replacing V4/F4 with V1/F1.  I didn't touch Intro 2/Ending 2.  Here's what I found:

 

Note: Sorry, made a mistake the first time around, corrected the results

 

Intro and Ending were swapped as expected

V1/F1 <-- V2/F2, as expected

V2 <-- V4 ?

F2 <-- F3

V3 <-- Still V3 !!

F3 <-- F4

V4 <-- no instrument sound ?

F4 <-- F1

 

So clearly something seems to be off in the pattern order in the AC7.   I'll post both the original and "swapped" versions of the rhythms, in case it helps.

 

Update: After puzzling this through, I think the results imply that the following is the correct order for the patterns in the AC7 file(in fact, this order even makes more sense). So both of the above orders have slight errors - or at least, for CT-X they do (not sure if this varies with other models).

 

1: Intro 1

2: Var 1

3: Var 2

4: Fill 1

5: Fill 2

6: End 1

7: Intro 2

8: Var 3

9: Var 4

10: Fill 3

11: Fill 4

12: End 2

Test .AC7

Testswp2.ac7

Link to comment
Share on other sites

1 hour ago, Mclandy said:

Update: After puzzling this through, I think the results imply that the following is the correct order for the patterns in the AC7 file(in fact, this order even makes more sense). So both of the above orders have slight errors - or at least, for CT-X they do (not sure if this varies with other models).

 

1: Intro 1

2: Var 1

3: Var 2

4: Fill 1

5: Fill 2

6: End 1

7: Intro 2

8: Var 3

9: Var 4

10: Fill 3

11: Fill 4

12: End 2

@shiihs, based on the result of the experimentation I described in my earlier post, I was able to figure out how to "remap" the patterns as they are defined in ReStyle to the ones in the above list, so that I could correctly move all the patterns into the desired "slots".  I can confirm that by doing so, I was able to generate a 4-variation rhythm with all the right patterns in the right places, and therefore can also confirm that the above list is the correct order.

  • Like 1
Link to comment
Share on other sites

Just now, Mclandy said:

@shiihs, based on the result of the experimentation I described in my earlier post, I was able to figure out how to "remap" the patterns as they are defined in ReStyle to the ones in the above list, so that I could correctly move all the patterns into the desired "slots".  I can confirm that by doing so, I was able to generate a 4-variation rhythm with all the right patterns in the right places, and therefore can also confirm that the above list is the correct order.

 

That's brilliant!! I will update the restyle code asap and make a new windows binary.

Thanks for helping!

 

  • Like 1
Link to comment
Share on other sites

20 minutes ago, shiihs said:

 

That's brilliant!! I will update the restyle code asap and make a new windows binary.

Thanks for helping!

 

 

On 12/26/2020 at 6:56 AM, Chandler Holloway said:

 

 

I’ll @ you once I get the test files uploaded. Looking forward to it!

 

If I didn't mess up, a brand-new ReStyle should be available from the following link:

https://drive.google.com/file/d/1_SkmluRAnYKe7vxNRuRxtqVWhKWqVcVn/view?usp=sharing

 

  • Like 2
Link to comment
Share on other sites

33 minutes ago, shiihs said:

 

 

If I didn't mess up, a brand-new ReStyle should be available from the following link:

https://drive.google.com/file/d/1_SkmluRAnYKe7vxNRuRxtqVWhKWqVcVn/view?usp=sharing

 

I confirm that the new binary is correctly moving patterns around amongst the 4 variations (and Intro/End), and also that any "Fixed" parts now show as "Recorded" and editable.  Just having the ability to rename, reorganize, and edit standard rhythms makes this an extremely useful utility - thanks so much!

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

Fantastic news! I will test it myself tomorrow, but thanks to @Mclandyit looks like further experimentation won’t be necessary (unless shiihs would still like me to provide some files). This will save me oh so much time with the archival process moving forward.

 

Big win for Casio users everywhere! I’ll be sure to share this around in the CT-X user groups once I’ve got the X700/CDP-S350 archive all done.

Link to comment
Share on other sites

28 minutes ago, Chandler Holloway said:

Fantastic news! I will test it myself tomorrow, but thanks to @Mclandyit looks like further experimentation won’t be necessary (unless shiihs would still like me to provide some files). This will save me oh so much time with the archival process moving forward.

 

Big win for Casio users everywhere! I’ll be sure to share this around in the CT-X user groups once I’ve got the X700/CDP-S350 archive all done.

 

Hello @Chandler Holloway, if it works for you, no other files will be needed - thanks for all the help in the previous years. However, feel free to provide some usability feedback (details in the ui or workflow that could be improved: e.g. since it could be the user's only intention to unlock tracks, would it perhaps make sense to automatically fill in the desired name as the current name when loading a style?). 

Link to comment
Share on other sites

Hello everybody, as some of you know I am a CT-X800 owner.

 

I was involved in this project a long time ago but coudlnt go on helping because of the quarantine and on top of that my husband, although he had been ill for a long time but was stable, passed away quite unexpectedly.

 

To get back to the main subject of this topic, am I correctly assuming that the new version of ReStyle will enable me to swap all rhythm parts as I want e.g. to have two different versions of a given rhythm so as to have all 4 variations accessible in two different files ?

 

I’d be very grateful if someone could provide a Dummies Guide with simple instructions as how to use the latest version of ReStyle to swap rhythm parts correctly and also rename the files to avoid confusion.

 

Thanks a lot for helping,

 

Vinciane

Link to comment
Share on other sites

21 minutes ago, vbdx66 said:

I was involved in this project a long time ago but coudlnt go on helping because of the quarantine and on top of that my husband, although he had been ill for a long time but was stable, passed away quite unexpectedly.

 

To get back to the main subject of this topic, am I correctly assuming that the new version of ReStyle will enable me to swap all rhythm parts as I want e.g. to have two different versions of a given rhythm so as to have all 4 variations accessible in two different files ?

 

I’d be very grateful if someone could provide a Dummies Guide with simple instructions as how to use the latest version of ReStyle to swap rhythm parts correctly and also rename the files to avoid confusion.

 

Hi Vinciane, 

 

First of all, I'm sorry for your loss. This time of year usually is quite hard for those who've lost loved ones.

 

As for the dummies guide: it would be interesting if you could just try it out, and where you get stuck/confused, let me know. Those are the parts that warrant some improvements/clarifications.

 

The basic work flow should be straightforward: 

  1. make a backup of your rhythms before you start editing them; one never knows :)
  2. load an .AC7 file using the load button
  3. type the desired display name in the "desired display name" text field
  4. then, if you want to: tweak the desired ordering of variations at the bottom: the top row (grayed out) lists the current ordering, and in the bottom row you can select the desired ordering. E.g if you wanted to copy variation 3 into variation 1, you'd select variation 3 in the bottom row under variation 1 in the top row. Note: you can resize the user interface window using the mouse if you cannot see all the options simultaneously.
  5. save the .AC7 file (give it a new name)

During saving, all tracks are automatically unlocked for editing.

 

  • Thanks 1
Link to comment
Share on other sites

7 hours ago, shiihs said:

 

Hello @Chandler Holloway, if it works for you, no other files will be needed - thanks for all the help in the previous years. However, feel free to provide some usability feedback (details in the ui or workflow that could be improved: e.g. since it could be the user's only intention to unlock tracks, would it perhaps make sense to automatically fill in the desired name as the current name when loading a style?). 

One thought that came to my mind, especially reading about folks like @Chandler Hollowayworking with a whole library of rhythms, is that that it would be very handy to have a command line version of this program to enable writing batch scripts.  So basically pass in arguments for infile and outfile and maybe an optional rename parameter (for example, "Restyle -i 8beat.ac7 -r New8beat -o 8beatunlocked.ac7"), and it saves the same rhythm, with a new name and unlocked parts.  I don't know that swapping the patterns around makes as much sense in a command line, but for extra points I guess you could consider a parameter something of the form "-s V1=V2;F1=F2" to define the desired transformations, although I would make that secondary to getting out a version that just does the unlocking.  If you have a large number of rhythm files, this would make it a lot less tedious.

 

Edit: You'd probably also need a directory parameter ("-d c:\casiofiles") to specify the folder where the AC7 files reside.  This presumes the output file would go in the same folder.  Or you could just require the full path and filename on both the input and output parameters.

Link to comment
Share on other sites

23 minutes ago, Mclandy said:

One thought that came to my mind, especially reading about folks like @Chandler Hollowayworking with a whole library of rhythms, is that that it would be very handy to have a command line version of this program to enable writing batch scripts.  So basically pass in arguments for infile and outfile and maybe an optional rename parameter (for example, "Restyle -i 8beat.ac7 -r New8beat -o 8beatunlocked.ac7"), and it saves the same rhythm, with a new name and unlocked parts.  I don't know that swapping the patterns around makes as much sense in a command line, but for extra points I guess you could consider a parameter something of the form "-s V1=V2;F1=F2" to define the desired transformations, although I would make that secondary to getting out a version that just does the unlocking.  If you have a large number of rhythm files, this would make it a lot less tedious.

 

Edit: You'd probably also need a directory parameter ("-d c:\casiofiles") to specify the folder where the AC7 files reside.  This presumes the output file would go in the same folder.

 

Did you notice the "multiple files" tab? It also allows for loading a complete folder of rhythms to enable bulk editing, but at the moment, variation swapping cannot be indicated in that tab. A command line version of the program could be an alternative of course, but perhaps imposes a higher "minimal tech-savvyness" on the users.

 

Link to comment
Share on other sites

2 minutes ago, shiihs said:

 

Did you notice the "multiple files" tab? It also allows for loading a complete folder of rhythms to enable bulk editing, but at the moment, variation swapping cannot be indicated in that tab. A command line version of the program could be an alternative of course, but perhaps imposes a higher "minimal tech-savvyness" on the users.

 

Oops, sorry, I did miss that!  Never mind! 😁

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.