Jump to content
Video Files on Forum ×

"Tone Tyrant" tone editing software


mrmr9494

Recommended Posts

is there a "release" envelope setting with this Casio, because that is what you need-to increase the time it takes a sound to fade out. with some synths, I can set the release envelope so that the sound will not stop at all! The older CZ's could do this-and in 2 different places-this is how with one key-you can create an envelope that plays one 'tone", releases, and then another tonne will start. but the AIX chip does not have 8-stage envelopes unfortunately, so you will only be able to create one "release" envelope to sustain your sound. with a "sustain" envelope, what happens here is that-only when you keep holding the key down, can you program a sound that will continue to play-without changing its sound-until you 'release" the key., it is improtant, if you are a serious sound programmer, to understand the difference between the "sustain" and 'release" parts of a programmable sound envelope. i am not familiar with the programming on this Casio, I'll look over the manual and see how this one works. 6-stage, hmmm, pretty nice.

Link to comment
Share on other sites

So it looks like "attack time 3" would be equivalent to what other synths would describe as the "sustain" envelope, or at least similar? I've just looked over the manuals for the CTX-3000/5000 and I see only a description of attack and release for programmable envelopes. mrmr-how did you find out that this has 6-stage envelopes? Did you suss this out yourself while developing your software?

Link to comment
Share on other sites

On 5/16/2022 at 2:41 PM, Jokeyman123 said:

So it looks like "attack time 3" would be equivalent to what other synths would describe as the "sustain" envelope, or at least similar? I've just looked over the manuals for the CTX-3000/5000 and I see only a description of attack and release for programmable envelopes. mrmr-how did you find out that this has 6-stage envelopes? Did you suss this out yourself while developing your software?

Actually you're right, the commonly used word for that idea is "Sustain". Every time I write "Hold" you should read it as "Sustain".

 

I've probably been using the wrong word for so long I never thought to check.

 

To answer your Q: I worked this stuff out by changing parameters and recording the result into a program similar to Audacity. There's virtually no documentation about this from Casio for the CT-X, but documentation for older keyboards like the MZ-X500 (maybe the CZ?) is still relevant to a degree. Also what you mention about the sound that never stops, I know what you mean! It can be really annoying to work with sounds like that, so in ToneTyrant I chose to limit decays to a value of 256 or above to stop the decay times getting too long.

 

Link to comment
Share on other sites

Yes, there are still programming books for the older CZ's that go into great detail as far as envelopes, don't know anything about the MZ-X series. and I wouldn't say your word usage is wrong at all. Programmers do not all use the same terms to mean the same things. i am sure i could find a synth manual that will use hold for sustain and other terms for release, attack, etc. the impressive concept here, is that you thought this out and created some amazing software.

Link to comment
Share on other sites

  • 2 weeks later...

Hi @mrmr9494, sorry for replying so late to your message. Unfortunately I have been unwell lately (swollen knee, couldn’t leave the house for three weeks, still have problems with stairs etc.) so I had to put all my projects aside.

 

I think that using Python is too far-stretched for me right now. Anyway this is a great piece of software that you’ve made here.

 

Regards,

 

Vinciane

  • Thanks 1
Link to comment
Share on other sites

On 6/1/2022 at 6:03 AM, Just Alex said:

Thanks!

Some preset sounds have filter cutoff frequency tied to velocity - you press key slower, cutoff frequency is lower, press faster, cutoff frequency is higher.

Can we have control over this?

 

 

That's parameter "Velocity to filter cutoff", at offset 085 (the red "6F" in the screenshot). The effect needs to be "turned on" in the underlying sample data, so only certain sounds have this effect - mostly synthesisers, probably.

 

 

image.thumb.png.37ad0cf586f5636b2df6833646f76a7e.png

 

  • Like 1
Link to comment
Share on other sites

On 6/5/2022 at 8:32 AM, Just Alex said:

Is there a way to tie velocity to not cutoff, but something else? say, pan or similar?

I noticed, some woodwind sounds have slight "detune" effect, and it is related to velocity...

 

Not as far as I know, but hey - feel free to experiment with different tones to see if they have those effects. There's lots of parameters in the Tone files that I'm still not sure what they do, and the types of effects that you mention seem very likely to be supported somewhere.

Link to comment
Share on other sites

  • 1 month later...

UPDATE: Now works on Windows 7 and Windows 32-bit!

 

