@SST01(図形積層タイプ) kerokero9696 --track0:音分割数,1,1024,80,1 --track1:Buf補正,0.01,1024,25,0.01 --track2:図形サイズ,1,1024,10,1 --track3:図形線幅,1,2048,100,1 --check0:Guid,1 --dialog:取得フレーム数,fnum=6;描画密度,local jk=1;カラフル/chk,chk2=0;色変化速度,local spd=5;色/col,col1=0xff0000;seed,sd=100;図形選択/fig,fig="四角形";間隔X係数,dstxc=1.5;間隔Y係数,dstyc=1.2; ------------------------------------set local t0=math.floor(obj.track0) local t1=obj.track1 local t2=math.floor(obj.track2) local t3=math.floor(obj.track3) local sw=obj.screen_w local sh=obj.screen_h local div=t0 local bcor=t1 local buf={} local abm="spectrum" --pcm,spectrum,fourier local n=obj.getaudio(buf,"audiobuffer",abm,div) if(jk < 1)then jk = 1 end local fs = sh / 24 obj.setfont("",fs) ------------------------------------script if(obj.check0)then output="滑らかな動きをするために0フレームでの初期化が必要です。\n(オブジェクトの頭を現行フレームが通る必要あり)。\n\nフレームのスキップに対応しましたが、\nスキップが発生した後の数フレームは正しく波形が表示されません。\n\nただし、エンコードではスキップは発生しないので出力される動画には影響ありません。" obj.load("text",output) obj.draw() end ------------------------------------script obj.setoption("drawtarget","tempbuffer",sw,sh) local fgs1=t2 local fgs2=t3 local dstx=fgs1*dstxc local dsty=fgs1*dstyc if(obj.frame == 0 or fr_cnt == null)then fr_cnt = 0 end local fr = fr_cnt + 1 if(bvl==null)then bvl={} end bvl[fr]={} for i=1,div do bvl[fr][i]=math.abs(buf[i]) if(chk2==1)then col1 = HSV(obj.rand(0,360,sd+math.floor(obj.time*spd),i),100,100) end bv=0 if(fnum>=fr)then fnum=fr end for k=0,fnum-1 do bv=bv+bvl[fr-k][i] end bv=bv/fnum bvlen=bv/bcor for j=0,bvlen,jk do dx=i*dstx -div*dstx/2-dstx/2 dy=-j*dsty +sh/2-dsty/2 obj.load("figure",fig,col1,fgs1,fgs2) obj.setoption("blend","alpha_add") obj.draw(dx,dy) end end ------------------------------------ obj.load("tempbuffer") fr_cnt = fr_cnt + 1 @SST02 kerokero9696 --track0:音分割数,1,1024,30,1 --track1:Buf補正,0.01,1024,25,0.01 --track2:図形サイズ,1,1024,10,1 --track3:密度/10,2,600,100,0.1 --check0:Guid,0 --dialog:取得フレーム数,local fnum=6;カラフル/chk,chk1=0;色変化速度,local spd=5;グラフ色/col,col1=0xff0000;SEED,sd=100;図形選択/fig,fig="四角形";間隔係数,local rdstc=1.35; ------------------------------------set local t0=math.floor(obj.track0) local t1=obj.track1*0.1 local t2=math.floor(obj.track2) local t3=obj.track3*0.1 local sw=obj.screen_w local sh=obj.screen_h local div=t0 local bcor=t1 local buf={} local abm="spectrum" --pcm,spectrum,fourier local n=obj.getaudio(buf,"audiobuffer",abm,div) local fs = sh / 24 obj.setfont("",fs) ------------------------------------script if(obj.check0)then output="滑らかな動きをするために0フレームでの初期化が必要です。\n(オブジェクトの頭を現行フレームが通る必要あり)。\n\nフレームのスキップに対応しましたが、\nスキップが発生した後の数フレームは正しく波形が表示されません。\n\nただし、エンコードではスキップは発生しないので出力される動画には影響ありません。" obj.load("text",output) obj.draw() end ------------------------------------script obj.setoption("drawtarget","tempbuffer",sw,sh) local fgs1=t2 if(obj.frame == 0 or fr_cnt == null)then fr_cnt = 0 end local fr = fr_cnt + 1 if(bvl==null)then bvl={} end bvl[fr]={} for i=1,div do bvl[fr][i]=math.abs(buf[i]) bv=0 if(fnum>=fr)then fnum=fr end for k=0,fnum-1 do bv=bv+bvl[fr-k][i] end bv = bv / fnum bvlen = bv / bcor rdst = (i + fgs1 * 0.5 ) * fgs1 * rdstc if(bvlen >= 359)then bvlen = 359 end for j=0,bvlen,t3 do r=math.rad(j) cs=math.cos(r) sn=math.sin(r) dx=cs*rdst dy=sn*rdst rz = j if(chk1 == 1)then col1 = HSV(obj.rand(0,360,sd+math.floor(obj.time*spd),i),100,100) end if(bvlen>=1)then obj.load("figure",fig,col1,fgs1) obj.setoption("blend","alpha_add") obj.draw(dx,dy,0,1,1,0,0,rz) end end end ------------------------------------ obj.load("tempbuffer") fr_cnt = fr_cnt + 1 @SST03 kerokero9696 --track0:音分割数,1,1024,20,1 --track1:Buf補正,0.1,1024,100,0.01 --track2:図形サイズ,1,1024,10,1 --track3:描画密度,1,60,5,1 --check0:Guid,1 --dialog:取得フレーム数,fnum=6;カラフル/chk,chk2=0;色変化速度,local spd=5;グラフ色/col,col1=0xff0000;seed,sd=100;図形選択/fig,fig="四角形";間隔係数,rdstc=1.35; ------------------------------------set local t0=math.floor(obj.track0) local t1=obj.track1/10 local t2=math.floor(obj.track2) local t3=math.floor(obj.track3) local sw=obj.screen_w local sh=obj.screen_h local div=t0 local bcor=t1 local buf={} local abm="spectrum" --pcm,spectrum,fourier local n=obj.getaudio(buf,"audiobuffer",abm,div) ------------------------------------script local fs = sh / 24 obj.setfont("",fs) ------------------------------------script if(obj.check0)then output="滑らかな動きをするために0フレームでの初期化が必要です。\n(オブジェクトの頭を現行フレームが通る必要あり)。\n\nフレームのスキップに対応しましたが、\nスキップが発生した後の数フレームは正しく波形が表示されません。\n\nただし、エンコードではスキップは発生しないので出力される動画には影響ありません。" obj.load("text",output) obj.draw() end ------------------------------------script obj.setoption("drawtarget","tempbuffer",sw,sh) local fgs1=t2 if(obj.frame == 0 or fr_cnt == null)then fr_cnt = 0 end local fr = fr_cnt + 1 if(bvl==null)then bvl={} end bvl[fr]={} for i=1,div do bvl[fr][i]=math.abs(buf[i]) bv=0 if(fnum>=fr)then fnum=fr end for k=0,fnum-1 do bv=bv+bvl[fr-k][i] end bv=bv/fnum bvlen=bv/bcor rdst=(i+fgs1/2)*fgs1*rdstc if(bvlen>=359)then bvlen=359 end for j=0,bvlen,t3 do r=math.rad(j) rz=j if(i%2==1)then r=-r rz=-rz end cs=math.cos(r) sn=math.sin(r) dx=cs*rdst dy=sn*rdst if(chk2==1)then col1 = HSV(obj.rand(0,360,sd+math.floor(obj.time*spd),i),100,100) end obj.load("figure",fig,col1,fgs1) obj.setoption("blend","alpha_add") obj.draw(dx,dy,0,1,1,0,0,rz) end end ------------------------------------ obj.load("tempbuffer") fr_cnt = fr_cnt + 1 @SST04 kerokero9696 --track0:音分割数,1,1024,60,1 --track1:Buf補正,0.01,1024,25,0.01 --track2:図形サイズ,1,1024,10,1 --track3:描画密度,1,60,20,1 --check0:Guid,1 --dialog:取得フレーム数,fnum=6;カラフル/chk,chk2=1;色変化速度,local spd=5;グラフ色/col,col1=0xff0000;seed,sd=100;図形選択/fig,fig="円";間隔係数,rdstc=0.50; ------------------------------------set local t0=math.floor(obj.track0) local t1=obj.track1/10 local t2=math.floor(obj.track2) local t3=math.floor(obj.track3) local sw=obj.screen_w local sh=obj.screen_h local div=t0 local bcor=t1 local buf={} local abm="spectrum" --pcm,spectrum,fourier local n=obj.getaudio(buf,"audiobuffer",abm,div) ------------------------------------script local fs = sh / 24 obj.setfont("",fs) ------------------------------------script if(obj.check0)then output="滑らかな動きをするために0フレームでの初期化が必要です。\n(オブジェクトの頭を現行フレームが通る必要あり)。\n\nフレームのスキップに対応しましたが、\nスキップが発生した後の数フレームは正しく波形が表示されません。\n\nただし、エンコードではスキップは発生しないので出力される動画には影響ありません。" obj.load("text",output) obj.draw() end ------------------------------------script obj.setoption("drawtarget","tempbuffer",sw,sh) local fgs1=t2 if(obj.frame == 0 or fr_cnt == null)then fr_cnt = 0 end local fr = fr_cnt + 1 if(bvl==null)then bvl={} end bvl[fr]={} for i=1,div do bvl[fr][i]=math.abs(buf[i]) bv=0 if(fnum>=fr)then fnum=fr end for k=0,fnum-1 do bv=bv+bvl[fr-k][i] end bv=bv/fnum ang=i*360/div bvlen=bv/bcor for j=0,bvlen,t3 do rdst=(j+fgs1)*rdstc r=math.rad(ang) cs=math.cos(r) sn=math.sin(r) dx=cs*rdst dy=sn*rdst rz=ang if(chk2==1)then col1 = HSV(obj.rand(0,360,sd+math.floor(obj.time*spd),i),100,100) end obj.load("figure",fig,col1,fgs1) -- obj.setoption("blend","alpha_add") obj.setoption("blend",1) obj.draw(dx,dy,0,1,1,0,0,rz) end end ------------------------------------ obj.load("tempbuffer") fr_cnt = fr_cnt + 1 @SST05 kerokero9696 --track0:音分割数,1,1024,10,1 --track1:Buf補正,0.01,1024,25,0.01 --track2:図形サイズ,1,1024,45,1 --track3:描画密度,1,120,45,1 --check0:Guid,1 --dialog:取得フレーム数,fnum=6;カラフル/chk,chk2=1;色変化速度,local spd=5;ランダム動き/chk,chk3=0;色/col,col1=0xff0000;seed,sd=100;図形選択/fig,fig="円";図形幅,fgs2=2000;間隔係数,rdstc=1.35;中心半径,ocr=25.0;透明度,al=0.50;図形角度,local rzz=0; ------------------------------------set local t0=math.floor(obj.track0) local t1=obj.track1/10 local t2=math.floor(obj.track2) local t3=math.floor(obj.track3) local sw=obj.screen_w local sh=obj.screen_h local div=t0 local bcor=t1 local buf={} local abm="spectrum" --pcm,spectrum,fourier local n=obj.getaudio(buf,"audiobuffer",abm,div) ------------------------------------script local fs = sh / 24 obj.setfont("",fs) ------------------------------------script if(obj.check0)then output="滑らかな動きをするために0フレームでの初期化が必要です。\n(オブジェクトの頭を現行フレームが通る必要あり)。\n\nフレームのスキップに対応しましたが、\nスキップが発生した後の数フレームは正しく波形が表示されません。\n\nただし、エンコードではスキップは発生しないので出力される動画には影響ありません。" obj.load("text",output) obj.draw() end ------------------------------------script obj.setoption("drawtarget","tempbuffer",sw,sh) local fgs1=t2 if(obj.frame == 0 or fr_cnt == null)then fr_cnt = 0 end local fr = fr_cnt + 1 if(bvl==null)then bvl={} end bvl[fr]={} for j=0,359,t3 do for i=1,div do bvl[fr][i]=math.abs(buf[i]) bv=0 if(fnum>=fr)then fnum=fr end for k=0,fnum-1 do bv=bv+bvl[fr-k][i] end bv=bv/fnum bvlen=bv/bcor ang=j if(chk3==1)then rndl=obj.rand(div/2,div,sd,j)/div/2 else rndl=0.25 end bvlen=math.floor(bvlen)/bcor*rndl rdst=(ocr+bvlen)*rdstc r=math.rad(ang-90) cs=math.cos(r) sn=math.sin(r) dx=cs*rdst dy=sn*rdst rz=ang + rzz al=1-al if(chk2==1)then col1 = HSV(obj.rand(0,360,sd+math.floor(obj.time*spd),i),100,100) end if(i<=math.floor(div/2))then fgs=fgs1*i/div+2 else fgs=fgs1*(div-1)/div+2 end if(20)then obj.load("figure",fig,col1,fgs,fgs2) obj.setoption("blend",1,"force") obj.draw(dx,dy,0,1,al,0,0,rz) end end end ------------------------------------ obj.load("tempbuffer") fr_cnt = fr_cnt + 1 @SST06 kerokero9696 --track0:音分割数,1,1024,40,1 --track1:Buf補正,1,4096,35,0.01 --track2:減衰係数,0,1024,20,0.01 --track3:Size,0,800,40,1 --check0:図形切替,0 --dialog:取得フレーム数,local fnum=6;Color/col,col=0xff0000;Color2/col,col2=0x00ff00;比率,local dstc=0.35;X間隔,local dstx=0.10;Y間隔,local dsty=-0.25;線幅,local line=200;SEED,sd=100; ------------------------------------set local t0=math.floor(obj.track0) local t1=obj.track1 local t2=obj.track2 * 0.01 local t3=math.floor(obj.track3) local sw,sh = obj.screen_w,obj.screen_h ------------------------------------ local div = t0 local buft = "spectrum" --pcm,spectrum,fourier local n,rate,buf = obj.getaudio(nil,"audiobuffer",buft,div) if(fnum < 1)then fnum = 1 end if(frCntList == null)then frCntList = {} end if(obj.frame == 0)then frCntList[obj.layer] = 0 end local fr = frCntList[obj.layer] % fnum + 1 if(bvmax == null)then bvmax = {} end if(bvmax[obj.layer] == null)then bvmax[obj.layer] = {} end if(obj.frame == 0)then for i=1,div do bvmax[obj.layer][i] = 0 end end if(bvlog == null)then bvlog = {} end if(bvlog[obj.layer] == null)then bvlog[obj.layer] = {} end if(bvlog[obj.layer][fr] == null)then bvlog[obj.layer][fr] = {} end if(fnum < #bvlog[obj.layer])then for i=fnum+1,#bvlog[obj.layer] do bvlog[obj.layer][i] = null end end if(bvsumlist == null)then bvsumlist = {} end if(bvsumlist[obj.layer] == null)then bvsumlist[obj.layer] = {} end if(div < #bvsumlist[obj.layer])then for i=div+1,#bvsumlist[obj.layer] do bvsumlist[obj.layer][i] = null end end ------------------------------------ local fs = sh * 0.025 obj.setfont("",fs) local fig if(obj.check0)then fig = "円" else fig = "四角形" end ------------------------------------ obj.setoption("drawtarget","tempbuffer",sw,sh) obj.setoption("blend","alpha_add") for i=1,n do if(bvsumlist[obj.layer][i] == null)then bvsumlist[obj.layer][i] = {} end if(obj.frame == 0)then bvsumlist[obj.layer][i] = 0 end bvlog[obj.layer][fr][i] = buf[i] bvsumlist[obj.layer][i] = bvsumlist[obj.layer][i] + buf[i] * 0.0001 * t2 sum = 0 if(frCntList[obj.layer]+1 <= fnum)then fnum = frCntList[obj.layer]+1 end for j=1,fnum do sum = sum + bvlog[obj.layer][j][i] end ave = math.floor(sum / fnum * t1 * 0.01) fgs0 = t3 dstxc = fgs0 dstyc = fgs0 * dstc obj.load("figure",fig,col,fgs0,line) -- dx = (i - n * 0.5 - 0.5) * dst nn = math.floor(ave / fgs0) for j=0,nn do x0,y0,z0 = (i-1) * dstxc - n * dstxc * 0.5,-(j-dsty) * dstyc + sh * 0.5,0 x1,y1,z1 = (i-dstx) * dstxc - n * dstxc * 0.5,-(j-dsty) * dstyc + sh * 0.5,0 x2,y2,z2 = (i-dstx) * dstxc - n * dstxc * 0.5,-(j+1) * dstyc + sh * 0.5,0 x3,y3,z3 = (i-1) * dstxc - n * dstxc * 0.5,-(j+1) * dstyc + sh * 0.5,0 obj.drawpoly(x0,y0,z0,x1,y1,z1,x2,y2,z2,x3,y3,z3) end if(bvmax[obj.layer][i] < ave)then bvmax[obj.layer][i] = ave end m = math.floor(bvmax[obj.layer][i] / fgs0) + 1 if(m > 0)then obj.load("figure",fig,col2,fgs0,line) x0,y0,z0 = (i-1) * dstxc - n * dstxc * 0.5,-(m-dsty)*dstyc + sh * 0.5,0 x1,y1,z1 = (i-dstx) * dstxc - n * dstxc * 0.5,-(m-dsty)*dstyc + sh * 0.5,0 x2,y2,z2 = (i-dstx) * dstxc - n * dstxc * 0.5,-(m+1)*dstyc + sh * 0.5,0 x3,y3,z3 = (i-1) * dstxc - n * dstxc * 0.5,-(m+1)*dstyc + sh * 0.5,0 obj.drawpoly(x0,y0,z0,x1,y1,z1,x2,y2,z2,x3,y3,z3) end bvmax[obj.layer][i] = bvmax[obj.layer][i] - fgs0 * t2 if(bvmax[obj.layer][i] < 0)then bvmax[obj.layer][i] = 0 end end obj.load("tempbuffer") ------------------------------------ frCntList[obj.layer] = frCntList[obj.layer] + 1 --[[http://madeinpc.blog50.fc2.com/]]--