News:

PSR Tutorial Forum is Now Back to Life!

Main Menu

Yamaha CLD file is an SMF

Started by pjd, November 15, 2019, 06:48:53 PM

Previous topic - Next topic

pjd


Hope this gets someone's creative programming juices flowing...  :)

A Yamaha Chord Looper CLD file is a Type 0 Standard MIDI File. To take a quick look inside, rename the CLD file with the ".MID" file extension and then open the file in Mixmaster or Cubase. Not all DAWs support Yamaha XF events, so SONAR, for example, will not work. (SONAR ignores Yamaha XF Meta Events.)

The chord sequence is stored as a series of Yamaha XF Meta Events. See the Genos Data List PDF page 115 for the definition of the "Chord Name" event. See the definition of the System Exclusive "Chord Control" message for the chord root and type encoding.


SeaGtGruff

I'd love to look at one of those myself. Are there CLD files available to download for free?

pjd

Hi Michael --

I finally got through my Saturday chores. Attached is the quick test CLD file that I ran off yesterday. It contains a bunch of alternating C - F - G - F - C chords.

The original file name is "CFGF.cld". The attached file is "CFGF.mid" which keeps the forum site-ware happy.

All the best to ya -- pj


[attachment deleted by admin]

pjd

Hi Michael --

I posted an experiment over in the Genos General section.

https://www.psrtutorial.com/forum/index.php/topic,52804.msg412042.html#msg412042

I created CLD files using MixMaster, starting with an almost empty SMF. Chord Looper ignored the time signature and key signature preamble meta events.

I saved everything in a Chord Looper Bank (CLB) file. Did a hex dump of the CLB file. It looks like it's a "structured file" where each of the eight "slots" contains an entire SMF sequence (MThd and MTrk in each slot). So, a CLB file is complete in itself -- no links/references to the CLD files which were imported.

That's it for today -- pj

voodoo

Hey pj,

Thank you for the research. ;) SMF would have been my first guess, since many Genos internal data structures (like multi pad, voice set etc.) are based on SMF.  So SMF is a natural choice for chord sequences. The app Chord Tracker has been using SMF before for transferring chord sequences to Genos, using standard midi files. Perhaps it's the same format with just renaming to *.CLD?

Uli
Yamaha Genos
Yamaha MODX7
Yamaha P-125 Digital Piano
Nord Electro 5D

pjd

Hi Uli --

Comparison between ChordTracker and Chord Looper is a good idea. I'm wondering if I can take the Chord Tracker file and import it into Chord Looper? That would be sweet! We could use Chord Tracker to generate a chord progression and then use the progression to drive a style via Chord Looper.

I think someone mentioned it in the other thread -- this might be a way to work around the restriction on using USER styles in step recorded chord songs.

Definitely more to explore here!

Have a good weekend -- pj

voodoo

Hi pj,

I think it was announced that chord tracker could send chord sequences directly to chord looper of Genos. But I did not try it until now.

I had another idea: If CLD files are SMF, can we rename the CLD file to MID and open and edit it with the built in multi track recording sequencer editor of Genos? Perhaps we can edit and change chord progressions this way, and rename it back to CLD afterwards.

Uli
Yamaha Genos
Yamaha MODX7
Yamaha P-125 Digital Piano
Nord Electro 5D

pjd

Hi Uli --

I was going to try something like that today: Analyze an audio song with Chord Tracker, send it to Genos, transfer the new MID file to a PC, rename, transfer the renamed file back to Genos, and import into Chord Looper.

I fear that the closed Yamaha system which hides most file extensions cannot let us rename on Genos itself. If there's a way to rename the file extension on Genos, that would be great.

The other possible gotcha is editing. Cubase displays the XF chord events in the List Editor, but it doesn't seem to have a way to change them. I've clicked away like a crazy person in the List Editor and could modify the XF chord meta events. I hope that I'm just being a klutz.  :)

Mixmaster is the best bet for editing although I ran into a UI glitch or two under Windows 10. There's always XGWorks...  :)

All the best -- pj

P.S. Might not get to experiments until this PM when you're probably asleep.  ;D  I still can't get used to the new time zone.

pjd

Well, theoretically, Chord Tracker v2.3.0 adds:

Now you can send chord progression as the "Chord Looper Data" to the Yamaha PSR-SX900 arranger workstation.

Possibly, Yamaha need to specifically enable Chord Tracker to recognize Genos v2.0? This seems like another one of those crazy Yamaha checks to keep users from hurting themselves. (And drive us experimenters crazy.)

-- pj

voodoo

