From: "Kontra, Gergely" <kgergely@mlabdial.hit.bme.hu>
To: caml-list@inria.fr
Subject: [Caml-list] types & design advices (musical program)
Date: Fri, 18 Oct 2002 13:11:01 +0200 (CEST) [thread overview]
Message-ID: <Pine.LNX.4.21.0210181258480.1880-100000@mlabdial.hit.bme.hu> (raw)
Hi!
I began to play with a little program, which knows about notes.
The first problem, which I face, was the following:
type pitch=[A|Ais|As|H|B|His|C...]
type base=[A|H|C|D|E|F|G]
So when I have who types, where one of them is the superset of the
other.
After that how can I define a pitch type of eg. C?
let p = C will be of the type 'basse'.
The next one is more general:
Assume I want to calculate with notes.
I give the key to the whole stuff (like G major or D minor).
Which I'd like to see is to generate a scale, eg:
scale D Major; (* -->[D;E;Fis;G;A;H;Cis] *)
Of course I want a 'nice' representation, because I want to develope
this little prog.
[Note for "just-programmer-non-musicists":
in a scale, the base notes are successive elements from the type
base. The distance from neightbour notes are 2 2 1 2 2 2 semitones in
the major and 2 1 2 2 1 2 2 in the minor scale. The -is prefix raises
the notes pitch by a semitone, and the -as one lowers it. Stating, that
C D E F G A H is a major scale, one can figure out the distance of the
base notes.]
Gergo
+-[Kontra, Gergely @ Budapest University of Technology and Economics]-+
| Email: kgergely@mcl.hu, kgergely@turul.eet.bme.hu |
| URL: turul.eet.bme.hu/~kgergely Mobile: (+36 20) 356 9656 |
+-------"Olyan langesz vagyok, hogy poroltoval kellene jarnom!"-------+
.
Magyar php mirror es magyar php dokumentacio: http://hu.php.net
-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
next reply other threads:[~2002-10-18 11:11 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-10-18 11:11 Kontra, Gergely [this message]
2002-10-18 12:29 ` Diego Olivier Fernandez Pons
2002-10-18 14:40 ` Kontra, Gergely
2002-10-18 15:15 ` Thorsten Ohl
2002-10-19 14:54 ` Diego Olivier Fernandez Pons
[not found] <Pine.LNX.4.21.0210210935280.26877-100000@mlabdial.hit.bme.hu>
2002-10-21 12:09 ` Diego Olivier Fernandez Pons
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Pine.LNX.4.21.0210181258480.1880-100000@mlabdial.hit.bme.hu \
--to=kgergely@mlabdial.hit.bme.hu \
--cc=caml-list@inria.fr \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox