Musical scale

From Rosetta Code
Revision as of 21:32, 22 March 2013 by rosettacode>Markhobley (ZX Spectrum Basic and Lilypond)
Musical scale is a draft programming task. It is not yet considered ready to be promoted as a complete task, for reasons that should be found in its talk page.

Output 8 notes of the C major natural diatonic music scale (These are the notes C,D,E,F,G,A,B,c or Do, Ra, Me, Fa, So, La, Te, do on the solfa) to the default musical sound device on the system. For the purpose of this task, middle C should be used as the starting note, and crotchet notes should be used.

For languages that cannot utilize a sound device, it is permissible to output to a musical score or the task can be omitted.

Lilypond

The lilypond tool produces musical score sheets and does not output notes to the sound device.

<lang lilypond>% Start at middle C \relative c' {

 c d e f
 g a b c

}</lang>

ZX Spectrum Basic

<lang zxbasic>10 REM Musical scale 20 LET n=0: REM Start at middle C 30 LET d=0.2: REM Make each note 0.2 seconds in duration 40 FOR l=1 TO 8 50 BEEP d,n 60 READ i: REM Number of semitones to increment 70 LET n=n+i 80 NEXT l 90 STOP 9000 DATA 2,2,1,2,2,2,1,2:REM WWHWWWH</lang>