Classic scales and note frequencies
Just as a little benefit to everyone out there (and mainly because I myself grew annoyed), I looked up the frequencies for a welltempered scale, hacked out the ChucK commands assigning those frequencies to names I could cope with, looked up a list of MANY canonical scales, hacked that to a format I liked, and produced a small example ChucK script that will play a mandolin tune in any "cultural" melodic context you want. =) By the way. I WANT arrays. This'd be SO much easier with arrays! Enjoy: <<<<<<<< ChucK definitions for "common" note names >>>>>>>> 55.000=>float A0; 110.000=>float A1; 220.000=>float A2; 440.000=>float A3; 880.000=> float A4; 1760.000=>float A5; 58.270 =>float Bb0; 116.541 =>float Bb1; 233.082 =>float Bb2; 466.164 =>float Bb3; 932.328 =>float Bb4; 1864.655=>float Bb5; 61.735 =>float B0; 123.471=> float B1; 246.942=> float B2; 493.883=> float B3; 987.767=> float B4; 1975.533=>float B5; 65.406 =>float C0; 130.813 =>float C1; 261.626 =>float C2; 523.251 =>float C3; 1046.502 =>float C4; 2093.005=>float C5; 69.296 =>float Db0; 138.591 =>float Db1; 277.183 =>float Db2; 554.365 =>float Db3; 1108.731 =>float Db4; 2217.461=> float Db5; 73.416 =>float D0; 146.832 =>float D1; 293.665 =>float D2; 587.330 =>float D3; 1174.659 =>float D4; 2349.318=> float D5; 77.782 =>float Eb0; 155.563 =>float Eb1; 311.127 =>float Eb2; 622.254 =>float Eb3; 1244.508 =>float Eb4; 2489.016=>float Eb5; 82.407 =>float E0; 164.814 =>float E1; 329.628 =>float E2; 659.255 =>float E3; 1318.510 =>float E4; 2637.020=>float E5; 87.307 =>float F0; 174.614 =>float F1; 349.228 =>float F2; 698.456 =>float F3; 1396.913 =>float F4; 2793.826=>float F5; 92.499 =>float Gb0; 184.997 =>float Gb1; 369.994 =>float Gb2; 739.989 =>float Gb3; 1479.978 =>float Gb4; 2959.955=>float Gb5; 97.999 =>float G0; 195.998 =>float G1; 391.995 =>float G2; 783.991 =>float G3; 1567.982 =>float G4; 3135.963=>float G5; 103.826 =>float Ab0; 207.652 =>float Ab1; 415.305 =>float Ab2; 830.609 =>float Ab3; 1661.219 =>float Ab4; 3322.438=>float Ab5; <<<<<<<< >>>>>>>>> <<<<<<<< Commented list of scales >>>>>>> // Scale references // 1 2 3 4 5 6 7 8 9 10 11 12 13 // Chromatic C Db D Eb E F Gb G Ab A Bb B C // Spanish 8 Tone C Db Eb E F Gb Ab Bb C // Flamenco C Db Eb E F G Ab Bb C // Symmetrical C Db Eb E Gb G A Bb C // Diminished C D Eb F Gb Ab A B C // Whole Tone C D E Gb Ab Bb C // Augmented C Eb E G Ab B C // 3 semitone C Eb Gb A C // 4 semitone C E Ab C // // Ultra Locrian C Db Eb E Gb Ab A C // Super Locrian C Db Eb E Gb Ab Bb C (Ravel) // Indian-ish* C Db Eb E G Ab Bb C // Locrian C Db Eb F Gb Ab Bb C // Phrygian C Db Eb F G Ab Bb C // Neapolitan Min C Db Eb F G Ab B C // Javanese C Db Eb F G A Bb C // Neapolitan Maj C Db Eb F G A B C // Todi (Indian) C Db Eb Gb G Ab B C // Persian C Db E F Gb Ab B C // Oriental C Db E F Gb A Bb C // Maj.Phryg. (Dom)C Db E F G Ab Bb C Spanish/ Jewish // Double Harmonic C Db E F G Ab B C Gypsy/ Byzantine/ Charhargah // Marva (Indian) C Db E Gb G A B C // Enigmatic C Db E Gb Ab Bb B C // // Locrian Natural 2nd C D Eb F Gb Ab Bb C // Minor (natural) C D Eb F G Ab Bb C Aeolian/ Algerian (oct2) // Harmonic Minor C D Eb F G Ab B C Mohammedan // Dorian C D Eb F G A Bb C // Melodic Minor (Asc) C D Eb F G A B C Hawaiian // Hungarian Gypsy C D Eb Gb G Ab Bb C // Hungarian Minor C D Eb Gb G Ab B C Algerian (oct1) // Romanian C D Eb Gb G A Bb C // // Maj. Locrian C D E F Gb Ab Bb C Arabian // Hindu C D E F G Ab Bb C - // Ethiopian C D E F G Ab B C // Mixolydian C D E F G A Bb C - // Major C D E F G A B C Ionian // Mixolydian Aug. C D E F Ab A Bb C - // Harmonic Major C D E F Ab A B C - // Lydian Min. C D E Gb G Ab Bb C - // Lydian Dominant C D E Gb G A Bb C Overtone // Lydian C D E Gb G A B C - // Lydian Aug. C D E Gb Ab A Bb C - // Leading Whole Tone C D E Gb Ab Bb B C - // Bluesy R&R* C Eb E F G A Bb C - // Hungarian Major C Eb E Gb G A Bb C Lydian sharp2nd // // "pB" C Db Eb Gb Ab C - // Balinechuck@lists.cs.princeton.eduse 1 C Db Eb G Ab C "pE" // Pelog (Balinese) C Db Eb G Bb C - // Iwato (Japanese) C Db F Gb Bb C - // Japanese 1 C Db F G Ab C Kumoi // Hirajoshi (Japanese) C D Eb G Ab C "pA" // "pD" C D Eb G A C - // Pentatonic Major C D E G A C Chinese 1/ Mongolian/ "pFCG" // Egyptian C D F G Bb C - // Pentatonic Minor C Eb F G Bb C - // Chinese 2 C E Gb G B C - <<<<<<<< ChucK script that, given the notes above, plays a tune in a specified scale >>>>>>> 75::ms => dur T; Mandolin s => Echo e => NRev r => dac; 0.2 => r.mix; 2::T => e.delay; 1 => int m; 0 => int tone; 2 => int octave; 5 => int n_tones; while(true) { if(m%2==0) tone+1 => tone; if(m%3==0) tone-2 => tone; if(m%5==0) tone+3 => tone; if(m%7==0) tone-4 => tone; if(m%11==0) tone+5 => tone; std.rand2(0,3)+tone => tone; while(tone<0) { tone+n_tones => tone; octave-1=>octave; } while(tone>=n_tones) {tone-n_tones => tone; octave+1 => octave; } // Egyptian C D F G Bb C - if(tone==0) C2 => s.freq; if(tone==1) D2 => s.freq; if(tone==2) E2 => s.freq; if(tone==3) G2 => s.freq; if(tone==4) A2 => s.freq; if(tone==5) A2 => s.freq; if(tone==6) Bb2 => s.freq; if(tone==7) Bb2 => s.freq; m+1 => m; 1.0 => s.pluck; std.rand2f(0.9,1.0)::T => now; 0.8 => s.pluck; std.rand2f(0.9,1.0)::T => now; 0.9 => s.pluck; std.rand2f(0.9,1.0)::T => now; 0.7 => s.pluck; std.rand2f(0.9,1.0)::T => now; // 5::T => now; } <<<<<<< >>>>>>> -- Mikael Johansson To see the world in a grain of sand mikael@johanssons.org And heaven in a wild flower http://www.mikael.johanssons.org To hold infinity in the palm of your hand http://blog.mikael.johanssons.org And eternity for an hour
Just as a little benefit to everyone out there (and mainly because I myself grew annoyed), I looked up the frequencies for a welltempered scale, hacked out the ChucK commands assigning those frequencies to names I could cope with, looked up a list of MANY canonical scales, hacked that to a format I liked, and produced a small example ChucK script that will play a mandolin tune in any "cultural" melodic context you want. =)
Mand-o-licious. (Thank you!)
By the way. I WANT arrays. This'd be SO much easier with arrays!
Yes, you are totally right. Sorry for delay. They are being implemented, along with a good amount of other things. After ICMC (early November), we go back in full implementation mode - finishing arrays will be first priority. Best, Ge!
On Sun, 24 Oct 2004, Ge Wang wrote:
Just as a little benefit to everyone out there (and mainly because I myself grew annoyed), I looked up the frequencies for a welltempered scale, hacked out the ChucK commands assigning those frequencies to names I could cope with, looked up a list of MANY canonical scales, hacked that to a format I liked, and produced a small example ChucK script that will play a mandolin tune in any "cultural" melodic context you want. =)
Mand-o-licious. (Thank you!)
By the way. I WANT arrays. This'd be SO much easier with arrays!
Yes, you are totally right. Sorry for delay. They are being implemented, along with a good amount of other things. After ICMC (early November), we go back in full implementation mode - finishing arrays will be first priority.
Once arrays are in place, playing in any specific scale as well as switching between them will be deliciously easy... =P
Best, Ge!
_______________________________________________ chuck mailing list chuck@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck
-- Mikael Johansson To see the world in a grain of sand mikael@johanssons.org And heaven in a wild flower http://www.mikael.johanssons.org To hold infinity in the palm of your hand http://blog.mikael.johanssons.org And eternity for an hour
Can we download this program? I checked the wiki. Thanks, Ben On 24 Oct 2004, at 20:46, Ge Wang wrote:
Just as a little benefit to everyone out there (and mainly because I myself grew annoyed), I looked up the frequencies for a welltempered scale, hacked out the ChucK commands assigning those frequencies to names I could cope with, looked up a list of MANY canonical scales, hacked that to a format I liked, and produced a small example ChucK script that will play a mandolin tune in any "cultural" melodic context you want. =)
Mand-o-licious. (Thank you!)
By the way. I WANT arrays. This'd be SO much easier with arrays!
Yes, you are totally right. Sorry for delay. They are being implemented, along with a good amount of other things. After ICMC (early November), we go back in full implementation mode - finishing arrays will be first priority.
Best, Ge!
_______________________________________________ chuck mailing list chuck@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck
((Ben Godfrey) (Software) (see "http://www.cohack.com/?eval"))
Can we download this program?
I checked the wiki.
I just put a (slightly modified) version of Mikael's scales on the wiki. http://wiki.cs.princeton.edu/index.php/ChucK_Programs Best, Ge!
Thanks very much. On 26 Oct 2004, at 21:01, Ge Wang wrote:
Can we download this program?
I checked the wiki.
I just put a (slightly modified) version of Mikael's scales on the wiki.
http://wiki.cs.princeton.edu/index.php/ChucK_Programs
Best, Ge!
_______________________________________________ chuck mailing list chuck@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck
((Ben Godfrey) (Software) (see "http://www.cohack.com/?eval"))
Hello All, I have gotten midi devices in happening on OS X. When I try and change the device in it doesn't work. I get a compile error. Is this right? Is there a function in chuck like the --list-dev in pd? I would love to see what chuck has access to and their corresponding numbers. Is there a list of reserved words out there? I have stumbled across a few but I would love to have them all in one place. Keep up the good work. --art
On Mon, 15 Nov 2004, Adam Tindale wrote:
Hello All,
I have gotten midi devices in happening on OS X. When I try and change the device in it doesn't work. I get a compile error. Is this right?
Is there a function in chuck like the --list-dev in pd? I would love to see what chuck has access to and their corresponding numbers.
Is there a list of reserved words out there? I have stumbled across a few but I would love to have them all in one place.
I suppose the "real" list of reserved words will come when the promised documentation effort gets started. Awaiting that, I've dug out reasonable guesses on reserved words from the source code; take a read through the emacs mode - it's visible there. http://www.stacken.kth.se/~mik/chuck.el
Keep up the good work.
--art
-- Mikael Johansson | To see the world in a grain of sand mikael@johanssons.org | And heaven in a wild flower http://www.mikael.johanssons.org | To hold infinity in the palm of your hand | And eternity for an hour
Hi, Thanks for your response. I will look through that code.
I suppose the "real" list of reserved words will come when the promised documentation effort gets started.
Awaiting that, I've dug out reasonable guesses on reserved words from the source code; take a read through the emacs mode - it's visible there. http://www.stacken.kth.se/~mik/chuck.el
I have posted my discoveries about midi in a patch on the wiki for all of those interested. I would love feedback. My original post wasn't worded well at all. I have been able to access different midi in devices using midiin^, where k is the number of the port. When I try to do midiout^k I get a compile error. That means that we probably don't have this function yet. About documentation. I know for a fact that it is coming and you will love it. Like all things chuck it is worth the wait. Trust me. Here is another thing I have been wondering: Are we chuckists or chuckers? Thanks again. --art
On Wed, 17 Nov 2004, Adam Tindale wrote:
Hi,
Thanks for your response. I will look through that code.
I suppose the "real" list of reserved words will come when the promised documentation effort gets started.
Awaiting that, I've dug out reasonable guesses on reserved words from the source code; take a read through the emacs mode - it's visible there. http://www.stacken.kth.se/~mik/chuck.el
I have posted my discoveries about midi in a patch on the wiki for all of those interested. I would love feedback.
My original post wasn't worded well at all.
I have been able to access different midi in devices using midiin^, where k is the number of the port. When I try to do midiout^k I get a compile error. That means that we probably don't have this function yet.
About documentation. I know for a fact that it is coming and you will love it. Like all things chuck it is worth the wait. Trust me.
Here is another thing I have been wondering: Are we chuckists or chuckers?
I'd say chuckers.
Thanks again.
--art
-- Mikael Johansson | To see the world in a grain of sand mikael@johanssons.org | And heaven in a wild flower http://www.mikael.johanssons.org | To hold infinity in the palm of your hand | And eternity for an hour
Better a chucker than a tosser, I say!
On Thu, 18 Nov 2004 08:46:42 +0100 (CET), Mikael Johansson
On Wed, 17 Nov 2004, Adam Tindale wrote:
Hi,
Thanks for your response. I will look through that code.
I suppose the "real" list of reserved words will come when the promised documentation effort gets started.
Awaiting that, I've dug out reasonable guesses on reserved words from the source code; take a read through the emacs mode - it's visible there. http://www.stacken.kth.se/~mik/chuck.el
I have posted my discoveries about midi in a patch on the wiki for all of those interested. I would love feedback.
My original post wasn't worded well at all.
I have been able to access different midi in devices using midiin^, where k is the number of the port. When I try to do midiout^k I get a compile error. That means that we probably don't have this function yet.
About documentation. I know for a fact that it is coming and you will love it. Like all things chuck it is worth the wait. Trust me.
Here is another thing I have been wondering: Are we chuckists or chuckers?
I'd say chuckers.
Thanks again.
--art
-- Mikael Johansson | To see the world in a grain of sand mikael@johanssons.org | And heaven in a wild flower http://www.mikael.johanssons.org | To hold infinity in the palm of your hand | And eternity for an hour
_______________________________________________ chuck mailing list chuck@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck
Here is another thing I have been wondering: Are we chuckists or chuckers?
I'd say chuckers.
Good question. Perry and I had this discussion a while ago. I guess if you ChucK, then you are a chucker. When you use ChucK as some sort of live musical instrument, you are also a chuckist... (one can be both) I guess, perhaps the answer is open... Best, Ge!
The ChucK competition just finished. Results as follows: Best sphere: spe@stacken.kth.se participated with a "Radio" simulator emulating (sort of) morse code telegraphy and rtty communication. Best interference: mikael@johanssons.org and mariog@kth.separticipated with a raytracing rendering in ASCII art a sphere with randomized center and changing distance from the viewpoint; accompanied by a singularily irritating tune generated by mod:ing fibonacci numbers by low-ish primes. Runnerup: foo@stacken.kth.se participated with a tiny program playing a simple tune. The results page is available in english and swedish on http://www.stacken.kth.se/stackhack/20041028/ http://www.stacken.kth.se/stackhack/20041028/index.en -- Mikael Johansson To see the world in a grain of sand mikael@johanssons.org And heaven in a wild flower http://www.mikael.johanssons.org To hold infinity in the palm of your hand http://blog.mikael.johanssons.org And eternity for an hour
Hi Mikael and all! Very cool! There is now a link from the programs section to stacken on the wiki. Perry and I just presented the Audicle at ICMC with a live demo of the Audicle/ChucK - we will make the presentation available soon in some form. We have fixed several bugs, including the crash caused by killing parent shreds that have sporked shreds. This will be in a release later this week with theses fixes. The big release with objects/arrays/events is scheduled for this holiday season, in early to mid December. Best, Ge! On Oct 28, 2004, at 5:47 PM, Mikael Johansson wrote:
The ChucK competition just finished. Results as follows:
Best sphere: spe@stacken.kth.se participated with a "Radio" simulator emulating (sort of) morse code telegraphy and rtty communication.
Best interference: mikael@johanssons.org and mariog@kth.separticipated with a raytracing rendering in ASCII art a sphere with randomized center and changing distance from the viewpoint; accompanied by a singularily irritating tune generated by mod:ing fibonacci numbers by low-ish primes.
Runnerup: foo@stacken.kth.se participated with a tiny program playing a simple tune.
The results page is available in english and swedish on http://www.stacken.kth.se/stackhack/20041028/ http://www.stacken.kth.se/stackhack/20041028/index.en
-- Mikael Johansson To see the world in a grain of sand mikael@johanssons.org And heaven in a wild flower http://www.mikael.johanssons.org To hold infinity in the palm of your hand http://blog.mikael.johanssons.org And eternity for an hour
_______________________________________________ chuck mailing list chuck@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck
Hi, when the Audicle will be released ? Best regards Alessandro Fogar -----Messaggio originale----- Da: chuck-bounces@lists.cs.princeton.edu [mailto:chuck-bounces@lists.cs.princeton.edu] Per conto di Ge Wang Inviato: giovedì 4 novembre 2004 0.27 A: Mailing list for programming language 'ChucK' Oggetto: Re: [chuck] ChucK competition results! Hi Mikael and all! Very cool! There is now a link from the programs section to stacken on the wiki. Perry and I just presented the Audicle at ICMC with a live demo of the Audicle/ChucK - we will make the presentation available soon in some form. We have fixed several bugs, including the crash caused by killing parent shreds that have sporked shreds. This will be in a release later this week with theses fixes. The big release with objects/arrays/events is scheduled for this holiday season, in early to mid December. Best, Ge! On Oct 28, 2004, at 5:47 PM, Mikael Johansson wrote:
The ChucK competition just finished. Results as follows:
Best sphere: spe@stacken.kth.se participated with a "Radio" simulator emulating (sort of) morse code telegraphy and rtty communication.
Best interference: mikael@johanssons.org and mariog@kth.separticipated with a raytracing rendering in ASCII art a sphere with randomized center and changing distance from the viewpoint; accompanied by a singularily irritating tune generated by mod:ing fibonacci numbers by low-ish primes.
Runnerup: foo@stacken.kth.se participated with a tiny program playing a simple tune.
The results page is available in english and swedish on http://www.stacken.kth.se/stackhack/20041028/ http://www.stacken.kth.se/stackhack/20041028/index.en
-- Mikael Johansson To see the world in a grain of sand mikael@johanssons.org And heaven in a wild flower http://www.mikael.johanssons.org To hold infinity in the palm of your hand http://blog.mikael.johanssons.org And eternity for an hour
_______________________________________________ chuck mailing list chuck@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck
_______________________________________________ chuck mailing list chuck@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck
Hi!
when the Audicle will be released ?
We are planning to release this (GPL) early 2005 (feb/mar). --- ChucK with arrays/objects/events : mid december 2004 Language reference : soon after OSC support : early 2005 Best, Ge! ---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program.
On Thu, 4 Nov 2004, Ge Wang wrote:
Hi!
when the Audicle will be released ?
We are planning to release this (GPL) early 2005 (feb/mar).
---
ChucK with arrays/objects/events : mid december 2004
Language reference : soon after
OSC support : early 2005
Yaaaaaaaay! I can't wait! =)
Best, Ge!
-- Mikael Johansson | To see the world in a grain of sand mikael@johanssons.org | And heaven in a wild flower http://www.mikael.johanssons.org | To hold infinity in the palm of your hand | And eternity for an hour
On Nov 3, 2004, at 6:26 PM, Ge Wang wrote:
We have fixed several bugs, including the crash caused by killing parent shreds that have sporked shreds. Particular yay!
This will be in a release later this week with theses fixes. The big release with objects/arrays/events is scheduled for this holiday season, in early to mid December. Really looking forward to this.
--- Joe M.
participants (7)
-
Adam Tindale
-
Afternoon
-
Alessandro Fogar
-
Ge Wang
-
jesse rothenberg
-
Joe McMahon
-
Mikael Johansson