Re: Ptolemy's scale

2 Messages Forum Options Options
Permalink
edgar-rft
Re: Ptolemy's scale
Reply Threaded More
Print post
Permalink
Hi Paul and all others on the list,

> a better heading might be "Alternatives to the hideous TET-12"

Common Music in principle is nothing but a pre-processor where you can
set up your own arbitrary tuning and measurement systems, which then get
automatically transformed into 12-TET MIDI + cents, so the music can be
played with any arbitrary software or hardware synthesizer (which usually
only understand MIDI in 12-TET pitch + cents).

Nyquist goes in this regard much further, because the tunning and
measurement as well as the synthesizer(s) all together can be defined
in one and the same system. The synthesizer and the notation system
with Nyquist are the same thing.

Common Music on the first view seems for musicians easier to handle but
in practice Nyquist gives much more flexibility.

Also Common Music needs understanding of Common Lisp (like Nyquist needs
understanding of XLisp of course) but Common Music (based on my experience)
is much more tedious to set up and work with than Nyquist, where everything
is already included from the beginning.

There is a new version of Common Music working with Chicken Scheme but
I personally prefer Nyquist because with Nyquist it's much easier to break
the rules of classical tuning and music composition theory than with
Common Music so in the long view learning Nyquist pays off.

The reason why I sent you parts of the Common Music manuals is that
it's for musicians with Nyquist sometimes really hard suddenly to think
in terms of Hertz and seconds instead of the music notation systems they
usually use to express their compositions. So I will now give an example
how the Common Music tuning system can be used within Nyquist.

A 12-TET MIDI notation system is already built into Nyquist (as you
probably know). With Audacity, the Nyquist 12-TET system is defined at the
beginning of the "nyquist.lsp" file in the Audacity "nyquist" directory
from line 26 to line 62.

Ptolemy's scale

With Nyquist it's not a real problem to define a Ptolemy's scale. Since it
is (what I call) a non-linear tuning system, based on a series of fractions,
which cannot be computed from each other by using a simple constant multi-
plication factor, you can define it in Nyquist similar to the Common Music
examples I had sent you in a list of scaling factors and note names like:

(defun make-ptolemy-notes ()
  (let ((ptolemy-scale '((1.0           c)
                         ((/ 16.0 15.0) cs df)
                         ((/ 9.0 8.0)   d)
                         ((/ 6.0 5.0)   ds ef)
                         ((/ 5.0 4.0)   e)
                         ((/ 4.0 3.0)   f)
                         ((/ 45.0 32.0) fs gf)
                         ((/ 3.0 2.0)   g)
                         ((/ 8.0 5.0)   gs af)
                         ((/ 5.0 3.0)   a)
                         ((/ 9.0 5.0)   as bf)
                         ((/ 15.0 8.0)  b))))
    (dotimes (octave 8)  ; make notes from c0 to b7
      (let ((octave-c (step-to-hz (* 12 octave)))) ; c of current octave
        (dolist (scale-element ptolemy-scale) ; for every line from scale
          (let ((factor (eval (car scale-element))))
            (dolist (note (cdr scale-element))
              (let ((note-name (read (make-string-input-stream
                                       (format nil "~a~a" note octave)))))
                (setf note-name (hz-to-step (* octave-c factor)))))))))))

NOTE: if your mailbox scrambles the indentation of the code (like mine does)
look into the attachment, there is a version with proper indentation, which
is usually easier to understand, or look at the copy of this mail in the
Audacity SF mailing list archive.

By calling the "make-ptolemy-notes" function, afterwards Nyquist will work
with notes from c0 to b7 in the ptolemy scale (in a "fake" TET-12 system
like in Common Music) but there still is another problem. The Nyquist pitch
transformation environment will continue to work in TET-12, so if you write
Nyquist code like this:

(transpose 5 behaviour)

The "behavior" will not get transposed by 5 semitones in the ptolemy scale
but by 5 semitones in TET-12.

I don't know how much this is a real problem, because transposition wasn't
possible with the ptolemy scale anyway, but I think with defining new tuning
systems the behaviour of the Nyquist pitch transformation environment should
change too.

The key functions to change the pitch transformation environment are the
Nyquist "step-to-hz" and "hz-to-step" functions but since this will become
a major Nyquist system surgery I first whould like to hear wether this is
necessarily needed at all.

Thanks,

- edgar



--
The author of this email does not necessarily endorse the
following advertisements, which are the sole responsibility
of the advertiser:

_______________________________________________________________________
EINE FÜR ALLE: die kostenlose WEB.DE-Plattform für Freunde und Deine
Homepage mit eigenem Namen. Jetzt starten! http://unddu.de/?kid=kid@mf2



-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Audacity-nyquist mailing list
Audacity-nyquist@...
https://lists.sourceforge.net/lists/listinfo/audacity-nyquist

ptolemy-scale.lsp (1K) Download Attachment
paul beach-2
Re: Ptolemy's scale
Reply Threaded More
Print post
Permalink
Hello Edgar, not sure if this is on topic:

Example of music for pythagorean scale,
Hymn to Apollo, about (400 B.C.)

http://www.proviewlandscape.com/ag/hymn.mp3 (created by midi, then MP3
by me)

Software ???
It costs $600 for Adagio CM. By the time you answer answer thousands a
questions for a few customers--did it really make any money?