For this latest release I've changed the implementation from Python to C++. That allows a much wider range of support, and on Windows in particular it should work on every system from Vista onwards. As always, feedback on any particular experience is welcomed.

 

Functionality is basically same as before; the program still does "Real-time" control of sounds as demoed in the Youtube video above, as well as off-line editing of User tones for keyboard models which accept them (CT-X3000/5000 etc). The UI has been tweaked to look a little bit more distinctive - the red "000" number is meant to represent the aesthetics of the CT-X5000 :).

 

As always, it's open-source and free, and latest version can be found here: https://github.com/michgz/tonetyrant/releases

 

 

image.png.db868b8d1717ac35182f5eeb4a4f4ffb.png

  • Like 1
Link to comment
Share on other sites

  • 1 month later...

Hi Alex. sure, TON files can be exchanged between CT-X3000 and CT-X5000 without doing anything at all. It's not possible to exchange with CT-X8000IN/9000IN keyboards, although I think it should be possible to get that working too somehow.

 

In ToneTyrant, you can click on where it says "CT-X5000" and overwrite it with "CT-X3000" or vice versa (see pic). It will still work on both keyboards and there's no real reason to need to do that.

 

image.png.61f4202519474d9fb00b9840939bb6de.png

  • Like 1
Link to comment
Share on other sites

@mrmr9494

 

I had a thought today: if it's possible to embed sysex commands inside of SMF format 0 files, then can lower end models like the CT-X700 import tone edits as User Songs and play them back to apply edits to the U1, U2 and L sounds?

 

I figure there's a good chance this might not work because of the way the internal MIDI ports are routed, as you usually can't send PC and CC commands to the U1/U2/L voices, but sysex is a different beast.

 

Miguel and I's next idea for a CT-X700 hack is using the U1 and U2 tones (or any combination of the three tones) as "oscillators" for a eurorack rig (with my Niftycase acting as a MIDI to CV converter that will translate the MIDI note on/off messages from the CT-X as gate pulses.

 

In order to accomplish that, U1 and U2  need to be modified as follows:

 

-Long (if not infinite) release time, such that you can feed the VCA of the eurorack rig with long sustained signal that will then be shaped by an ADSR envelope module or an LFO to create dynamics and such. You can already hack this somewhat by weighing down your sustain pedal with something, but the effect of that varies from tone to tone, of course.

 

-Monophonic note input, since it is eurorack after all. Bi timbral monophonic if you use the lower tone and hard pan it. Some synth tones are preset to be monophonic only by default, but we need to be able to apply it to all of them for the playing experience to be right.

 

-Choosing simple synthetic waveform sounds. 8 bit wave, SS lead, sine lead are great examples. Some of the lead sounds are a bit too modulated by default and will pidgeonhole you pretty heavily if you use them as the basis for a patch, so the simpler, the better, usually. Of course, feel free to experiment and break the rules with tone selection. Harp is a really fun one.

 

 

-Independent control of the tuning of U2 to fatten things up (this is the only "must have" that's not doable on a vanilla X700).

 

Those are the main requirements, but it would be nice to have:

-Precise control of the ADSR of a tone in the AiX sound engine to program in min attack, max decay max sustain and max release. Keeps the tones as "raw" as possible for the VCA to do the shaping.

-Removing all DSP effects, similarly  more flexibility for your rig's effects modules. For that matter, applying custom DSP chains if your rig lacks something like distortion or pitch LFOs (aka vibrato).

-Some way to program the Lower tone to act as a gate signal for the eurorack rig that will open or close the filter, envelopes, trigger LFOs, etc. We don't need to generate pitch, just send gate. This would remove the need to use a MIDI to CV converter like the one built in to my nifty case. Kind of a long shot, although I have successfully used a hard panned User Rhythm playing a high hat sound to send analog clock to my Korg Volcas.

 

I'm pretty sure your CT-X3000 can play SMF files, but only when they'e played directly from a flash drive. Happy to assist with any testing on my S350 or Miguel's X700. I'll continue the discussion of the analog sync Rhythms in another topic, those are nearly done. :)

Link to comment
Share on other sites

@mrmr9494

 

I had a thought today: if it's possible to embed sysex commands inside of SMF format 0 files, then can lower end models like the CT-X700 import tone edits as User Songs and play them back to apply edits to the U1, U2 and L sounds?

 

