News:

PSR Tutorial Forum is Now Back to Life!

Main Menu

New Tool: Chord Loop Editor

Started by rbackes, November 09, 2020, 11:29:27 AM

Previous topic - Next topic

rbackes

Hi,

some may remember my questions about the formant of .clb files....

I wrote a small editor, which allows creating clb files on Windows. It's currently very rudimentary, but it should work - and I want to share it.

The GUI is not very worked out, it misses some features (such as copy and move), But it produces clb's and that's the main purpose.



Some notes:
the one and only File Menu allows to save and load Loop-Banks in the internal Text-Style format (human readable). You can choose any extension you like - I prefer simply .txt. Here you can also export your work a clb file.

The Panel on the right side is quite self-explanatory:
- You can select the # of beats per bar (I have only tested 4 so far, not quit sure how the keys behave, when you give them more than 4)
- The drop-down box below allows selectin the loop in the bank (1 to 8⁣), in the field below, you can name the loop.
- Number of Bars in Loop : just what it says.
- First Bar # : Here you can change the Bar Number offset for the field on the left. Very handy, when transferring chords from a score.

- Chord: Here you can construct the Chord for the current position of the highligther on the left. All possible values as defined in the Yamaha Data List are supported.

- Chord Field: Contains one row for each bar, with the chords in the columns. Only Chord-Changes get displayed. Here are some keystroks, which make entering usual chords easier:
'c','d'....'b' : enters or changes the Chord-root
'#' : makes the root 'sharper'
'-' : makes the root 'flatter'
'7' : adds the 7th (and removes it, when set)
'm' : switches to Minor and back
'j' : makes the Chord a Maj7

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

This version is considered very experimental, no liability for anything that happens to you or your equipment, when you use it.

Please give me feedback and your ideas how to improve the tool.

Thanks


Rainer



Edit: Added an invisible character to change  (1 - 8)  back to  (1 - 8⁣)  by overover

tbaroghel

Hi Rainer,

I, for one, am very interested that such a program exists: if the 'chord loop' ecosystem succeeds, it could open a real market for exchanging/selling loop banks. I laughed out by myself when I read your 'band-in-a-genos' expression: exactly what I need.