On the other hand, if millions of people what a patch that just converts
the tuning on a midi; why not just give the hordes what they want, for
ten or twenty bucks.
On Sun, 15 Jun 2008 04:28:28 +0200, edgar-rft@... said:

> Hi Paul and all others on the list,
>
> > a better heading might be "Alternatives to the hideous TET-12"
>
> Common Music in principle is nothing but a pre-processor where you can
> set up your own arbitrary tuning and measurement systems, which then get
> automatically transformed into 12-TET MIDI + cents, so the music can be
> played with any arbitrary software or hardware synthesizer (which usually
> only understand MIDI in 12-TET pitch + cents).
>
> Nyquist goes in this regard much further, because the tunning and
> measurement as well as the synthesizer(s) all together can be defined
> in one and the same system. The synthesizer and the notation system
> with Nyquist are the same thing.
>
> Common Music on the first view seems for musicians easier to handle but
> in practice Nyquist gives much more flexibility.
>
> Also Common Music needs understanding of Common Lisp (like Nyquist needs
> understanding of XLisp of course) but Common Music (based on my
> experience)
> is much more tedious to set up and work with than Nyquist, where
> everything
> is already included from the beginning.
>
> There is a new version of Common Music working with Chicken Scheme but
> I personally prefer Nyquist because with Nyquist it's much easier to
> break
> the rules of classical tuning and music composition theory than with
> Common Music so in the long view learning Nyquist pays off.
>
> The reason why I sent you parts of the Common Music manuals is that
> it's for musicians with Nyquist sometimes really hard suddenly to think
> in terms of Hertz and seconds instead of the music notation systems they
> usually use to express their compositions. So I will now give an example
> how the Common Music tuning system can be used within Nyquist.
>
> A 12-TET MIDI notation system is already built into Nyquist (as you
> probably know). With Audacity, the Nyquist 12-TET system is defined at
> the
> beginning of the "nyquist.lsp" file in the Audacity "nyquist" directory
> from line 26 to line 62.
>
> Ptolemy's scale
>
> With Nyquist it's not a real problem to define a Ptolemy's scale. Since
> it
> is (what I call) a non-linear tuning system, based on a series of
> fractions,
> which cannot be computed from each other by using a simple constant
> multi-
> plication factor, you can define it in Nyquist similar to the Common
> Music
> examples I had sent you in a list of scaling factors and note names like:
>
> (defun make-ptolemy-notes ()
>   (let ((ptolemy-scale '((1.0           c)
>                          ((/ 16.0 15.0) cs df)
>                          ((/ 9.0 8.0)   d)
>                          ((/ 6.0 5.0)   ds ef)
>                          ((/ 5.0 4.0)   e)
>                          ((/ 4.0 3.0)   f)
>                          ((/ 45.0 32.0) fs gf)
>                          ((/ 3.0 2.0)   g)
>                          ((/ 8.0 5.0)   gs af)
>                          ((/ 5.0 3.0)   a)
>                          ((/ 9.0 5.0)   as bf)
>                          ((/ 15.0 8.0)  b))))
>     (dotimes (octave 8)  ; make notes from c0 to b7
>       (let ((octave-c (step-to-hz (* 12 octave)))) ; c of current octave
>         (dolist (scale-element ptolemy-scale) ; for every line from scale
>           (let ((factor (eval (car scale-element))))
>             (dolist (note (cdr scale-element))
>               (let ((note-name (read (make-string-input-stream
>                                        (format nil "~a~a" note
>                                        octave)))))
>                 (setf note-name (hz-to-step (* octave-c factor)))))))))))
>
> NOTE: if your mailbox scrambles the indentation of the code (like mine
> does)
> look into the attachment, there is a version with proper indentation,
> which
> is usually easier to understand, or look at the copy of this mail in the
> Audacity SF mailing list archive.
>
> By calling the "make-ptolemy-notes" function, afterwards Nyquist will
> work
> with notes from c0 to b7 in the ptolemy scale (in a "fake" TET-12 system
> like in Common Music) but there still is another problem. The Nyquist
> pitch
> transformation environment will continue to work in TET-12, so if you
> write
> Nyquist code like this:
>
> (transpose 5 behaviour)
>
> The "behavior" will not get transposed by 5 semitones in the ptolemy
> scale
> but by 5 semitones in TET-12.
>
> I don't know how much this is a real problem, because transposition
> wasn't
> possible with the ptolemy scale anyway, but I think with defining new
> tuning
> systems the behaviour of the Nyquist pitch transformation environment
> should
> change too.
>
> The key functions to change the pitch transformation environment are the
> Nyquist "step-to-hz" and "hz-to-step" functions but since this will
> become
> a major Nyquist system surgery I first whould like to hear wether this is
> necessarily needed at all.
>
> Thanks,
>
> - edgar
>
>
>
> --
> The author of this email does not necessarily endorse the
> following advertisements, which are the sole responsibility
> of the advertiser:
>
> _______________________________________________________________________
> EINE FÜR ALLE: die kostenlose WEB.DE-Plattform für Freunde und Deine
> Homepage mit eigenem Namen. Jetzt starten! http://unddu.de/?kid=kid@mf2
>
--
  paul beach
  sniffyraven@...


-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Audacity-nyquist mailing list
Audacity-nyquist@...
https://lists.sourceforge.net/lists/listinfo/audacity-nyquist