Quote from: pjd on November 18, 2019, 12:19:17 PM
I fear that the closed Yamaha system which hides most file extensions cannot let us rename on Genos itself. If there's a way to rename the file extension on Genos, that would be great.

Pj,

Try to use the Yamaha app MusicSoft. This app allows to read from and write to the Genos file systems (user and USB). You can download music files from the forum and save them to Genos just with your iOS device and the app MusicSoft. Or transfer files from DropBox or OneDrive to Genos and back.

This should be enough to rename files on Genos without using a PC.

This week I an on a journey. My experiments will have to wait until next weekend....

Uli
Yamaha Genos
Yamaha MODX7
Yamaha P-125 Digital Piano
Nord Electro 5D

voodoo

Quote from: pjd on November 18, 2019, 01:20:59 PM
Well, theoretically, Chord Tracker v2.3.0 adds:

Now you can send chord progression as the "Chord Looper Data" to the Yamaha PSR-SX900 arranger workstation.

I hope that this works also for Genos. Or do we have to wait for another update of this app?

Uli
Yamaha Genos
Yamaha MODX7
Yamaha P-125 Digital Piano
Nord Electro 5D

pjd

Hi Uli --

I just tried Chord Tracker with Genos v2.0. The app did not offer the option to send the chord progression as "Chord Looper Data". It simply sent the chord progression to  the User:/ChordTracker/ directory as before.

I'm running ChordTracker version 2.3.3 over USB cable and the Apple Camera Kit.

BTW, I fear app updates now because I am so far behind on iOS (10.3.3). It's looking like the end of the road for this iPad (4th gen 2012).

At least I have a file to play with. Gotta go to the gym.

-- pj

pjd

Hi --

Just transferred a Chord Tracker MID file (renamed with the CLD extension) to Genos and tried importing it into Chord Looper. No success.

I did a quick hex dump of the Chord Tracker MID file. It's an SMF, but the chord data is represented using the Yamaha Sy*** (F0 ... F7), not Yamaha XF Chord Name meta events (FF 7F 07 43 7B 01 cr ct bn bt). Chord Looper must be looking for XF meta events.