I am going to try it tomorrow (as soon as I get hold of a PC - as all my private stuff is on a mac - and will of course keep you informed of the results.

Regards from France,

Thierry
Humbly returning to arrangers after many years, with a PSR-SX900

tbaroghel

Success !

I have created a bank with two loops of 16 bars each, with some bars having 2 chords: it is all ok (see attached files the txt - dressed as a png -  and the clb - same trick).

I tried it in the SX900 and it works perfectly.

I found the chord editor very slow, leading to coding errors, but with patience, I got the results.

Conclusion: you're almost there, congratulations !

Thierry

P.S. 1 -the exe file is not signed, leading Windows to ask 'not to open it' 2 -can you open .clb files ?

[attachment deleted by admin]
Humbly returning to arrangers after many years, with a PSR-SX900

rbackes

Hi Thierry,

What was slow at the editor - or what kind of machine did you use? I haven't got no performance problems. Entering the chords using the drop-down fields may a bit laborious, but with the letters as shortcuts and the arrow-keys to move the focus, it should work quite fast.

I entered a quite long loop within minutes.

to the signing: I have to find out what I have to do to sign that code.

Stay tuned for a new version.....

Yours

Rainer


tbaroghel

Hi Rainer,

I used a HP Core i7 with Windows 10 up to date and with enough RAM ... but remotely accessed from my mac through "AnyDesk" remote computing solution (it is NOT a virtualization software, just a remote access the like of TeamViewer or VNC). Although the 2 machines are on the same LAN, maybe that caused the drop-down to behave so slowly. I will try a direct use and report asp.

Best regards,

Thierry
Humbly returning to arrangers after many years, with a PSR-SX900

rbackes

Hi Thierry,

I use Anydesk by myself, in fact I own a license since 3 years. RAM should not be a problem, the program does not consume a notably amount of it. It is coded with Delphi, which is as a compiled language quite fast. The components of the GUI are native Windows-Controls, so their performance is not under my control.

I will add more keyboard-shortcuts to help entering the cords faster, so you don't have to use that drop-down boxes.

But currently I'm working on the clb-import function. That will be the next major step.

Yours

Rainer

Rainer

tbaroghel

Hi Rainer,
See attached txt and clb files: A strange thing happens, as 'ghost' chords are displayed and played on the keyboard with this loop (e.g. a Cadd9 appears just at the start of bar 15). Do you see the same with this loop ?

Thanks,

T


[attachment deleted by admin]
Humbly returning to arrangers after many years, with a PSR-SX900

rbackes

Hi T,

At least in the data, there is nothing but the Chords that are also displayed by the editor. I will later try and load that file into my Genos to see what happens.
It might be, that I time to chord-changes too tight und I have to subtract some Ticks for a bit of offset (change just before the beat, not on the beat).

Would be nice to have some clb's that have been recorded by hand to compare the timing.I will try to enter some by myself, but I have hurt my left arm last saturday and I'm now a bit handicaped witht he left hand (nothing bad, lifted something too heavy, now some movements of the arm hurt in the shoulder, takes some time to heal)

Thanks

Rainer

tbaroghel

Rainer,

I attach to this message a loop done directly on the SX900, which seems to my ear well set on the bars, and does not show the ghost effect. Hope this helps.

Regards,

T

[attachment deleted by admin]
Humbly returning to arrangers after many years, with a PSR-SX900

rbackes

Hi,

I tried both loops on the Genos and saw those ghost-chords at 'i will survive'. The I analyzed the files, here are the results:



As you can see, in the data of I will survive are those 'ghost-chords' included - I think that happens when change the fingering of the chords - T, I suppose you leave your fingers on the chord keys until it's time to change ?
And you can also see that the human changes the chord a little bit in advance, compared to the machine. I wonder if that makes any diffrence.

Those delta numbers are MIDI-Ticks. In Chord Lopps allways 1920 (0x0780) ticks make a beat. So those recorded 'ghosts' are too fast to be heared.

But I wonder why the PSR shows ghost-chords in the generated file (Isnt she lovely)...

Rainer

[attachment deleted by admin]

tbaroghel

Hi Rainer,

Thanks for your message. From this, two things come to mind:

  • Is "AI fingered", as a chord entry method, the culprit ?
  • How a "chord quantize' feature to solve these issues (set chords back on tempo and eliminate ghosts)
Lots of work for you. Let me know if I can help in any way (do not know Delphi, rather a VB aficionado myself, but anyway)

Regards,

T
Humbly returning to arrangers after many years, with a PSR-SX900

Genos!

Quote from: Genos! on November 18, 2020, 08:15:07 AM
Hi Rainer,

I use Delphi myself, however, I stopped giving away my money at Delphi 2005.

I am currently putting my studio back together, but I would be interested in sending some code your way for chord entry instead of dropdowns and keymods.

Also something that might be added to the clb process is audio from other instruments besides drums.

I believe that this would open a wide window to gain access to Genos styles creation and improve the overall quality of sound for those playing the arrangers.

As I am not an arranger player at this moment, I do know how to use an arranger since Casio, but I haven't taken the time to wrap my head around the Genos and Yamaha's way of doing things. But, I will hopefully get to it.

I currently use my Genos in a studio setting mostly for layering midi and as a glorified dual-midi sound module.

Let me know, thanks.

rbackes

Hi,

@T: AI fingered might be the source for those ghosts, as it sometimes needs a bit to think and decide for the correct chord. Also consider, that we are speaking about milliseconds, so those ghosts will not be hearable.
With the import to my editor, there will be a quantisation as I only work with a single chord per beat - and the last one will will.

But I'm thinking of subtracting a small offset at the first time-delta to send the change a little bit in advance.

@Genos!: Would be great if you have some ideas or even code to streamline the chord input. But for your other ideas I have to disappoint you: those clb files only contain chords in a symbolic form (sy***-Events in MIDI-snippletts), no audio, no MIDI-notes etc. For style creation, there are some tools out there - and that is not my focus - my goal is to have an easy way to import complicated chord progressions and use them in the arranger of my Genos (or PSR-SX).

Rainer

Genos!

Quote from: rbackes on November 19, 2020, 10:31:11 AM
.... But for your other ideas I have to disappoint you ....

Rainer

Not at all... The Yamaha "audio styles" algorithm and clb were made for each other, but probably different apps as you stated. But we're definitely on the road toward a "Band - in - a - Genos".


Note to self: I guess I better download your app and see whatcha got going!  ;)

EileenL

The fact that cord looper only contains the note positions of the chord you play and nothing else is what makes it possible to use any style at any tempo with it. If you are not that happy playing fast you just pick a style were the tempo suits you and gives you time to play the chords properly. Then just pick a style and select an intro and bring in chord looper when required.
  Very clever the way it works also then leaving the whole keyboard with no split to play along with it.
Eileen

tbaroghel

@Rainer:

I have kept using the first version of the editor: is there a new one ?

I noticed an issue with the interface: there are times when the last measure of the loop doesn't show on the screen. You would have to go to the number of bars box and press 'ENTER' to see it again. No big deal though.

Of course, I would like the copy/paste features (e.g. when you want to quickly enter the A - A' pair of loops), the impot CLB and, why not, work at CLD level.

I will gladly help you in any way in future tests.

Thierry
Humbly returning to arrangers after many years, with a PSR-SX900

rbackes

Hallo All,

sorry that I couldn't manage it to do some more work on the editor, but we are currentliy in the end-of-the-year rush. Maybe I get sone time 'bedween the days' (as we say).
Nevertheless, it is not forgotten and there WILL be a newer version soon ;-).

