Jump to content
Video Files on Forum ×

"Tone Tyrant" tone editing software


mrmr9494

Recommended Posts

I've created a piece of open-source software for editing Tone files for certain models of Casio keyboard. It's called "Tone Tyrant for Casio", and the home page for the project is here: https://github.com/michgz/tonetyrant. This is something I've done as a hobby and hopefully it can be helpful to some other Casio musicians.

 

At the moment the software only supports CT-X3000/X5000 keyboards. However, there's a plan to add additional functionality which has the potential to make it useful for other keyboards (starting with CT-X700/X800). See below for a bit more info on that.

 

The software is based on a "hex editor" concept so if you've used other hex editors it should be very straightforward to get started. There are some features additional to what you normally get on a hex editor which make it useful for editing Casio tones:

  • Automatically calculates the Casio CRC value
  • Provides "hints" for tone parameters which have a known meaning. These have just been worked out by me, so there are loads which are still unknown. If you work out others which I've missed, you can help out by feeding them back into the project -- either by making a post on this forum, or by creating an "Issue" on the Github page.
  • A feature to create random tones (useful to get creative inspiration!)
  • Can upload & download tones directly to keyboard User Memory -- no need to use a USB stick or CTX Data Manager program.

 

Windows

 

To get Tone Tyrant running on Windows, there's no need to install anything. Just download the latest version, unzip it anywhere and double-click to run (Update: for now, the program is only for Windows 10/11). The first time you run, Windows may pop up a security dialog - click "More Info" and "Run anyway".

The latest version is v1.0.1:  https://github.com/michgz/tonetyrant/releases/download/v1.0.1/windows-10-executable-v1.0.1.zip

 

Other systems

 

For info on running with other systems (Linux / running within a Python prompt / etc.) see the project page. At the moment, Mac OS is not supported but it shouldn't be hard to get it working -- if that would be useful to you, then give a shout.

 

TTex1.png.93bb3e29723de885d1ecae3ed6e8f2c5.png

 

Planned features

Now, for the possible upcoming feature: I'm hoping to do some work with Miguel, the programmer behind the RBK Mixer tool (which you should definitely check out if you have a CT-X700/X800/CDP-S350 and wish to get a bit more control over its sounds), to get real-time upload of tone parameters. This would allow changing tones over MIDI while they are being played, no need to upload a new file for every change that's made.

 

One of the cool things about that is it doesn't make any use of User Memory storage, so it should work perfectly well on keyboards that don't have non-volatile storage for tones. That means in future the software can usefully support any of the following keyboard models:

  • CT-X700/X800
  • CDP-S350
  • Indian variants of CT-X
  • CT-S400
  • In fact, probably any future keyboards that use AiX sound engine

 

Getting all of these will be quite ambitious! If you own one of the keyboards listed above and would like have tone-editing capabilities for it, then do get in touch. The more people who can get involved (and give a little bit of help, in terms of testing & trying things out), the more support we can create across the Casio keyboard range.

 

EDIT 25/01/2022: update to v1.0.1

Edited by mrmr9494
Clarify only Windows 10/11
  • Like 4
Link to comment
Share on other sites

15 hours ago, mrmr9494 said:

Belirli Casio klavye modelleri için Ton dosyalarını düzenlemek için bir parça açık kaynaklı yazılım oluşturdum. Adı "Tone Tyrant for Casio" ve projenin ana sayfası burada: https://github.com/michgz/tonetyrant . Bu benim hobi olarak yaptığım bir şey ve umarım diğer Casio müzisyenlerine de yardımcı olabilir.

 