I figure there's a good chance this might not work because of the way the internal MIDI ports are routed, as you usually can't send PC and CC commands to the U1/U2/L voices, but sysex is a different beast.

 

Miguel and I's next idea for a CT-X700 hack is using the U1 and U2 tones (or any combination of the three tones) as "oscillators" for a eurorack rig (with my Niftycase acting as a MIDI to CV converter that will translate the MIDI note on/off messages from the CT-X as gate pulses.

 

In order to accomplish that, U1 and U2  need to be modified as follows:

 

-Long (if not infinite) release time, such that you can feed the VCA of the eurorack rig with long sustained signal that will then be shaped by an ADSR envelope module or an LFO to create dynamics and such. You can already hack this somewhat by weighing down your sustain pedal with something, but the effect of that varies from tone to tone, of course.

 

-Monophonic note input, since it is eurorack after all. Bi timbral monophonic if you use the lower tone and hard pan it. Some synth tones are preset to be monophonic only by default, but we need to be able to apply it to all of them for the playing experience to be right.

 

-Choosing simple synthetic waveform sounds. 8 bit wave, SS lead, sine lead are great examples. Some of the lead sounds are a bit too modulated by default and will pidgeonhole you pretty heavily if you use them as the basis for a patch, so the simpler, the better, usually. Of course, feel free to experiment and break the rules with tone selection. Harp is a really fun one.

 

 

-Independent control of the tuning of U2 to fatten things up (this is the only "must have" that's not doable on a vanilla X700).

 

Those are the main requirements, but it would be nice to have:

-Precise control of the ADSR of a tone in the AiX sound engine to program in min attack, max decay max sustain and max release. Keeps the tones as "raw" as possible for the VCA to do the shaping.

-Removing all DSP effects, similarly  more flexibility for your rig's effects modules. For that matter, applying custom DSP chains if your rig lacks something like distortion or pitch LFOs (aka vibrato).

-Some way to program the Lower tone to act as a gate signal for the eurorack rig that will open or close the filter, envelopes, trigger LFOs, etc. We don't need to generate pitch, just send gate. This would remove the need to use a MIDI to CV converter like the one built in to my nifty case. Kind of a long shot, although I have successfully used a hard panned User Rhythm playing a high hat sound to send analog clock to my Korg Volcas.

 

I'm pretty sure your CT-X3000 can play SMF files, but only when they'e played directly from a flash drive. Happy to assist with any testing on my S350 or Miguel's X700. I'll continue the discussion of the analog sync Rhythms in another topic, those are nearly done. :)

Link to comment
Share on other sites

@Chandler Holloway, I've heard a little about Eurorack synthesisers. There's some popularity around "home-brew" ones, made with hobbyist circuit boards from places like Tindie. Is that what you mean, or are you talking about a vintage or professional instrument?

 

What you're asking for can be done with ToneTyrant. There was some confusion in a previous thread about the meaning of "Release Time". Do you want the sound to continue indefinitely while the key is held, and then stop when released? Or continue indefinitely even after it's released? The latter is really annoying, so I hope you will always be applying a VCA effect to that.

 

When you say "Control of the tuning of U2", do you mean like octave shift? Again, I think it is possible with ToneTyrant. Being CT-X700, you'll need some way of sending the SysEx messages (e.g. MIDI-OX)

 

Let me try this out on the weekend. Your idea of sending SysEx messages from a User Song is probably a bit optimistic -- highly unlikely that Casio piped things through in that way, but given how powerful it would be, it's worth at least trying. I'll have a go.

 

 

Link to comment
Share on other sites

10 hours ago, mrmr9494 said:

I've heard a little about Eurorack synthesisers. There's some popularity around "home-brew" ones, made with hobbyist circuit boards from places like Tindie. Is that what you mean, or are you talking about a vintage or professional instrument?

 

What you're asking for can be done with ToneTyrant. There was some confusion in a previous thread about the meaning of "Release Time". Do you want the sound to continue indefinitely while the key is held, and then stop when released? Or continue indefinitely even after it's released? The latter is really annoying, so I hope you will always be applying a VCA effect to that.

 

I'm not savvy enough with a soldering iron to build my own stuff, but I have recently started to dip my toes in the eurorack pool with a small collection of modules in a Niftycase. The built in MIDI to CV converter is very useful for this application. https://www.cre8audio.com/niftycase

 