I wish you all a merry Christmas and a happy new Year
.. and more than ever: Stay healthy !!

Rainer

Joe H

Rainer,

I don't have a sx900 (yet) but your program looks very useful. (and it's portable) Thanks for sharing your work.

Joe H
Music is the Universal Language!

My Article: Using Multi Pads in registrations. Download Regs, Styles & MPs:  http://psrtutorial.com/music/articles/dancemusic.html

Dromeus

Hi Rainer

Nice work, thanks for sharing. These are my ideas for improving. Focus is on productivity, i.e. speeding up the editing process.

Copy/Move

- Preferably by drag/drop operation, Ctrl-Key used when copying.
- Copy/move chords within loop grid.
- Copy/move complete loop (chord progression) to another loop memory location. The need for this might not be immediatly obvious, but often you find a chord progression that is repeated with only a slight modification of one or two chords. Copying and then modifying a complete chord progression would dramatically speed up this process.

Chord Names and Chord Input

I'm aware that you followed the naming scheme used in the Datalist. I think it would be better to follow the names that Yamaha chooses to display to the user at the keyboard. E.g.

- C instead of CMaj
- Cm instead of Cmin
- C7 instead of C7th
- CM7 instead of CMaj7

and so on. You can find all the chord names Yamaha uses in the Chord Tutor.

The Datalist spec allows for double/triple alterations (##, ###, bb, bbb). I really don't see any use for this, and I've never seen Yamaha arrangers to produce a chord with such alterations. # and b is all you ever need. Therefore I propose to delete the double/triple alterations from the dropdown.

For slash chords I propose to handle them as simple as possible. Again, there is no need for double/triple alterations, and I don't see any use for a chord type here. If you specify something like C##/Caug, the Yamaha arranger will be playing D/C, and the chord C###/Cmin7b5 simply results in Eb/C. The input controls for the bass part of a slash chord could therefore be simplified to Root Note and Alteration ("b", "", "#").

Following these rules will result in better readability too, e.g. I find D/F# much easier to read than DMaj/F#Maj. Moreover D/F# is what you would typically find in sheet music.

I strongly support your idea to enter chord names directly by typing instead of mouse operations on dropdowns. It is so much faster. Therefore I would propose to extend the current feature to be able to input all possible chords, including slash chords. Again it would be great to follow the chord name conventions as described above. Imagine typing "G/F" and you're done. Note that case sensitivity may be important here, e.g. Cm7 is different from CM7.

Minor Remarks

I think you're aware of these points but anyway:

- File/New should initialize the drop-downs and loop names and the current filename to the standard values.
- Provide a "Save As" method.
- It would be very helpful, to have a "Import CLB" method.

Thanks again and I hope my input is useful.

Michael
Regards, Michael

nonchai

Quote from: Genos! on November 19, 2020, 11:29:21 AM
............ we're definitely on the road toward a "Band - in - a - Genos".

Bring it on!

Add "Band-in-a-DAW" ( Ie Cubase/Nuendo as Yamaha own them - and is much used by composers ) and it'll be a case of "take my money!"

nonchai

Quote from: rbackes on December 18, 2020, 07:02:02 AM
Hallo All,

sorry that I couldn't manage it to do some more work on the editor, but we are currentliy in the end-of-the-year rush. Maybe I get sone time 'bedween the days' (as we say).
Nevertheless, it is not forgotten and there WILL be a newer version soon ;-).

I wish you all a merry Christmas and a happy new Year
.. and more than ever: Stay healthy !!

Rainer

Thanks,

I've PM'd you about the possibility of me converting your source code to the XOJO cross-platform IDE and development tool/language.

It would allow for porting to - with relative ease - Mac, iPadOS even web and not too long from now - Android platforms in the future.

umopepisdn

Hey there, thanks for releasing the binary. However, I'm a little bit hesitant to run a random .EXE of unknown provenance.

Is there any chance you can upload your source code to Github? I'd be interested in playing with it in my own fork and I'm sure I'm not the only one.

overover

Quote from: umopepisdn on July 03, 2024, 06:42:11 PM
Hey there, thanks for releasing the binary. However, I'm a little bit hesitant to run a random .EXE of unknown provenance.

Is there any chance you can upload your source code to Github? I'd be interested in playing with it in my own fork and I'm sure I'm not the only one.

Welcome to the PSR Tutorial Forum, umopepisdn!

If you haven't already done so, you could open the CLE.exe file with a suitable archive program (e.g. 7-zip) to view the individual source files it contains. This may be enough to trust the program. For example, I found out this way that this .exe was created with "Embarcadero Delphi for Win32 compiler version 34.0".


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! ;-)