Oh, well, that kind of hoses me until I get a new iPad. I check versions, compatibility, etc. and Chord Tracker now requires iOS 11.0. I stuck at iOS 10.3.3 and cannot install the latest version of Chord Tracker. Burned by Apple, again.  >:(

It should still be feasible to build a PC-/Mac-based tool for Chord Looper. I wanted to try creating progressions via Chord Tracker, but that will have to wait.

Take care -- pj

SeaGtGruff

Might be good to have a PC/Mac tool that would create chord progressions using both methods-- Sy*** and XF Meta Events-- at the same time, so they'll work in either Chord Tracker or Chord Looper.

I'm thinking that MixMaster might be able to do that, but there's no macOS version.

voodoo

Quote from: pjd on November 18, 2019, 07:23:23 PM
Hi --

Just transferred a Chord Tracker MID file (renamed with the CLD extension) to Genos and tried importing it into Chord Looper. No success.

Hi pj,

I think they have changed the file format with the current version of Chord Tracker. Generating Midi files with Chord Tracker, renaming them to .CLD and importing them to Chord Looper now works. Obviously, now both formats use Midi META events do define chord progressions.

I have described my experiments here:

  https://www.psrtutorial.com/forum/index.php/topic,53015.0.html

Uli
Yamaha Genos
Yamaha MODX7
Yamaha P-125 Digital Piano
Nord Electro 5D

voodoo

Quote from: pjd on November 18, 2019, 12:19:17 PM
Hi Uli --

I fear that the closed Yamaha system which hides most file extensions cannot let us rename on Genos itself. If there's a way to rename the file extension on Genos, that would be great.

Hi pj,

You can rename files on Genos using several ways:

* In the load dialog of song editor or chord looper on Genos
* Using the app Yamaha Music Soft, that connects to Genos in file transfer mode

However, you can only rename the base name, not the file extension with both methods. Perhaps there is another app that connects to the Genos file system over WLAN and lets us rename the file extension, too.

Uli




[attachment deleted by admin]
Yamaha Genos
Yamaha MODX7
Yamaha P-125 Digital Piano
Nord Electro 5D

rbackes

Hi,

I'm writing to this thread, as I think, it might hit the rigth people.

I'm currently writing a Chord Loop Editor, so one can input the Chord Progressions at the PC, convert them to a Chord Looper Bank and transfer that to the keyboard (I have a Genos). So you get something like 'Band-in-a-Genos'.

I decoded the clb files of my Genos, here is what I found out:
The file contains 8 SMF Format 0 MIDI sections, a header followed by a track, which only contains the chord changes as XF-Sy***.

Each Slot you touched with a recording starts with "CLD_00n" (n=1 .. 8 ) followed by CR/LF (0D 0A). The empty slots only start with CR/LF, followed by the header and an empty track (len=0).

Now my questions:

After the track containing the changes, there are 5 additional bytes, which I don't understand. The sequence is:
BC XX FF 2F 00 (for XX I found 30, 4C, 28 und 51 - seems to be some kind of a value)
That bytes don't belong to the track, so they are most probably not MIDI commands.
Any ideas ?

And...
If you have some, could you please upload some .clb files for me to decode and check. The chords don't need to come from any song. Would be good to have some more 'exotic' chords included.


Thanks a lot

Rainer







Janus

Quote from: pjd on November 15, 2019, 06:48:53 PM
Hope this gets someone's creative programming juices flowing...  :)

A Yamaha Chord Looper CLD file is a Type 0 Standard MIDI File. To take a quick look inside, rename the CLD file with the ".MID" file extension and then open the file in Mixmaster or Cubase. Not all DAWs support Yamaha XF events, so SONAR, for example, will not work. (SONAR ignores Yamaha XF Meta Events.)

The chord sequence is stored as a series of Yamaha XF Meta Events. See the Genos Data List PDF page 115 for the definition of the "Chord Name" event. See the definition of the System Exclusive "Chord Control" message for the chord root and type encoding.

A lot of Yamaha files are midi files
Sush as midi pads, Style files

overover

Quote from: rbackes on November 05, 2020, 05:49:31 AM
... I'm currently writing a Chord Loop Editor, so one can input the Chord Progressions at the PC, convert them to a Chord Looper Bank and transfer that to the keyboard (I have a Genos). ...

Hi Rainer,

first of all, thank you for your hard work!


Quote from: rbackes on November 05, 2020, 05:49:31 AM
After the track containing the changes, there are 5 additional bytes, which I don't understand. The sequence is:
BC XX FF 2F 00 (for XX I found 30, 4C, 28 und 51 - seems to be some kind of a value)
That bytes don't belong to the track, so they are most probably not MIDI commands.
Any ideas ? ...

I found the following MIDI 1.0 Specs on the internet:
>>> https://mitxela.com/other/midi_spec
>>> https://www.logosfoundation.org/kursus/1075.html
>>> http://aaron.headwai.com/ra/MIDI/MIDI%20Message%20Table%201.pdf


IF it is about MIDI commands, the status byte "BC" says:

Chan 13 Control / Mode Change (see Table 2)


The numbers you mentioned for the second byte "XX" can be found in Table 3 of these Specs.

The third byte could be a MSB / LSB value for that controller.

BUT: At the moment I can't find any meaning behind these bytes ... :(


Best regards,
Chris
● Everyone kept saying "That won't work!" - Then someone came along who didn't know that, and - just did it.
● Never put the Manual too far away: There's more in it than you think! ;-)

Janus

Use XgWorks it displays all Yamaha midi events
You can also add a copyright notice or remove it
And also to add chord events


rbackes

Hi all,

just to clarify: I have all the midi specs (directly from midi.org) and also the Yamaha Datalists.

As a MIDI Status/Command this makes no sense:
1. It is outside of the track boundary, so it is NOT a part of the SMF - part
2. To be a valid MIDI-event in a SMF, it must be preceeded by a timecode (delta time to the event before)
3. All BnH commands have at least 2 additional data bytes. The Code BC is followed only by one Byte, FF would be another status

MixMaster does not display these bytes as they are not part of the track.

In pjd's Lovetrain.clb I did only find the sequence 00 FF 2F 00 at the end of the Loop-Section. But he had the loops imported from Midi, not recorded as I did with my example files.

Maybe I can leave it out, I'll give that a try.


Many Thanks

Rainer

overover

Thanks for your quick and detailed reply, Rainer!

If I find out more on this, I'll post it here.


Best regards,
Chris
● Everyone kept saying "That won't work!" - Then someone came along who didn't know that, and - just did it.
● Never put the Manual too far away: There's more in it than you think! ;-)

rbackes

Got it! ;D

I mis-interpreted the track length field: it counts from the byte folowing the track header. And those bytes in question are simply a time offset with a End-of-Track message.

Now the structure of the file is clear and I can construct new ones..... stay tuned.


Rainer

overover

Thank you for this information, Rainer. Nice that the question could be clarified!


Best regards,
Chris
● Everyone kept saying "That won't work!" - Then someone came along who didn't know that, and - just did it.
● Never put the Manual too far away: There's more in it than you think! ;-)