Any number of aftermarket modules can be assembled to act as the VCF, VCA, LFOs, envelopes, effects, sequencers, mixers and control I/O for foot switches and expression pedals etc, but before any of that, you need note input and oscillators.

 

Note input is easy when you have a MIDI to CV converter like the one built into my niftycase. The CT-X is already "tuning" the oscillators via its internal routing of the keyboard to the sound source, so you don't need to send pitch CV anywhere, but you do need to send out gate signals to open the filter and trigger VCA and VCF envelopes, LFOs, sequencers, arps, etc.

 

The vast majority of eurorack rigs are monophonic due to the limitations of control voltage as a way to transmit note data, but we can simply use a Tone Tyrant edit to make the U1/U2 and L tones monophonically controlled within the CT-X's internal sound engine, right?

 

Technically you could achieve paraphony (multiple voices, one shared filter and/or envelope) by leaving them in poly mode but once you start using more than two or three voices you're straying outside of the usual eurorack experience. Using U1 and U2 as two oscillators for one combined synth voice seems like the most sensible application, and it leaves you the option of hard panning the lower tone to its own output so it can do its own thing.

 

Getting the U1 and U2 to behave like eurorack oscillators is a bit tricky since they're generated by a fully formed rompler engine based on samples, many of which have very distinct attack and release stages given the instruments being samples. Because we want our eurorack rig's filter and VCA modules to do all of the sound shaping on the back end, the goal is to the most flexible and malleable version of a preset tone to feed the modules for downstream audio processing.

 

This, to me, would entail the shortest possible attack and the longest possible release, since we'd want the dedicated knobs/sliders of the VCA envelope to control dynamics rather than the CT-X's ADSR parameters. Holding down the sustain pedal to fake an infinite release only works for preset tones that are already monophonic by default, but without Tone Tyrant that selection of monophonic presets is very slim. My thinking is that if we're already going to use Tone Tyrant to force monophonic control, we'd also want to go ahead and edit the amplitude envelope to get the shortest attack and the longest release possible.

 

We'd also want to remove any and all DSP effects and zero out effects sends. A more subtle consideration but not essential is that we want to let the filter do the most work with controlling harmonics and timbre, so we want to send out the "brightest" and "rawest" version of each preset. I think Tone Edit menu's filter cutoff parameter is just an offset that can make things mellower, I don't know that it can brighten up (i.e. "unfilter") the baseline waveform all that much.

 

Detuning U2 is not about octave shifts, but instead fine tuning in terms of Hz. I'm pretty sure this can already be done on a vanilla CT-X3000, but playing two identical waveforms and very slightly detuning the second one creates a pleasing phase mismatch to add width to the sound. It's a classic subtractive synthesis sound design technique and part of what actually produces buzzword synth patch descriptors like "fat bass" or "thick, warbly pads" etc

 

With regards to the sysex via MIDI file trick, if it doesn't work when playing back MIDI files from the onboard USB stick, could you also try playing a sysex stream embedded in an SMF file into the CT-X from an external sequencer? Any DAW that can send USB-MIDI out would work, Anvil Studio is a free one I recommend but Ableton is my MIDI sequencer of choice these days. Even if it doesn't work as a User Song, being able to send prepared sysex dumps remotely via a simple MIDI player mobile app or device would still be better than needing to hook up to Tone Tyrant or a desktop sysex librarian. There are very few good sysex librarian mobile apps out there, unfortunately.

Edited by Chandler Holloway
Link to comment
Share on other sites

