全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1389 4
2012-11-21
%macro joy_to_the_world;
data holidays;
  retain fmtname '@$holiday';
  length data $3;
  ratio = 1.05946309436;
  str1 ='A A#B C C#D D#E F F#G G#';
  str2='A BbCbB#DbD EbFbE#GbG Ab';
  o = 1;
  do i = 0 to 87;
    p = 55 * ratio**i;
        data = compress(substr(str1,mod(i,12)*2+1,2)||o);
    output;
        if data^=compress(substr(str2,mod(i,12)*2+1,2)||o) then do;
          data = compress(substr(str2,mod(i,12)*2+1,2)||o);
          output;
        end;
        if mod(i,12)=2 then o=o+1;
  end;
  rename data=start p=label;
  keep fmtname data p;
run;
proc format cntlin=holidays; run;
%macro play(input);
data _Null_;
  %let i=1;
  %do %while(%scan(&input,&i,%str( ))^=);
    %let note = %scan(&input,&i,%str( ));
        %let pitch = %upcase(%scan(&note,1,=));
        %let duration = %scan(&note,2,=);
    %let i = %eval(&i+1);
        %if &pitch=R %then
          call sleep((1/&duration)*750);
        %else
          call sound(input("&pitch",$holiday.),(1/&duration)*300);
    ;
  %end;
run;
%mend;
%play(%str(
C6=1 B5=1.5 A5=6 G5=1 R=2 F5=2 E5=1 D5=1 C5=1
R=2 G5=2 A5=1 R=2 A5=2 B5=1 R=2 B5=2 C6=.33
C6=2 C6=2 B5=2 A5=2 G5=2 G5=1.5 F5=4 E5=2
C6=2 C6=2 B5=2 A5=2 G5=2 G5=1.5 F5=4 E5=2 E5=2
E5=2 E5=2 E5=2 E5=4 F5=4 G5=1 R=4 F5=4 E5=4
D5=2 D5=2 D5=2 D5=4 E5=4 F5=1 R=4 E5=4 D5=4
C5=2 C6=1 A5=2 G5=1.5 F5=6 E5=2 F5=2 E5=1 D5=1 C5=1
));
%mend joy_to_the_world;
%joy_to_the_world;


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2012-11-21 07:49:54
good but cant run my computer since we are using metadata server, all of these will be done on appdev server. I can not hear anything.
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-11-21 08:40:33
没有音乐呀
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-11-21 11:44:53
开挂了开挂了,这用SAS开发MIDI应用指日可待啊。。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-11-21 12:12:12
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群