denemo-devel
[Top][All Lists]
Advanced

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

Re: [Denemo-devel] began real transposition script


From: Jeremiah Benham
Subject: Re: [Denemo-devel] began real transposition script
Date: Sat, 08 Nov 2008 19:17:29 -0600

On Fri, 2008-11-07 at 10:37 -0600, Jeremiah Benham wrote:
> I began writing a real transposition script
> 
> (define chromatic_notes '(
>   ("a" 0)
>   ("b" 1)
>   ("c" 2)
>   ("d" 3)
>   ("e" 4)
>   ("f" 5)
>   ("g" 6)))
> 
> (define sharp_list (list "a" "ais" "b" "c" "cis" "d" "dis" "e" "f" "fis"
> "g" "gis"))
> 
> (define transpose
>   (lambda (note modulate)
>     (list-ref sharp_list (+ modulate (car (cdr (assoc note
> chromatic_notes)))))))
> 
> 
> Am I on the right path with this. You call 
> (transpose notename transpose_half)
> for example
> (transpose "b" 5)
> returns dis
> 
> It is obvious I need to finish filling out chromatic_notes list. The
> function also does not yet support negative transpose direction. The
> note returned are also sharp biased. I would need a switch to choose a
> flat list. How do you recommend I interface this with denemo. 

I think at first it would have to be a popup dialog. At first it would
only be text above a text input field where something asked the
transposition amount and then a few switches allowing users to turn on
filters confining notes to Scales, Modality, Chords, Only_Sharps,
Only_Flats etc ... I can easily come up with the filters using a numeric
system. 

I think this can start to be the base of doing some algorhythmic patern
based composition. I bet some good ideas can be "borrowed" from Common
Music. I am still going to read through the lilypond transposition
code. 

Jeremiah 



> I thought
> I could find the frist letter returned by the transpose function then in
> edit mode change that note to the transposed note base. Then parse the
> string to find out the amount of sharps or flats that need to be added.
> Any suggestions?
> 
> Jeremiah 
> 
> 
> 
> 
> 
> 
> _______________________________________________
> 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]