@Chandler Holloway, I've made a first attempt at this here. There's two files in that location: one is encoded in "hexadecimal" which might work with some SysEx manager software (possibly MIDI-OX? I'm not super familiar with it, so let me know if it needs any changes). The other file encodes the SysEx messages into a standard MIDI file.

 

At the moment the following settings are included:

1. U1 & U2 set to be monotonic

2. U1 & U2 have all DSP effects bypassed. The "DSP" indicator on the LCD panel is still showing, but you can ignore it.

3. U1 & U2 have release time set to infinity.

4. U2 pitch is raised by 2 steps. Units are 1/8 semitones, so 2 steps is 1/4 semitone.

 

There's more that can be done. For example, the "Attack" portion of the envelope is not yet changed which might intefere with the ADSR of the Eurorack (depending on which CT-X tone is selected, since they have different attack profiles). We can tweak those sorts of things. I also haven't done anything with filter settings yet.

 

Now a problem: I don't know how to set U1, U2 and L tones on the CT-X700. I know how on the CT-X3000, but you might remember I gave you a few SysEx messages to try on the CT-X700 to control mixer settings and it didn't work as expected. It will definitely be possible but I'm just simply not sure how at the moment. That means you need to use the files in  the following sequence:

 

1. Select tones for U1, U2 and L as you wish, and set split points.

2. Send the SysEx messages

 

If you change the tones the SysEx messages will need re-sending.

 

Let me know how you get on. I guess we are in "proof of concept" stage.

 

euro.midiox euro.MID

Edited by mrmr9494
Attach files
  • Like 1
Link to comment
Share on other sites

@Chandler Holloway, I tried your idea of embedding SysEx messages in SMF files played on the CT-X. Two different things happened, depending on the content of the SysEx:

 

1. There's a "hiccup" when it gets to the SysEx, and then the song begins playing again from the start (back to measure 1).

2. There's a "hiccup" when it gets to the SysEx, the song counter keeps running but no sounds come out.

 

Neither is what we want. But, it's clear that the CT-X is attempting to decode the message which is a good sign. There's a possibility to "hack" the keyboard using this method, and the fact that the behaviour depends on the content opens up some possibilities for experimenting. Definitely not a complete failure, but also not a method we can use right at the moment to achieve anything useful.

  • Like 2
Link to comment
Share on other sites

@mrmr9494

I see, thanks for giving that a shot. Very interesting that you got a response indeed, I was pretty doubtful that it would even register. Out of curiosity, did you see a “Bulk In” message on the display once it reached the sysex string in the SMF file? This is what usually appears when you transfer data using the Data Manager utility, and I know that’s all handled by sysex messages as well.

 

I’d be surprised if it did appear since you said you were able to get playback to continue in one of the tests, and whenever the CT-X receives a bulk dump it usually stops all actively playing songs, rhythms or phrases. It will flash very very briefly depending on how small the string is, but it always interrupts playback in my experience. Crashing and restarting playback is never behavior I’ve seen before, but uh, I guess that seems promising?

 

I think I’ve sent you some CT-X700 and CDP-S350 MRF files before, when you helped me figure out how to get X700 MRFs to play on my CDP-S350 for conversion. I attached two here for your review just in case. Out of curiosity, how is the sequence data stored in these proprietary user multitrack recording files? Is it just MIDI data packaged with keyboard-model-specific Casio header info? Those files have system track data that can set some global parameters that MIDI files don’t really have the ability to address properly… maybe that’s our “in”? Then again I know next to nothing about how the MRF files are laid out, maybe it’s less generic than I’m realizing.

 

With regards to the .MID — I only have a CDP-S350 right now, and when I tried to load euro.mid I got an “err wrong dat” message. Maybe there was some CT-X3000/X5000 specific stuff it didn’t like. Miguel has the CT-X700 back in Texas with him but he’s in the middle of moving right now so it’ll be a bit before he can test.

 

I would have sent the sysex stream remotely but I actually switched to Mac recently and gave away the old Windows rig so I don’t have access to MIDI-OX except at the office these days. Any way you could re-upload a .syx file for wider compatibility? I figure the .MIDIOX extension is just sysex wrapped up with some MIDI-OX macros for the sending parameters (i.e. buffer size etc). Sorry to be a bother and thanks again for all the (continued) investigative work.

 

CDP-S350 MRF Test.MRFCT-X700_MRF Test.MRF

Link to comment
Share on other sites

On 10/6/2022 at 1:53 AM, Chandler Holloway said:

 

 

I think I’ve sent you some CT-X700 and CDP-S350 MRF files before, when you helped me figure out how to get X700 MRFs to play on my CDP-S350 for conversion. I attached two here for your review just in case. Out of curiosity, how is the sequence data stored in these proprietary user multitrack recording files? Is it just MIDI data packaged with keyboard-model-specific Casio header info? Those files have system track data that can set some global parameters that MIDI files don’t really have the ability to address properly… maybe that’s our “in”? Then again I know next to nothing about how the MRF files are laid out, maybe it’s less generic than I’m realizing.

 

With regards to the .MID — I only have a CDP-S350 right now, and when I tried to load euro.mid I got an “err wrong dat” message. Maybe there was some CT-X3000/X5000 specific stuff it didn’t like. Miguel has the CT-X700 back in Texas with him but he’s in the middle of moving right now so it’ll be a bit before he can test.

 

 

Chandler,

Sure, a .SYX file is attached. The .MIDIOX file above is in "text" format (which I think MIDI-OX can also recognise?). The .MID file contains the same messages just wrapped up in a SMF format. Some DAWs might prefer that format, but it will still need to be played back into the MIDI IN port of the keyboard.

 

You shouldn't see "Bulk In" messages at all with this stuff. All the messages in the attached files (in fact, all messages sent by ToneTyrant) are single-parameter writes rather than bulk writes. That allows changes to playback parameters without interruptions to a performance. Bulk writes on the other hand (as you've noticed) stop rhythm playback and other keyboard functions.

 