Şu anda yazılım yalnızca CT-X3000/X5000 klavyelerini desteklemektedir. Ancak, diğer klavyeler için faydalı olma potansiyeline sahip ek işlevler ekleme planı vardır (CT-X700/X800'den başlayarak). Bununla ilgili biraz daha fazla bilgi için aşağıya bakın.

 

Yazılım bir "hex editörü" konseptine dayanmaktadır, bu nedenle başka hex editörleri kullandıysanız, başlamak çok basit olmalıdır. Normalde bir altıgen düzenleyicide edindiğiniz özelliklere ek olarak, Casio tonlarını düzenlemek için kullanışlı hale getiren bazı özellikler vardır:

  • Casio CRC değerini otomatik olarak hesaplar
  • Bilinen bir anlamı olan ton parametreleri için "ipuçları" sağlar. Bunlar benim tarafımdan yeni işlendi, bu yüzden hala bilinmeyen yükler var. Kaçırdığım diğerlerini çözerseniz, bu forumda bir gönderi yaparak veya Github sayfasında bir "Sorun" oluşturarak onları projeye geri besleyerek yardımcı olabilirsiniz.
  • Rastgele tonlar yaratma özelliği (yaratıcı ilham almak için kullanışlıdır!)
  • Tonları doğrudan klavye Kullanıcı Belleğine yükleyebilir ve indirebilir - bir USB çubuğu veya CTX Veri Yöneticisi programı kullanmanıza gerek yoktur.

 

pencereler

 

Tone Tyrant'ın Windows üzerinde çalışmasını sağlamak için herhangi bir şey yüklemenize gerek yoktur. En son sürümü indirin, sıkıştırılmış dosyayı herhangi bir yerden açın ve çalıştırmak için çift tıklayın. İlk çalıştırdığınızda, Windows bir güvenlik iletişim kutusu açabilir - "Daha Fazla Bilgi" ve "Yine de çalıştır" seçeneğini tıklayın.

En son sürüm v1.0.0'dır: https://github.com/michgz/tonetyrant/releases/download/v1.0.0/windows-executable-v1.0.0.zip

 

Diğer sistemler

 

Diğer sistemlerle çalıştırma hakkında bilgi için (Linux, bir Python isteminde çalıştırma vb.) proje sayfasına bakın . Şu anda, Mac OS desteklenmiyor, ancak onu çalıştırmak zor olmamalı - bu sizin için yararlı olacaksa, o zaman bir bağırın.

 

TTex1.png.93bb3e29723de885d1ecae3ed6e8f2c5.png

 

Planlanan özellikler

Şimdi, yaklaşmakta olan olası özellik için: RBK Mikser aracının arkasındaki programcı olan Miguel ile biraz çalışma yapmayı umuyorum (bir CT-X700/X800/CDP-S350'niz olup olmadığını kesinlikle kontrol etmelisiniz) ton parametrelerinin gerçek zamanlı yüklenmesini sağlamak için sesleri üzerinde biraz daha fazla kontrol. Bu, çalınırken MIDI üzerinden tonların değiştirilmesine izin verir, yapılan her değişiklik için yeni bir dosya yüklemeye gerek kalmaz.

 

Bununla ilgili harika şeylerden biri, Kullanıcı Belleği depolamasını kullanmamasıdır, bu nedenle tonlar için kalıcı depolamaya sahip olmayan klavyelerde mükemmel şekilde çalışması gerekir. Bu, gelecekte yazılımın aşağıdaki klavye modellerinden herhangi birini faydalı bir şekilde destekleyebileceği anlamına gelir:

  • CT-X700/X800
  • CDP-S350
  • CT-X'in Hint varyantları
  • CT-S400
  • Aslında, muhtemelen AiX ses motorunu kullanan gelecekteki klavyeler

 

Tüm bunları elde etmek oldukça iddialı olacak! Yukarıda listelenen klavyelerden birine sahipseniz ve bunun için ton düzenleme özelliklerine sahip olmak istiyorsanız, iletişime geçin. Ne kadar çok insan dahil olursa (ve test etme ve deneme konusunda biraz yardım ederse), Casio klavye yelpazesinde o kadar fazla destek yaratabiliriz.

 

Is it possible to edit the tn7 file in other casio models as a .ton file
Link to comment
Share on other sites

4 hours ago, Fenerli said:
Is it possible to edit the tn7 file in other casio models as a .ton file

 

That would be the "WK-" family of keyboards? No, it won't be useful with those keyboards, for that I think there are existing tools from Casio - either IDES 2.0 or IDES 3.0, depending on the model.

 

Link to comment
Share on other sites

Hi Mike, glad to hear this is getting off the ground!

 

@Fenerlithe .TN7 file format contains custom audio waveforms brought in via sampling. There's no way the CT-X model keyboards will ever be able to support it, as they do not support the importing of new samples. TON files are just parameter changes applied to the existing AiX sample set, not wholly original samples.

Link to comment
Share on other sites

On 1/16/2022 at 8:19 PM, mrmr9494 said:

I've created a piece of open-source software for editing Tone files for certain models of Casio keyboard. It's called "Tone Tyrant for Casio", and the home page for the project is here: https://github.com/michgz/tonetyrant. This is something I've done as a hobby and hopefully it can be helpful to some other Casio musicians.

 

At the moment the software only supports CT-X3000/X5000 keyboards. However, there's a plan to add additional functionality which has the potential to make it useful for other keyboards (starting with CT-X700/X800). See below for a bit more info on that.

 

The software is based on a "hex editor" concept so if you've used other hex editors it should be very straightforward to get started. There are some features additional to what you normally get on a hex editor which make it useful for editing Casio tones:

  • Automatically calculates the Casio CRC value
  • Provides "hints" for tone parameters which have a known meaning. These have just been worked out by me, so there are loads which are still unknown. If you work out others which I've missed, you can help out by feeding them back into the project -- either by making a post on this forum, or by creating an "Issue" on the Github page.
  • A feature to create random tones (useful to get creative inspiration!)
  • Can upload & download tones directly to keyboard User Memory -- no need to use a USB stick or CTX Data Manager program.

 

Windows

 

To get Tone Tyrant running on Windows, there's no need to install anything. Just download the latest version, unzip it anywhere and double-click to run. The first time you run, Windows may pop up a security dialog - click "More Info" and "Run anyway".

The latest version is v1.0.0: https://github.com/michgz/tonetyrant/releases/download/v1.0.0/windows-executable-v1.0.0.zip

 

Other systems

 

For info on running with other systems (Linux, running within a Python prompt, etc.) see the project page. At the moment, Mac OS is not supported but it shouldn't be hard to get it working -- if that would be useful to you, then give a shout.

 

TTex1.png.93bb3e29723de885d1ecae3ed6e8f2c5.png

 

Planned features

Now, for the possible upcoming feature: I'm hoping to do some work with Miguel, the programmer behind the RBK Mixer tool (which you should definitely check out if you have a CT-X700/X800/CDP-S350 and wish to get a bit more control over its sounds), to get real-time upload of tone parameters. This would allow changing tones over MIDI while they are being played, no need to upload a new file for every change that's made.

 

One of the cool things about that is it doesn't make any use of User Memory storage, so it should work perfectly well on keyboards that don't have non-volatile storage for tones. That means in future the software can usefully support any of the following keyboard models:

  • CT-X700/X800
  • CDP-S350
  • Indian variants of CT-X
  • CT-S400
  • In fact, probably any future keyboards that use AiX sound engine

 

Getting all of these will be quite ambitious! If you own one of the keyboards listed above and would like have tone-editing capabilities for it, then do get in touch. The more people who can get involved (and give a little bit of help, in terms of testing & trying things out), the more support we can create across the Casio keyboard range.

 

yeeeeeeees, you just scored 10 points right now, this is going to make things easier for many ctx owners. Very good news. Thanks for your time. With this people can get an idea of what the ctx (and the new ct-500) can do. Perhaps with the new CT-500, which shares an engine with the ctx, we can, through reverse engineering, learn more about the ctx.

Link to comment
Share on other sites

This is useful feedback. I haven't been able to specifically test on a Windows 7 machine, so interesting (if a little disappointing) to hear it doesn't work there.

 

So yes, for now it is only for Windows 10/11 64-bit. There is also an option to run from python, but that will be most suitable for people who have used Python before in the past.

 

This is the long story: the executables are built using a system called PyInstaller, and from reading online it's starting to seem that it needs to build a different file for each version of Windows. The build itself is done with Github Actions which is free (nice!) but is limited to only Windows 10. So I'm not sure what solution there is for this at the moment.

 

Finally, for those who are able to run the program, I've made a small update to a new version. It fixes some appearance issues with the Hint window:

https://github.com/michgz/tonetyrant/releases/download/v1.0.1/windows-10-executable-v1.0.1.zip

  • Like 2
Link to comment
Share on other sites

As an amateur developer, I made the choice to go with Win10+ only for my CZ editor software. If I wanted to be compatible with earlier Windows like 7 and 8 I'd need to keep a PC running those OSs just for testing and that's more effort than I care to make, having upgraded everything I have to 10. This excludes some users but we all have to make choices in life. I was very fond of Win7 myself, but staying with it would ultimately exclude me from running newer software.

  • Like 2
Link to comment
Share on other sites

Thanks for your perspective Ian, very similar situation and interesting you've also decided on the Windows 10+ limitation.

 

BTW, that's a really nice looking program you have written for the CZ synths. It's nice to find out about other things going on in the amateur space.

  • Like 1
Link to comment
Share on other sites

@mrmr9494 thanks, and I admire your program also, looks like it was a lot of work! I originally wrote mine for my unusual niche that I had found out how to patch my CT6500 (which is the preset "home keyboard" version of a CZ) but there was nothing available to support that and manually editing sysex files was ergonomically unreasonable :)  Then it sort of grew into a general editor and patch manager for CZs. One thing I like about distributing it through the Microsoft Store is I get to see it being used all over the world through the analytics available.

 

As an aside, I'm currently writing PIC assembler for my homebrew monosynth and deep in decoding the MIDI data, I've had it just responding to Note On/Off for a while but getting into all the other stuff- pitch bend, controllers, sysex etc has me at that "bigger job than I anticipated" stage. Gaah.

Link to comment
Share on other sites

  • 2 months later...

Just updated the software to version 2, which includes "real-time" control of synthesis over MIDI SysEx. I'm hoping this will work on CT-X700/800 equally as well as on CT-X3000/5000, so owners of those keyboards now also have a way to change up their sounds. The "original" function of the ToneTyrant software (i.e. file editing) is still supported as always.

 

An executable for Windows 10/11 can be downloaded from here, while to get the software running on other setups please refer to the project homepage.

 

I've made a YouTube video to explain and demo the real-time function. It's my first attempt at a YouTube video so please be kind :lol:.

 

 

  • Like 1
  • Love 2
Link to comment
Share on other sites

Hi @mrmr9494, this is really most impressive work I must say.

 

Since all CT-X keyboards hit the market back in 2018 (time flies), it struck me that the CT-X3000 and 5000 had some similarities with the good old Korg M1; namely, sophistication behind a sparse user interface, and that they were calling out for  a computer-based patch editor. Well, so you made it, congratulations!

 

Now, as far as the CT-X700 and 800 are concerned, have you tested Tone Tyrant yet? Unfortunately I cannot test your software on my CT-X800 because my only Windows computer is an old desktop running Seven.

 

I am currently playing with the idea of buying a Chromebook. Would it be possible to try out Tone Tyrant under Python in the Debian Linux container or am I dreaming out loud? I am not sure whether the Linux container has access to USB MIDI under Chrome OS.

 

Vinciane

Link to comment
Share on other sites

I have W10 on 2 machines. Anybody know how the coding is so different from W7 to 10? And Roger, I've moved on-since DOS 3.00 and Dr. DOS, I've installed every iteration of Windows there ever was, mostly because I had to. Just getting kind of tired of upgrading Windows time after time. And the GUI-meh. Especially since windows 10 seems to be trying to look like Android, which is silly.

  • Sad 1
Link to comment
Share on other sites

Microsoft can't settle on a coding standard because every time they decide what the future is, it doesn't get enough adopters and they abandon it. With VZV CZ I committed to UWP (Universal Windows Platform), the "app" style, but they've effectively abandoned that now. And of course every time they do this it makes devs less willing to commit to MS's next big idea because so it's a negative feedback loop. But that's why in my case VZV CZ won't run on Win 7, it's Win10+ only.

Link to comment
Share on other sites

I understand completely. Years ago, when I decided to try a second career as a computer IT, after learning on my own since the 60s (my father worked in aerospace, computers and for IBM when computer boards needed a handtruck to install!) imagine my disgust when I discovered, after making the cut in school the first year training as a network engineer-that I would need around 5 Microsoft certifications, each costing 500 dollars plus-before i would even be allowed to look at a Microsoft consumer desktop machine, which at the time was the only game in town (NT). and if i wanted to be a software developer, to get in the door-to have access to the beginning developer's Microsoft API-would cost a few thousand dollars-in 1990's money, before i would even be able to develop the simplest software for Windows. and this after C++ had already been around for a long time and Visual Basic was starting to catch on for GUI developers. I changed my mind right there. I could see my future would belong to Bill Gates, and not be my own. Anyone who can develop any Microsoft compatible anything at this point, for any version of their operating systems, deserves all the credit you can get, and you've got mine.

  • Like 1
Link to comment
Share on other sites

On 4/16/2022 at 10:34 PM, vbdx66 said:

Hi @mrmr9494, this is really most impressive work I must say.

 

Since all CT-X keyboards hit the market back in 2018 (time flies), it struck me that the CT-X3000 and 5000 had some similarities with the good old Korg M1; namely, sophistication behind a sparse user interface, and that they were calling out for  a computer-based patch editor. Well, so you made it, congratulations!

 

Now, as far as the CT-X700 and 800 are concerned, have you tested Tone Tyrant yet? Unfortunately I cannot test your software on my CT-X800 because my only Windows computer is an old desktop running Seven.

 

I am currently playing with the idea of buying a Chromebook. Would it be possible to try out Tone Tyrant under Python in the Debian Linux container or am I dreaming out loud? I am not sure whether the Linux container has access to USB MIDI under Chrome OS.

 

Vinciane

 

 

Vinciane, firstly apologies for taking so long to reply, I was away and forgot to take passwords, etc. I actually haven't test the ToneTyrant programme with CT-X700/800 so would be very happy to get some feedback on that. The Win7 thing is still an issue. Almost certainly a Linux container would not have access to low-level hardware - as you guess. However, it's certainly possible to run the programme under Python in Windows - even Windows 7. It would involve installing Python 3.8.10, plus some other prerequisites, and running from the command line - not for the faint-hearted! I'll happily provide some guidance if you wish.

 

  • Like 1
Link to comment
Share on other sites

I just found this piece of software and it seems to be very nice thing for an enthusiast.

Since there are so many parameters, I do have a question regarding the "aftersound", whenever it can be edited?

For example, here's a marimba sound, which sounds differently when you keep holding the key and when you swiftly release it after pressing - With key pressed, it sounds short, as it should be, but if you release the key, it has long "aftersound", reducing the practical use of this sound. I'm attaching it here.  

CT-X5000_Po Name.TON

Link to comment
Share on other sites

On 4/25/2022 at 9:59 PM, Just Alex said:

Since there are so many parameters, I do have a question regarding the "aftersound", whenever it can be edited?

For example, here's a marimba sound, which sounds differently when you keep holding the key and when you swiftly release it after pressing - With key pressed, it sounds short, as it should be, but if you release the key, it has long "aftersound", reducing the practical use of this sound. I'm attaching it here.  

 

 

@Just Alex, you might just be able to solve your problem by using the CT-X5000 on-board sound editor and reducing the "Rel. Time".

 

What you're describing is the envelope of the sound, and in ToneTyrant it's given the name of "Gain Envelope (Sound A)". I've shown it below. The decay of the sound when the key is held down is governed by "Attack Time 3" and when the key is released it's "Release Time 1". The CT-X5000 allows you to change Release Time 1 in the on-board editor, but to change Attack Time 3 or any of the other parameters that's when you need a software such as ToneTyrant.

 

image.thumb.png.607003032092e4b060dff2c5bbe0f34e.png

 

 

Link to comment
Share on other sites

  • 2 weeks later...

And another question.

Certain tones fade fast, when you release the key, but they sound different, when you keep key pressed. So is it possible to modify them in that way, that when you keep key pressed, they fade same fast, as with key released?

 

Link to comment
Share on other sites

On 5/11/2022 at 7:33 AM, Just Alex said:

Certain tones fade fast, when you release the key, but they sound different, when you keep key pressed. So is it possible to modify them in that way, that when you keep key pressed, they fade same fast, as with key released?

 

 

Sure, absolutely that's possible. Use "Attack Time 3" to control it, although you might need to play around with some of the levels to get the sound you want.

 

The AiX chip uses a 6-stage envelope which gives you a lot of control over the possible sound. What you're talking about Alex I think is the "Hold" level, which the level of the sound if the key is held down for a long time. A violin sound for example has a high "Hold" level (the sound continues indefinitely), compared with a celesta where the sound ends almost immediately whether the key is held or not (i.e it's "hold" level is low). The CTX allow full control over all of this, plus a lot more.

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.