denemo-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Denemo-devel] MajorMinor Chord Recognition game


From: Jeremiah Benham
Subject: Re: [Denemo-devel] MajorMinor Chord Recognition game
Date: Sat, 10 Oct 2009 13:44:03 -0500





On Oct 10, 2009, at 3:38 AM, Richard Shann <address@hidden> wrote:

On Fri, 2009-10-09 at 16:59 -0500, Jeremiah Benham wrote:
I wrote a little ear training game for major/minor chord recognition.
It is a ruff draft so I have not committed it to git yet. I want to
modify it so the scripter could copy the script and then modify two
lines or so to test the chords of their choice. I am unsure how I am
going to do that at the moment.

Well, you have described "the scripter" modifying the script to test the
chords of their choice, which doesn't require you to do anything it
would seem.

No I was going to define a bunch of chords in the init.scm myself and allow users to define them there also or in the script file itself. I wanted to put most the code in init. The script would only contain the list of chords wanting to test. It will contain chord definitions if the chord ls not in the init. What I think I need to use for it is a list or vector of pairs or a way to convert a string to a variable. So in schem,e if you have a string "Major", can it be tranlatrd or evauated like a variable. I think what I may need to do is make a pair like this:
(define Major (cons "Major" "c e g"))
(define Minor (cons "Minor" "c ees g"))

Then create a vector containg Major and Minor. The size of vector is fed to random. Car would then be the chord being played and cdr the untransposed spelling.

Jeremiah


Perhaps you are thinking of a further meta level - e.g. a command to
append to the init.scm. This would mean you could write the script to
append additional definitions into init.scm, e.g. it would read off the
notes in a chord at the cursor and ask the user for a name and place a
definition in init.scm. *However* it seems too elaborate - too much
meta-meta-meta.

What about the script using a file

chords.denemo

in which "the scripter" places the chords they want with a
DenemoDirective (tag "ChordNames", display=name of chord) on each?
So the script picks up chords and names from there, and then proceeds
with the game (so it could open, extract information and then d-New to
start the game)

Richard





(define Major "c e g")
(define Minor "c ees g")
define ChordPossibilities '("Major" "Minor"))

I want the user to be able to define a chord like this:
(define Major "c e g")

*the chord should always have "c" as the lowest note

Then the chord is added to the ChordPossibilities list. I figured I
would push many chord definititions to
Education/Aural-Training/init.scm


This script can be easily modified for a Music Theory game.

Jeremiah
_______________________________________________ Denemo-devel mailing list address@hidden http://lists.gnu.org/mailman/listinfo/denemo-devel



_______________________________________________
Denemo-devel mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/denemo-devel




reply via email to

[Prev in Thread] Current Thread [Next in Thread]