Date: 2011-12-31 10:15 pm (UTC)
From: [identity profile] bobehobi.livejournal.com
Круто, а я как раз пытаюсь сделать видео/аудио скратч с кинектом. Милкдроп? А посмотреть на этот патч можно?

Date: 2011-12-31 10:35 pm (UTC)
From: [identity profile] anhinga-anhinga.livejournal.com
Да, оригинал (preset "Martin - Disco Mix 1") живёт в стандартной инсталляции (скажите, если надо поделиться им, или прочим (небольшим) опытом общения с MilkDrop), а свою версию я сейчас попробую сюда вклеить (посмотрим, поместится ли она в один коммент).

Date: 2011-12-31 10:46 pm (UTC)
From: [identity profile] bobehobi.livejournal.com
>поделиться опытом общения с MilkDrop - было бы здорово.

Date: 2012-01-01 12:04 am (UTC)
From: [identity profile] anhinga-anhinga.livejournal.com
Первое впечатление было, что стандартная коллекция "MilkDrop presets" (которая приходит с инсталляцией Winamp) очень красивая, очень приятно просто дать Winamp гулять случайно по этой коллекции и смотреть, что получается, при этом каждый preset -- несколько десятков или сотен строк примерно такого кода, как я поместил, и можно выбрать наиболее интересные, разобраться, как они устроены, и их модифицировать (потом оказалось, что и без понимания того, как всё в точности работает, можно делать интересные модификации, хотя чем больше понимаешь, тем, конечно, лучше).

