@ABFA振動 kerokero9696 --track0:Buf番号,1,4096,20,1 --track1:Buf補正,1,4096,75,0.01 --track2:周期,1,4096,10,1 --track3:複震,0,1,0,1 --check0:Guid,1 --dialog:音分割数,local div=40;取得フレーム数,fnum=6;Buf値上限/chk,chk1=0;Buf値上限,bmax=20.00;Buf値下限/chk,chk2=0;Buf値下限,bmin=1.00;Color/col,col=0xffffff;X係数,xc=1.00;Y係数,yc=1.00;Z係数,zc=0.00;ランダムな強さ/chk,chk3=1; ------------------------------------set t0=math.floor(obj.track0) if(t0>=div)then t0=div end t1=obj.track1 t2=math.floor(obj.track2) t3=math.floor(obj.track3) local bnum=t0 local bcor=t1 local buf={} local abm="spectrum" --pcm,spectrum,fourier local n=obj.getaudio(buf,"audiobuffer",abm,div) ------------------------------------script if(bvle==null)then bvle={} end if(obj.frame==0)then for i=1,fnum do bvle[i]={} end if(fnum<#bvle)then for i=fnum+1,#bvle do bvle[i]=null end end end local fr=obj.frame fr0=fr%fnum+1 bvle[fr0]=math.abs(buf[bnum]) if(fnum<=1)then fnum=1 end if(fnum>=fr+1)then fnum=fr+1 end --***set bv=0 for k=1,fnum do bv=bv+bvle[k] end bv=math.floor(bv/fnum/bcor*1000)/1000 ------------------------------------ n1="X" n2="Y" n3="Z" n4="周期" n5="ランダムに強さを変える" n6="複雑に振動" v1=bv*xc v2=bv*yc v3=bv*zc if(chk1==1)then if(v1>=bmax)then v1=bmax end if(v2>=bmax)then v2=bmax end if(v3>=bmax)then v3=bmax end end if(chk2==1)then if(v1<=bmin)then v1=bmin end if(v2<=bmin)then v2=bmin end if(v3<=bmin)then v3=bmin end end v4=t2 if(chk3==1)then v5=1 else v5=0 end if(t3==0)then v6=0 else v6=1 end obj.effect("振動",n1,v1,n2,v2,n3,v3,n4,v4,n5,v5,n6,v6) ------------------------------------ if(obj.check0)then obj.effect() obj.draw() info="振動X:"..math.floor(v1).." 振動Y:"..math.floor(v2).." 振動Z:"..math.floor(v3) obj.setfont("しねきゃぷしょん",24,3,0x000000,0xffffff) obj.load("text",info) obj.draw() w=obj.screen_w h=obj.screen_h rl=t0 ln=w/320 obj.setfont("ms gothic",w/64,0,col) for i=0,n-1 do obj.load("text",i+1) x=-w/2+w/n*i y=h/2-buf[i+1]/t1 obj.draw(x,y,0.5) end obj.load("figure","円",col,w/32,ln) x=-w/2+w/n*(rl-1) y=h/2-buf[t0]/t1 obj.draw(x,y,0.5) end @ABFA拡大率 kerokero9696 --track0:Buf番号,1,4096,20,1 --track1:Buf補正,1,4096,25,0.01 --track2:係数,0,100,2,0.01 --track3:Z/X/Y,0,2,1,1 --check0:Guid,1 --dialog:音分割数,local div=40;取得フレーム数,fnum=6;Buf値上限/chk,chk1=0;Buf値上限,bmax=200.00;Buf値下限/chk,chk2=1;Buf値下限,bmin=100.00;Color/col,col=0xffffff;基本X,xx=100.0;基本Y,yy=100.0; ------------------------------------set t0=math.floor(obj.track0) if(t0>=div)then t0=div end t1=obj.track1 t2=obj.track2 t3=math.floor(obj.track3) local bnum=t0 local bcor=t1 local buf={} local abm="spectrum" --pcm,spectrum,fourier local n=obj.getaudio(buf,"audiobuffer",abm,div) ------------------------------------script if(bvle==null)then bvle={} end if(obj.frame==0)then for i=1,fnum do bvle[i]={} end if(fnum<#bvle)then for i=fnum+1,#bvle do bvle[i]=null end end end local fr=obj.frame fr0=fr%fnum+1 bvle[fr0]=math.abs(buf[bnum]) if(fnum<=1)then fnum=1 end if(fnum>=fr+1)then fnum=fr+1 end --***set bv=0 for k=1,fnum do bv=bv+bvle[k] end bv=math.floor(bv/fnum/bcor*1000)/1000 ------------------------------------ n1="拡大率" n2="X" n3="Y" if(t3==0)then v1=bv*t2 v2=xx v3=yy if(chk1==1)then if(v1>=bmax)then v1=bmax end end if(chk2==1)then if(v1<=bmin)then v1=bmin end end elseif(t3==1)then v1=obj.getvalue("zoom") v2=bv*t2 v3=yy if(chk1==1)then if(v2>=bmax)then v2=bmax end end if(chk2==1)then if(v2<=bmin)then v2=bmin end end elseif(t3==2)then v1=obj.getvalue("zoom") v2=xx v3=bv*t2 if(chk1==1)then if(v3>=bmax)then v3=bmax end end if(chk2==1)then if(v3<=bmin)then v3=bmin end end end obj.effect("拡大率",n1,v1,n2,v2,n3,v3) ------------------------------------ if(obj.check0)then obj.effect() obj.draw() if(t3==0)then info="拡大率:"..math.floor(v1).."("..math.floor(buf[t0]/t1)..")" elseif(t3==1)then info=" X:"..math.floor(v2).."("..math.floor(buf[t0]/t1*t2)..")" elseif(t3==2)then info=" Y:"..math.floor(v3).."("..math.floor(buf[t0]/t1*t2)..")" end obj.setfont("しねきゃぷしょん",24,3,0x000000,0xffffff) obj.load("text",info) obj.draw() w=obj.screen_w h=obj.screen_h rl=t0 ln=w/320 obj.setfont("ms gothic",w/64,0,col) for i=0,n-1 do obj.load("text",i+1) x=-w/2+w/n*i y=h/2-buf[i+1]/t1 obj.draw(x,y,0.5) end obj.load("figure","円",col,w/32,ln) x=-w/2+w/n*(rl-1) y=h/2-buf[t0]/t1 obj.draw(x,y,0.5) end @ABFA透明度 kerokero9696 --track0:Buf番号,1,4096,20,1 --track1:Buf補正,1,4096,25,0.01 --check0:Guid,1 --dialog:音分割数,local div=40;取得フレーム数,fnum=6;Buf値上限/chk,chk1=1;Buf値上限,bmax=100.00;Buf値下限/chk,chk2=0;Buf値下限,bmin=10.00;Color/col,col=0xffffff; ------------------------------------set t0=math.floor(obj.track0) if(t0>=div)then t0=div end t1=obj.track1 local bnum=t0 local bcor=t1 local buf={} local abm="spectrum" --pcm,spectrum,fourier local n=obj.getaudio(buf,"audiobuffer",abm,div) ------------------------------------script if(bvle==null)then bvle={} end if(obj.frame==0)then for i=1,fnum do bvle[i]={} end if(fnum<#bvle)then for i=fnum+1,#bvle do bvle[i]=null end end end local fr=obj.frame fr0=fr%fnum+1 bvle[fr0]=math.abs(buf[bnum]) if(fnum<=1)then fnum=1 end if(fnum>=fr+1)then fnum=fr+1 end --***set bv=0 for k=1,fnum do bv=bv+bvle[k] end bv=math.floor(bv/fnum/bcor*1000)/1000 ------------------------------------ n1="透明度" v1=bv if(chk1==1)then if(v1>=bmax)then v1=bmax end end if(chk2==1)then if(v1<=bmin)then v1=bmin end end obj.effect("透明度",n1,v1) ------------------------------------ if(obj.check0)then obj.effect() obj.draw() info="透明度:"..math.floor(v1) obj.setfont("しねきゃぷしょん",24,3,0x000000,0xffffff) obj.load("text",info) obj.draw() w=obj.screen_w h=obj.screen_h rl=t0 ln=w/320 obj.setfont("ms gothic",w/64,0,col) for i=0,n-1 do obj.load("text",i+1) x=-w/2+w/n*i y=h/2-buf[i+1]/t1 obj.draw(x,y,0.5) end obj.load("figure","円",col,w/32,ln) x=-w/2+w/n*(rl-1) y=h/2-buf[t0]/t1 obj.draw(x,y,0.5) end --[[http://madeinpc.blog50.fc2.com/]]--