How about make a song using my favorite SAS.
Listening to my song and relax.Hope you enjoy it.
- %let pc=1.25;
- %macro df3(note,octave,length);
- select(¬e.);
- when('A') call sound(55*(2**&octave.),&length.*160*&pc.);
- when('A#') call sound(58*(2**&octave.),&length.*160*&pc.);
- when('Bb') call sound(58*(2**&octave.),&length.*160*&pc.);
- when('B') call sound(62*(2**&octave.),&length.*160*&pc.);
- when('C') call sound(65*(2**&octave.),&length.*160*&pc.);
- when('C#') call sound(69*(2**&octave.),&length.*160*&pc.);
- when('Db') call sound(69*(2**&octave.),&length.*160*&pc.);
- when('D') call sound(73.5*(2**&octave.),&length.*160*&pc.);
- when('D#') call sound(73.5*(2**&octave.),&length.*160*&pc.);
- when('Eb') call sound(78*(2**&octave.),&length.*160*&pc.);
- when('E') call sound(82*(2**&octave.),&length.*160*&pc.);
- when('F') call sound(87*(2**&octave.),&length.*160*&pc.);
- when('F#') call sound(92.5*(2**&octave.),&length.*160*&pc.);
- when('Gb') call sound(92.5*(2**&octave.),&length.*160*&pc.);
- when('G') call sound(98*(2**&octave.),&length.*160*&pc.);
- when('G#') call sound(104*(2**&octave.),&length.*160*&pc.);
- when('Ab') call sound(104*(2**&octave.),&length.*160*&pc.);
- when('R') call sleep((&length./3)*&pc.,1);
- otherwise;
- end;
- %mend;
- /* SAMPLE */
- /* Old MacDonald Had a Farm */
- data _null_;
- do i=1 to 2;
- %df3('C',3,1) ;
- %df3('C',3,1) ;
- %df3('C',3,1) ;
- %df3('G',2,1) ;
- %df3('A',3,1) ;
- %df3('A',3,1) ;
- %df3('G',2,2) ;
- %df3('E',3,1) ;
- /* SUGI 29 Coders' Corner4*/
- %df3('E',3,1) ;
- %df3('D',3,1) ;
- %df3('D',3,1) ;
- %df3('C',3,2) ;
- if i=1 then do;
- %df3('R',1,2);
- %df3('G',2,2);
- end;
- end;
- %df3('G',2,.5);
- %df3('G',2,.5);
- %df3('C',3,1);
- %df3('C',3,1);
- %df3('C',3,1);
- %df3('G',2,.5);
- %df3('G',2,.5);
- %df3('C',3,1);
- %df3('C',3,1);
- %df3('C',3,2);
- %df3('C',3,.5);
- %df3('C',3,.5);
- %df3('C',3,1);
- %df3('C',3,.5);
- %df3('C',3,.5);
- %df3('C',3,1);
- %df3('C',3,.5);
- %df3('C',3,.5);
- %df3('C',3,.5);
- %df3('C',3,.5);
- %df3('C',3,1);
- %df3('C',3,1);
- %df3('C',3,1);
- %df3('C',3,1);
- %df3('C',3,1);
- %df3('G',2,1);
- %df3('A',3,1);
- %df3('A',3,1);
- %df3('G',2,2);
- %df3('E',3,1);
- %df3('E',3,1);
- %df3('D',3,1);
- %df3('D',3,1);
- %df3('C',3,3);
- run;
补充内容 (2013-11-3 17:15):
代码出自:http://www2.sas.com/proceedings/sugi29/048-29.pdf



雷达卡



京公网安备 11010802022788号







