Passa al contenuto principale

Pickup Distortion

Pixilang code example

// Offline Magnetic Pickup Distortion
//
//
// input wav, 44.1 kHz MONO Float32 :
wavin = load("For pickup test 4.wav")

// relative minimum distance from pickup, must be > 0
dx = 0.06125  

//------------------------------------------------------------------------
covert_type( wavin, FLOAT32)
wavout = clone( wavin ) 
// frequency for integrating lowpass:
cff = 2*M_PI* 50 / 44100
gain = (pow((sqrt( dx*dx )),3))

for( i = 0; i< get_size( wavin ); i + 1 ){
    
    if( i > 0){ dz = wavin[ i ] - wavin[ i - 1 ] }else{ dz = wavin[ 0 ] }

    r = sqrt( dx*dx + dz*dz )
    
    b = dz / ( r * r * r )

    v =  b * ( gain ) 
    // optional lossy integrator, not used:
    lp = lp + cff * ( v - lp )

    wavout[ i ] = v
} 

save( wavout, "pickup_output.wav", FORMAT_WAVE)
Argomento Ressources

0 commenti

Vuoi essere la prima persona a commentare?
Abbonati a vox angelica e avvia una conversazione.
Sostieni