Jump to content

Availability of a new AC7 Editor program


Recommended Posts

1

 

I am announcing the availability of a program that I've written, which provides a set of functions for editing AC7 files, most specifically for CT-X model keyboards. The program is hosted and available on the SourceForge web site as an open-source project. Here is a summary list of the functions it provides, several of which go beyond what is available on the keyboard itself:

  • Change the Tones (voices) used, and the mixer settings
  • Apply EQ filters to the Tones
  • Shift notes in tracks up or down in octave increments
  • Add new notes that mirror the existing ones, at octave offsets
  • Change all instances of a drum note to a different drum note
  • Map a drum note to a different drum note in another drum kit
  • Shift note velocity ranges in tracks
  • Change Breakpoint settings in tracks
  • Set upper and lower note transposition limits in tracks
  • Create and edit rhythm-based DSPs (up to 2) to apply to Tones in the rhythm
  • Export from an AC7 with 4 variations/fills (CT-X3000/5000) to one with 2 (CT-X700/800)
  • Import from a Style file to an AC7 (*)
  • Browse folders containing AC7s, with the list showing some internal AC7 data for each
  • Show a detailed summary of all the tracks in an AC7
  • Unlock ‘Fixed” tracks in an AC7 so they can be edited on the keyboard (within limitations)
  • Create fade-in or fade-out Intros and Endings

 

* Importing from Style to AC7 is far from an exact science, especially for Style files from newer top-of-the-line keyboards which have more features that have no equivalent on the CT-X. Poorly-formed Style files from 3rd party sources can also be very problematic. So this is only a “best-can-do” with no guarantees, but it works in many cases.

 

Note that this program is not a MIDI editor or player, nor does it convert random MIDI files into an AC7 (MIDI files by themselves actually do not contain nearly enough information to do that). Also, at this time it only runs on Windows, and the only supported language is English.

 

The best place to start is with the Wiki information on the project page, which is available under the Wiki tab. Please read it first!! The package is simply a downloadable zip file, and can be found on the Files tab. The project page also includes some screen shots, and can be found here:

https://sourceforge.net/projects/ac7editor/

 

Important: The program is written in a language called ooRexx, and requires the installation of a runtime environment along with a Windows Dialog add-on package called ooDialog. These are fairly small, lightweight packages, and are also hosted on SourceForge. See the Wiki documentation for direct links to the install packages, and important information about installing them and the program.

 

This should be a bit self-evident, but this program does modify AC7 files, and just like any editor it allows you to save those modifications to the existing file.  So it's best to have a "working" folder to which you can copy AC7 files for experimentation, while keeping a safe copy of the originals somewhere else.  While most of the edit changes are reversible, a few are not, so make sure you have a backup.

 

I will try to respond to questions and problems regarding the program as much as I can, but with limited time for support I will probably focus primarily on specific problem reports like crashes or incorrect behavior, and may not respond to things like additional feature requests, or basic questions relating to information that can be easily found in the Wiki, the keyboard manual, or on the internet.

 

Lastly I would like to acknowledge @mrmr9494 and thank him for his assistance and for blazing the trail on Casio data format analysis.

 

Have fun!

Edited by Mclandy
  • Like 2
Link to comment
Share on other sites

Looks like an accomplished bit of work. I installed it along with the rex programs (noticed it needs to have version 4.2 for both, which is described at Sourceforge, version 5.0 does not work with 4.2) and it fires up beautifully, very easy to grasp. I am testing it on an i5 Windows 7 machine with 16GB's of ram and it looks real good, very accessible.

 

My only limitation as a "beta tester"-not a reflection on your software, I will see if these transforms work with my PX560 since it also uses AC7 rhythm files. I have done quite a bit of ac7 mods the hard way-without your editor, using Chandler's (and my) experiments with modifying AC7 and the older .ckf rhtyhms. I never purchased any of the CTX series, the XW-P1 and PX560 keep me well engaged.

 

So will try this with the PX560 AC7 files I have, see if it "meshes" at all-I will be able to detect your software changes in AC7 files I've already programmed myself-but since the CTX series vs. the PX560 I do not think have the same program and bank change messages, might not be entirely compatible for me, but I can still try it out and post back.

 

Would be an added plus if it manages even a few of the changes for an AC7 rhythm for the PX, since there is no internal rhythm editor with this, except for a few of the simplest changes, nothing that approaches what your program can potentially do. Octave shifts alone will be very helpful, pretty much impossible with first creating a .mid file, specifying every tone, octave etc., and then converting it to a ckf-which is playable on a PX560. there is nothing that converts a .mid straight to an AC7. If i can get htis to work for the PX560, that partially solves that problem since many of the transforms I created within the ckf format and the few Casio software tools look to be do-able with your software instead. and thus.....

 

