суббота, 22 декабря 2012 г.

Здравствуйте, сегодня я хотел бы выложить некоторые безумные эксперименты вашего покорного слуги.

Сразу оговорюсь, что они созданы на Reaper JS, и для запуска требуют этот самый рипер.


Итак:

1. Treble booster!





desc:Treble Booster

//    Connect me:
//
//        e-mail: run.hanako@gmail.com
//        runhanako.blogspot.ru
//        vk.com/runhanako
//        vk.com/clubrunhanako


slider1:1<0,1.5,0.001>Preamp
slider2:600<600,8000,1>Frequency
slider3:1<1,21,0.01>Boost
slider4:1<0.01,1,0.001>Cut
slider5:0.1<0.001,1,0.0001>Cut hardness
slider6:0.5<0,2,0.001>Master

@init
(
    dec=0;
);

@sample
(   
    x1=sign(spl0);
    x2=abs(spl0);
    x3=abs(spl0);

    dampening=0.5*0.999 + 0.001;
    c = ( 1 / tan( $pi*slider2 / srate ) );
    a2 = 1 + c*(c+dampening);
    fa1 = 2 * (1 - c*c) / a2;
    fa0 = (1 + c*(c-dampening)) / a2;
    fk = c*dampening / a2;

    bp1= fk*x2 - (fa1*bp2 + fa0*bp3);
    bp3 = bp2;
    bp2 =bp1;
   
    x2 = slider3*(bp1 - bp3);

    x4=((x2+x3)/2)*slider1;

   
    (x4 >= slider4) ? (
        (dec<1) ? (dec=dec+slider5;);
        (dec>1) ? (dec=1;);
    );

    (x4 < slider4) ? (
        (dec>0) ? (dec=dec-slider5;);
        (dec<0) ? (dec=0;);       
    );

    x5 = ((slider4 * dec ) + (x4 * (1-dec)));

    x5=(x5*slider6)/slider1;
    spl0=x5;
    spl1=x5;
);










2. Little Repeater-chan!




desc:Repeater-chan, by Run Hanako @ 07 dec 2012
   
//    Some weird musical instrument.
//    It samples short block of samples when the midi note is on, and then repeat it with frequency of the last midi note.
//    Can play the original sound when all midi notes is off.
//
//    Connect me:
//
//        e-mail: run.hanako@gmail.com
//        runhanako.blogspot.ru
//        vk.com/runhanako
//        vk.com/clubrunhanako

slider1:440<1,880,0.1>Tune in Hz;
slider2:2<1,96000,0.1>Decay;
slider3:1<0,1,1>Play between notes;

@init
(
    nowloop = 0;
    nowrate = 0;
    nowspl=1;
    nowplay=0;
    dec=0;
    nownote=0;
    numofnotes=0;
    repcnt = 0;
    anote = 69;
    lbuf=srate;
    rbuf=srate;

    NOTE_OFF = 8;
    NOTE_ON = 9;
);

@sample
(


    input = midirecv(mpos, msg1, msg23);
              statusHi = (msg1 / 16) | 0;

        data2 = (msg23 / 256) | 0;
              data1 = (msg23-(data2*256))|0;

        (statusHi == NOTE_ON) ? (
            nowplay=1;
            nownote=data1;
            dec=0;

            numofnotes+=1;
   
        );

        (nowplay==1) ? (
            nowrate = pow(2, ((anote - nownote - 1.5) / 12))*(880-slider1);
            nowspl+=1;
            (nowspl>nowrate) ? (
                nowspl = 1;
                repcnt=1;
            );

            (repcnt == 0) ? (
                lbuf[nowspl] = spl0;
                rbuf[nowspl] = spl1;
            );

            (repcnt==1) ? (
                spl0=lbuf[nowspl];
                spl1=rbuf[nowspl];
            );
        );

        (nowplay==2) ? (
            nowrate = pow(2, ((anote - nownote - 1.5) / 12))*(880-slider1);
            nowspl+=1;
            (nowspl>nowrate) ? (
                nowspl = 1;
                repcnt=1;
            );

            (repcnt == 0) ? (
                lbuf[nowspl] = spl0;
                rbuf[nowspl] = spl1;
            );
            (slider3==0) ? (
                spl0=0;
                spl1=0;
            );

            (repcnt==1) ? (
                spl0=spl0 * ((slider2-dec)/slider2) + lbuf[nowspl] * ((slider2-(slider2-dec))/slider2);
                spl1=spl1 * ((slider2-dec)/slider2) + rbuf[nowspl] * ((slider2-(slider2-dec))/slider2);
            );
        );

        (nowplay<=0 && slider3==0) ? (
            spl0=0;
            spl1=0;
        );

        (statusHi==NOTE_OFF) ? (
            nowspl=0;

            numofnotes-=1;
            (numofnotes<=0) ? (

                nowplay=2;
                dec=slider2;
            );
        );

        (dec>0) ? (
            dec=dec-1;
            (dec<=0) ? (
                nowplay=0;
                repcnt=0;
            );
        );
);

четверг, 6 декабря 2012 г.

Как украсть миллион

    Сегодня я хотел бы обсудить такую тему, как воровство.
    Всем нам с детства твердили, что воровать нехорошо. Однако большинство из нас так или иначе делали это, и, возможно, даже с некоторой степенью наслаждения.
    Это заложено в самой природе человеческой, и воевать против этого бессмысленно. Однако, с другой стороны, страдают зависимые от украденного люди, и, соответственно, нужно что-то с этим делать.
    Выход я вижу в создании у людей определённого мировоззрения, благодаря которому они не будут воровать по собственной воле.
    Дело это малоприбыльное и времязатратное -- может пройти несколько сот лет, прежде, чем этот процесс начнёт приносить свои плоды. Но я уверен, что они окупятся сторицей.

    P.S.: Но, конечно-же, старого картавого калеку никто не послушает, и мой голос окажется воплем вопиющего в пустыне, изрядно поубавившей в весе и распиленной на мелкие части, с последующим их откатом.

        Как мило!