Сама тусовка вокруг Winamp и MilkDrop очень привлекательная (история Winamp вполне легендарна, и американский со-автор Winamp -- очень известный и смелый борец против copyright, который ухитрялся выпускать file sharing software, работая в AOL после того, как они купили Winamp, несмотря на крайнее неудовольствие AOL: http://en.wikipedia.org/wiki/Justin_Frankel )

Канонического определения языка пресетов, кажется, к сожалению, нет (по крайней мере, я не нашел). Но есть некоторое количество tutorials, которые, вместе с большим количеством доступных примеров разной степени сложности, помогают разобраться. (Система, вообще говоря open source, и это тот не вполне удобный случай, когда определением языка является имплентация.)

Я попробую в ближайшие дни написать более подробно про tutorials, которые я нашел, и, если получится, про что-то из того, чему я научился. Пример, который я здесь поместил, сделан без (и до) особого понимания (главное изменение по сравнению с оригиналом -- добавление большого warp, и, счастливым образом, в результате изменений, которые я сделал, он перестал зашкаливать иногда в слишком светлое на музыке этого типа, но я не знаю точно, почему). Менять можно как в меню (генерируя новый код для модифицированного пресета), так и просто в текстовом редакторе (более "программистский" стиль) -- я пробовал и то, и другое.

***

(copying from youtube description of this clip, so that it's all here):

music credits:

first 30 seconds: a fragment of Chopin: Mazurkas Op.7 #1 by Arthur Rubinstein (Rubinstein Collection, Vol.50)

last 90 seconds: 3 fragments (30 seconds each) of the track "Homogenous Lens" (the second track of the second disk of the 4-CD set named "Ambient Odyssey"), created by "Voyage Of The Future Race" (real name: Dave Hendry)

video credits:

first 30 seconds: Winamp MilkDrop2 plugin, preset: Martin - Disco Mix 1

last 90 seconds: my edits of the same preset (my main change was adding a lot of "warp" to it)

***

Date: 2011-12-31 10:40 pm (UTC)
From: [identity profile] anhinga-anhinga.livejournal.com
"Sorry, but your comment of 9452 characters exceeds the maximum character length of 4300. Please go back, shorten it, and try posting it again" -- придётся в три приёма...

Date: 2011-12-31 10:41 pm (UTC)
From: [identity profile] anhinga-anhinga.livejournal.com
MILKDROP_PRESET_VERSION=201
PSVERSION=2
PSVERSION_WARP=2
PSVERSION_COMP=2
[preset00]
fRating=4.000
fGammaAdj=1.980
fDecay=0.500
fVideoEchoZoom=1.000
fVideoEchoAlpha=0.500
nVideoEchoOrientation=3
nWaveMode=4
bAdditiveWaves=1
bWaveDots=0
bWaveThick=1
bModWaveAlphaByVolume=1
bMaximizeWaveColor=0
bTexWrap=1
bDarkenCenter=0
bRedBlueStereo=0
bBrighten=0
bDarken=1
bSolarize=0
bInvert=0
fWaveAlpha=0.001
fWaveScale=0.527
fWaveSmoothing=0.450
fWaveParam=0.000
fModWaveAlphaStart=0.000
fModWaveAlphaEnd=1.320
fWarpAnimSpeed=1.459
fWarpScale=2.007
fZoomExponent=1.00000
fShader=0.000
zoom=1.47182
rot=1.00000
cx=0.500
cy=0.500
dx=0.00000
dy=0.00000
warp=27.53023
sx=0.99990
sy=1.00000
wave_r=0.800
wave_g=0.490
wave_b=1.000
wave_x=0.500
wave_y=0.500
ob_size=0.015
ob_r=0.000
ob_g=0.000
ob_b=1.000
ob_a=0.000
ib_size=0.260
ib_r=0.250
ib_g=0.250
ib_b=0.250
ib_a=0.000
nMotionVectorsX=64.000
nMotionVectorsY=48.000
mv_dx=0.000
mv_dy=0.000
mv_l=1.850
mv_r=0.500
mv_g=0.500
mv_b=0.500
mv_a=0.000
b1n=0.000
b2n=0.000
b3n=0.000
b1x=1.000
b2x=1.000
b3x=1.000
b1ed=0.000
wavecode_0_enabled=1
wavecode_0_samples=282
wavecode_0_sep=20
wavecode_0_bSpectrum=0
wavecode_0_bUseDots=1
wavecode_0_bDrawThick=0
wavecode_0_bAdditive=1
wavecode_0_scaling=3.91581
wavecode_0_smoothing=0.10000
wavecode_0_r=0.200
wavecode_0_g=0.300
wavecode_0_b=1.000
wavecode_0_a=0.600
wave_0_per_point1=
wave_0_per_point2=x = sample;
wave_0_per_point3=y = value1 * rand(50)/100 * abs(sample-.5)+ .49;
wave_0_per_point4=
wave_0_per_point5=a = q26/4 * (.2 + abs(sample-.5));
wavecode_1_enabled=0
wavecode_1_samples=512
wavecode_1_sep=0
wavecode_1_bSpectrum=0
wavecode_1_bUseDots=1
wavecode_1_bDrawThick=1
wavecode_1_bAdditive=0
wavecode_1_scaling=0.89152
wavecode_1_smoothing=0.82000
wavecode_1_r=1.000
wavecode_1_g=1.000
wavecode_1_b=1.000
wavecode_1_a=0.100
wave_1_per_point1=xi = rand(100)/100;
wave_1_per_point2=yi = rand(100)/100;
wave_1_per_point3=
wave_1_per_point4=x = xi; y = yi;
wave_1_per_point5=
wave_1_per_point6=a = q21/15;
wavecode_2_enabled=0
wavecode_2_samples=512
wavecode_2_sep=0
wavecode_2_bSpectrum=0
wavecode_2_bUseDots=0
wavecode_2_bDrawThick=1
wavecode_2_bAdditive=0
wavecode_2_scaling=0.89152
wavecode_2_smoothing=0.82000
wavecode_2_r=0.000
wavecode_2_g=0.200
wavecode_2_b=0.000
wavecode_2_a=1.000
wavecode_3_enabled=0
wavecode_3_samples=512
wavecode_3_sep=0
wavecode_3_bSpectrum=1
wavecode_3_bUseDots=1
wavecode_3_bDrawThick=0
wavecode_3_bAdditive=0
wavecode_3_scaling=1.00000
wavecode_3_smoothing=0.50000
wavecode_3_r=1.000
wavecode_3_g=1.000
wavecode_3_b=1.000
wavecode_3_a=1.000

Date: 2011-12-31 10:42 pm (UTC)
From: [identity profile] anhinga-anhinga.livejournal.com
shapecode_0_enabled=0
shapecode_0_sides=4
shapecode_0_additive=0
shapecode_0_thickOutline=0
shapecode_0_textured=0
shapecode_0_num_inst=1
shapecode_0_x=0.500
shapecode_0_y=0.500
shapecode_0_rad=0.04896
shapecode_0_ang=0.00000
shapecode_0_tex_ang=1.00531
shapecode_0_tex_zoom=1.53117
shapecode_0_r=0.500
shapecode_0_g=1.000
shapecode_0_b=0.900
shapecode_0_a=1.000
shapecode_0_r2=0.830
shapecode_0_g2=0.930
shapecode_0_b2=0.800
shapecode_0_a2=1.000
shapecode_0_border_r=1.000
shapecode_0_border_g=1.000
shapecode_0_border_b=0.000
shapecode_0_border_a=0.000
shape_0_per_frame1=
shape_0_per_frame2=trel = time/3;
shape_0_per_frame3=
shape_0_per_frame4=x = .5+sin(trel*2);
shape_0_per_frame5=y = .5+cos(trel*1.3);
shape_0_per_frame6=
shape_0_per_frame7=
shape_0_per_frame8=
shape_0_per_frame9=cent = sqrt((x-.5)*(x-.5)+(y-.5)*(y-.5));
shape_0_per_frame10=
shape_0_per_frame11=rad = .1*cent;
shape_0_per_frame12=a = .8;
shapecode_1_enabled=1
shapecode_1_sides=4
shapecode_1_additive=0
shapecode_1_thickOutline=1
shapecode_1_textured=1
shapecode_1_num_inst=1
shapecode_1_x=0.260
shapecode_1_y=0.200
shapecode_1_rad=0.39317
shapecode_1_ang=0.00000
shapecode_1_tex_ang=0.00000
shapecode_1_tex_zoom=0.93550
shapecode_1_r=0.000
shapecode_1_g=0.550
shapecode_1_b=0.500
shapecode_1_a=1.000
shapecode_1_r2=0.000
shapecode_1_g2=0.400
shapecode_1_b2=0.400
shapecode_1_a2=0.070
shapecode_1_border_r=0.300
shapecode_1_border_g=0.700
shapecode_1_border_b=0.800
shapecode_1_border_a=0.200
shape_1_per_frame1=trig = q24;
shape_1_per_frame2=
shape_1_per_frame3=textured = 1;
shape_1_per_frame4=
shape_1_per_frame5=x0 = x0*bnot(trig) + trig*( rand(100)/100);
shape_1_per_frame6=y0 = y0*bnot(trig) + trig*( rand(100)/100);
shape_1_per_frame7=
shape_1_per_frame8=x0 = x0 + .5*q1/fps+q26/200;
shape_1_per_frame9=y0 = y0 + .5*q2/fps;
shape_1_per_frame10=
shape_1_per_frame11=tex_ang = time;
shape_1_per_frame12=tex_zoom = q1;
shape_1_per_frame13=ang = time/100*q2;
shape_1_per_frame14=x = x0; y = y0;
shape_1_per_frame15=rad0 = rad0*bnot(trig) + trig*rand(100)/200;
shape_1_per_frame16=rad = rad0;
shape_1_per_frame17=
shape_1_per_frame18=
shape_1_per_frame19=r0 = bnot(trig)*r0 + trig * rand(10)/10;
shape_1_per_frame20=b0 = bnot(trig)*b0 + trig * rand(10)/10;
shape_1_per_frame21=g0 = bnot(trig)*g0 + trig * rand(10)/10;
shape_1_per_frame22=
shape_1_per_frame23=r = r0; b = b0; g = g0;
shapecode_2_enabled=0
shapecode_2_sides=4
shapecode_2_additive=1
shapecode_2_thickOutline=0
shapecode_2_textured=0
shapecode_2_num_inst=1
shapecode_2_x=0.503
shapecode_2_y=0.500
shapecode_2_rad=0.03886
shapecode_2_ang=0.00000
shapecode_2_tex_ang=0.00000
shapecode_2_tex_zoom=0.60986
shapecode_2_r=1.000
shapecode_2_g=0.100
shapecode_2_b=0.000
shapecode_2_a=0.900
shapecode_2_r2=1.000
shapecode_2_g2=1.000
shapecode_2_b2=1.000
shapecode_2_a2=0.000
shapecode_2_border_r=0.500
shapecode_2_border_g=0.500
shapecode_2_border_b=0.500
shapecode_2_border_a=0.000
shape_2_per_frame1=x = rand(50)/50;
shape_2_per_frame2=y = .5 - 0*rand(15)/200;
shape_2_per_frame3=
shape_2_per_frame4=r = .4;
shape_2_per_frame5=g = .6;
shape_2_per_frame6=b = 1;
shape_2_per_frame7=r2 = r;
shape_2_per_frame8=g2 = g;
shape_2_per_frame9=b2 = b;
shape_2_per_frame10=
shape_2_per_frame11=a = min(q21/2 ,.9);
shape_2_per_frame12=rad = a * (.1+abs(x-.5))/2 ;
shapecode_3_enabled=0
shapecode_3_sides=4
shapecode_3_additive=0
shapecode_3_thickOutline=1
shapecode_3_textured=1
shapecode_3_num_inst=1
shapecode_3_x=0.260
shapecode_3_y=0.760
shapecode_3_rad=0.39478
shapecode_3_ang=0.00000
shapecode_3_tex_ang=0.00000
shapecode_3_tex_zoom=0.49981
shapecode_3_r=1.000
shapecode_3_g=1.000
shapecode_3_b=1.000
shapecode_3_a=1.000
shapecode_3_r2=1.000
shapecode_3_g2=1.000
shapecode_3_b2=1.000
shapecode_3_a2=0.800
shapecode_3_border_r=0.200
shapecode_3_border_g=0.700
shapecode_3_border_b=0.500
shapecode_3_border_a=1.000
shape_3_per_frame1=tex_zoom = q27/2;

Date: 2011-12-31 10:44 pm (UTC)
From: [identity profile] anhinga-anhinga.livejournal.com
per_frame_1=dec_med = pow (0.7, 30/fps);
per_frame_2=dec_slow = pow (0.99, 30/fps);
per_frame_3=beat = max (max (bass, mid), treb);
per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow);
per_frame_5=is_beat = above(beat, 0+avg+peak) * above (time, t0+.2);
per_frame_6=t0 = is_beat*time + (1-is_beat)*t0;
per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med;
per_frame_8=index = (index + is_beat) %16;
per_frame_9=index2 = (index2 + is_beat*bnot(index))%4;
per_frame_10=
per_frame_11=q20 = avg;
per_frame_12=q21 = beat;
per_frame_13=q22 = peak;
per_frame_14=q23 = index;
per_frame_15=q24 = is_beat;
per_frame_16=q26 = bass_att + mid_att + treb_att;
per_frame_17=q27 = index + 1;
per_frame_18=q28 = index2;
per_frame_19=
per_frame_20=
per_frame_21=
per_frame_22=k1 = is_
per_frame_23=beat*equal(index%2,0);
per_frame_24=p1 = k1*(p1+1) + (1-k1)*p1;
per_frame_25=p2 = dec_med * p2+ (1-dec_med)*p1;
per_frame_26=rott = p2 * 3.1416/4;
per_frame_27=
per_frame_28=q1 = cos(rott);
per_frame_29=q2 = sin(rott);
per_frame_30=q3 = -q2;
per_frame_31=q4 = q1;
per_frame_32=
per_frame_33=
per_frame_34=p3 = p3*dec_med + (1-dec_med) * (100*index + .0*q26);
per_frame_35=q30 = p3 ;
per_frame_36=
per_frame_37=p4 = dec_med*p4 + (1-dec_med)*q27;
per_frame_38=q31 = p4;
per_frame_39=
per_frame_40=//zoom = 1 + .05*q1;
per_frame_41=//rot = -0.01 * (index);
per_frame_42=
per_frame_43=zoom = 1+q28/4;
per_frame_44=warp = .0;
per_frame_45=dx = .2*q2;
warp_1=`sampler sampler_worms;
warp_2=`float3 color, mus;
warp_3=`float dx,dy;
warp_4=`shader_body {
warp_5=`float2 uv1 = (uv-.5) * aspect.xy;
warp_6=`
warp_7=`
warp_8=`float2 uv6 = uv1;
warp_9=`float z = q29*2*length(uv1)+rand_frame * 64;
warp_10=`float2 d = normalize(uv1);
warp_11=`float clp = .5+rand_preset*10;
warp_12=`float2 rs = clamp(tan(z)*d,-clp,clp);
warp_13=`uv += rs/20;
warp_14=`
warp_15=`
warp_16=`uv6 = .4*sin(uv1*22);
warp_17=`mus = .1/(length(uv6));
warp_18=`mus *= roam_cos;
warp_19=`
warp_20=`float3 blur = GetBlur1(frac(uv));
warp_21=`
warp_22=`float3 crisp= tex2D(sampler_main,uv);
warp_23=`
warp_24=`float3 ret1 = crisp - blur*.04 + .15*mus;
warp_25=`q25 = q24;
warp_26=`ret = q25*(ret1-.02)*.98 + (1-q25)* GetPixel(uv_orig);
warp_27=`}
comp_1=`sampler sampler_pw_noise_lq;
comp_2=`
comp_3=`float2 rs;
comp_4=`float3 noise, ret1;
comp_5=`
comp_6=`shader_body {
comp_7=`float corr = texsize.xy*texsize_noise_lq.zw;
comp_8=`float2 uv1 = (uv-.5-.0*float2(q1,q2) );//*aspect.xy;
comp_9=`//uv = mul(uv-.5,float2x2(_qa))+.5;
comp_10=`float h1 = .4;
comp_11=`
comp_12=`
comp_13=`float z = +h1/abs(uv1.y);
comp_14=`rs.x = uv1.x * z;
comp_15=`rs.y = z + time*4;
comp_16=`noise = tex2D(sampler_pw_noise_lq,rs/28);
comp_17=`noise *= (noise >= .84);
comp_18=`ret1 = noise;
comp_19=`
comp_20=`
comp_21=`z = h1/abs(uv1.x);
comp_22=`rs.y = uv1.y * z;
comp_23=`rs.x = z + time*4;
comp_24=`noise = tex2D(sampler_pw_noise_lq,rs/28);
comp_25=`noise *= (noise >= .84);
comp_26=`ret1 += noise;
comp_27=`
comp_28=`ret = GetPixel(uv+ret1*.1)*1.5 - .1*ret1;
comp_29=`}

Date: 2011-12-31 10:48 pm (UTC)
From: [identity profile] anhinga-anhinga.livejournal.com
вроде, получилось: строчки 1-137, 138-281, 282-382 (там немного изменений по сравнению с оригиналом, но diff показывает много изменённых строк, поскольку это делалось через меню, и в сгенерированном коде во многих местах другое количество значащих цифр).

Date: 2012-01-01 03:21 am (UTC)
From: [identity profile] tetushka.livejournal.com
Завораживает.

Date: 2012-02-08 10:34 am (UTC)
From: [identity profile] am.livejournal.com
Hi,
since you have Paid Account, may you try, please, to add syndication for the blog 'paperdecoder.blogspot.com'
It is like adding 'http://paperdecoder.blogspot.com/rss.xml' in the form at the end of this page: http://www.livejournal.com/syn/
I never did it by myself, I don't know how to do it *.blogspot.com blogs exactly. But I would greatly appreciate if you can help.

Date: 2012-02-08 04:39 pm (UTC)
From: [identity profile] am.livejournal.com
Thank you very much!!
I added both to see which would work best.

Date: 2012-02-08 04:44 pm (UTC)
From: [identity profile] anhinga-anhinga.livejournal.com
I've added them to my friends' page as well :-)

Date: 2012-02-18 12:21 am (UTC)
From: [identity profile] am.livejournal.com
Seems like both feeds are identical.
I will keep the one with shorter name.
Thanks again!

Date: 2012-02-21 06:42 am (UTC)
From: [identity profile] anhinga-anhinga.livejournal.com
Yes, they seem to be identical.

Thanks, I've missed a week worth of postings due to travel, have not noticed that (should catch up now, lest the unread friend's page goes beyond the 2-week barrier :-) ).

Profile

anhinga_anhinga: (Default)
anhinga_anhinga

July 2021

S M T W T F S
    123
45678910
11121314151617
18 192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 27th, 2026 10:28 pm
Powered by Dreamwidth Studios