Do you think (I don't have the skills to open your code and understand it quite) this might also work with the older CTK and WK series that use AC7 rhythms? These have some rhythm programmability internally I recall-I had the CTK6200 and WK6500 for awhile, but not to the extent that your program looks capable of.

  • Like 1
Link to comment
Share on other sites

Posted (edited)

Unfortunately, I don't have any other keyboards to test on (I have a CT-X5000), so I can't be sure, but my belief is that almost all of the functions should be valid on other keyboards, except:

  • DSP definitions - I know the CT-X supports 2 in a rhythm, some might support only 1, or none at all
  • Tone EQ settings - I'm pretty sure those are specific to CT-X
  • Drum remapping into another kit - I think that is also specific to CT-X

Even if you were to add any of those to an AC7, I think the other keyboards would just ignore them, but would still play OK.  And if the source AC7 did happen to have some of these (say, if it came from a CT-X), you can use the editor to remove them if desired.  In any case, I think the resultant AC7 should always be "safe" to play on those other keyboards, so feel free to give it a try.

 

As you point out, differences in bank/patch information is a problem, perhaps excluding some instruments and including others that won't play on the other keyboards.  I tried to restrict the Tone choices to "valid" tones on the CT-X, to make it more foolproof.  Even if the Tone "numbers" and/or descriptions don't exactly match, any Tones with equivalent bank/patch numbers on both keyboards should be fine.   I was thinking maybe it wouldn't be too hard to add an alternate Tone set for PX-560, but taking a quick look at the PX-560 tones, I see that they re-use the same "Tone numbers" in each instrument group (that is, Tones are grouped by Pianos, Guitars, Organs, Strings, and so on, and all begin with a Tone number 001), and I know that would unfortunately be a problem as I depend on those being unique.  Also, it looks like they intermix the User tones with the built-ins in each group (I guess that means the User tones in each group must be derived from that type of tone?).  Very different layout.

 

Anyway, I'd be interested to hear how you make out (and the community probably would, too).

 

P.S. Also noticed that the drum kits are very similar, but do have some differences, especially with regards to which notes default back to Standard Kit 1.

Edited by Mclandy
Link to comment
Share on other sites

I just wanted to mention, as @Jokeyman123 commented, you may notice that there is a newer version (5.0) of ooREXX out there, and there is in fact a way to install that with the 4.2 ooDialog manager and get my program working with it, but that gets a bit complicated and is not worth it unless you are doing your own ooRexx development.  It's much simpler to stick with the 4.2 version of ooRexx and ooDialog, especially if you are installing them just to support this program.  But if anyone wants further details, let me know.

Link to comment
Share on other sites

This is some really good work, and a big step forward in tools to support the Casio keyboards. It's probable that AC7 will be the rhythm format for future product lines so a GUI tool that supports it natively is really good to have. (Pity Casio's official software offering has been let slip for so long, but that's a different story!)

 

The ingest of Yamaha Style files works pretty smoothly from what I can tell. If you want to get up-and-running with this software quickly, you can try just importing a Style and  exporting as AC7 - that could be all that's needed. This also provides the tools though to tweak to get it sounding exactly how you want, if that turns out to be needed.

 

As for supporting older keyboards, it should be okay. Casio does a good job of maintaining backwards compatibility for added features and instrument patch numbers are normally close enough to sound good. Do share experiences if you find something different though.

  • Like 1
Link to comment
Share on other sites

@mrmr9494, @Jokeyman123

After looking in a little more depth at the PX560 Tones and Drum kits, I see enough differences that it would probably be confusing trying to edit using the CT-X data.  Sometimes the same patch numbers have slightly different names, or are even swapped from what they are on CT-X.  Also, Privia has a ton more Piano tones (makes sense), which would not be accessible.  There are some drum kit differences, too.  I do, however, think I could find a workaround for the repetitive numbering in the Tone descriptions.

 

I wanted to make the program as simple and self-contained as possible for CT-X users (which was the primary focus), which is why I embedded the tone and drum descriptions in the program for those keyboards.  However, I used to have that data in separate files.  I'm thinking about the possibility of adding a Preferences option to specify an alternative, external file for the Tone and Drum data records, which would get loaded at startup in place of the embedded ones.   Perhaps that setting could also "switch off" any CT-X-only features.  That's something I'll muse over while waiting for some feedback from the early users.

Link to comment
Share on other sites

Posted (edited)

Release of new version 1.1 with enabling for non-CTX keyboard support

I have just released an updated version of the program that now includes limited support capability for non-CTX keyboards which use the AC7 format.  As I suggested in my last post, I have updated the Preferences dialog to allow for a 3rd mode for "Non-CTX" keyboards.  When that mode is enabled, another dialog option is enabled to specify an external "alternate patch" file for other keyboards.  At program startup, that file will be loaded in place of the internal CT-X Tone and Drum lists, so the program will show the Tone and Drum descriptions that are valid for the specified keyboard.  This mode will also disable a couple of features that are only available on CTX keyboards (the Tone EQ settings, and Drum kit substitutions).

 

Note that support for other keyboards than CT-X depends on the creation of these alternate "Patch" files.  These are simple text files, although as you might expect, they contain a lot of information.  I am not volunteering to build these for all the different Casio keyboards, but as an example and model I have created one for the PX-560 and included it in the download package.  The first few lines of the file describe the content and syntax, for reference.  Creating one of these might look a little intimidating at first, but they can be done with relatively little typing if you know how to copy and paste into a spreadsheet, move columns around, and export content in CSV format.  Perhaps this represents a good opportunity for some community collaboration.

 

One other change in this version is that I have decided not to list User Tones by default in the tone list in the "Tone and Mixer Settings" properties page.  In general, it's not a great idea anyway to use User Tones in Rhythms (anyone who has tried this probably knows why), plus with this program's ability to access the Rhythm file's built-in settings for DSP definitions, Tone EQ controls, and Drum Substitutions, there is even less reason to consider using User Tones.  So basically, including User Tones by default mostly just "clutters up" the Tone list unnecessarily.  However, User Tones can still be accessed and used simply by typing "user" in the Tone list filter and clicking "Apply", which will cause them all to be listed and available for selection.

 

Beyond these changes, this version just includes a few enhancements in operation verification (things to prevent/protect users from unintentionally doing wrong things).

 

Link: https://sourceforge.net/projects/ac7editor/files/

 

Let me know if there are any questions.

 

By the way, does anybody know if Chandler Holloway is still around, or if not, is there anyone who now fulfills a similar role?  Also, I see there have been a few downloads - any feedback?

 

Edited by Mclandy
Link to comment
Share on other sites

As per our pm's I am working at this now. The more I study this, the more impressive it becomes. Re-mapping drum notes, all the mixer settings are in here for panning etc. I don't know if chandler is still on this board, but his doc is posted, I am imagining, based on your work, that you have already studied his work in relation to style modifications and control. If you haven't, that is even more remarkable. I don't have much time tonight to start modifying some of my rhythm parameters with this and testing out how it is working on the PX560, but I will. The PX560 is as limited as the CTX series regarding modifying rhythm accompaniments unless one follows Chandler's and my experiments and even with several distinct software programs, there is nothing like this that accomplish this fine degree of modification and control.

Link to comment
Share on other sites

Thanks, and let me know how you make out.

 

If you try out the function for importing Styles, you will probably find it has a CT-X "bias" to it as well, as the mappings I've built up over time take advantage of the full range of CT-X tones and drum kits.  So after doing an Import, you may find some "Undefined (bank/PC)" tones listed, as well as possibly some unassigned drum sounds.  The good news is that the editor makes these fairly easy to change, plus you also have the option of adding superseding mapping definitions to the "remap.txt" file to change how the tones are converted.   Aside from that, I think all the other functions (other than the disabled CTX-only ones) should work for the PX560, but let me know how it goes.

Link to comment
Share on other sites

  • 4 weeks later...
On 4/7/2024 at 10:28 AM, Mclandy said:

1

 

I am announcing the availability of a program that I've written, which provides a set of functions for editing AC7 files, most specifically for CT-X model keyboards. The program is hosted and available on the SourceForge web site as an open-source project. Here is a summary list of the functions it provides, several of which go beyond what is available on the keyboard itself:

  • Change the Tones (voices) used, and the mixer settings
  • Apply EQ filters to the Tones
  • Shift notes in tracks up or down in octave increments
  • Add new notes that mirror the existing ones, at octave offsets
  • Change all instances of a drum note to a different drum note
  • Map a drum note to a different drum note in another drum kit
  • Shift note velocity ranges in tracks
  • Change Breakpoint settings in tracks
  • Set upper and lower note transposition limits in tracks
  • Create and edit rhythm-based DSPs (up to 2) to apply to Tones in the rhythm
  • Export from an AC7 with 4 variations/fills (CT-X3000/5000) to one with 2 (CT-X700/800)
  • Import from a Style file to an AC7 (*)
  • Browse folders containing AC7s, with the list showing some internal AC7 data for each
  • Show a detailed summary of all the tracks in an AC7
  • Unlock ‘Fixed” tracks in an AC7 so they can be edited on the keyboard (within limitations)
  • Create fade-in or fade-out Intros and Endings

 

* Importing from Style to AC7 is far from an exact science, especially for Style files from newer top-of-the-line keyboards which have more features that have no equivalent on the CT-X. Poorly-formed Style files from 3rd party sources can also be very problematic. So this is only a “best-can-do” with no guarantees, but it works in many cases.

 

Note that this program is not a MIDI editor or player, nor does it convert random MIDI files into an AC7 (MIDI files by themselves actually do not contain nearly enough information to do that). Also, at this time it only runs on Windows, and the only supported language is English.

 

The best place to start is with the Wiki information on the project page, which is available under the Wiki tab. Please read it first!! The package is simply a downloadable zip file, and can be found on the Files tab. The project page also includes some screen shots, and can be found here:

https://sourceforge.net/projects/ac7editor/

 

Important: The program is written in a language called ooRexx, and requires the installation of a runtime environment along with a Windows Dialog add-on package called ooDialog. These are fairly small, lightweight packages, and are also hosted on SourceForge. See the Wiki documentation for direct links to the install packages, and important information about installing them and the program.

 

This should be a bit self-evident, but this program does modify AC7 files, and just like any editor it allows you to save those modifications to the existing file.  So it's best to have a "working" folder to which you can copy AC7 files for experimentation, while keeping a safe copy of the originals somewhere else.  While most of the edit changes are reversible, a few are not, so make sure you have a backup.

 

I will try to respond to questions and problems regarding the program as much as I can, but with limited time for support I will probably focus primarily on specific problem reports like crashes or incorrect behavior, and may not respond to things like additional feature requests, or basic questions relating to information that can be easily found in the Wiki, the keyboard manual, or on the internet.

 

Lastly I would like to acknowledge @mrmr9494 and thank him for his assistance and for blazing the trail on Casio data format analysis.

 

Have fun!

Congratulations, I installed the program here and from what I saw it is working well.

I have a CT-X3000 and an MZ-X 500 and will soon be testing your program.

What I'm unsure about is changing a drum note for a note from another kit.

I haven't tested it yet, but is it possible to use a sound from, for example,

STANDART 1 and another drum sound from the DANCE SET1 Rhythm Kit on the same channel?

If possible, it will be very good at creating more improved rhythms.

Sorry my English.

Link to comment
Share on other sites

@Silvano Silva,

    Yes, this program allows you to substitute specific drum notes for a drum sound in another kit, by using a feature in the CT-X keyboards.   I am pretty sure this feature is exclusive to CT-X keyboards, so it will not work on your MZ-X (although on MZ-X, you can create "User" drum kits which include whatever sounds you want, isn't that correct?).  But as you say, you can for example assign a note in Standard Kit 1 to play another drum sound from Dance Set 1, and that allows you to create and play improved rhythms on CT-X.  It's actually kind of nice that this is a feature of the Rhythm file, because then there is no need to create a special User drum tone file to go with it.

 

Please note my earlier posts about support for non-CTX keyboards.  The program only has built-in Tone and Drum lists for the CT-X models, so AC7 files from an MZ-X keyboard may contain quite a few "unknown" MZ-X Tone names, or some may be labeled slightly differently, and of course the Drum kits are somewhat different, too.  But if someone wants to create an alternate Patch file for MZ-X, then the program will support it.
 

  • Like 1
Link to comment
Share on other sites

On 5/13/2024 at 2:38 PM, Mclandy said:

@Silvano Silva,

    Yes, this program allows you to substitute specific drum notes for a drum sound in another kit, by using a feature in the CT-X keyboards.   I am pretty sure this feature is exclusive to CT-X keyboards, so it will not work on your MZ-X (although on MZ-X, you can create "User" drum kits which include whatever sounds you want, isn't that correct?).  But as you say, you can for example assign a note in Standard Kit 1 to play another drum sound from Dance Set 1, and that allows you to create and play improved rhythms on CT-X.  It's actually kind of nice that this is a feature of the Rhythm file, because then there is no need to create a special User drum tone file to go with it.

 

Please note my earlier posts about support for non-CTX keyboards.  The program only has built-in Tone and Drum lists for the CT-X models, so AC7 files from an MZ-X keyboard may contain quite a few "unknown" MZ-X Tone names, or some may be labeled slightly differently, and of course the Drum kits are somewhat different, too.  But if someone wants to create an alternate Patch file for MZ-X, then the program will support it.
 

Congratulations Mclandy.

I tested the program and it worked well to change Drum parts.

I believe that the CT-X manages the same way that the MZ-X manages the Drum Kits.

THE DRUMS SOUNDS ARE ON THE SAME MEMORY PAGE OF BOTH KEYBOARDS.

The difference is that in the MZ-X the editing function is unlocked and you were able to unlock it via software.

To be complete, it would be enough to change the tuning of each drum note,

but that would be too demanding.

As for editing DSP in Ritmo without going through separate editing of a tone, it surprised me.

This opens up possibilities of creating a Rhythm with the onboard DSP without having to edit a tone from the outside and remap it.

I was very happy to have a tool that allows me to create more freely on the CT-X

and soon I will create new Rhythms with the new functions thanks to you.

Link to comment
Share on other sites

Posted (edited)
17 hours ago, Silvano Silva said:

To be complete, it would be enough to change the tuning of each drum note,

but that would be too demanding.

 

As for editing DSP in Ritmo without going through separate editing of a tone, it surprised me.

This opens up possibilities of creating a Rhythm with the onboard DSP without having to edit a tone from the outside and remap it.

Actually, CT-X does support parameters in the AC7 file to tune drum notes, both EQ and some effects.  I haven't had time to implement and test the configuration controls for it yet.  It gets a little complicated being on an individual note basis.  Do you use that a lot on your MZ-X?  I could try to add it when I get some time to work on it.

 

I agree, DSP as part of the Rhythm file, without having to create a custom tone, is a nice feature.

Edited by Mclandy
Link to comment
Share on other sites

  • 2 weeks later...
On 5/16/2024 at 12:43 PM, Mclandy said:

Actually, CT-X does support parameters in the AC7 file to tune drum notes, both EQ and some effects.  I haven't had time to implement and test the configuration controls for it yet.  It gets a little complicated being on an individual note basis.  Do you use that a lot on your MZ-X?  I could try to add it when I get some time to work on it.

 

I agree, DSP as part of the Rhythm file, without having to create a custom tone, is a nice feature.

I occasionally use the Drum Editor on the MZ-X.
The Mzx and CTX have very good Latin drum sounds but some sounds are not in standard tuning.

Link to comment
Share on other sites

On 4/8/2024 at 5:38 PM, Jokeyman123 said:

Looks like an accomplished bit of work. I installed it along with the rex programs (noticed it needs to have version 4.2 for both, which is described at Sourceforge, version 5.0 does not work with 4.2) and it fires up beautifully, very easy to grasp. I am testing it on an i5 Windows 7 machine with 16GB's of ram and it looks real good, very accessible.

 

My only limitation as a "beta tester"-not a reflection on your software, I will see if these transforms work with my PX560 since it also uses AC7 rhythm files. I have done quite a bit of ac7 mods the hard way-without your editor, using Chandler's (and my) experiments with modifying AC7 and the older .ckf rhtyhms. I never purchased any of the CTX series, the XW-P1 and PX560 keep me well engaged.

 

So will try this with the PX560 AC7 files I have, see if it "meshes" at all-I will be able to detect your software changes in AC7 files I've already programmed myself-but since the CTX series vs. the PX560 I do not think have the same program and bank change messages, might not be entirely compatible for me, but I can still try it out and post back.

 

Would be an added plus if it manages even a few of the changes for an AC7 rhythm for the PX, since there is no internal rhythm editor with this, except for a few of the simplest changes, nothing that approaches what your program can potentially do. Octave shifts alone will be very helpful, pretty much impossible with first creating a .mid file, specifying every tone, octave etc., and then converting it to a ckf-which is playable on a PX560. there is nothing that converts a .mid straight to an AC7. If i can get htis to work for the PX560, that partially solves that problem since many of the transforms I created within the ckf format and the few Casio software tools look to be do-able with your software instead. and thus.....

 

Do you think (I don't have the skills to open your code and understand it quite) this might also work with the older CTK and WK series that use AC7 rhythms? These have some rhythm programmability internally I recall-I had the CTK6200 and WK6500 for awhile, but not to the extent that your program looks capable of.

Thank you for this goodie.

🌴😌🙏🌾🌿🪴👍

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.