Regarding the internal format of the MRF file: it's not at all like MIDI. There's lots of parameters there that are being set in there, so very possibly there are "in"s to accessing deeper keyboard functions. The format is kind of similar to the Casio Phrase Pad format, which I was interested in a while back. I wrote a very basic MIDI-to-MRF converter here: mid2song.py but be aware it just handles note-on/note-off and not much more. Still there may be someone in the community who is interested in looking into the format a bit more closely?

euro.SYX

  • Like 1
Link to comment
Share on other sites

On 10/8/2022 at 12:24 PM, mrmr9494 said:

Regarding the internal format of the MRF file: it's not at all like MIDI. There's lots of parameters there that are being set in there, so very possibly there are "in"s to accessing deeper keyboard functions. The format is kind of similar to the Casio Phrase Pad format, which I was interested in a while back. I wrote a very basic MIDI-to-MRF converter here: mid2song.py but be aware it just handles note-on/note-off and not much more. Still there may be someone in the community who is interested in looking into the format a bit more closely?

@mrmr9494, I had taken a look at MRF files a while back, and had mostly figured out the element structure, but only a few of the extensive list of opcodes.  The thing that made me lose interest was that, unlike when you have the keyboard export a song as an SMF file, it looks like the MRF only includes notes for the lead parts (Upper/Lower-1/2).  That is, all other parts, like accompaniment, appear to be encoded through control events that trigger the play action on the keyboard.  And unlike MIDI, rather than notes having explicit on/off events, the notes start at an event time offset and have a specified duration (wouldn't be hard to convert that part, though).

 

So essentially, MRF files contain enough information, specified very tersely, to recreate the song on the keyboard, but not enough to convert into a full MIDI file, which is why I didn't pursue further.  But I'm sure there is some interesting stuff in there.

  • Thanks 1
Link to comment
Share on other sites

5 hours ago, Mclandy said:

@mrmr9494, I had taken a look at MRF files a while back, and had mostly figured out the element structure, but only a few of the extensive list of opcodes.  The thing that made me lose interest was that, unlike when you have the keyboard export a song as an SMF file, it looks like the MRF only includes notes for the lead parts (Upper/Lower-1/2).  That is, all other parts, like accompaniment, appear to be encoded through control events that trigger the play action on the keyboard.  And unlike MIDI, rather than notes having explicit on/off events, the notes start at an event time offset and have a specified duration (wouldn't be hard to convert that part, though).

 

So essentially, MRF files contain enough information, specified very tersely, to recreate the song on the keyboard, but not enough to convert into a full MIDI file, which is why I didn't pursue further.  But I'm sure there is some interesting stuff in there.

 

That makes sense from Casio's POV since the accompaniment is "automatic". Turning it into a MIDI file would mean the "operating system" would have to run through its accompaniment and "decode" it, which would be a pointless waste of effort. You could assign some MIDI controllers to that to start, stop and change the accompaniment though. But whether anyone would actually *want* that is another matter :)

  • Thanks 1
Link to comment
Share on other sites

20 minutes ago, IanB said:

 

That makes sense from Casio's POV since the accompaniment is "automatic". Turning it into a MIDI file would mean the "operating system" would have to run through its accompaniment and "decode" it, which would be a pointless waste of effort. You could assign some MIDI controllers to that to start, stop and change the accompaniment though. But whether anyone would actually *want* that is another matter :)

Well, if you export the MltRec song recording in SMF format, the keyboard does exactly that - runs through the accompaniment and decodes the whole thing, including the accompaniment, into the MIDI file.  But the MRF is more for intended for simple backup (given the limited number of user song bank slots on the keyboard), so it's probably quite close to what is actually stored in that "song slot" inside the keyboard.

  • Like 1
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.