Sei sulla pagina 1di 8

Msica por computadora

Ernesto Romero y Hernani Villaseor


Centro Multimedia 2012
SESIN 15
Distorsin
La distorsin en la seal de audio se da cuando est sobrepasa la capacidad de un
componente para reproducir adecuadamente el proceso al que se est sometiendo La
distorsin ms com!n es la "enerada por el proceso de incrementar la amplitud Cuando la
seal su#re un recorte abrupto sobre la amplitud esta se cuadrati$a% #enmeno que es conocido
como clipping. Lo que sucede es que se la seal adquiere una #orma de onda cuadrada en los
picos lo que "enera un "ran contenido de armnicos y as& se produce el sonido que conocemos
como 'distorsionado( Este sonido entonces es una distorsin de la amplitud
1
En las "r#icas anteriores )emos en el primer caso un *in+*c con mul,1% en el se"undo caso
un *in+sc con mul,2% lo que sobrepasa su capacidad de ran"o dinmico y cuadrati$a la #orma
redonda de la onda sinoidal
En *C e-isten ob.etos y mensa.es que tienen como #inalidad "enerar distorsin de manera
deliberada% )eamos al"unos
Clip
Cuadrati$a la seal a partir de un umbral determinado
Clipar/0r1entrada% ba.o% alto2
entrada, seal de entrada
ba.o, umbral de cuadrati$acin ba.o
alto, umbral de cuadrati$acin alto
// cuadratizando la onda sinoidal, prueba otros UGens
{Clip.ar(SinOsc.ar(440,0,1), -0., 0.!.scope
3ota que ambos umbrales deben ser un )alor menor al del ar"umento de mul de la seal% de
otra manera no ocurrir la cuadrati$acin
.clip2
Este m4todo cuadrati$a de i"ual manera la seal% solo que a di#erencia del +b.eto Clip en este
m4todo no se de#inen los umbrales Es necesario que el ar"umento de este mensa.e sea
menor al )alor de ar"umento mul de la seal al que se esta aplicando
2
// para "erlo
{SinOsc.ar(440,0,1).clip#(0.1)!.plot
// para oirlo
{SinOsc.ar(440,0,1).clip#(0.1)!.scope
Wrap
Enrolla una seal a partir de umbrales de#inidos
5rapar/0r1entrada%ba.o%alto2
entrada, seal que ser enrollada
ba.o, umbral ba.o del enrrollado% debe ser menor que el alto
alto, umbral alto del enrollado% debe ser mayor que el ba.o
.wrap2
Este m4todo enrrolla la seal de manera bilateral% es un operador binario% que act!a sobre la
seal de tal manera que la dobla% a di#erencia del ob.eto 5rap% este m4todo no de#ine el umbral
alto y ba.o
El mensa.e 6rap2 recibe el ar"umento de la cantidad de doblado que 7aremos% este )alor
debe ser menor que el ar"umento ,mul de nuestra seal para que actue
// para "er co$o actua
{SinOsc.ar(#00,0,1).%rap#(0.#)!.plot
// para escuc&arlo
{SinOsc.ar(#00,0,1).%rap#(0.#)!.scope
.distort
Es un m4todo de distorsin no lineal perteneciente al "rupo de operadores unitarios
Manipulacin de muestras de audio
sboot8
b9:u##erread1s% ;/7ome/tito/s7are/*uperCollider/sounds/no<ontoLoop6a);2
bplay
bquery
=
Record:u#ar1input>rray% bu#num% o##set% recLe)el% preLe)el% run% loop%
tri""er% done>ction2
1
*ynt7?e#1@record% ABbu#90% dur9CC100B
)ar si"% en)8
si"9Record:u#ar1*oundDnar102%bu#%loop,028
en)9En)Een0r1En)1F0%1%1%0G%F001%dur H002%002G2%done>ction,228
I2send1s28
2
smeter
c9:u##eralloc1s%CC100JC%12
*ynt71@record% F@bu#% cbu#num% @dur% CC100JCG2
cplay
c6rite1;/7ome/tito/s7are/*uperCollider/sounds/)o$ai##;% ;>DKK;% ;int1L;2
6rite1pat7% 7eaderKormat% sampleKormat% numKrames% startKrame% lea)e+pen%
completionMessa"e2
pat7, strin"% entre comillas Dndica la ruta en donde se quiere escribir el arc7i)o
7eaderKormat, Kormato de audio con el que se quiere escribir el arc7i)o ?ebe ir entre comillas
i con mayusculas1e";>DKK;2
sampleKormat, Kormato de sampleo con el que se quiere escribir el arc7i)o 1e" ;int1L;2
d9:u##eralloc1s%CC100JC%12
*ynt71@record% F@bu#% dbu#num% @dur% CC100JCG2
dplay
d6rite1;/7ome/tito/s7are/*uperCollider/sounds/"ar"antaai##;% ;>DKK;% ;int1L;2
e9:u##eralloc1s%CC100JC%12
*ynt71@record% F@bu#% ebu#num% @dur% CC100JCG2
eplay
e6rite1;/7ome/tito/s7are/*uperCollider/sounds/mascaai##;% ;>DKK;% ;int1L;2
#9:u##eralloc1s%CC100J1%12
*ynt71@record% F@bu#% #bu#num% @dur% CC100JCG2
#play
#6rite1;/7ome/tito/s7are/*uperCollider/sounds/popai##;% ;>DKK;% ;int1L;2
<lay:u#ar1numC7annels% bu#num% rate% tri""er% start<os% loop% done>ction2
1
*ynt7?e#1@play% ABbu#num90% rate91% tri"Kreq9001% pos90% loop91% dur9CC100% amp91B
C
)ar tri""er%si"% en)8
tri""er9Dmpulse0r1tri"Kreq28
si"9<lay:u#ar11%bu#num%rate%tri""er%pos%loop2Jamp8
en)9En)Een0r1En)1F0%1%1%0G%F001%dur H002%002G2%done>ction,228
+utar10%si"Jen)28
I2send1s28
2
*ynt71@play% F@bu#num% cbu#num% @dur% 1cnumKrames/CC1002% @rate% 1% @tri"Kreq% 001% @pos% 0%
@loop% 0G2
*ynt71@play% F@bu#num% cbu#num% @dur% 1cnumKrames/CC1002% @rate% 2% @tri"Kreq% 001% @pos% 0%
@loop% 0G2
*ynt71@play% F@bu#num% cbu#num% @dur% 1cnumKrames/CC1002JC% @rate% 1% @tri"Kreq% 001% @pos%
0% @loop% 1G2
*ynt71@play% F@bu#num% cbu#num% @dur% 1cnumKrames/CC1002% @rate% 1% @tri"Kreq% 2% @pos% 0% @loop%
0G2
*ynt71@play% F@bu#num% cbu#num% @dur% 1cnumKrames/CC1002% @rate% H1% @tri"Kreq% 001% @pos%
1cnumKrames/CC1002/C% @loop% 1G2
1
Mde#1@bu#num% A)ar bu#8
in#doA
bu#9Fc%d%e%#Gc7oosepostln8
*ynt71@play% F@bu#num% bu#bu#num%
@dur% 1bu#numKrames/CC1002%
@rate% 1%
@tri"Kreq% 001%
@pos% 0%
@loop% 1G28
1bu#numKrames/CC10026ait8
I
I2quantN1028
2
Mde#1@bu#num2play
Mde#1@bu#num2stop
1
Mde#1@rate% A)ar rate8
O
in#doA
rate9rrand10O%22JF1% H1Gc7oose8
*ynt71@play% F@bu#num% cbu#num%
@dur% 1cnumKrames/CC1002%
@rate% rate%
@tri"Kreq% 001%
@pos% 1cnumKrames/CC1002%
@loop% 1G28
16ait8
I
I2quantN1028
2
Mde#1@rate2play
Mde#1@rate2stop
:u#?ur0r1bu#num2 // ?uracion del bu##er en se"undos
u9A<lay:u#ar11%ebu#num%1%Dmpulse0r1MouseP0r101%C022%MouseQ0r10%:u#?ur0r1ebu#num2JC
C1002poll2Iplay
u#ree
1
Mde#1@tri"<os% A)ar tri"Kreq% pos8
in#doA
tri"Kreq9FR%C%2Gc7oose8
pos9FS1R1O% TS2RS% 1C02C2Gc7oose8
*ynt71@play% F@bu#num% ebu#num%
@dur% 1/tri"Kreq%
@tri"Kreq% tri"Kreq%
@pos% pos%
@amp% 0O%G28
11/tri"Kreq26ait8
I
I2quantN1028
2
1
i9ARL<Kar1Dmpulsear12%F0%0OG2% F1000%2000G%012JRIplay8
Mde#1@tri"<os2play
2
1
i#ree8
Mde#1@tri"<os2stop
L
2
1
*ynt7?e#1@playMod% ABbu#num90%dur9CC100% amp91% rin"Kreq91000% rin">mp90% rin">dd91%
#mKreq90%d90%rate91% loop90B
)ar rateKM%si"% en)8
rateKM9*in+sc0r1#mKreq%0%d%rate28
si"9<lay:u#ar11%bu#num%rateKM%
loop,loop2J*in+sc0r1rin"Kreq%0%rin">mp%rin">dd28
en)9En)Een0r1En)1F0%1%1%0G%F001%dur H002%002G2%done>ction,228
+utar10%si"Jen)Jamp28
I2send1s28
2
// *in modulacin
*ynt71@playMod% F@bu#num% cbu#num% @dur% 1cnumKrames/CC1002G2
// Modulacin de >nillo
*ynt71@playMod% F@bu#num% cbu#num% @dur% 1cnumKrames/CC1002% @rin"Kreq% 1000% @rin">mp%
1% @rin">dd% 0G2
// Krecuencia modulada 1rate2
*ynt71@playMod% F@bu#num% cbu#num% @dur% 1cnumKrames/CC1002% @#mKreq% T% @d% 00O% @rate% 1G2
*ynt71@playMod% F@bu#num% cbu#num% @dur% 1cnumKrames/CC1002% @#mKreq% 100% @d% 10% @rate%
100% @loop% 1G2
// Control "rano
1
*ynt7?e#1@playErano% ABbu#num90% rate91% pos90% dur9CC100% amp91B
)ar si"% en)8
si"9<lay:u#ar11%bu#num%rate%1%pos2Jamp8
en)9En)Een0r1En)1F0%1%1%0G%F0001%dur H0002%0001G2%done>ction,228
+utar10%si"Jen)28
I2send1s28
2
*ynt71@playErano% F@bu#num% dbu#num% @dur% 001% @rate% 1%@pos% 0G2
Ubu#9dbu#num8
T
Urate9rrand10O%228
Udur90018
Upos9rrand10%dnumKrames28
1
Mde#1@"rano% A)ar rate% dur% pos8
in#doA
rate9rrand10O%228
dur9Udur8
pos9Upos8
*ynt71@playErano% F@bu#num% Ubu#%
@dur% dur%
@rate% rate%
@pos% Upos G28
Udur6ait8
I
I2quantN1028
2
Mde#1@"rano2play
Mde#1@"rano2stop
>udacity es un pro"rama de uso libre donde pueden editar sus sonidos antes de pasarlos a
*uperCollider
Esta obra est su.eta a la licencia >ttributionH3onCommercialH*7are>li0e =0 Vnported de
Creati)e Commons <ara )er una copia de esta licencia% )isite
7ttp,//creati)ecommonsor"/licenses/byHncHsa/=0/ o en)ie una carta a Creati)e Commons% CCC
Castro *treet% *uite S00% Mountain Vie6% Cali#ornia% SC0C1% V*>
R

Potrebbero piacerti anche