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: Fri, 07 Nov 2008 11:29:03 -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)))

actually this should be 
(define chromatic_notes '(
  ("a" 0)
  ("b" 2)
  ("c" 3)
  ("d" 5)
  ("e" 7)
  ("f" 8)
  ("g" 10)))

I plan of filling this into include *is *isis *es *eses also.
Jeremiah



> 
> (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 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]