INTRO A LA MUSICA COMPUTACIONAL - Rodrigo Cádiz

March 27, 2018 | Author: Charlex Omar López | Category: Fourier Series, Fourier Transform, Waves, Complex Number, Sound


Comments



Description

´ RODRIGO F.CADIZ ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL 2 ´ CADIZ, R. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL Cap´ ıtulo 0 Pr´ ologo La era computacional y la m´ usica estuvieron por mucho tiempo distanciadas debido a la gran cantidad de espacio de memoria que la m´ usica requiere para ser almacenada y procesada. Con el aumento de las capacidades de memoria de los computadores, la m´ usica comenz´ o r´ apidamente un desarrollo vertiginoso transform´ andose, hoy en d´ ıa, junto al mundo audiovisual en las actividades predilectas en el uso del computador. En efecto, en las u ´ltimas d´ ecadas son m´ ultiples los softwares, las herramientas y las investigaciones que giran en torno a la actividad musical tanto en los terrenos del registro sonoro, como en el ´ ambito creativo y en el ´ area de la reproducci´ on. Tanto profesionales como aficionados recurren al computador para manipular informaci´ on musical pero siempre con la sensaci´ on de que aprovechan s´ olo un m´ ınimo porcentaje de las capacidades de los softwares o herramientas disponibles. El libro que tiene en sus manos constituye el m´ as importante aporte en lengua espa˜ nola para acercar a los interesados a la tecnolog´ ıa digital disponible. Desde la terminolog´ ıa b´ asica, pasando por los principios ac´ usticos del sonido hasta la psicoac´ ustica, desde la noci´ on de audio digital, su procesamiento hasta su aplicaci´ on en la m´ usica electroac´ ustica constituyen el contenido de esta publicaci´ on dirigida a m´ usicos, ingenieros, f´ ısicos y amantes de la tecnolog´ ıa aplicada a la m´ usica. El sonido es la materia prima, dispuesta en el tiempo, de la m´ usica. Por lo tanto, su estudio y conocimiento por parte todo aquel que se interesa en ella, es fundamental. La dificultad de conseguir literatura en torno al sonido y sobre todo en el ´ ambito digital hac´ ıa dif´ ıcil el acceso a la informaci´ on necesaria, general y preferentemente en ingl´ es, para todos los usuarios de tecnolog´ ıa aplicada al mundo musical. i ii ´ CAP´ ITULO 0. PROLOGO Con este libro, el mundo t´ ecnico y conceptual del sonido digital queda al alcance de todos de una manera ordenada y sistem´ atica cubriendo en detalle cada uno de los diversos aspectos tratados sin perder de vista, en ning´ un momento, las nociones b´ asicas que permiten la comprensi´ on profunda de los fen´ omenos y posibilidades de la era digital. Su autor, Rodrigo C´ adiz, en su doble condici´ on de ingeniero y compositor ha puesto a nuestra disposici´ on una informaci´ on amplia, de enfoques m´ ultiples que recorren lo t´ ecnico esencial hasta lo art´ ıstico creativo. De este modo, esta publicaci´ on se transforma en lectura obligada para m´ usicos profesionales o no, interesados en la vinculaci´ on de la tecnolog´ ıa actual y la m´ as antigua y misteriosa de las artes: la m´ usica. Inefable, inescrutable, inenarrable, m´ agica y misteriosa arte que, finalmente ha sido “atrapada”, registrada y reproducida con la mayor de las fidelidades por las ciencias y tecnolog´ ıas del sonido digital. Aceptemos esta invitaci´ on a conocer este nuevo mundo de la mano de un autor atento y multidisciplinario que nos permite, en nuestra propia lengua, acercarnos y resolver nuestras inquietudes en torno a la m´ usica y la computaci´ on. Alejandro Guarello Santiago de Chile, Junio de 2008 ´ CADIZ, R. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL Cap´ ıtulo 0 Prefacio Los computadores sin duda han cambiado nuestra forma de relacionarnos con el mundo externo. Espec´ ıficamente en el ´ ambito de la m´ usica, los computadores permiten explorar nuevas posibilidades sonoras, crear nuevas formas de composici´ on y nuevas aproximaciones a la interpretaci´ on musical. Las posibilidades musicales que nos ofrece la tecnolog´ ıa computacional son pr´ acticamente infinitas. El prop´ osito de este libro es introducir a estudiantes de m´ usica, f´ ısica o ingenier´ ıa, artistas, int´ erpretes y compositores al extenso mundo de la m´ usica computacional y electroac´ ustica. Originalmente, este libro est´ a pensado como un texto de apoyo para un curso b´ asico de m´ usica computacional de uno o dos semestres de duraci´ on, pero perfectamente puede utilizarse fuera de un curso formal. El libro est´ a divido en siete cap´ ıtulos, cada uno de los cuales se enfoca a un tema espec´ ıfico. El primer cap´ ıtulo expone los conceptos b´ asicos de la teor´ ıa de se˜ nales y sistemas, incluyendo conceptos claves como la representaci´ on en frecuencia y la transformada de Fourier, adem´ as de introducir algunos conceptos matem´ aticos imposibles de evitar al adentrarse en este intenso mundo. Dado que un computador permite dise˜ nar sonidos con un m´ aximo nivel de detalle y precisi´ on, es muy relevante para esta disciplina el conocer en profundidad el fen´ omeno sonoro. No s´ olo es importante estudiar como se comporta el sonido en el mundo f´ ısico, sino tambi´ en como es percibido en la cabeza de cada auditor. Esto se divide en dos cap´ ıtulos: el segundo cap´ ıtulo estudia el fen´ omeno del sonido en su aspecto f´ ısico y el tercero desde el punto de vista perceptual. El computador es por naturaleza digital, lo que hace necesario conocer las propiedades de las se˜ nales de audio digitales que el computador es capaz de iii Rodrigo F. Estos ejemplos complementan las materias presentadas en los distintos cap´ ıtulos y permiten llevar a la pr´ actica de forma inmediata mucho de los conceptos presentados en el libro. se incluye un cap´ ıtulo. Santiago de Chile.iv CAP´ ITULO 0. Esto se aborda en el cap´ ıtulo cuarto. Para finalizar. el s´ eptimo y u ´ltimo. R. formas de clasificaci´ on y los principales m´ etodos de s´ ıntesis utilizados. C´ adiz. PREFACIO generar y manipular. Gary Kendall. Quisiera agraceder el aporte de mi ayudante Jorge Forero. Este libro tuvo sus or´ ıgenes en una serie de apuntes parcialmente financiados por la Fundaci´ on Andes. La actual versi´ on ha sido posible gracias al apoyo del Fondo de Desarrollo de la Docencia (FONDEDOC).D. composicionales y anal´ ıticas de la llamada m´ usica electroac´ ustica. por su apoyo constante en este proyecto. exponiendo sus fundamentos. y en cuyos apuntes se basan muchos de las figuras y ejemplos de c´ odigo SuperCollider que se pueden encontrar en el libro. la cual en la actualidad se realiza en su gran mayor´ ıa gracias a la tecnolog´ ıa computacional. poderosas y vers´ atiles disponibles en la actualidad. Ph. en el a˜ no 2000. Abril de 2008 ´ CADIZ. En el sexto cap´ ıtulo se estudia el procesamiento digital de audio. quien fuera mi profesor gu´ ıa y mentor en muchas de las materias tratadas en este libro. El quinto cap´ ıtulo se enfoca en la s´ ıntesis digital de sonidos. a trav´ es de su Beca de Creaci´ on e Investigaci´ on Art´ ıstica. en conjunto con el estudio del computador y su uso en sistemas de audio. Se incluyen tambi´ en varios anexos con ejemplos de c´ odigo realizados en SuperCollider. Tambi´ en quisiera agradecer a Alejandro Guarello. de la Vicerrector´ ıa Acad´ emica de la Pontificia Universidad Cat´ olica de Chile. qui´ en realiz´ o muchas de las tablas y figuras presentes en el libro y del Dr. en el cual se presentan las principales bases perceptuales. con un especial ´ enfasis en la teor´ ıa e implementaci´ on de los filtros digitales. una de las aplicaciones para s´ ıntesis y procesamiento digital de sonidos m´ as utilizadas. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . . . . .2. . . . . . .2. . . . . . . . . .2. .1.4. 1. . Naturaleza de las se˜ nales . . . . . . . . . . . . . . . . . . . Otras se˜ nales importantes . . . . . . . . 1. . . . . . . . . . . . . 1 1 2 5 7 9 11 11 13 14 14 15 17 18 19 21 21 23 23 24 . . . . . . . . . . . . .1. . . . . . . . . . . . . . . . 1. . . . . . . . . . . .3. .1. .2.4. Amplitud e intensidad I III . . . Diagramas en la frecuencia . .4. . Se˜ nales y sistemas 1. .4. . . 2. . . . .1. . . . . .´ Indice general Pr´ ologo Prefacio 1. . . . . . . . . . . . . 2. . . . . . . . . . Medici´ on del sonido . . . .1. Exponenciales . . . . . . . .1. . . Sistemas . . . . . . . Ondas de sonido . . . . . . . . . . . . . . . . . . Series y transformada de Fourier . 1. . . . . . 1. . 1. . . . . . . .4. . . . 2. . . . v . . 1. . . . . . . . . . .1. . . . . . .3. .2. . . . 1. .2. . . .2. .1. .2. . . . . . . . . . Clasificaci´ on . . . . . . . .3. . . . . El sonido 2. . . . . . . . . Fuentes sonoras . .4. . . . . . Series de Fourier . . . . 1. .2. . .1. . . . . Respuesta al impulso y respuesta de frecuencia 2. . . 1. . . . . . . . . 1. . . . Sinusoides . . . . . . . . . . . . . .3. Se˜ nales . . . . . . . . . . . 1. . . Transformada de Fourier . . . . . Relaci´ on entre sinusoides y exponenciales . . . . . . . . . . . . . . . . . . . . DFT y FFT . . . . . . . . . . . . . . . . . . . . . . 1. . . . . . . . . . . . . . . .7. . . . . . . . . . . . . . . . . . . . . . Sistema operativo y sistema de archivos . . . 4. . . . .1. . . . . . . Bandas cr´ ıticas y enmascaramiento . . . . . . . . . . . 3. ´ CADIZ. Membrana basilar .1. . .1. . . . .8. . . .3. Audio digital 4. . . . . . . . . . . .5. . . . . . . . . . . . . . . Enmascaramiento . . . . . . . . . . . Software para m´ usica computacional . .2. . . . . 4. . . . . . . 3. . . . . . . . . . . . . . . M´ ınima diferencia notoria . . . . . .8.1. .4. . . . . . . . . . 4. . . . . . . . . . . 3. . . . . . . . .1. .5. . . . . . . . Conceptos b´ asicos . .1.6. . . 3.3. . . . . . . . Midiendo la banda cr´ ıtica . . . . . . . . 3. .7. . . . . . . . 3. . .6. . . . . 3. . . . . . . . . . . . . . . . . An´ alogo versus digital . . . . . . . .4. . . . . . . . Frecuencia . . . . . . . . . .3. . . . . . . . .4. . . . . . . . . . . . . . 26 27 27 28 31 31 31 32 32 32 33 36 39 39 40 41 41 43 45 46 48 53 54 57 59 63 63 66 68 72 73 75 76 78 81 82 3. Muestreo . . . . . . . . . .2. . . . . . . . . . . . . . . . .5. . . . Escala de fonos y escala de sonos 3. . . . . . 4. . . . . . . El o´ ıdo .2. . . . . 2. . 3. 3. . Uso del computador en sistemas de audio 4. . . . . . . . ´ INDICE GENERAL . . 3. . . . . 2. . . . . . . . . . . . . El computador . . . Sistema binario . . . . . . . 4. .6. . . . . . . . . .1.2. El sistema auditivo humano . . . . . . 3. . R. . . . . . . . . . . . .2. .1. . . . Consonancia y disonancia . . . . . . .1. . . . 4. . . .1. . . . . . . . . . . . . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . .vi 2. . Programaci´ on de computadores . . . . . . . . .4. . .7. . . Forma de onda . . . . . . . . . Escala de Barks y ERB . . . . . . . .2. . . .3. . El cerebro auditivo . . . . . . . . . 3. . . . . Representaci´ on gr´ afica . . . . 3. . . . . . .2. . . . . Intensidad perceptual (loudness) .3. . . . .8. 3. .3. . . . . . . . . . . . . . . . . . . . . . . . . Psicoac´ ustica 3. . . . . .2. . . . . . . 2. . . . . MIDI . . . . Modos de percepci´ on . . 3. Altura (pitch) . . . . . . . . . . . .1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3. . 4. . . .2. . . . . . . . . . . . . . . . . . . . . . .2. . . . . . . . . . . . . . . . . . . . Fase . . . . . . .1.5. . . . . Codificaci´ on perceptual de audio . . . 4. . . . Timbre . 4. . . . . . . . . . . 3. . . . . . . . . . . . .3. . . . . . . . . . . . . Cuantizaci´ on . . . . .1. . . . . . . . . . . . . . . . 3. . . 3. . . Escala de mels . . . . . . . . Ley de Weber . . . . . . . . . . . . . . . . . . . . . C´ elulas auditivas . . . . . . . . . . . . . . . . . . . . . . . 6. Envolventes . . . . . . . . . Filtros comb . . . . . . . . . . . . R. . . . . . . . . . . . . 5. . . . . . .12. . . . . . . . . . . . . . . . . Ecuaci´ on de diferencias . . . .3. .11. . . .1. . .5. . .2. . . 5. . . 6. . . .3. . . . . . .2. . Clasificaci´ on . . . . . 6. . . .4. . . . . . . 5. . . . . . . . . Osciladores . Filtros IIR . . . . . . . . . 5. .2. . . . . . . . . . . . 5. . . . . Dise˜ no de filtros FIR . . . . . . . . . . .3. Phase vocoder . . . . . . . . . . .1. Filtros digitales . . 6. Respuesta de frecuencia . . S´ ıntesis digital de sonidos 5. . . . . . . . . . 5. . . . . . . . . . . . . .6.1. . 6. . .1. . . 6. . . . . 5. . . . . . . . . . . . . . Filtros FIR . . . . . . . . . . . . . . . . .3. .2. . . . . . .2. . . . . . . . . . . . .6. . 5. .10. . . . . . . . . . . . . . . . . . . Filtros de primer orden . 5. . 5. . . . . . caos . . . . . . . . . . . .3. . . . . . . . . . . . . . . . 6. . . . . . 6. . . . . . . . . . . . . . . . .9. . Fundamentos . . . . . . . . . . . . . . . . . . . . ´ CADIZ. . .9. .1. . . . . . . . . . . . . . . . . . .1. . Procesamiento digital de audio 6. . . . Funci´ on de transferencia . . . . . . S´ ıntesis aditiva . 6. . . . . . . . . . . 6. . . . . . . .5. . . . . 5. .3. . . Respuesta de fase . .1.4. . .6. . . . . . . . . . .6. . . . 6. . . . . . . . . . .2. . . 6. . . . . . . . . . . . .2. y . . . . . . . . . . . . . . . . . . . . . . Modelos basados en part´ ıculas . . 6. . . . . Filtros bi-cuadr´ aticos . . . .2. . . . . . . . . .4. . .3.3. . . . . . . . . . . . . . . . . . . . S´ ıntesis granular . . . . .3.´ INDICE GENERAL 5. . . .1. . . . . . . . . . . 5. . . . . . . . . . 5. . . . . . . .9. . . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6. . . . . . . . . S´ ıntesis substractiva . Modelos f´ ısicos . . . . .1. . . . . . . . . . . . . . . . . . . . . . . . . . . Modelos espectrales . . . . . . . . 6. . . . . . . . . . . . . . . . . . . S´ ıntesis basada en complejidad . . . . . Filtros de segundo orden . . . . .6. . . . . . . 5. . . . . . . . . . Evaluaci´ on . . . . . . . . .8. Modulaci´ on Ring . . Ecualizador . . .5. . . vii 85 85 89 91 91 92 93 95 96 98 99 99 101 102 103 104 104 105 106 106 107 109 109 110 111 112 113 116 118 118 120 121 121 122 123 124 124 126 126 . . . . . . . . . . Phasing y flanging . . . .3. . . . . . . 5.1.5.1. . . Modulaci´ on . S´ ıntesis AM . . . . . . 6. . . . . . . . . . . . Transformada Z bilinear .7. . . . . . . . . .1. 5. . . . . . . . . . Diagramas de polos y ceros 6. . . .1. . . . . . . . . . . 5. . . Tabla de ondas .7. . 5. . . . S´ ıntesis FM . . . . .1. . . . . Dise˜ no de filtros IIR . . . . . . . . . . . . . . . . . . . Modelos basados en din´ amica no lineal 5. .1. . . . . . . . . . . . . . 6. S´ ıntesis de formantes .1. . . . . Espectromorfolog´ ıa . . . . . Estrategias auditivas . 147 . . . . . . . 139 . . . . . 7. . 7. . .9.1. . . . . . . . . . .1. . . . . . . . . . . . . .2. . Wah wah . . . . . . . . .3. . . ´ INDICE GENERAL . . . . . 152 . . . . . . . . . . . .4. . . . . . 7. . . . . . . . . . . . . . . . . 6. . . . 7. . . . . . .3. . El sonograma . . . . . . . . . . . .8. . . Sustituci´ on . . . 136 . . . 7. . . . . . . .2. . . . . . . . 7. . . . 140 .9. . .1. . . . . . 127 129 131 132 132 132 132 132 7. Paisajes sonoros . 141 .viii 6. . . .1. .4. . . . . . . . . La m´ usica electroac´ ustica 7. . . . . . . .1. .2. . . . . . . . Caracter´ ısticas de la m´ usica electroac´ ustica . . . . . . Ausencia de notaci´ on y representaci´ on abstracta 7. .5. . . . . . . .3. .3.1. . . . .2. . . . .10. . . . . . . . . . . . . . . . . . . . . . . . . . .1. . . .4. . . . Modos auditivos de Smalley . Chorus . . . . 7. . . . . . . Reverberaci´ on . . . . . . . .4. . . . . . .6. . Compresi´ on .3. . . . . 154 ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . . . Audici´ on musical . . . . 7. . . .4. . . . . . . .1. . .3. . .2. . . . 148 . 148 . . . . . . . . . 6. . .1. . . 7. .4. . 150 . . . . . 7.2. . . Composici´ on y an´ alisis .4. 6. . . 6. . Material sonoro . . . . . Arquetipos morfol´ ogicos. . . 7. . 151 . 7. . 7. . . . . 142 . Reverberaci´ on artificial 6. . . . . .8. . . . . . . 7. . .2. .9. . 7. . . . . . 146 . . 135 . .9. . . . . . . . . 7. . . . . . . . . . . . . . . . . An´ alisis basado en conductas auditivas . 7. . . . R. . .5. .3. . . . . 6. . . . ´ CADIZ. . . . . . . . . . . 144 . . . . . . . . 140 . . . . 150 . . . . . . . 143 . 138 . . . . . . . .5. . . Objetos sonoros . . 153 . An´ alisis narrativo . . . . . . . . . . . . . . . . . .1. .2. . . . . . . modelos y cadenas . . . . . . . 7. Procesador de efectos gen´ erico . . . . . . . . 7. . . . . . . . . . . . . . .4. . . . . . . 145 . . . . . . Autocentricidad y alocentricidad . 153 .2. Composici´ on e improvisaci´ on . . Conductas auditivas de Delalande . . . . Delay .6.7. 7. . . . . . . . . . . 142 . . . . .4. . . . . Percepci´ on de la m´ usica electroac´ ustica . .3. . . . .2. . Otros efectos . 7.5. . . . . . . M´ usica electroac´ ustica y su significado . . . 6. . .3. . . Modos Schaefferianos de audici´ on . . 7.1. . . Audici´ on reducida . Estrategias anal´ ıticas . . . . . . . . . . . .3. 143 . . .2.2. . . . Audici´ on de fondo . . . . . . . . . . . . . . . . . . 145 . . Enfoque ecol´ ogico .4. Conclusiones . . . . . . . . . . . . .4. . . . . . 143 . 7. . . 136 . . . . . . . .1. . . . . . . . 7. . . . . A. . . . . . . .8. . . . . . . . . A. . . . . . . . . . . . . . . . . . . .7. . . . . . . . . . . . . . . . .´ INDICE GENERAL A. . A. . . . . . . . . . . . . .6. A. . . . SuperCollider: Patrones .1. . . SuperCollider: introducci´ on . . . . . . . . . SuperCollider: Filtros bi-cuadr´ aticos . . . . . . SuperCollider: Envolventes .5. . . . .11. . . . . . . . . A. . . . . . . .3. . . SuperCollider: S´ ıntesis granular . A. . .2. . . . . . . . . . . . . . . . . SuperCollider: Unidades generadoras . . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . .SuperCollider: Procesador de efectos gen´ erico ix 157 157 160 167 175 180 185 200 201 207 216 225 238 . . . . . . . . A. . .SuperCollider: Compresi´ on . . . . . . . . . A. . SuperCollider: SynthDefs . . . . . . A. . .12. . . . . . SuperCollider: el lenguaje . Ejemplos en SuperCollider A. . . . . . . A. . . . . . SuperCollider: Modulaci´ on . . . . . . . ´ CADIZ. . . . . . . . . . . . . . A. . . . .10. . R. . . .4. . . .9.SuperCollider: Reverberaci´ on . R.x ´ INDICE GENERAL ´ CADIZ. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . . . . . . . . . 3. . . . . . .3. . . . . . Respuesta al impulso . . . . .2. . . . . . . . . . . . . . . . . . 1. . 1. . . . . . 2 3 5 6 8 10 12 13 16 17 18 19 22 25 34 35 36 37 37 38 39 2. . . . Otras se˜ nales importantes . . . . . . . . . 3. . Esquema del ´ organo de corti. . . . . . . . . . . . . . Funciones seno y coseno . . . . . 1. La membrana basilar desenrrollada . 1. . . . . .4. . . . . . . . . . .12. . . . . . auditi. . . . . . . . . 3. La serie arm´ onica . . . . 1. . .6. . . . . . . . . . . . . . Intensidad vs distancia . . . . . . . .9. . . . . . . . . . . 1. . Secci´ on perpendicular de la c´ oclea . . . . . . . . . . . . .7. .1.10. . . . . . . . . . . . . Ejemplo gr´ afico de una se˜ nal . Suma de se˜ nales arm´ onicas . que contiene las c´ elulas vas o ciliares . . . . . . . . . Secci´ on del o´ ıdo interno . . 1. . distintas . . . 3. . . . . . . . . . . .2. . . . . . . . .2. . Diagrama de un sistema .3. . . . . . . . . 1. . . . . . . 3. Representaci´ on en el tiempo y en la frecuencia se˜ nales . . . . . Rarefacci´ on y compresi´ on en una onda sonora . Patrones de vibraci´ on en la membrana basilar . . . . . . . . . . . Respuesta de frecuencia del canal auditivo . . . .11. 1. . . Ejemplos de ondas peri´ odica y aperi´ odica . . . . . .8. . . . Ejemplos de se˜ nales continuas y discretas . . . . . . . . . . .5. . . . . . . . . . . . . . . . 1. . . . . . . . . . . . .4. 3. . . . . . . . . . . . . . . Funci´ on exponencial .7. . .5. . . . 3. . . . . . 1. . El o´ ıdo humano . . . . . . . .1. . . . . .6. . . . de . . . . . . . . . . . . . . . . 2. . . .´ Indice de figuras 1. . . . . . . . . . . . . . . . . . . . . . . El plano complejo . . . . . . . . . . . . . xi . . . . . . . . .1. . . . . . Demostraci´ on de la existencia del tono virtual . . . 3. . . . . . . . . . . . . . . .4. . . . . . . . . . . . 3. . Se˜ nales b´ asicas com´ unmente utilizadas en osciladores Tabla de ondas . 4. . .9. . . 4. .2. . . . . . . . . . . 3. . 40 43 43 44 44 45 45 46 47 50 51 52 53 53 54 57 60 64 65 66 67 69 69 70 70 71 71 73 77 79 80 81 82 91 92 92 93 94 ´ CADIZ. . . . .8. . .16. 3. . . 4. . . . . . . . . . . Softwares de m´ usica m´ as utilizados en los a˜ nos noventa 5. . . . . . . . . . 4. . . . Dithering . . . 4. . Altura e intensidad . 4. . . . . .5. . . . 4. . Trayectoria de arm´ onicos en la trompeta . . .11. . .2. . . . . . . . .14. . . . Umbrales de audibilidad . Estructura b´ asica de un computador . . . . . .10. 4. . . . . . . . . 3. . . . . . . . . . norma ISO 226 . . . . . . . 3. . . . . . .4. . . . Proceso de cuantizaci´ on . .1. . . . . .9. Esquema de un codificador perceptual de audio . . . . 4. . . . . . . . . . . . . .22. . . . . . . . . . . . . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . . . . . . . .5. . 3. . . .7. . . . . . . . . . . .1. . . . . . . . . . Algunas funciones de ventanas . . . . . . . . . .3. . 5. . . . . . Error de cuantizaci´ on . . . . . . . . . . . . . . . . . . .6. . . Pitch . . . . . . . . 4. . .12. . 4. . . . . . . . . . .24.12. Enmascaramiento hacia adelante . . Medici´ on de la banda cr´ ıtica . . .21. . Digitalizaci´ on de una se˜ nal an´ aloga . . . . . . Envolvente de amplitud . . .15. . .13. . . . . Familia de los programas de s´ ıntesis de sonidos . . . . . 3. . . . .10. . . . . . . . . . . .19. 3. 5. . . . Algoritmo de un oscilador digital de sonidos . . . . . . . . . . . . . . . 3. . . . . Banco de filtros auditivos . . . . . . . . . . . . . . . . . . . .8. . 5. . . . . . . . . . . . . . . . . . . . . . . . .15. . .17. . . . . . . . . Sistemas computacionales de audio . . . . . . . . . . . . . . . . . . . . . . . Aliasi´ on en el dominio de la frecuencia . . . . . . . .18. . . . . . . . . . 3. . .23. Enmascaramiento simult´ aneo . . . . . 4. . . 5. . . . . . . . Aliasi´ on en el dominio del tiempo . . . . . . .xii ´ INDICE DE FIGURAS 3. . . . . . .16. . . . . . . . . . . . . . . . . . . . . . . . Enmascaramiento . . .13. . . . . . . Se˜ nal an´ aloga versus digital . . . . . . . Enmascaramiento hacia atr´ as . . . Uso del computador por parte de los compositores . . . . . . . 4. . . . . . .11. . . . 3. . R. . . . . . Esquema de las bandas cr´ ıticas del sistema auditivo humano . . . . . . . . . . Cuantizaci´ on de una se˜ nal anal´ ogica . . . . . . . Espectro de un tono de Shepard .3. . . . . . . . . Altura y duraci´ on . . . .14. . . . . . . . . . . 4. 3. . . . . . . . . . . . . . . . 3. . . . . . . Altura y duraci´ on . Oscilador . . . . . . . . . . . .20. . Muestreo de una se˜ nal digital . . . . . . . . . . 4. . Sistemas Operativos m´ as utilizados . . . . . . 3. . . Contornos de intensidad perceptual. . . . . . 3. . . . . . 4. . . . . . . . . . . . . . . . . . . . . . .13. . .14. . 6. . . . . . . . . . . .14. . 5. . . 6. . . . . . . . . . . . . . . Estimaci´ on de la respuesta de fase mediante un diagrama de polo y ceros . . . . Estimaci´ on de la respuesta de amplitud mediante un diagrama de polo y ceros . . . . . . . . Espectro de la modulaci´ on ring . . . . 6. 5.13.7. . .20. . . Grano sonoro de ruido blanco . . Respuesta de fase . . . . . . 5. . Envolvente ADSR . . . . . . . .20. . 6. . . . . . . . . . 5. . . 6. . . . . . . . . . . . . . . Esquema de implementaci´ on de un filtro FIR . . . . . . .12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11. . . Esquema de implementaci´ on de un filtro IIR . . . . . . . . . . . . . . . . . . . . Modulaci´ on ring o anillo . Filtro comb recursivo . . . . . . . . Grano sonoro sinusoidal . Retraso de fase . . . . . Filtro de segundo orden de dos polos y dos ceros . . . . . . . 6. . . 5. . . . . . . . . . . . . . R. . . . . . . . . .19. . .3. . . . . . . . . . . . . . 6. . . . . . . 6. Respuestas de frecuencia t´ ıpicas . 6. .5. . .19. . . . . . . .18. . . . . . . . .4. . 5. . . . . . . . . . . . 5. . . . . . . . . . . . . . . . . . . . . . . . . . . 6. . . . . 5. . . . . . . . . . . . . . . . . 5. . . . .10. . . . 6. . . . . . 5. . . . . . . . . . . . . . . . .12. . .9. . . . . . . . . . . .´ INDICE DE FIGURAS 5. . . . . .11. . . . .6. . . . 6. . . . . .8. . . . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . . . S´ ıntesis AM .8. . . Espectro de la modulaci´ on FM . . . . . . . . . . . . . . . . . . . Funciones de compresi´ on a distintas tasas . . . . . . .6. . . . . . . . . . . . . . . . . . . .21. . . . . . . . . . . . 6. . . . . . . Proceso de generaci´ on de envolventes .15. . . . . . . . . . . . . . . . . . . . . .9.16. Filtro de primer orden de un polo . . . . 5. . .18. . Envolventes para distintas din´ amicas . . . . . 6. . . . . . . . . . 5. . . . 6. . . . . . . . . . . . .16. . . . . . . . . . . . . . . . . . . . . . . . ´ CADIZ. . . . . . . . . . . . . .15.10. . . . . . . . Espectro de la modulaci´ on AM . . . . . . . . El plano z . . .2. . . . . . 6. . . . . Dos curvas de ecualizaci´ on . . . . . . . . Filtrado versus no filtrado . . . . . . 6. . . . . . . . Filtro comb no recursivo . S´ ıntesis aditiva . . . 6. . .17. . . 6. . 6. . 5. . . . . . . . . . 5. S´ ıntesis FM . . . . . . Respuestas de fase lineales versus no lineales . .1. Suma de se˜ nales simples para generar una compleja . . . . . . . . . . . . .17. . . . . . .7. . . . . . . . Correcci´ on autom´ atica de ganancia . . . . . . . . Filtro de primer orden de un cero . . . . xiii 94 94 95 96 97 97 98 99 99 100 101 101 102 103 103 109 110 112 113 114 114 115 117 117 118 119 119 119 120 122 124 125 125 127 128 129 Un filtro como una caja negra . 6. S´ ıntesis substractiva . . . Respuesta de amplitud de un filtro comb . Fase desenrrollada . . . . Configuraci´ on de filtros en la s´ ıntesis substractiva . xiv ´ INDICE DE FIGURAS ´ CADIZ. R. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . 1. . . . . . . . . . . 26 42 58 72 88 xv . . 5. para estimaci´ on de las bandas cr´ ıticas del sistema auditivo . . . . .1. . . . . . . .1. 4. . . . Taxonom´ ıa de las t´ ecnicas de s´ ıntesis digital de sonidos . . . . . . . . . . . . . . . . . . . . . .2. . . . . Representaci´ on num´ erica en distintos sistemas .´ Indice de cuadros 2. . 3. . . . . . . Razones entre intervalos musicales . . .1. . 3. . Tabla de intensidades sonoras . . . Escala de Barks. . . . R. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL .xvi ´ INDICE DE CUADROS ´ CADIZ. Se˜ nales Una se˜ nal. en forma simplificada. da exactamente lo mismo si la dependencia es temporal o espacial. Algunos ejemplos de se˜ nales son: un faro. ya que en ambos casos las se˜ nales de tratan de igual manera y s´ olo importa la funci´ on que modela su comportamiento. Por lo general. una onda de sonido viajando por el aire o las ondas de la actividad del cerebro captadas por un electrocardiograma. como por ejemplo el tiempo en el caso del sonido o el espacio en el caso de im´ agenes. Todos los tipos de se˜ nales. que conlleva informaci´ on de tipo ac´ ustica. las se˜ nales son procesadas o modificadas por sistemas. con el objetivo final de generar m´ usica. Matem´ aticamente.Cap´ ıtulo 1 Se˜ nales y sistemas El sonido es fundamentalmente una se˜ nal. 1. En el caso de la m´ usica computacional. ondas electromagn´ eticas enviadas por un radar. En este cap´ ıtulo se presentan los conceptos b´ asicos de la teor´ ıa de se˜ nales y sistemas. por lo tanto se comporta como un sistema. una se˜ nal es una variable de una o m´ as dimensiones que toma valores de acuerdo a otra variable. el computador genera o modifica una se˜ nal ac´ ustica digitalizada. 1 . sean ´ estas naturales o artificiales. tienen caracter´ ısticas comunes que hacen posible su estudio en forma independiente de su naturaleza. los cuales resultan fundamentales para entender y estudiar como una se˜ nal de audio puede ser modificada o creada en el computador de las m´ as diversas maneras.1. se˜ nales de humo. se puede entender como cualquier mecanismo que es empleado para transmitir informaci´ on [15]. Desde un punto de vista matem´ atico. Naturaleza de las se˜ nales Las se˜ nales son de distinta naturaleza. que corresponde al tiempo. 1. Una se˜ nal puede ser. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . ´ CADIZ. Por lo tanto la ecuaci´ on: y = f (t) (1.1: Ejemplo gr´ afico de una se˜ nal En el caso de las se˜ nales ac´ usticas.1. una onda de presi´ on viajando por el aire producida por la voz de un cantante en alg´ un escenario cercano. o variable dependiente. La forma o morfolog´ ıa de la funci´ on f es lo que determina la informaci´ on contenida en la se˜ nal. es com´ un utilizar la letra t para designar a la variable independiente.1) simplemente significa que y depende del tiempo de acuerdo a la funci´ on f. La relaci´ on que define el comportamiento de la se˜ nal con respecto a la variable independiente corresponde a una funci´ on que usualmente se denomina por la letra f. y la letra y para designar a la se˜ nal. mol´ eculas y otras part´ ıculas f´ ısicas.1 muestra una representaci´ on gr´ afica de una se˜ nal en funci´ on de dos variables. SENALES Y SISTEMAS y=f(x) 3 2 1 Señal (y) 0 −1 −2 −3 −1 −0.2 ˜ CAP´ ITULO 1. En este caso claramente la se˜ nal es de tipo f´ ısico. Sin embargo. La figura 1. por ejemplo. es decir involucra ´ atomos. y y t. R.5 Variable independiente(x) 1 Figura 1.1.5 0 0. es decir.1. SENALES 3 una se˜ nal puede no tener relaci´ on con alg´ un fen´ omeno f´ ısico. muestreo o sampleo y ser´ a abordado en profundidad en el cap´ ıtulo 4. pero s´ olo corresponde a un valor num´ erico. R. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . se habla de una se˜ nal discreta. El term´ ometro siempre est´ a marcando alguna temperatura y cualquier persona puede leer la posici´ on de la barra de mercurio ahora.5 Variable independiente(x) 1 (a) Se˜ nal continua (b) Se˜ nal discreta Figura 1. Por el contrario.5 0 0.5 0 0. si una se˜ nal toma valores s´ olo para algunos valores de la variable independiente.2: Ejemplos de se˜ nales continuas y discretas Un computador no funciona en forma continua sino en intervalos regulares de tiempo y por ende. sin relaci´ on con el mundo f´ ısico.5 Variable independiente(x) 1 −4 −1 −0. Para digitalizar una se˜ nal es necesario discretizarla. Es decir. la luz roja de un sem´ aforo s´ olo se enciende durante algunos instantes de tiempo en forma c´ ıclica. tomar muestras a intervalos regulares de la se˜ nal anal´ ogica original y guardar estas muestras. Por ejemplo. Se puede adelantar aqu´ ı que ´ CADIZ. o en una mil´ esima de segundo despu´ es o en un a˜ no m´ as y el term´ ometro siempre entregar´ a un valor a menos que est´ e roto. Señal Continua 4 3 2 Señal (y) Señal (y) 4 3 2 1 0 −1 −2 −3 Señal Discreta 1 0 −1 −2 −3 −4 −1 −0. Este proceso se conoce como. Un ejemplo de esto es el valor del ´ ındice de acciones de la bolsa de comercio. se habla de que la se˜ nal es continua. que cambia todos los d´ ıas.˜ 1. s´ olo maneja en forma interna se˜ nales digitales. Si una se˜ nal toma valores en forma continua. si para todos los valores de la variable independiente existe un valor para la variable independiente. digitalizaci´ on. Un ejemplo de esto es la se˜ nal de temperatura que entrega un term´ ometro en el tiempo. 3 se aprecian dos formas de onda distintas. Se puede observar all´ ı que ambas tienen la misma forma. que se repite cada cierto tiempo. Tambi´ en las se˜ nales pueden variar de acuerdo a su periodicidad. La tasa a la cual los ciclos de una onda peri´ odica se repiten se conoce como frecuencia y por lo general se mide en ciclos por segundo o Hertz (Hz) si la variable independiente corresponde al tiempo. En la figura 1. para una se˜ nal aperi´ odica. se dice que corresponde a una onda peri´ odica.2 muestra dos se˜ nales: una continua y otra discreta. R. en el sentido que tienen la misma envolvente. es decir.2. En la primera de ellas. esto no ocurre si es que la frecuencia de muestreo es lo suficientemente alta para asegurar la calidad del proceso de digitalizaci´ on. este tipo de se˜ nales corresponden a patrones ´ CADIZ. el patr´ on que se repite corresponde a un ciclo . sin un comportamiento definido. dado que nada se repite en forma peri´ odica. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . En el caso de la segunda.1. Matem´ aticamente. La duraci´ on de cada uno de los ciclos de una onda se conoce como per´ ıodo y corresponde a la variable T de la ecuaci´ on 1. En las se˜ nales aperi´ odicas no se presentan patrones de repetici´ on. En una primera observaci´ on da la impresi´ on que la se˜ nal muestreada pierde informaci´ on respecto de la se˜ nal original ya que no almacena ning´ un tipo de informaci´ on entre las muestras.4 ˜ CAP´ ITULO 1. Sin embargo. se aprecia que la onda est´ a compuesta de patrones repetitivos. SENALES Y SISTEMAS la calidad de la se˜ nal discreta depende de la frecuencia a la cual se muestrea la se˜ nal original. no existe ninguna variable T que cumpla la relaci´ on anterior. En cambio. la frecuencia es el inverso del per´ ıodo. por lo tanto un per´ ıodo de 1 ms (milisegundos) tiene una frecuencia de 1000 Hz. se habla de una forma de onda aperi´ odica . pues no sigue un patr´ on determinado de repetici´ on. la se˜ nal de la derecha corresponde a la se˜ nal de la izquierda discretizada. En el caso de un onda peri´ odica.1. En efecto.2) donde T se conoce como el per´ ıodo de la se˜ nal. Una se˜ nal peri´ odica f (x) es una que cumple la siguiente relaci´ on: f (x) = f (x + T ) (1. Generalmente. La u ´nica informaci´ on que esta se˜ nal contiene es el valor de la amplitud para cada una de las muestrasen esos instantes de tiempo. mientras que la segunda posee una forma que parece ser aleatoria. En el caso de la primera forma de onda. La figura 1. La ausencia de una o m´ as frecuencias predominantes hace que este tipo de ondas sean muy complejas y dif´ ıciles de modelar. Esto se explica en detalle en la secci´ on 4. 5 Variable independiente(x) 1 (a) Onda peri´ odica (b) Onda aperi´ odica Figura 1. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . Las dos funciones matem´ aticas sinusoidales b´ asicas son las funciones seno y coseno.4) (1. las cuales est´ an derivadas de las funciones trigonom´ etricas del mismo nombre.2 Señal (y) 0.1.3) La amplitud A corresponde a la desviaci´ on m´ axima de la se˜ nal respecto del origen (posici´ on de equilibrio). denotada por la letra φ. de tipo sinusoidal. La frecuencia w corresponde a la cantidad de ciclos que existen en un determinado rango de la variable x. ´ CADIZ. R.2. SENALES 5 Onda períodica 3 2 1 Señal (y) 0 −1 −2 −3 −1 0. corresponde a la desviaci´ on o corrimiento de la se˜ nal respecto del eje Y.5 Variable independiente(x) 1 0 −1 −0. frecuencia y fase.5 0 0. Sinusoides La sinusoide es una de las se˜ nales m´ as simples e importantes que existen. est´ a completamente determinada por estos tres par´ ametros: amplitud. 1. La fase.3: Ejemplos de ondas peri´ odica y aperi´ odica aleatorios o simplemente a ruido.˜ 1. Una se˜ nal simple.5 0 0.1.6 1 Onda aperíodica 0. Matem´ aticamente una funci´ on de este tipo se puede escribir como: f (x) = A sin(wx + φ) o como f (x) = A cos(wx + φ) (1.8 0.4 −0. Las siguientes relaciones matem´ aticas se cumplen entre estas funciones: cos(x) = sin( sin(x) = cos( π − x) 2 π − x) 2 (1.2 −0.8) ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL .2 0 −0. SENALES Y SISTEMAS Ambas funciones. es decir.4 0. (1.7) En cambio el coseno es una funci´ on par. 0 cuando pasa por π . En relaci´ on al desfase.6 0.2 −0.4 −0. 1 cuando ´ esta vale π/2.4: Funciones seno y coseno La funci´ on coseno es muy similar a la funci´ on seno.6 0. esto equivale a: cos(−x) = cos(x) ´ CADIZ.2 0 −0. Por ejemplo. no es sim´ etrica respecto al eje Y. es decir. la funci´ on seno es una funci´ on que vale 0 cuando la variable independiente vale 0.4 −0.8 −1 −6 −4 −2 0 2 4 Variable independiente x 6 1 0. Matem´ aticamente esto es: sin(−x) = − sin(x) (1.8 −1 −6 −4 −2 0 2 4 Variable independiente x 6 Función coseno (a) Funci´ on seno (b) Funci´ on coseno Figura 1. vuelven a tomar los mismos valores despu´ es de un cierto rango de valores de la variable independiente. -1 cuando cruza en 3π/2 y nuevamente cero cuando la variable independiente vale 2π .6 ˜ CAP´ ITULO 1. R.en relaci´ on al eje Y. porque es sim´ etrica respecto al eje Y.6 −0.4 0.6 −0. seno y coseno. son c´ ıclicas o peri´ odicas.8 Variable dependiente y Variable dependiente y 0.8 0. Matem´ aticamente.6) La funci´ on seno es un funci´ on impar. Función seno 1 0.5) (1. s´ olo que est´ a ”desfasada. Esto significa que cualquier sistema lineal puede ser estudiado a trav´ es de su respuesta a funciones sinusoidales. En la ecuaci´ on 1. Desde un punto de vista matem´ atico. Cualquier cosa que resuene u oscile produce un movimiento de tipo sinusoidal. Por lo tanto. es decir: f (τ ) 1 = f (0) e (1. el cual tiene el valor irracional 2. Este n´ umero es uno de los m´ as importantes y fascinantes de la matem´ atica y puede calcularse como: ∞ e= k=0 1 1 = l´ ım (1 + )n ≈ 2.˜ 1. las sinusoides constituyen bloques fundamentales que al ser combinados de cierta forma permiten la creaci´ on o s´ ıntesis de cualquier tipo de se˜ nal.718.10) La figura 1. En el campo del audio.2.2) y la representaci´ on de un sonido en el dominio de la frecuencia (ver secci´ on 1. el o´ ıdo humano f´ ısicamente separa un sonido en sus componentes de frecuencia sinusoidales. Pero quiz´ as la raz´ on m´ as importante es que el sistema auditivo humano funciona como un analizador de espectro. Esto es. n → 0 k! n (1. SENALES 7 Las sinusoides son fundamentales para la f´ ısica en general y la ac´ ustica en particular.718. La forma can´ onica de una funci´ on exponencial es la siguiente: f (t) = Ae−t/τ .. Exponenciales Existe otra funci´ on matem´ atica muy importante. tal como se detalla en el cap´ ıtulo 3.11) ´ CADIZ. el o´ ıdo humano funciona en forma muy similar a un analizador de Fourier (ver secci´ on 1. Un ejemplo de esto es la oscilaci´ on de un p´ endulo. 1. conocida como exponencial..1. las sinusoides son importantes para el an´ alisis de filtros tales como reverberadores.. R. y constituye la base de los logaritmos naturales. La constante de tiempo es el tiempo que demora la exponencial en decaer 1/e. t ≥ 0 (1. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . equalizadores y otros tipos de efectos.5 muestra el gr´ afico de una funci´ on exponencial para A = 1 y τ = 1.9 e es el n´ umero de Euler..1.9) A corresponde a la amplitud m´ axima de la exponencial y τ se conoce como la constante de tiempo de la exponencial. Otra raz´ on de la importancia de las sinusoides es que constituyen funciones b´ asicas de los sistemas lineales.3. por muy compleja que sea.4) es mucho m´ as cercana a lo que nuestro cerebro recibe que la representaci´ on temporal. conocida como movimiento arm´ onico simple. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . Esta cantidad. una constante de tiempo positiva implica a un decaimiento exponencial mientras que una constante de tiempo negativa corresponde a un crecimiento exponencial.9 0. R.9.8 ˜ CAP´ ITULO 1.2 0.5: Funci´ on exponencial El decaimiento exponencial ocurre naturalmente cuando una cantidad est´ a decayendo a una tasa proporcional a lo que a´ un queda por caer. una decaimiento de 1/e se considera muy peque˜ no para aplicaciones pr´ acticas. En sistemas de audio. Esencialmente todas las oscilaciones libres (sin una fuente mantenida en el tiempo) caen exponencialmente siempre que sean lineales e invariantes en el tiempo. La energ´ ıa reverberante en una sala de conciertos decae exponencialmente una vez finalizada la emisi´ on de sonido. se utiliza una cantidad tal que asegure que la se˜ nal ha ca´ ıdo 60 decibelios (dB).1 0 0 2 4 6 Tiempo t ↓ t=t60 • 8 • ← t=τ 10 Figura 1. todos los resonadores lineales. denotada por t60 . En la naturaleza. para A=1 y τ=1 1 0. El crecimiento exponencial ocurre cuando una cantidad crece a una tasa proporcional al incremento actual. Es necesario notar que en la ecuaci´ on 1.8 0.5 0.6 0. como por ejemplo. Por lo general.4 0. se ´ CADIZ. Ejemplos de este tipo de oscilaciones incluyen la vibraci´ on de un diapas´ on. para el dise˜ no ac´ ustico de salas de concierto.7 Amplitud 0. tales como las cuerdas de los instrumentos musicales y los instrumentos de vientos exhiben un decaimiento exponencial en su respuesta a una excitaci´ on moment´ anea. SENALES Y SISTEMAS Función exponencial. cuerdas pulsadas o pellizcadas y barras de marimba o xil´ ofonos. El crecimiento exponencial es inestable dado que nada puede crecer para siempre sin llegar a un cierto nivel l´ ımite.3 0. mostrado en la figura 1. Los n´ umeros complejos est´ an constituidos por un par ordenado de n´ umeros. uno real y otro imaginario. Pero el mismo n´ umero se puede representar mediante el largo del vector y su ´ angulo. Esto puede verificarse en la figura 1.13) Esta ecuaci´ on nos dice que la constante t60 es aproximadamente 7 veces la constante de tiempo τ .5. En este plano un n´ umero complejo es un vector que se puede representar de dos formas: cartesiana y polar.1. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . lo que se denomina forma polar. y usualmente se grafican en lo que se denomina el plano complejo. se tiene entonces que: t60 = ln(1000)τ ≈ 6.1. donde se aprecia la ubicaci´ on de dicha cantidad en el eje del tiempo.˜ 1. R. tal como se ver´ a en forma siguiente.001 f (0) 9 (1. donde r es el ´ CADIZ. fundamentalmente porque.16) El n´ umero imaginario i tiene una importancia fundamental en el an´ alisis de frecuencia de una se˜ nal. SENALES encuentra resolviendo la ecuaci´ on: f (t60 ) = 10−60/20 = 0.6. donde el eje de ordenadas representa los n´ umeros reales y el eje de absisas los imaginarios. un n´ umero complejo Z se representa como la suma de su parte real con su parte imaginaria o bien Z = x + iy .15) Esta ecuaci´ on nos dice que las exponenciales y las sinusoides est´ an ´ ıntimamente relacionadas.4. En la ecuaci´ on 1. Relaci´ on entre sinusoides y exponenciales Existen dos relaciones muy importantes para el an´ alisis de se˜ nales y para el Teorema de Fourier. las sinusoides pueden representarse y manejarse en forma m´ as compacta si se utilizan n´ umeros complejos. llamadas ecuaciones de Euler . Estas son: eix = cos(x) + i sin(x) e−ix = cos(x) − i sin(x) (1. 1.12) Usando la definici´ on de exponencial de la ecuaci´ on 1.91τ (1.14) (1. En la forma cartesiana. En este caso se tiene Z = r Θ. el n´ umero i representa al n´ umero imaginario y que est´ a definido por la relaci´ on: i= √ −1 (1.9.14. Ambas representaciones est´ an relacionadas por las siguientes ecuaciones: r= y y (1. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL .19) x2 + y 2 (1. una sinusoide compleja contiene una parte real coseno y una parte imaginaria seno.14 por una amplitud A ≥ 0 y utilizando x = wt + φ se tiene: sin(x) = Aei(wt+φ) = A cos(wt + φ) + iB sin(wt + φ) (1.6: El plano complejo m´ odulo o magnitud del n´ umero complejo y que tambi´ en suele representarse como |Z |.14 y 1.18) x La ecuaciones 1.20) 2i Multiplicando la ecuaci´ on 1. ´ CADIZ.21) eix + e−ix 2 (1. SENALES Y SISTEMAS imaginario x+iy y r Θ x real Figura 1.15 pueden utilizarse para demostrar que: θ = arctan cos(x) = y eix − e−ix (1. Por lo tanto. R.17) Esta ecuaci´ on describe una sinusoide compleja.10 ˜ CAP´ ITULO 1. detallado en la secci´ on 4. La serie de Fourier de una se˜ nal peri´ odica f (x) de per´ ıodo T0 puede escribirse como: ∞ f (x) = a0 + k=1 (ak cos(kw0 x) + bk sin(kw0 x)) (1. una sinusoide real consiste de una suma de dos sinusoides complejas. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . Esta suma ponderada de se˜ nales sinusoidales se conoce como Serie de Fourier.2.22) donde w0 es la frecuencia fundamental (w0 = 2π/T0 ) y los coeficientes a0 . se puede escribir la serie de Fourier en forma m´ as compacta como: ∞ f (x) = k=−∞ Ck eikw0 x (1. Este hecho es de suma importancia para el an´ alisis de se˜ nales y para lo que posteriormente se ver´ a como teorema del muestreo.1. Se entiende por una se˜ nal razonable. Esta forma de escribir la serie de Fourier se conoce como forma trigonom´ etrica.1.14 y 1.15. el matem´ atico Jean Baptiste Fourier demostr´ o que cualquier se˜ nal peri´ odica razonable puede expresarse como la suma de una o m´ as sinusoides de distinta frecuencia. una que posee valores m´ aximos menores que infinito y un n´ umero finito de saltos en un per´ ıodo. Series y transformada de Fourier Series de Fourier En 1811. SERIES Y TRANSFORMADA DE FOURIER 11 De acuerdo a las ecuaciones 1. Utilizando las ecuaciones de Euler 1.19 y 1.2. fase y amplitud.2. se tiene entonces que toda sinusoide real est´ a compuesta por una contribuci´ on equitativa de frecuencias positivas y negativas. Estas sinusoides est´ an arm´ onicamente relacionadas entre s´ ı. 1. Dicho de otra forma. Esto significa que el espectro de frecuencias de una sinusoide o de una funci´ on peri´ odica compuesta por sinusoides es sim´ etrico respecto del origen y contiene tanto frecuencias negativas como positivas.20 y dado que eiwt corresponde a una sinusoide compleja (ecuaci´ on 1.ak y bk constituyen un conjunto de n´ umeros asociados un´ ıvocamente con la funci´ on f(x). una de frecuencia positiva y la otra de frecuencia negativa. 1. es decir.1. R. sus frecuencias son m´ ultiplos enteros de una frecuencia fundamental.21).23) ´ CADIZ.1. 7 muestra a varias sinusoides de frecuencias relacionadas y su suma.22 nos dice que para cualquier se˜ nal peri´ odica f (x) pueden encontrarse coeficientes a0 . mediante la determinaci´ on de las sinusoides que la conforman. est´ a compuesta por la suma de varias sinusoides de frecuencias mayores o iguales a w. se obtendr´ a una se˜ nal peri´ odica. Lo anterior implica dos cosas: 1. SENALES Y SISTEMAS Esta forma de escribir la ecuaci´ on se conoce como forma compleja.. Dada una se˜ nal peri´ odica f (x) cualquiera. En palabras m´ as simples.2. toda funci´ on peri´ odica de frecuencia w.. cada una de las cuales tiene distinta amplitud. b1 . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL .. fases y amplitudes y se suman. dicho gr´ afico se conoce como espectro de frecuencias (ver secci´ on 1.7: Suma de se˜ nales arm´ onicas ´ CADIZ. R. La ecuaci´ on 1.. . a2 . Esto nos permite comprobar de manera emp´ ırica el descubrimiento de Fourier. 2w0 . Si se grafican las frecuencias de estas sinusoides versus la amplitud de cada una de ellas. cualquiera sea su naturaleza.4). 3w0 . All´ ı puede observarse que al sumar estas sinusoides se obtiene una nueva forma de onda de frecuencia igual a la frecuencia de la onda fundamental. den como resultado la funci´ on f (x) cuando estas sinusoides se suman. frecuencia y fase. La figura 1. tales que multiplicados por sinusoides de frecuencias w0 .12 ˜ CAP´ ITULO 1. . Las frecuencias involucradas est´ an arm´ onicamente relacionadas entre s´ ı. b2 . ´ esta siempre podr´ a descomponerse en sus componentes de frecuencia. Figura 1. Si se toman varias sinusoides de distintas frecuencias. a1 . 2. la transformada de Fourier se escribe: ∞ F (w) = −∞ f (x)e−iwx dx (1. Cuando uno toca. La Transformada de Fourier es una generalizaci´ on de las Series de Fourier.04 w 386. SERIES Y TRANSFORMADA DE FOURIER 13 La serie de Fourier se presenta en forma natural en la mayor´ ıa de los instrumentos musicales.40 w #œ 165.2.2. Esto da pie a la transformada de Fourier. la nota Do en el piano & ? (cent) 1200 w 1 w 2 701. pero tambi´ en es posible aplicarla a funciones discretas mediante la utilizaci´ on de funciones impulso (ver secci´ on 1.2.17 w w 203.87 231.57 128. la transformada de Fourier es un subconjunto de la transformada de Laplace.91 182. Matem´ aticamente. Esta ecuaci´ on corresponde a integrar la funci´ on f (x) multiplicada por una sinusoide compleja en todo el intervalo de la variable x (desde −∞ hasta +∞). Adem´ as.73 4 5 6 7 8 9 10 11 12 13 14 15 16 Figura 1.8: La serie arm´ onica 1.74 bw 266.31 w 315.3). ´ CADIZ. por ejemplo. es truncar las se˜ nales en un cierto punto y suponer que la zona truncada se repite hasta el infinito desde ah´ ı hacia adelante.96 w 3 w 498. de la cual provee una interpretaci´ on m´ as simple. Esto se conoce como la serie arm´ onica y constituye el principio b´ asico de ejecuci´ on de algunos instrumentos como la trompeta o tuba.1.00 w bœ bw nw w 150. En la figura 1.8 se muestra la serie arm´ onica en notaci´ on musical. Transformada de Fourier Ahora cabe preguntarse ¿qu´ e pasa con las funciones que no son peri´ odicas? Una forma de extender las series de Fourier a funciones no peri´ odicas.24) donde w denota la frecuencia y F a la transformada. R. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . Estas relaciones hacen de la transformada de Fourier una herramienta clave para traducir se˜ nales desde los dominios del tiempo a la frecuencia y viceversa. En rigor.44 111. esta transformada se aplica a funciones continuas y aperi´ odicas.64 138.30 119. Otra forma es suponer que ´ estas poseen un per´ ıodo infinito y expandir un tanto las ecuaciones para poder trabajar con este tipo de se˜ nales.2. En ´ CADIZ. Es decir. Esto implica que en el dominio de la frecuencia estas se˜ nales tambi´ en ser´ an peri´ odicas y discretas. esto no es aplicable directamente a se˜ nales discretas o digitales. la que permite encontrar f (x) cuando se conoce F (w) est´ a dada por la ecuaci´ on: ∞ f (x) = −∞ F (w)eiwx dw (1. siempre es posible encontrar una correspondencia entre una funci´ on y su espectro o viceversa. mediante esta transformada podemos saber que frecuencias est´ an presentes en ella.26) La transformada de Fourier nos permite conocer el espectro de frecuencias de cualquier se˜ nal f (x). Es decir: f (x) ↔ F (w) (1. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL .14 ˜ CAP´ ITULO 1. la DFT pr´ acticamente no se utiliza dado que el c´ alculo de la transformada discreta es un proceso complejo y lento computacionalmente. o bien DFT (Discrete Fourier Transform).25 permite encontrar transformadas para se˜ nales continuas.2. El desarrollo de la DFT hist´ oricamente se dio en forma paralela al de la transformada de Fourier continua. R.24 y 1. la cual es un algoritmo desarrollado para obtener la DFT de una forma m´ as r´ apida y eficiente computacionalmente. Lo que se utiliza en la mayor´ ıa de los casos para calcular espectros de se˜ nales discretas se llama Transformada R´ apida de Fourier.2. Sin embargo. El tiempo de procesamiento de la FFT es considerablemente m´ as r´ apido que calcular la DFT directamente. com´ unmente llamado espectro de frecuencias. se emplea para encontrar el contenido de frecuencia de se˜ nales que son discretas. La Transformada de Fourier Discreta. sea ´ esta peri´ odica o aperi´ odica y cualquiera sea su naturaleza. A pesar de su existencia. o bien FFT (en ingl´ es Fast Fourier Transform). tambi´ en esta puede representarse completamente mediante un diagrama de frecuencias.25) Utilizando estas relaciones. que son las que nos interesan en este libro. 1. 1. DFT y FFT La transformada de Fourier. SENALES Y SISTEMAS La transformada inversa. dada una funci´ on f (x) cualquiera. Diagramas en la frecuencia Dado que una se˜ nal com´ unmente posee varias frecuencias aparte de la fundamental.4. tal como se present´ o en las ecuaciones 1.3. posee un s´ olo componente de 50 Hz. aparte de las sinusoides y exponenciales.3. Esto nos indica que mientras m´ as componentes de frecuencia est´ an presentes en una se˜ nal. est´ a caracterizado solamente por tres frecuencias distintas. esto puede entenderse si se piensa que el impulso representa el cambio m´ as abrupto posible. R. de necesita sumar un n´ umero muy elevado de sinusoides. para reproducir una se˜ nal de este tipo. el espectro de la se˜ nal aleatoria es m´ as bien plano y tiene componentes en pr´ acticamente todas las frecuencias. el espectro de la sinusoide simple. y para generar una se˜ nal as´ ı se requieren de infinitas sinusoides de todas las frecuencias posibles.27) Es decir el impulso es una funci´ on que s´ olo adquiere un valor para x = 0 y vale para todos los otros valores de x. El espectro de la suma de tres sinusoides. no en el sentido de los n´ umeros complejos sino en su contenido de informaci´ on. Como es de esperarse. su representaci´ on en el tiempo es m´ as “compleja”.28) ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . Otra funci´ on importante es la funci´ on rectangular o simplemente rect. denotado por δ (x). En cambio. Una funci´ on muy importante es el impulso. es decir esta se˜ nal posee todas las frecuencias posibles. Su importancia radica en que consituye un filtro pasa bajo ideal. Es necesario notar que el espectro es sim´ etrico respecto al origen y que contiene frecuencias negativas y positivas.˜ 1. 1. La funci´ on rect se define como: rect(x) = ´ CADIZ. La importancia de esta funci´ on radica en que su transformada de Fourier es una funci´ on constante. Todos estos espectros fueron calculados utilizando la transformada r´ apida de Fourier o FFT. que corresponden a las frecuencias de las tres sinusoides constituyentes de la se˜ nal. Otras se˜ nales importantes Existen otras se˜ nales de importancia en la teor´ ıa de sistemas. la cual es una funci´ on que se define de la siguiente forma: δ (x) = ∞ x=0 0 x=0 (1.9 puede apreciarse tanto la representaci´ on temporal como el espectro de las se˜ nales. 1 0 ≤x≤ 1 2 para todo otro x −1 2 (1. Su transformada de Fourier es otra funci´ on importante y se denomina sinc. OTRAS SENALES IMPORTANTES 15 la figura 1.3. De manera intuitiva. Dicho de otro modo. 1 −0.5 1 Espectro de frecuencias para y=sin(50t) 100 90 80 Frecuencia (en Hertz) 70 60 50 40 30 20 10 0.5 −0.(f) Espectro de una se˜ nal po aleatoria Figura 1.5 Amplitud 0 −0.05 0 0.04 0 −200 −100 0 100 Magnitud del espectro 200 (c) Suma de tres sinusoides (d) Espectro de una suma de en el tiempo tres sinusoides Señal aleatoria 3 2 Espectro de una señal aleatoria 7 6 Frecuencia (en Hertz) 5 4 3 2 1 0 −500 1 Amplitud 0 −1 −2 −3 −0.9: Representaci´ on en el tiempo y en la frecuencia de distintas se˜ nales y la funci´ on sinc como: ´ CADIZ.1 0 Magnitud del espectro 500 (e) Se˜ nal aleatoria en el tiem.5 1 Espectro de y=sin(50t)+0.02 Tiempo (en segundos) 0.5 −0.3*sin(150t) 100 90 80 Frecuencia (en Hertz) 70 60 50 40 30 20 10 0.02 0 0.3*sin(150t) 1.02 Tiempo (en segundos) 0.5 −1 −1.5 −1 −1. R.04 −200 −100 0 100 Magnitud del espectro 200 (a) Sinusoide simple en el (b) Espectro de una sinusoitiempo de simple y=sin(50t)+0. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL .05 Tiempo (en segundos) 0. SENALES Y SISTEMAS y=sin(50t) 1.16 ˜ CAP´ ITULO 1.02 0 0.04 −0.5*sin(100t)+0.5 Amplitud 0 −0.5*sin(100t)+0.04 0 −0. Los efectos o salidas del sistema tambi´ en se conocen como respuestas o simplemente salidas. sinc(x) = Rect Sinc (1. y es muy utilizada para construir ventanas. 1.4. permitan encontrar ´ CADIZ.1. Se define de la siguiente manera: f (x) = Ae−x 2 /(2σ 2 ) (1. es posible desarrollar un modelo que describa a cabalidad el sistema. entradas.4. Si se conocen los datos de entrada y de salida. Las causas o datos de entrada tambi´ en son llamados excitaciones o simplemente.10. R. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL .30) donde σ se conoce como la desviaci´ on est´ andar de la distribuci´ on.29) Impulso Constante Figura 1. SISTEMAS 17 sin(πx) πx Todas estas funciones se muestran en la figura 1. Sistemas Un sistema puede ser definido en forma general como una colecci´ on de objetos u operaciones para los cuales existen relaciones definidas de causaefecto. Su importancia radica en que es la funci´ on de distribuci´ on de probabilidades normal.10: Otras se˜ nales importantes La funci´ on Gaussiana tambi´ en es de importancia. Este modelo consiste en un conjunto de reglas tales que si son conocidas las entradas. Un efecto digital.1. como por ejemplo un chorus. si un sistema posee varias entradas.11: Diagrama de un sistema Tal como lo muestra la figura 1. flanger o reverb tambi´ en son sistemas y se modelan como tales. Clasificaci´ on Existen sistemas din´ amicos y est´ aticos. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . R. por ende. SENALES Y SISTEMAS las salidas. se aborda en el cap´ ıtulo 6. Un filtro. Un sistema de este tipo posee memoria. 1. Es decir. Los sistemas tambi´ en pueden ser variantes o invariantes en el tiempo. En audio. esto no ocurre y su an´ alisis es bastante m´ as complejo.18 ˜ CAP´ ITULO 1. como por ejemplo los que posee un equalizador de audio. ´ CADIZ. en un sistema din´ amico los valores de las salidas dependen de los valores presentes y pasados de las entradas. Para efectos de un computador.11. un sistema puede representarse por una “caja negra” a la cual ingresan datos y de la cual salen datos. dependiendo si las variables de entrada y salida son continuas o discretas. no posee memoria. es decir. un sistema es un algoritmo que transforma una secuencia de n´ umeros (entrada) en otra secuencia de n´ umeros con propiedades distintas (salida). Un sistema variante en el tiempo es uno en el cual las reglas del sistema dependen del tiempo. La teor´ ıa e implementaci´ on de estos y otros tipos de efectos. ´ estas van cambiando a medida que el tiempo cambia. los sistemas son muy importantes.4. Tambi´ en los sistemas pueden ser continuos o discretos. Un sistema est´ atico es uno en el cual los valores de las salidas dependen solamente de los valores actuales de las entradas. En cambio. Cuando un sistema es lineal. En cambio. En cambio en un sistema no lineal. los sistemas invariantes en el tiempo mantienen sus reglas indefinidamente. se puede utilizar el principio de superposici´ on . Figura 1. es un sistema. pueden analizarse por separado las respuestas del sistema a cada una de las entradas y luego calcular la salida como la suma de las respuestas individuales. Tambi´ en los sistemas pueden clasificarse en lineales y no lineales. Un sistema est´ atico. 6.3..4. Esta respuesta puede calcularse como la transformada de Fourier de la respuesta al impulso. si es que se conoce su respuesta a cada una de estas se˜ nales elementales. 0.1.2. Por una propiedad matem´ atica llamada propiedad del cedazo.. Un impulso. . Entrada 1.1. ltro Salida . dado que cualquier tipo de entrada puede ser descompuesta en se˜ nales m´ as elementales y por lo tanto la respuesta total del sistema puede calcularse mediante el principio de superposici´ on. o bien puede medirse o estimarse directamente. -. esta se˜ nal es ideal para estudiar sistemas.. Respuesta al impulso y respuesta de frecuencia Para estudiar el comportamiento de un sistema sistema lineal e invariante se utilizan normalmente dos tipos de entradas. definido en la ecuaci´ on 1.4. Dado que la transformada de Fourier de un impulso de una funci´ on constante en la frecuencia.27 es una funci´ on matem´ atica abstracta que tiene una amplitud infinita y una duraci´ on casi cero. que se define como la respuesta del sistema en el dominio de la frecuencia. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . se puede demostrar que cualquier funci´ on puede descomponerse en una suma de impulsos.4. en muchas sinusoides individuales. de acuerdo a la serie o transformada de Fourier. . . Otra respuesta muy utilizada para dise˜ nar sistemas es la respuesta de frecuencia.7. R.1. a) Entrada: Impulso Dominio del tiempo c) Entrada: constante Dominio de la frecuencia b) Salida: respuesta al impulso t t d) Salida: respuesta de frecuencia f f Figura 1.12: Respuesta al impulso La respuesta al impulso corresponde a la respuesta de un sistema a un impulso cuando el sistema se encuentra en estado de reposo. SISTEMAS 19 1.. Dado que cualquier se˜ nal puede descomponerse. 0. 0. si se utilizan como entrada se˜ nales de tipo sinusoidal. la respuesta total del sistema puede ´ CADIZ. ya que permite estimar la respuesta de un sistema cualquiera a se˜ nales con un contenido de frecuencias previamente determinado. -. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . El estudio de la respuesta de frecuencia de un sistema. dado que un impulso es una abstracci´ on matem´ atica no posible de representar en un computador. La figura 1. un impulso se implementa como una secuencia de n´ umeros con valor cero salvo una sola muestra que toma el valor uno. R.5) entre una se˜ nal de entrada cualquiera y la respuesta al impulso para obtener la respuesta del sistema a esa entrada. es clave en la teor´ ıa y dise˜ no de los filtros digitales. SENALES Y SISTEMAS calcularse mediante el principio de superposici´ on. Si se conoce la respuesta al impulso. ´ CADIZ. es una secuencia de muestras todas con valor unitario. En el ´ ambito de los sistemas digitales. en cambio.20 ˜ CAP´ ITULO 1.12 muestra en forma gr´ afica la relaci´ on entre la respuesta al impulso y la respuesta de frecuencia de un sistema digital o filtro. basta realizar una operaci´ on matem´ atica denominada convoluci´ on (ver ecuaci´ on 6. Un tren de impulsos. la cual se detalla en el cap´ ıtulo 6. El sonido en su dimensi´ on perceptual se abordar´ a en el cap´ ıtulo 3. Por lo tanto existen dos definiciones posibles de sonido: una f´ ısica. donde no hay ser humano alguno .. espectro o intensidad que pueden derivarse de los par´ ame21 .Cap´ ıtulo 2 El sonido Si una piedra cae en la superficie de un desierto.1 generan una onda de sonido la cual viaja a trav´ es del aire. Estas zonas de rarefacci´ on y compresi´ on. Las ondas son parametrizables.. Las ondas transportan informaci´ on de un lugar a otro y tambi´ en transportan energ´ ıa.1. creando zonas donde la presi´ on del aire es menor a la presi´ on atmosf´ erica (rarefacci´ on o enrarecimiento) y zonas donde la presi´ on del aire es mayor a la presi´ on atmosf´ erica (compresi´ on). donde se considera al sonido como una perturbaci´ on en alg´ un medio y otra psicoac´ ustica. Ondas de sonido El sonido es una se˜ nal producida por una fuente en vibraci´ on. lo que quiere decir que pueden describirse de acuerdo a algunos pocos par´ ametros. Esta vibraci´ on perturba las mol´ eculas de aire adyacentes a la fuente en sincronismo con la vibraci´ on. representadas en la figura 2. Si uno hace esta pregunta las respuestas generalmente son divididas. Las ondas en general poseen ciertas propiedades comunes. A continuaci´ on se describe el sonido en su dimensi´ on f´ ısica. ¿suena?. que se refiere al sonido como la sensaci´ on que produce una onda sonora en nuestro sistema auditivo. fase y forma de onda. Esto se debe mayormente a que el sonido existe en dos dimensiones paralelas: una f´ ısica y otra perceptual. Los cuatro par´ ametros m´ as comunes son: amplitud. Hay gente que dice que s´ ı suena y otra dice que no. 2. per´ ıodo. Existen algunos otros par´ ametros tales como frecuencia. ondas electromagn´ eticas ondas de sonido o rayos X. Las ondas de sonido son longitudinales. Tambi´ en difieren en su forma de propagaci´ on. En la figura 2. ondas de luz. por ejemplo ondas de radio. la que puede ser longitudinal o transversal. ´ CADIZ. el desplazamiento de las part´ ıculas es paralelo a la direcci´ on de propagaci´ on de la onda. De esta forma. En una onda transversal.1 se muestran algunos de ellos. produce una vibraci´ on en dicha superficie por simpat´ ıa o resonancia. el desplazamiento de las part´ ıculas es perpendicular a la direcci´ on de propagaci´ on de la onda. El sonido puede viajar a trav´ es de objetos s´ olidos. Cuando esta onda alcanza alguna superficie (como el t´ ımpano del o´ ıdo humano o la membrana de un micr´ ofono). Su velocidad es proporcional a la densidad del medio por el cual viaja. A temperatura ambiente. R. La velocidad del sonido es independiente de su intensidad y su intensidad decae con la distancia en forma inversamente proporcional. El sonido necesita de un medio para propagarse.22 CAP´ ITULO 2. l´ ıquidos o gases.1: Rarefacci´ on y compresi´ on en una onda sonora Existen distintos tipos de ondas que difieren en su naturaleza. es de 1500 [m/s]. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . la velocidad el sonido en el aire es de 343 [m/s] y en agua. Figura 2. ondas de agua. En una onda longitudinal. EL SONIDO tros mencionados anteriormente. la energ´ ıa ac´ ustica es transferida desde la fuente al receptor manteniendo las caracter´ ısticas de la vibraci´ on original. Medici´ on del sonido El sonido en su dimensi´ on f´ ısica es medible o cuantificable. En el caso de un avi´ on supers´ onico se producen ondas de choque que fuerzan al aire a viajar m´ as r´ apido que la velocidad del sonido. Al estar la fuente vibrando. 4. 3. FUENTES SONORAS 23 2. Cuerpos en vibraci´ on.2.1) ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . la cual produce sonido a trav´ es de una placa rotatoria bloquea en forma alternada el flujo proveniente de un compresor de aire. Las cuerdas vocales se abren y cierran en forma alternada. produciendo cambios en la tasa del flujo de aire. el sonido se produce por un brusco cambio en la temperatura. Un ejemplo de este tipo de fuentes es un diapas´ on. R.2. Este mismo principio se aplica a los instrumentos de viento como el clarinete u oboe. Estos son: 1. 2. Fuentes de calor. Otro ejemplo de este tipo de fuentes es una sirena. lo que produce cambios locales en la presi´ on de aire. En estos casos. 2. Existen par´ ametros que pueden ser medidos en forma precisa como su intensidad y otros pueden ser estimados con mayor o menor precisi´ on como la frecuencia o su forma de onda. Estas fluctuaciones de presi´ on viajan en forma de una onda. el cual produce una veloz expansi´ on del aire circundante. El sonido fundamentalmente es una onda de presi´ on. Un ejemplo de este tipo de fuentes es lo que sucede cuando hablamos. y la presi´ on P puede medirse de la siguiente forma: P = F/a ´ CADIZ. lo que a su vez se traduce en una onda sonora. Cambios en flujos de aire. Fuentes sonoras El sonido puede ser producido por distintos tipos de fuentes y procesos. tal como lo produce un trueno. el cual al ponerse en vibraci´ on genera un cierto tipo de onda sonora. Los cuerpos en vibraci´ on son las fuentes sonoras m´ as comunes.3. Una chispa el´ ectrica produce un sonido. (2. causa un desplazamiento en el aire cercano. Flujo supers´ onico.2. de la presi´ on atmosf´ erica causado por la compresi´ on y rarefacci´ on de las ondas ac´ usticas. principio que se conoce como la conservaci´ on de la energ´ ıa. Por lo general. Suponiendo una fuente puntual que irradia energ´ ıa uniforme en todas las direcciones. Esta cantidad es un indicador de la magnitud de energ´ ıa ac´ ustica de un sonido y es el factor que determina que tan fuerte se percibe un sonido. Las ondas de sonido transportan energ´ ıa. La p´ erdida de intensidad al incrementarse la distancia es de dB = 20log10 (r1 /r2 ). la amplitud se mide en [N/m2 ].3) ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . La intensidad se mide en [W/m2 ]. Iβc (2. se experimenta una p´ erdida en intensidad de 6 dB. dado que se define de tal forma que en un sistema cerrado la energ´ ıa siempre es constante. Una importante medida del sonido es su potencia ℘. Amplitud e intensidad La amplitud de un sonido corresponde a la magnitud del cambio. La intensidad del sonido caracteriza la raz´ on a la cual la energ´ ıa es entregada en la sensaci´ on audible asociada con la amplitud. Al doblarse la distancia. Otras unidades de medida de la energ´ ıa son [Btu].2) donde ℘ es la potencia sonora. EL SONIDO lo que equivale a una fuerza F ejercida en una unidad de ´ area a determinada. La presi´ on corresponde a la fuerza ejercida en forma perpendicular a una superficie dividida por el ´ area de ´ esta superficie.00002 [N/m2 ] hasta los 200 [N/m2 ]. La presi´ on e intensidad se relacionan a trav´ es de la siguiente ecuaci´ on: P = ´ CADIZ. Si esta distancia es r. El rango de amplitudes perceptible por el ser humano va desde los 0. [Calor´ ıa] y el [kW/h]. A continuaci´ on se describen en detalle los par´ ametros f´ ısicos del sonido.24 CAP´ ITULO 2. donde el cuerpo entero siente las vibraciones. La energ´ ıa es una medida abstracta de mucha utilidad en la f´ ısica. La energ´ ıa se mide en unidades de masa por velocidad al cuadrado y usualmente se mide en [Joules].2. R. la cual corresponde a la energ´ ıa total por unidad de tiempo y se mide en [Joules/sec]. entonces se tiene que: I = ℘/4πr2 (2. 2. sea este positivo o negativo. Esto se observa claramente en la figura 2.4. entonces la presi´ on sonora var´ ıa en forma inversamente proporcional a la distancia medida desde la fuente y la intensidad cambia en forma inversamente proporcional al cuadrado de la distancia. por lo tanto 1bel = log10 (I1 /I0 ) (2. AMPLITUD E INTENSIDAD 25 F r 2r 3r Figura 2. En t´ erminos de presi´ on. el rango detectable va desde 2 ∗ 10−5 [Pa] a 2 [Pa].5) I0 se escoge t´ ıpicamente como 10−12 W/m2 . Un incremento de 10 dB equivale a un incremento de la intensidad del sonido de un orden de magnitud. por lo que una escala logar´ ıtmica de medici´ on de intensidad resulta mucho m´ as apropiada. (2. La intensidad es proporcional al cuadrado de la presi´ on 1dB = 20log10 (P1 /P0 ) ´ CADIZ.4) Pero los beles resultan muy grandes para efectos pr´ acticos y por eso se utiliza el decibel (dB).000:1. definido por: 1dB = 10log10 (I1 /I0 ) (2. El sistema auditivo humano puede detectar un inmenso rango de intensidades desde 10−12 [W/m2 ] a 1 [W/m2 ]. La intensidad (sound level) del sonido se mide en decibeles.000. En t´ erminos pr´ acticos. lo que equivale a una raz´ on de 10. Un bel indica una raz´ on de 10:1. R.6) ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL .4.2: Intensidad vs distancia donde β equivale a densidad del medio y c es la velocidad del sonido en el aire. medir la intensidad de sonido en [W/m2 ] resulta inmanejable debido a su enorme rango.2. Un incremento de 3dB equivale a doblar la intensidad y un incremento de 1dB representa un 25 % de incremento en la intensidad. 26 0 10 20 50 70 90 110 120 140 160 dB dB dB dB dB dB dB dB dB dB CAP´ ITULO 2. La tasa a la cual los ciclos de una onda peri´ odica se repiten se conoce como frecuencia y por lo general se mide en ciclos por segundo o Hertz (Hz).5. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL .5. un sonido puede poseer lo que se denomina una frecuencia fundamental. com´ unmente denotada por f 0. el patr´ on que se repite corresponde a un ciclo. 0 dB se escoge para el umbral de audici´ on. dado que nada se repite en forma peri´ odica. R. La duraci´ on de cada uno de los ciclos de una onda se conoce como perodo.000 Hz. que usualmente corresponde a la frecuencia m´ as baja y de mayor amplitud presente en el espectro. la cual es una medida perceptual.1: Tabla de intensidades sonoras donde P0 = 2x10−5 [P a]. La estimaci´ on de f 0 para se˜ nales complejas es ´ CADIZ. Las se˜ nales aperi´ odicas no poseen una frecuencia fundamental f´ acilmente determinable. EL SONIDO Umbral de audici´ on Respiraci´ on normal Susurro Conversaci´ on suave Tr´ afico Disparo Exposici´ on prolongada (causa p´ erdida auditiva) Avi´ on a propulsi´ on despegando Jet despegando Perforaci´ on instant´ anea del t´ ımpano (1016 veces 0 dB) Cuadro 2. aunque esto puede variar para distintas personas. por lo tanto un per´ ıodo de 1 ms (milisegundos) tiene una frecuencia de 1000 Hz. explicada en detalle en la secci´ on 3. 2. En t´ erminos de su contenido de frecuencia. el sonido m´ as tenue que puede ser detectado. Es la frecuencia fundamental de una onda la que determina en gran medida su altura musical. El o´ ıdo humano percibe frecuencias que van entre los 20 y los 20. Frecuencia En el caso de un onda peri´ odica. Esta medida se conoce como dBSP L (sound pressure level). Matem´ aticamente. El ´ area sobre los 0 dB en este caso se conoce como headroom. En los equipos de audio suele usarse el dBV U (volume unit). donde 0 dB corresponde al m´ aximo nivel de audio posible sin tener distorsi´ on (clipping). la frecuencia es el inverso del per´ ıodo. 3. ´ CADIZ. mientras que la segunda posee una forma aleatoria. FASE 27 en s´ ı un problema bastante complicado. 360]. pero es sumamente importante en el an´ alisis de Fourier. 2π ] o en grados. Fase La fase es simplemente el desfase o corrimiento de una se˜ nal respecto a un punto de referencia. sin un comportamiento definido. La fase de un sonido aislado no altera en nada su percepci´ on. El resultado es que no se percibe nada. Esto no es un problema perceptual. En el cap´ ıtulo 1 se estudiaron distintos tipos de ondas. o bien 2π . pues no es posible de distinguir de una que ocurre dentro del rango normal. es un fen´ omeno puramente f´ ısico. los sonidos se anulan completamente.2.6. abordado en el cap´ ıtulo 4 y algunas t´ ecnicas de s´ ıntesis. La fase adquiere importancia cuando dos o m´ as sonidos se mezclan entre s´ ı. se aprecia que est´ a compuesta de patrones repetitivos. el que se determina en forma arbitraria. y al mezclarse. lo que implica que un sonido comenz´ o antes que el otro. como las descritas en el cap´ ıtulo 5. significa que las zonas de rarefacci´ on de un sonido coinciden con las zonas de compresi´ on del otro. 2. La forma de onda determina en gran medida la cualidad del sonido.6. entre otras cosas. pero estar desfasados entre s´ ı. en el rango [0. Una fase mayor a 2π o 360 carece de sentido f´ ısico. Al interactuar. el resultado percibido puede cambiar radicalmente dependiente del grado de desfase entre ellos. 2.7. La fase se mide en radianes. R. y como las zonas de rarefacci´ on y compresi´ on de ambos sonidos coinciden. En la primera de ellas. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . Un factor importante de considerar en un sonido es su periodicidad. en el rango [0. Si el desfase es 0. los sonidos al mezclarse se suman. La fase es una variable com´ unmente ignorada y poco tomada en cuenta. Forma de onda El patr´ on de variaciones de presi´ on producido por una fuente de acuerdo al tiempo se conoce como la forma de onda. Ellas se muestran en la figura 1. que escapa a este texto. Dos sonidos pueden ser id´ enticos. La ausencia de una fundamental hace que este tipo de ondas se perciba musicalmente como ruido. entre ellas las ondas peri´ odicas y aperi´ odicas. como resultado se obtiene el mismo sonido pero amplificado. Si el desfase es de π o 180 grados. ya que no muestra otro componente igual de importante que es la fase. lo que se llama forma polar. adem´ as de indicaciones algunos par´ ametros como amplitud y per´ ıodo. Por lo tanto. R. Por lo general. en el mundo del audio profesional se utiliza el espectro como sin´ onimo de la magnitud solamente. La forma de onda se asocia com´ unmene con lo que se denomina timbre. detallado en la secci´ on 3. una representaci´ on que s´ olo contenga la magnitud es en realidad incompleta. como el sonido. EL SONIDO La forma de onda de un sonido determina y est´ a determinada por su contenido de frecuencias o espectro. Un sonido tambi´ en puede ser representado por su espectro. Usualmente.8. que tienen que ver con la forma de onda. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . si no complejo o imaginario. La forma de representaci´ on m´ as utilizada se basa en un diagrama de amplitud versus tiempo.28 CAP´ ITULO 2. En la secci´ on 1. la amplitud de cada componente. mediante un gr´ afico amplitud versus frecuencia. 2. por ejemplo. tal como se observa en la figura 2. Tal como se detalla en el cap´ ıtulo 4. no es real. No obstante. el sonido de una trompeta del de un viol´ ın. mediante la transformada de Fourier. Representaci´ on gr´ afica Existen diversas formas de representar el sonido en forma gr´ afica. el espectro de una se˜ nal real. Esto significa que las amplitudes no son n´ umeros reales. cualidad perceptual que le otorga identidad al sonido.1. Si bien la informaci´ on que entrega la magnitud de un espectro es u ´til. Este gr´ afico muestra las amplitudes de cada componente de frecuencia contenido en el sonido. es importante destacar que el diagrama de tiempo no contiene informaci´ on alguna sobre el contenido de frecuencias del ´ CADIZ. El espectro contiene en el eje de las ordenadas el rango de frecuencias presente en el sonido y en las abscisas.2. sino n´ umeros complejos y en realidad consisten en un par de n´ umeros y no en uno s´ olo. Sin embargo. El espectro puede estimarse en base a la transformada de Fourier. donde se pueden apreciar las zonas de compresi´ on y rarefacci´ on. Es la forma de onda la que permite diferenciar. o bien mediante una magnitud y un ´ angulo o fase.4 se describen las dos formas b´ asicas de representar n´ umeros complejos: como un par ordenado.1. no lo es todo. siempre es posible pasar de una representaci´ on en el tiempo a una representaci´ on en la frecuencia y viceversa. lo que se denomina forma cartesiana. la cual se explica en mayor detalle en la secci´ on 1.6. existen limitaciones en cuanto a la resoluci´ on de ´ esta estimaci´ on tanto de tipo te´ oricas como pr´ acticas. De esta forma es posible determinar como va cambiando el contenido de frecuencia del sonido en el tiempo. Una representaci´ on intermedia es lo que se llama el sonograma.´ GRAFICA ´ 2. R. como el tipo de ventana. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . se estima el espectro mediante lo que se denomina la transformada de Fourier de tiempo corto (o short time Fourier transform en ingl´ es). Si bien el sonograma es muy u ´til. usualmente traslapadas entre s´ ı. entre otros. En cada una de ´ estas ventanas temporales. Por lo tanto. REPRESENTACION 29 sonido y el espectro no contiene informaci´ on de tipo temporal. ´ CADIZ. la informaci´ on que entrega es altamente dependiente de los par´ ametros que se utilicen para su c´ alculo.8. son en cierto sentido complementarias. Un sonograma consiste b´ asicamente en un eje tridimensional donde se grafica la magnitud del espectro de un sonido versus el tiempo. Esto se logra mediante la subdivisi´ on de la se˜ nal de audio en varias peque˜ nas ventanas de tiempo. si bien cada una de estas representaciones basta por s´ ı sola para determinar un´ ıvocamente un sonido. el tama˜ no de cada ventana y el porcentaje de traslape. EL SONIDO ´ CADIZ. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . R.30 CAP´ ITULO 2. Las variables f´ ısicas del sonido estudiadas en el cap´ ıtulo anterior no constituyen una representaci´ on fidedigna de lo que ocurre en el mundo perceptual. incluso si ´ estos ocurren en forma asincr´ onica. En estos casos. Una vez que una onda sonora proveniente del mundo f´ ısico ingresa al sistema auditivo humano. se suceden una serie de reacciones en forma casi instant´ anea que producen como resultado una representaci´ on mental de lo escuchado.1. en ciertas situaciones hay sonidos que bloquean a otros sonidos. Por ejemplo. Esto se conoce como la m´ ınima diferencia notoria y usualmente se abrevia como JND (del ingl´ es just noticeable difference). Tambi´ en se conoce como umbral diferencial o limen diferencial. Tal como veremos en este cap´ ıtulo. 31 . 3. la percepci´ on sonora est´ a basada en fen´ omenos bastante complejos. al presentarse todas juntas algunas de ellas simplemente no se perciben.1. Una forma de estudiar la percepci´ on es medir el m´ ınimo cambio de alguna variable que produzca efectivamente un cambio notorio en la percepci´ on de alg´ un est´ ımulo. Conceptos b´ asicos M´ ınima diferencia notoria La psicoac´ ustica intenta medir o cuantificar la percepci´ on de los sonidos.Cap´ ıtulo 3 Psicoac´ ustica La psicoac´ ustica es la ciencia que estudia la percepci´ on de los sonidos. si se percibir´ ıan. Este fen´ omeno se conoce como enmascaramiento.1. que no corresponde exactamente a lo que sucede en el mundo f´ ısico. a pesar de que si cada uno de estos sonidos se presentaran por separado. si bien todas las ondas sonoras en juego existen en el mundo f´ ısico. 3. 3. el cambio entre dos valores de una variable se percibe de acuerdo a la raz´ on entre ellos. PSICOACUSTICA Usualmente. 3. Incluso. sin mirar nada m´ as que las hojas. Cuando se est´ a midiendo la percepci´ on de alg´ un est´ ımulo. mayor es la diferencia que se necesita para producir un cambio en la percepci´ on de ese est´ ımulo. la idea es poder responder preguntas como: 1. la m´ ınima diferencia notoria var´ ıa de persona a persona y de acuerdo al m´ etodo de medici´ on.32 ´ CAP´ ITULO 3.2. Modos de percepci´ on Existen dos modos principales de percepci´ on: lineal y logar´ ıtmico. ¿Qu´ e barco esta m´ as cerca? ´ CADIZ. describe la siguiente analog´ ıa: supongamos que estamos frente a un lago.1) donde k es una constante. En cada surco se coloca una hoja de ´ arbol. Matem´ aticamente. la percepci´ on de sonidos por parte del sistema auditivo humano es altamente logar´ ıtmica. S´ olo analizando el movimiento de ambas hojas. puede cambiar para la misma persona. entonces se cumple que: ∆I =k I (3. El sistema auditivo humano En su famoso libro “Auditory Scene Analysis”.1. Albert Bregman [5]. R. el cambio entre dos valores de una variable se percibe sobre la base de la diferencia entre ambos valores.2. esta ley afirma que la m´ ınima diferencia notoria es proporcional a la magnitud del est´ ımulo original. Ley de Weber La Ley de Weber es una ley obtenida experimentalmente a trav´ es de experimentos perceptuales. del cual salen dos surcos largos y angostos hacia la orilla. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . si tenemos un est´ ımulo I y nos interesa entonces medir la m´ ınima diferencia ∆I que producir´ a un cambio efectivo en la percepci´ on de I .1. ¿Cu´ antos barcos hay en el lago y donde est´ an? 2. Tal como se ver´ a a continuaci´ on. la cual se mover´ a a medida que el agua del lago fluya hacia los surcos. si las condiciones externas son modificadas. 3. Esto significa que a mayor intensidad de est´ ımulo. En el segundo. En el primer caso.3. El o´ ıdo Sin duda el uno de los componentes m´ as importantes del sistema auditivo humano es el o´ ıdo. Nuestro sistema auditivo. 3. El o´ ıdo se encarga de convertir las ondas de presi´ on ac´ ustica en impulsos nerviosos que le permiten al cerebro crear una representaci´ on mental de la sensaci´ on auditiva. lo que causa una onda de propagaci´ on del l´ ıquido contenido ´ CADIZ.1 muestra las partes y componentes m´ as importantes del o´ ıdo humano. es capaz de generar una idea muy precisa de nuestro entorno auditivo. ¿Hay viento? 5.2. no necesitamos realizar ning´ un esfuerzo para responder acertadamente preguntas c´ omo ¿Cu´ anta gente est´ a hablando? o ¿Qui´ en suena m´ as fuerte o est´ a m´ as cerca? o ¿Hay alg´ un m´ aquina haciendo ruido de fondo?. a trav´ es del canal auditivo. R.2. bas´ andose u ´nicamente en el an´ alisis del patr´ on de variaciones en ambos t´ ımpanos. El sonido es modificado en t´ erminos de su contenido de frecuencias por el o´ ıdo externo. Tal como se puede observar en la figura. o´ ıdo medio e o´ ıdo interno. donde hay muchas fuentes sonoras de todo tipo interactuando al mismo tiempo. El funcionamiento general del o´ ıdo es el siguiente: cuando una onda sonora llega al o´ ıdo viaja desde el pabell´ on auricular o pinna hasta el t´ ımpano. se detallan los principales componentes de nuestro sistema auditivo. ¿Ha caido alg´ un objeto grande sobre el lago? 6. Nuestros t´ ımpanos equivalen a las hojas depositadas en los surcos.1. El t´ ımpano se encarga de traspasar el patr´ on de vibraciones de presi´ on hacia el o´ ıdo medio al hacer contacto con tres diminutos huesecillos. Cada una de ´ estas partes cumplen roles espec´ ıficos en el proceso general de la audici´ on. ¿Hay alg´ un nadador y qu´ e tan rapido nada? 33 Esto puede parecer una misi´ on imposible. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . La figura 3. el o´ ıdo humano est´ a dividido en tres partes principales: o´ ıdo externo. A continuaci´ on.3. EL SISTEMA AUDITIVO HUMANO 3. lo que t´ ıpicamente de conoce en ingl´ es como el cocktail party problem. ¿Cual es m´ as potente? 4. El sistema auditivo humano se extiende desde el o´ ıdo externo hasta la corteza cerebral y es capaz de realizar una cantidad impresionante de operaciones complejas en muy poco tiempo. que a su vez traspasan la vibraci´ on hacia la ventana oval. Pero la verdad es que el sistema auditivo humano hace este tipo de an´ alisis todo el tiempo y a una velocidad extremadamente alta. Suponiendo que nos encontremos en una fiesta muy ruidosa. 1: El o´ ıdo humano al interior de la c´ oclea. R. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . PSICOACUSTICA Oido Externo Pabellon auricular Oido interno Conductos semicirculares Nervio auditivo Timpano Canal auditivo (Martillo. estimulando las c´ elulas ciliares de la membrana basilar. De esta manera. El efecto de la pinna es atenuar y enfatizar cierto contenido de frecuencias y juega un rol fundamental en la localizaci´ on de sonidos.5 cm y act´ ua como ´ CADIZ.34 Oido medio ´ CAP´ ITULO 3. yunque. A continuaci´ on se detalla el funcionamiento de cada una de las partes del o´ ıdo. El canal auditivo mide alrededor de 2. O´ ıdo externo El o´ ıdo externo est´ a constituido por el pabell´ on auricular o pinna . el canal auditivo y el t´ ımpano. la que est´ a conectada a un gran n´ umero de terminales nerviosos que env´ ıan a su vez se˜ nales el´ ectricas al cerebro. el cerebro puede recibir la informaci´ on proveniente de la onda sonora para su posterior procesamiento. estribo) Huesecillos Coclea o caracol Trompa de Ventana Oval Eustaquio Figura 3. lo cual otorga protecci´ on contra sonidos muy intensos. pero no protege contra sonidos muy intensos y s´ ubitos. ya que los canales semicirculares. Claramente se puede observar que el canal auditivo enfatiza el rango desde 1 a 4 kHz. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL .2 detalla la respuesta de frecuencia del canal auditivo. Pero ´ CADIZ. El t´ ımpano vibra en respuesta al sonido y transmite esta vibraci´ on de presi´ on en forma de vibraci´ on mec´ anica hacia el o´ ıdo medio. EL SISTEMA AUDITIVO HUMANO 35 un resonador para el rango de frecuencias entre 1000 y 4000 Hz. yunque y estribo. si bien se encuentran all´ ı. no tienen rol alguno en la audici´ on.3. El rol que cumple el canal auditivo. siendo el m´ aximo alrededor de 3000 Hz. La vibraci´ on de estos huesitos puede ser amortiguada por un m´ usculo anexado a ellos llamado stapedius. Figura 3. O´ ıdo interno El o´ ıdo interno consiste b´ asicamente de la c´ oclea. O´ ıdo medio El o´ ıdo medio act´ ua como un transductor de vibraci´ on.2: Respuesta de frecuencia del canal auditivo La figura 3. como un disparo. Su rol es amplificar la vibraci´ on de presi´ on mediante un sistema mec´ anico. los cuales hacen contraer este m´ usculo. es el de optimizar la se˜ nal ac´ ustica del tal forma de resaltar la voz humana.2. R. por lo tanto. Esto corresponde al rango de la voz humana hablada. Esto se hace mediante tres huesitos llamados martillo. 5 veces sobre s´ ı mismo.3: Secci´ on del o´ ıdo interno La c´ oclea es un pasaje angosto. En su fondo se encuentra la membrana basilar. Esta vibraci´ on es transmitida por el nervio auditivo al cerebro para su procesamiento. scala vestibula y scala media. Estas zonas est´ an unidas por el helicotrema y contienen flu´ ıdos de distintas densidades que vibran de acuerdo a la onda transmitida por el sistema mec´ anico del o´ ıdo medio. lleno de l´ ıquido incompresible. La figura 3. La c´ oclea se muestra desenrollada en ´ este corte. conectada a la ventana oval y termina en el apex. la cual est´ a dividida en tres secciones: scala tympani.2.4 muestra un corte perpendicular de la c´ oclea. Figura 3. El di´ ametro de este pasaje es de 2 mm y su largo es 35 mm. largo y enrollado 3. 3. en el helicotrema.3 muestra un esquema que representa un corte del o´ ıdo interno. Membrana basilar El ´ organo de corti es el lugar donde ocurre la producci´ on de impulsos nerviosos. La membrana basilar responde a est´ ımulos sonoros y causa vibraci´ on en algunas de las 3500 c´ elulas ciliares. PSICOACUSTICA si tienen un rol fundamental en el equilibrio. con sus componentes principales. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . Al presionarse lentamente la ventana ´ CADIZ. La membrana basilar separa la scala media de la scala tympani. Estos flu´ ıdos transmiten una onda de propagaci´ on que estimula la membrana basilar. La figura 3. es por esto que una infecci´ on en el o´ ıdo interno usualmente afecta la capacidad de mantener el equilibrio.36 ´ CAP´ ITULO 3. lugar donde se codifica la informaci´ on sonora. conectadas a la membrana tectorial encima de ellas.2. R. con forma de caracol. La membrana basilar comienza en la base. R. La membrana basilar entonces responde en forma diferente ´ CADIZ. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . EL SISTEMA AUDITIVO HUMANO 37 Figura 3. Si la ventana oval se presiona en forma r´ apida. la ventana redonda tambi´ en se ve presionada porque el volumen de l´ ıquido al interior de la c´ oclea es constante.5: La membrana basilar desenrrollada oval. Esta onda no puede pasar m´ as all´ a de un punto determinado. se produce una onda en la membrana basilar que viaja desde la ventana oval hacia el helicotrema. dependiendo de la frecuencia a la cual vibra la membrana basilar.4: Secci´ on perpendicular de la c´ oclea Figura 3.3.2. Como cada punto de la membrana basilar alcanza un desplazamiento m´ aximo a distintas frecuencias. PSICOACUSTICA dependiendo de la frecuencia presente en su base. Este hecho explica fen´ omenos como el enmascaramiento y la raz´ on por la cual la teor´ ıa de la posici´ on (ver secci´ on 3.38 ´ CAP´ ITULO 3. es posible estudiar la respuesta de la membrana en forma global de acuerdo a la frecuencia.5) para la percepci´ on de alturas no funciona para las bajas frecuencias. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . Esto significa que sonidos graves pueden enmascarar a sonidos agudos. En la figura 3. Es f´ acil de observar que el punto de m´ axima ´ CADIZ.6 muestra los patrones de vibraci´ on de la membrana basilar para tonos de distintas frecuencias fundamentales. Las frecuencias bajas estimulan tanto el apex como la base.6: Patrones de vibraci´ on en la membrana basilar El punto de m´ aximo desplazamiento de la membrana basilar est´ a cerca del apex para frecuencias bajas y cerca de la base para las altas frecuencias.5 se muestra un dibujo de la membrana basilar desenrrollada y se indican los puntos que resuenan de acuerdo a la frecuencia del est´ ımulo recibido. La figura 3. pero no al rev´ es. 25 Hz 50 Hz 100 Hz 200 Hz 400 Hz 800 Hz 1600 Hz 0 10 20 30 Figura 3. No as´ ı las altas frecuencias. que est´ a conectada a la ventana oval. R. que est´ an confinadas a la zona basal. Es como si ciertas ´ areas del cerebro fueran sensibles a s´ olo un grupo reducido de frecuencias. incluso al m´ as alto nivel.7: Esquema del ´ organo de corti. R.4. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . C´ elulas auditivas En la figura 3. es decir existen ´ areas del cerebro organizadas espacialmente en torno a distintos rangos de frecuencia. como es la corteza auditiva. Esto indica que hay algo fundamental en torno a la frecuencia en la respuesta del cerebro al sonido. Hay dos tipos de c´ elulas auditivas: internas y externas. EL SISTEMA AUDITIVO HUMANO excitaci´ on de la membrana var´ ıa con la frecuencia de entrada. La superficie del cerebro contiene el final neuronas cuyos axones est´ an debajo de esta superficie y las distintas regiones del cerebro se interconectan por esta causa. que son las encargadas de transmitir la informaci´ on proveniente de la membrana basilar en forma de impulsos el´ ectricos hacia el nervio auditivo y la corteza auditiva.3. Figura 3.2. ´ CADIZ. Las c´ elulas internas est´ an compuestas por fibras que env´ ıan pulsos hacia el cerebro.7 se muestra un esquema del ´ organo de corti.2. Las c´ elulas externas est´ an compuestas por fibras que reciben pulsos nerviosos provenientes de las ´ areas superiores del sistema auditivo.2.3. que contiene las c´ elulas auditivas o ciliares 3. 39 3. El cerebro auditivo El cerebro funciona como una superficie 2D (materia gris) altamente convolucionada. el cual se encuentra entre la membrana basilar y la membrana tectorial. La corteza auditiva esta organizada tonot´ opicamente. Contiene en su interior las c´ elulas ciliares o auditivas. PSICOACUSTICA 3. las frecuencias cercanas a la frecuencia original tienen mucho efecto sobre la sensaci´ on de intensidad del sonido.8. La intensidad percibida no es afectada. El ancho de banda de cada filtro auditivo se denomina banda cr´ ıtica (Fletcher (1940) citado en (Gelfand 2004).8: Esquema de las bandas cr´ ıticas del sistema auditivo humano Las bandas cr´ ıticas. y el ancho de banda y morfolog´ ıa de cada filtro depende de su frecuencia central. Al momento de estudiar ´ este aspecto de nuestra audici´ on es fundamental el concepto de banda cr´ ıtica. 1998)). Intensidad (dB) f Figura 3. esquematizadas en la figura 3.40 ´ CAP´ ITULO 3. Bandas cr´ ıticas y enmascaramiento Una caracter´ ıstica fundamental del sistema auditivo humano es su capacidad resoluci´ on de frecuencia e intensidad. en cambio. son rangos de frecuencia dentro de los cuales un sonido bloquea o enmascara la percepci´ on de otro sonido. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . Este banco de filtros no sigue una configuraci´ on lineal. Por lo tanto. Una forma de entender el funcionamiento del sistema auditivo es suponer que contienen una serie o banco de filtros pasa banda sobrelapados conocidos como filtros auditivos (Fletcher (1940) citado en (Moore. excitando a los nervios de toda el ´ area vecina. en la presencia de sonidos fuera de la banda cr´ ıtica. Es importante destacar aqu´ ı que el concepto de banda cr´ ıtica es una ´ CADIZ. Las bandas cr´ ıticas conceptualmente est´ an ligadas a lo que sucede en la membrana basilar. R. ya que una onda que estimula la membrana basilar perturba la membrana dentro de una peque˜ na ´ area m´ as all´ a del punto de primer contacto. Estos filtros se producen a lo largo de la membrana basilar y tienen como funci´ on aumentar la resoluci´ on de frecuencia de la c´ oclea y as´ ı incrementar la habilidad de discriminar entre distintos sonidos.3. Enmascaramiento El enmascaramiento ocurre cuando la presencia de un sonido.1.Esta medida muestra la relaci´ on entre el conducto o canal auditivo y el ancho de banda de un filtro auditivo. abordada en la secci´ on 3.7(4. La figura 3. Existe una escala de medici´ on de las bandas cr´ ıticas llamada la escala de Barksla cual se detalla en la tabla 3. llamado m´ ascara. Esto ocurre si es que ambos sonidos se encuentran dentro de la misma banda cr´ ıtica.3.37f + 1) (3.1 pero no es tan utilizada. BANDAS CR´ ITICAS Y ENMASCARAMIENTO construcci´ on te´ orica y no algo f´ ısicamente comprobado. Escala de Barks y ERB Una inquietud que surge de inmediato es preguntarse cuantas bandas cr´ ıticas existen en el sistema auditivo y cual es la frecuencia central de cada una. La ERB se calcula mediante la siguiente ecuaci´ on: ERB = 24. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL .3. o ERB. hace inaudible otro sonido que ser´ ıa perfectamente audible en la ausencia de la m´ ascara. 3.10. pero difieren en algunos detalles.2) Otro concepto asociado al concepto de banda cr´ ıtica es el equivalente rectangular de ancho de banda.22 muestra la escala de Barks. de manera de permitir en su interior la misma cantidad de energ´ ıa. Si existe m´ as de un sonido o se incrementa la energ´ ıa ´ CADIZ. Ambas tienen curvas parecidas. Basta con que exista algo de energ´ ıa al interior de una banda cr´ ıtica para que ´ esta se active y el sistema auditivo perciba actividad en esa banda.5. tal como lo muestra la figura 3. basado en la escala ERB. La relaci´ on entre un Bark y un Hz est´ a dada por: Bark = 13 arctan(0.5 arctan(( f 2 ) ) 7500 (3. El sistema auditivo no es capaz de diferenciar dos sonidos al interior de una banda cr´ ıtica.2. R. La idea de esta medida es reemplazar una banda cr´ ıtica por un rect´ angulo equivalente cuya ´ area sea la misma.3) La figura 3.00076f ) + 3.3. Esta escala tiene relaci´ on con la escala mel. La escala tiene un rango del 1 al 24 y corresponde a las primeras veinticuatro bandas cr´ ıticas del sistema auditivo.1.3.3. por sus siglas en ingl´ es. 41 3. la ERB y la escala mel en funci´ on de la frecuencia.9 muestra una aproximaci´ on computacional a los filtros auditivos. Entonces. esto no cambia la informaci´ on desde el punto de vista del sistema auditivo. para estimaci´ on de las bandas cr´ ıticas del sistema auditivo al interior del filtro. min. (Hertz) 100 200 300 400 510 630 770 920 1080 1270 1480 1720 2000 2320 2700 3150 3700 4400 5300 6400 7700 9500 12000 15500 Frec. La codificaci´ on perceptual de audio. PSICOACUSTICA Ancho de banda (Hertz) 100 100 100 110 120 140 150 160 190 210 240 280 320 380 450 550 700 900 1100 1300 1800 2500 3500 6550 Frec. (Hertz) 100 200 300 400 510 630 770 920 1080 1270 1480 1720 2000 2320 2700 3150 3700 4400 5300 6400 7700 9500 12000 15500 22050 Cuadro 3. detallada en la secci´ on 3.1: Escala de Barks. R. se basa fuertemente en ´ este fen´ omeno para reducir la cantidad de informaci´ on necesaria para almacenar y reproducir una se˜ nal sonora. si un sonido se encuentra al interior de una banda cr´ ıtica de otro sonido y si su amplitud no es lo suficientemente grande como para traspasar el umbral de dicha banda y activar otra banda cr´ ıtica cercana.42 Banda cr´ ıtica (Bark) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Frec. ´ CADIZ. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . se produce el fen´ omeno denominado enmascaramiento. max. central (Hertz) 50 150 250 350 450 570 700 840 1000 1170 1370 1600 1850 2150 2500 2900 3400 4000 4800 5800 7000 8500 10500 13500 18775 ´ CAP´ ITULO 3.8. 11. El ancho de banda de una m´ ascara constitu´ ıda por ruido blanco se ensancha cont´ ınuamente y se mide el nivel de enmascaramiento que produce respecto a una se˜ nal de prueba.3. 3. se est´ a en la presencia de los l´ ımites de la banda cr´ ıtica en medici´ on.10: Enmascaramiento Las bandas cr´ ıticas pueden medirse en funci´ on del enmascaramiento que producen de acuerdo al procedimiento descrito en la figura 3.3. Midiendo la banda cr´ ıtica El tipo de enmascaramiento m´ as com´ un es el que se denomina simult´ aneo. es decir cuando la m´ ascara y el sonido enmascarado coinciden en el tiempo.9: Banco de filtros auditivos Intensidad (dB) Banda crítica o filtro auditivo Enmascarador Señal Cantidad de enmascaramiento en la misma banda crítica que la señal f Figura 3. BANDAS CR´ ITICAS Y ENMASCARAMIENTO Banco de filtros auditivos 43 Amplitud 0 500 1000 1500 2000 2500 Frecuencia (Hz) 3000 3500 4000 Figura 3.3. R.3. ´ CADIZ. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . Una vez que se alcanza el punto sobre el cual el enmascaramiento no cambia significativamente al agrandarse el ancho de banda. PSICOACUSTICA señal máscara tiempo señal máscara tiempo señal máscara tiempo señal máscara tiempo Figura 3. La figura 3. R.12.44 ´ CAP´ ITULO 3.11: Medici´ on de la banda cr´ ıtica tal como lo muestra la figura 3. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . señal máscara tiempo Figura 3.14 muestra lo que se denomina enmascaramiento hacia adelante (forward masking en ingl´ es) ´ CADIZ. que ocurre cuando la m´ ascara se encuentra antes o despu´ es del sonido enmascarado en el tiempo.12: Enmascaramiento simult´ aneo Pero existe tambi´ en enmascaramiento de tipo temporal.13 muestra lo que se denomina enmascaramiento hacia atr´ as (backward masking en ingl´ es) y la figura 3. Tal como sucede con la percep´ CADIZ. que corresponde a la m´ ınima intensidad necesaria para percibir un sonido y en la parte superior el umbral del dolor.14: Enmascaramiento hacia adelante 3. En el idioma castellano no existe un t´ ermino equivalente y en el presente texto se utilizar´ a la expresi´ on intensidad perceptual para referirse a la medida perceptual de la intensidad de un sonido. Claramente.3. la percepci´ on de intensidad no es uniforme para todas las frecuencias. correspondiente a la m´ axima intensidad que nuestro sisema auditivo es capaz de tolerar. Tal como se puede apreciar. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL .4. La sensaci´ on de intensidad perceptual depende principalmente de la cantidad de energ´ ıa ac´ ustica recibida por el o´ ıdo. En la l´ ınea mas gruesa se muestran los l´ ımites de la audici´ on humana. Intensidad perceptual (loudness) La figura 3. la idea es determinar que tan fuerte suena algo.4. INTENSIDAD PERCEPTUAL (LOUDNESS) señal tm tiempo máscara 45 Figura 3. En el idioma ingl´ es existe el t´ ermino loudness para referirse a la intensidad perceptual de un sonido y diferenciar ´ esta medida de la intensidad f´ ısica.13: Enmascaramiento hacia atr´ as máscara señal tm tiempo Figura 3. R. Para comenzar a percibir un tono de 100 Hz se necesita una intensidad de unos 40 dB SPL mientras que para un tono de 2000 Hz s´ olo basta con una intensidad de unos 5 dB SPL. La percepci´ on de la intensidad de un sonido no corresponde exactamente a su intensidad f´ ısica. en la parte baja el umbral de audibilidad. Usando una expresi´ on coloquial. en funci´ on de la frecuencia. el rango entre 1 a 5 kHz es el m´ as f´ acil de percibir.15 muestra los umbrales de audibilidad del sistema auditivo humano. su intensidad perceptual ser´ a mayor a la suma de las intensidades individuales. un tono de 9 kHz a ´ CADIZ.46 ´ CAP´ ITULO 3. La figura 3. R. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . si las frecuencias de dos sonidos caen dentro de una cierta banda cr´ ıtica. Por ejemplo. En relaci´ on con las bandas cr´ ıticas. Por ejemplo. Sin embargo. siguiendo en forma casi exacta la ley de Weber.1. Estas curvas fueron inicialmente medidas por Fletcher y Munson y son denominadas contornos de intensidad equivalentes (en ingl´ es equal loudness contours).15: Umbrales de audibilidad ci´ on de altura.16 muestra una serie de curvas para las cuales la intensidad perceptual medida en fonos es constante. denominada escala de fonos. el motor tiene una intensidad perceptual de 65 fonos. de acuerdo a dichos contornos. si las frecuencias de dos sonidos est´ an fuera de esta banda cr´ ıtica.4. Un fono (phone en ingl´ es) se define como el nivel de un tono de 1000 Hz medido en dB SPL que iguala la intensidad percibida de un sonido de referencia. la intensidad de un sonido es percibida en forma logar´ ıtmica. si un motor el´ ectrico es igual en intensidad perceptual a un tono de 1000 Hz a 65 dB SPL. PSICOACUSTICA Figura 3. Escala de fonos y escala de sonos Existe una escala establecida para medir la intensidad perceptual. 3. su intensidad perceptual ser´ a la suma de sus intensidades individuales. un sonido tiene una intensidad perceptual de 2 sones si se juzga como el doble de intenso que un tono de 1000 Hz a 40 dB SPL.4. Esta ecuaci´ on nos indica que para sonidos sobre 40 dB. R. es posible determinar una relaci´ on matem´ atica entre la intensidad perceptual (L) y la intensidad f´ ısica (I ). el nivel de sonido total es constante. Para cada una de las curvas.16: Contornos de intensidad perceptual. Curvas ISO 226 para intensidad perceptual 140 47 120 Intensidad perceptual (fonos) 100 90 80 80 Nivel SPL (db) 70 60 60 50 40 40 30 20 20 10 0 0 Umbral de audibilidad −20 0 2000 4000 6000 8000 Frecuencia (Hz) 10000 12000 14000 Figura 3. norma ISO 226 Existe otra escala que permite medir la intensidad perceptual denominada escala de sonos. ´ CADIZ. Bas´ andose en informaci´ on proveniente de experimentos psicoac´ usticos. El ruido tiene mayor intensidad perceptual que un tono de referencia despu´ es de un cierto punto cr´ ıtico. INTENSIDAD PERCEPTUAL (LOUDNESS) 57dB tiene una intensidad perceptual de 50 fonos.3. Un son se define arbitrariamente como la intensidad perceptual de un tono de 1000 Hz a 40 dB SPL.4) donde k es una constante. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . dada por la siguiente ecuaci´ on: L = kI 0. Por lo tanto. la intensidad perceptual se duplica cuando el nivel de sonido es incrementado en 10 dB.3 (3. 48 ´ CAP´ ITULO 3. el cual depende de la distribuci´ on de energ´ ıa entre las altas y bajas frecuencias y no exclusivamente de la periodicidad de un sonido. de car´ acter sinusoidal o bien a la percepci´ on de la frecuencia o periodicidad. En el idioma castellano podr´ ıa traducirse como tono o altura. Usualmente. La visi´ on humana abarca en total unas 120 JND. Ambas palabras tienen inconvenientes. A pesar de estas limitaciones. lo que equivale a unas diez octavas. No existe una teor´ ıa que explique com´ CADIZ. El rango de frecuencias que percibe el sistema auditivo humano se extiende usualmente desde los 20 Hz hasta los 20. est´ a muy correlacionada con la frecuencia f´ ısica. pero hay investigadores que afirman que el rango de audici´ on humana va m´ as all´ a de los 20 kHz. el sistema auditivo humano abarca unas 5000 JND. PSICOACUSTICA 3. dada la t´ ıpica p´ erdida auditiva asociada a la edad. existe controversia sobre el l´ ımite superior. La resoluci´ on de frecuencia auditiva es muy superior a la resoluci´ on de frecuencia visual o la percepci´ on de color. Los mecanismos de percepci´ on de altura funcionan en forma distinta para las altas y bajas frecuencias. Esta depende de la frecuencia. La m´ ınima diferencia notoria (JND) de alturas es de alrededor de 1/30 ´ de la banda cr´ ıtica para una frecuencia determinada. la percepci´ on de periodicidad sonora es un fen´ omeno bi-dimensional. en realidad la palabra altura se refiere a s´ olo una de las dimensiones de esta medida. siempre teniendo en cuenta la otra dimensi´ on de color. es una medida de distancia y no aparece como muy apropiada para referirse a un fen´ omeno exclusivamente temporal. R. La altura. Altura (pitch) Tal como sucede con la intensidad perceptual. y se divide en lo que se llama en ingl´ es pitch height (que podr´ ıa traducirse como altura) y pitch chroma (color). Por otra parte. com´ unmente referido como tono puro. Existe evidencia que indica que el rango normal de una persona adulta no supera los 17 kHz como l´ ımite superior. lo que equivale a una octava. Adem´ as. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . La altura no debe confundirse con lo que se conoce como “brillo”. Si bien el l´ ımite inferior es com´ unmente aceptado. intensidad y la duraci´ on. Por lo tanto. En cambio. y la palabra tono se referir´ a a un sonido sinusoidal. en el idioma ingl´ es existe un t´ ermino especial para referirse a la percepci´ on de la periodicidad de un sonido. pero no existe una relaci´ on exacta uno a uno entre ellas. en el presente texto se utilizar´ a la palabra altura para referirse a la medida perceptual de la periodicidad de un sonido.000 Hz o 20 kHz.5. llamado pitch. la palabra altura proviene del espacio. tal como se ver´ a m´ as adelante. la palabra tono se refiere indistintamente a un tipo especial de sonido. que es un fen´ omeno puramente perceptual. como tambi´ en de cambios s´ ubitos en la frecuencia. que se refiere a la nota musical m´ as pr´ oxima a una determinada frecuencia f´ ısica y que se representa en forma circular. intervalo que implica una raz´ on 2:1. la altura posee realmente dos atributos. El primero efectivamente mide la altura de un sonido en una escala ascendente y el segundo mide algo que se podr´ ıa denominar como color o croma. porque hay un l´ ımite f´ ısico que impide a las neuronas disparar impulsos el´ ectricos a tasas mayores. La teor´ ıa de la posici´ on (o frecuencia) argumenta que la percepci´ on de alturas est´ a determinada por el lugar de m´ axima vibraci´ on en la membrana basilar. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . ALTURA (PITCH) 49 pletamente el funcionamiento de la percepci´ on de alturas por s´ ı sola y es necesario.5. entonces. tal como lo muestra la figura 3. dado que en este caso la membrana entera vibra con los sonidos graves y no ser´ ıa posible discriminar alturas usando solamente esta informaci´ on. recurrir a dos teor´ ıas distintas pero complementarias para explicar nuestra percepci´ on de alturas. La teor´ ıa temporal (o de periodicidad) considera que la altura percibida est´ a determinada por la distribuci´ on de los impulsos el´ ectricos en las neuronas auditivas. si no en base a la raz´ on entre ellas. cuando la frecuencia se duplica. la distancia entre los puntos de estimulaci´ on de la membrana basilar se encuentran aproximadamente a una distancia constante. La relaci´ on entre frecuencia. o por una espiral. Esta teor´ ıa funciona muy bien para altas frecuencias. Un ejemplo claro de aquello es justamente la octava. R. La altura es en realidad una medida bi-dimensional que puede ser mejor descrita en forma circular. denominados en ingl´ es pitch height y pitch chroma. lo que musicalmente se conoce como un intervalo musical. de unos 3. De acuerdo a esta idea. Cuando la frecuencia de un est´ ımulo sonoro se duplica. Esto se debe a que la estimulaci´ on en la membrana basilar ocurre en puntos espaciados de acuerdo a una funci´ on logar´ ıtmica de la frecuencia.17. medida en Hz. Esta es la raz´ on por la cual los seres humanos son capaces de reconocer las notas musicales independiente de la octava en que se encuentren. tal como se muestra en la figura 3.3. y la altura percibida no es lineal. Sucede que ´ estos impulsos el´ ectricos producidos por las neuronas se sincronizan con la frecuencia fundamental del est´ ımulo que est´ a siendo percibido. hasta unos 5 kHz. y no as´ ı para las bajas frecuencias. Esto implica que los seres humanos comparamos sonidos de distintas frecuencias no en base a la diferencia entre estas frecuencias.4mm para el caso de las altas frecuencias. Percep´ CADIZ. Esta representaci´ on fue propuesta por Roger Shepard en 1982. Esta teor´ ıa funciona para bajas frecuencias. En algunas situaciones es m´ as f´ acil determinar el croma de un sonido que su altura efectiva.6. Este fen´ omeno se conoce como sincronizaci´ on de fase (en ingl´ es phase locking). 50 ´ CAP´ ITULO 3. a los cuales se les aplica un envolvente de tipo Gaussiano. se percibe un incremento en la altura. la altura est´ a altamente correlacionada con la frecuencia fundamental de un sonido. Si el incremento es de 6 semitonos. Si se elevan las frecuencias de los componentes de frecuencia en un semitono. cuando hay una raz´ on 2:1 esta distancia se juzga como la misma. Ejemplo de esto son algunas ilusiones auditivas tales como los tonos de Shepard o de Risset. Pero cuando esto se repite 12 veces. R. Los tonos de Shepard se construyen con componentes sinusoidales separados por una octava.18.17: Pitch tualmente. PSICOACUSTICA Altura Fa Fa# Solb Do Mi Re# Mib Re Do# Reb Sol Si Sol# Lab La La# Sib Do Croma Figura 3. se vuelve al punto de partida y el sistema auditivo ya no es capaz de determinar si la altura ha subido o bajado. dise˜ nadas especialmente para enga˜ nar al sistema auditivo. Por lo general. alguna gente escucha ´ CADIZ. Sin embargo. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . independiente del rango de frecuencias donde ocurra. existe evidencia que muestra que la percepci´ on de altura no est´ a relacionada u ´nicamente con la fundamental. tal como se muestra en la figura 3. una octava. ALTURA (PITCH) un movimiento ascendente y otras uno descendente. en los cuales los parciales no se encuentran en una relaci´ on arm´ onica y los parciales est´ an separados por un poco m´ as de una octava. Esto se debe a que el sistema auditivo explica este fen´ omeno mediante el reemplazo del tono por parciales de frecuencias un poco menores que las existentes.18: Espectro de un tono de Shepard Otra variante de los tonos de Shepard. R. en la parte b) se aplica un filtro pasa bajo con frecuencia de corte entre f 0 y f 1 y en la parte c) un filtro pasa altos con la misma frecuencia de corte. En la figura se observa un experimento dividido en tres partes.3. f 1 y f 2. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . de otra manera. correspondiente a la frecuencia fundamental. Estas ilusiones demuestran que la percepci´ on de altura depende del patr´ on de arm´ onicos del sonido y no s´ olo de la frecuencia fundamental. Si se doblan las frecuencias de los parciales.5. En la parte a) se tiene una sinusoide pura con frecuencia fundamental f0 y un tono virtual compuesto por los tres primeros arm´ onicos f 0. ni siquiera depende de la presencia f´ ısica de un tono de la frecuencia correspondiente a la altura percibida.19. Esto sucede por que el sistema auditivo al encontrar los primeros arm´ onicos autom´ aticamente trata de encontrar alg´ un patr´ on que tenga sentido y concluye que lo m´ as evidente es que se trate de un tono con frecuencia fundamental f 0. Para probar ´ esta hip´ otesis. Contrariamente a lo que se pudiera pensar. En ´ CADIZ. aunque no est´ e presente f´ ısicamente. En ambos casos se percibe la misma altura. Este fen´ omeno se conoce como altura virtual y se muestra en la figura 3. la situaci´ on no le hace ning´ un sentido. Espectro de frecuencias de un tono de Shepard 51 Amplitud Frecuencia Figura 3. se percibe un descenso en la altura. son los de Risset. R. Para sonidos de bajas frecuencias la duraci´ on m´ ınima necesaria para percibir esa altura es considerablemente mayor que para tonos de frecuencias m´ as altas.19: Demostraci´ on de la existencia del tono virtual El fen´ omeno de la altura virtual por lo general s´ olo se presenta para frecuencias bajo 1000 Hz. En t´ erminos de la intensidad.52 ´ CAP´ ITULO 3. PSICOACUSTICA el caso b) la sinusoide no se percibe porque es eliminada por el filtro pasa bajos pero el tono virtual se percibe con la misma altura de antes.21. Para frecuencias sobre ´ este valor. ya que desaparecen los arm´ onicos que permit´ ıan su percepci´ on. Cambios en la intensidad de un sonido pueden generar peque˜ nos cambios en la altura percibida. En el caso c) la sinusoide se percibe ya que no es afectada por el filtro pasa altos. ´ CADIZ. La sensaci´ on de altura tambi´ en depende de otros factores. Esto se ejemplifica en la figura 3. tales como la intensidad y la duraci´ on. La altura tambi´ en est´ a condicionada por la duraci´ on de los est´ ımulos. Dependiendo de la frecuencia fundamental. tal como se muestra en la figura 3. la altura s´ olo se percibe cuando la fundamental correspondiente a esa altura est´ a efectivamente presente.20. la percepci´ on de una determinada depende de la intensidad del est´ ımulo. si la duraci´ on del est´ ımulo es muy corta el sistema auditivo no es capaz de generar la percepci´ on de una altura determinada. ya que el filtro en realidad no elimina nada. sinusoide f0 f0 tono virtual f1 f2 f3 a f0 pasa bajo f f0 pasa bajo f f1 f2 f3 b f f0 f0 pasa alto pasa alto f f1 f2 f3 c f f Figura 3. pero el tono virtual deja de percibirse. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . donde se muestra la percepci´ on de la altura en funci´ on de la duraci´ on. con un tono de 1000 mels.5. El nombre mel deriva de melod´ ıa. ALTURA (PITCH) 53 Figura 3. R. como una forma de explicitar que se trata de una escala basada en comparaciones entre alturas. Esta escala se conoce como la escala mel.1.20: Altura e intensidad Figura 3. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . que pueda representar de manera m´ as fidedigna nuestra percepci´ on de la periodicidad de un sonido. y fue propuesta por Stevens. ´ CADIZ.5.21: Altura y duraci´ on 3. Escala de mels Al igual como sucede con la intensidad perceptual y la escala de fonos y sonos. Volkman y Newmann en 1937. Esta escala se construye equiparando un tono de 1000 Hz y a 40 dBs por encima del umbral de audici´ on del oyente.3. es u ´til el contar con una escala perceptual de alturas. En consecuencia. Timbre ¿Qu´ e es el timbre? ¿C´ omo podemos definirlo? ¿C´ omo se caracteriza? ¿C´ omo se mide? ¿C´ omo se representa o anota musicalmente?. De hecho. cuatro octavas en la escala lineal de frecuencias medida en Hz se comprimen a alrededor de dos octavas en la escala mel.6.22 muestra la escala mel en comparaci´ on con la escala de Barks y la escala ERB. Claramente se aprecia su no linearidad respecto a la frecuencia. discutidas en la secci´ on 3. en claro contraste con la altura y la intensidad perceptual. el timbre ´ CADIZ. (a) Escala de mels 4000 Altura (mels) 3000 2000 1000 0 0 1000 2000 3000 4000 5000 6000 7000 Frecuencia (Hz) (b) Bandas críticas medidas en barks 8000 9000 10000 Banda crítica (barks) 30 20 10 0 0 1000 2000 3000 4000 5000 6000 7000 Frecuencia (Hz) (c) Bandas críticas medidas en ERBs 8000 9000 10000 40 30 ERB 20 10 0 0 1000 2000 3000 4000 5000 6000 Frecuencia (Hz) 7000 8000 9000 10000 Figura 3. sigue siendo un atributo auditivo mal entendido. Personas que tratan de entender se puede confundir tanto por su naturaleza como su definici´ on.22: Altura y duraci´ on La figura 3. El timbre. La relaci´ on entre mels (m) y Hz (f) es la siguiente: m = 1127.3. los intervalos de frecuencia espaciados exponencialmente son percibidos como si estuvieran espaciados linealmente.5) (3. PSICOACUSTICA Sobre los 500 Hz. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . sobre este punto.1.01048 ln(1 + y por lo tanto: f = 700(e 1127. R.54 ´ CAP´ ITULO 3.6) 3.01048 − 1) m f ) 700 (3. la duraci´ on (corta o larga). En 1885. Por ejemplo. Donnadieu enfatiza que el gran problema es que un s´ olo t´ ermino se refiere a muchas nociones diferentes. Schaeffer se˜ nal´ o que se puede hablar de . la ausencia de una definici´ on satisfactoria del timbre se debe principalmente a dos grandes problemas [12].6. la indicaci´ on de la fuente que nos es dada por la simple escucha. Fletcher lo define como esa caracter´ ıstica de la sensaci´ on que permite al oyente escuchar el tipo de instrumento que emite el sonido. El primero se refiere a la naturaleza multidimensional del timbre. Un sonido aislado ´ CADIZ. dos conceptos de timbre: uno relacionado con el instrumento. ni la intensidad. El vocabulario empleado para describir los distintos timbres de los sonidos producidos por instrumentos musicales indica su aspecto multidimensional. De acuerdo a su interpretaci´ on. que la simple habilidad de reconocer instrumentos. ni la duraci´ on. que es la calidad del tono cuando el la altura y la intensidad percibida var´ ıan. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . “brillante”. es entonces. Helmholtz propone una definici´ on de timbre limitada al estado de reposo de un sonido. En 1934. en contraste con al altura (baja o alta). El concepto de timbre. “opaco”. En 1938. sino m´ as bien como una caracter´ ıstica intr´ ınseca del sonido. El timbre puede describirse entonces en distintos t´ erminos: 1. M´ as a´ un. el timbre est´ a basado principalmente en la estructura arm´ onica de sus componentes de frecuencia. el comit´ e de est´ andares ANSI define el timbre como “el atributo de la sensaci´ on auditiva en t´ erminos de la cual un auditor puede juzgar dos sonidos que presentados en forma similar. y la otra en relaci´ on con cada uno de los objetos proporcionados por el instrumento y el reconocimiento de los efectos musicales en ellos. mucho m´ as general. Habr´ ıan. Seg´ un Donnadieu.3. o la intensidad (suave o fuerte). como no similares”. TIMBRE 55 es un atributo raro y multidimensional del sonido.el timbre de un sonido sin atribuirlo directamente a un determinado instrumento. “apagado” o “claro” son t´ erminos frecuentemente utilizados para describir los sonidos musicales. no es posible medir el timbre en forma unidimensional. De hecho. R. por lo tanto. El segundo problema est´ a relacionado con el hecho de que el timbre es un concepto que hace referencia a diferentes niveles de an´ alisis. Seashore lo liga al t´ ermino “Sonoridad”. teniendo la misma altura e intensidad percpetual. Un conjunto de sonidos de un instrumento y tambi´ en de la especificidad de cada sonido del timbre de un instrumento en particular 2. que se define justamente por lo que no es: no es ni la altura. percibida per se. s´ olo recientemente ha dado lugar a la experimentaci´ on sistem´ atica en la percepci´ on auditiva. En otras palabras. que se no se pueden asociar con una fuente natural conocida El concepto de timbre est´ a muy ligado al problema de la fuente. Es posible observar en la figura como cada parcial sigue una trayectoria distinta en el tiempo. Al momento de crear sonidos a trav´ es de la s´ ıntesis aditiva. incluso en un contexto musical. sonidos h´ ıbridos o quimeras. detallada en la secci´ on 5. es muy importante generar trayectorias din´ amicas en el tiempo para cada parcial. Hay dos enfoques o teor´ ıas prinicipales sobre el timbre. tan com´ un en la m´ usica electroac´ ustica y tratado en detalle en la secci´ on 7. sino que est´ a muy ligado a la evoluci´ on temporal de la informaci´ on que conlleva. temporales. los par´ ametros ac´ usticos (espectrales. En el caso de timbres producidos por el an´ alisis/res´ ıntesis.4.1. basado en la teor´ ıa ecol´ ogica propuesta por Gibson. La composici´ on de una compleja estructura sonora 5. PSICOACUSTICA 3.23 muestra parte del espectro de un sonido de trompeta. el timbre de un sonido complejo se compone de la informaci´ on pertinente para la identificaci´ on de fuentes de ruido o eventos. el espectro de un sonido cambia cont´ ınuamente en el tiempo.1. el n´ umero de arm´ onicos presentes en la se˜ nal y que frecuencias son enfatizadas a medida que pasa el tiempo. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . Una combinaci´ on de diferentes instrumentos 4.56 ´ CAP´ ITULO 3. Seg´ un este punto de vista. R. en t´ erminos de los atributos de los sonidos. Esto demuestra que el timbre no es algo est´ atico y dependiende u ´nicamente de la configuraci´ on o patr´ on de arm´ onicos. Al momento de analizar sonidos en t´ erminos de su timbre es importante estudiar qu´ e tan r´ apido decae la energ´ ıa en los arm´ onicos superiores. entre otras cosas. ´ CADIZ. sonidos nunca antes escuchados. El segundo enfoque. El escalamiento multidimensional o MDS ha sido fruct´ ıfero en la determinaci´ on de estas diferentes dimensiones de percepci´ on de timbre. el timbre de la percepci´ on es una funci´ on directa de las propiedades f´ ısicas del objeto sonoro. El objetivo de estos estudios es describir los par´ ametros f´ ısicos que son perceptualmente de inter´ es para el objeto que vibra. y espectrotemporal) de la se˜ nal sonora son procesadas por el sistema sensorial. Por el contrario. que describe las dimensiones de percepci´ on de timbre resumen. perceptivo y el resultado es el timbre de los sonidos complejos. La figura 3. Es importante destacar que el timbre no es un fen´ omeno est´ atico. ya que el timbre transmite la identidad de una fuente de sonido. En otras palabras. El primer modelo es el procesamiento de la informaci´ on. 7. deben ser conmensurables en n´ umero. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . CONSONANCIA Y DISONANCIA 57 Amplitud Frecuencia Tiempo Figura 3. R. En 1877 Helmholtz explic´ o la consonancia mediante la ley ac´ ustica de Ohm al afirmar que la altura que corresponde a cierta frecuencia s´ olo se puede escuchar si la onda acustica contiene energ´ ıa en esa frecuencia.5). Seg´ un esta idea. los que se muestran en la tabla 3.23: Trayectoria de arm´ onicos en la trompeta 3. Las ´ CADIZ. la consonancia se forma simplemente de acuerdo a razones entre frecuencias. en el mismo intervalo de tiempo.3. El primer enfoque se basa en las razones entre frecuencias de los distintos intervalos. algo que sabemos hoy que no es cierto (ver secci´ on 3. Existen varios enfoques distintos sobre las causas de la consonancia. Galileo Galilei formulo una teor´ ıa que afirma que “las consonancias son pares de tonos que llegan al o´ ıdo con una cierta regularidad.7. esta regularidad consiste en el hecho de que pulsos entregados por los dos tonos. de manera de no mantener el o´ ıdo en un tormento perceptual”. Helmholtz propuso que la disonancia aparece dado los abatimientos (beatings en ingl´ es) que se producen entre tonos adyacentes en tonos complejos y calcul´ o que la disonancia m´ axima aparecer´ ıa entre dos tonos puros cuando la raz´ on de abatimiento es de unos 35 Hz. Consonancia y disonancia Los fen´ omenos de la consonancia y disonancia han despertado el inter´ es de cient´ ıficos y estudiosos hace mucho tiempo.7. suenan consonantes. Por u ´ltimo. Esto se conoce como disonancia tonot´ opica. Por ejemplo. el ciclo de repetici´ on es largo. las teor´ ıas culturales dan cuenta de normas sociales. Stumpf (1890) argumenta que la fusi´ on tonal es la base para la consonancia. Kameoka y Kuriyagowa tambi´ en en 1965 encontraron que la m´ axima disonancia ocurre cuando la diferencia de frecuencia es aproximadamente un cuarto de la banda cr´ ıtica. el ciclo de repetici´ on de la se˜ nal combinada es relativamente corto. Si la diferencia de frecuencia entre dos tonos es mayor que una banda cr´ ıtica.2: Razones entre intervalos musicales teor´ ıas ac´ usticas explican el fen´ omeno basadas en las propiedades f´ ısicas de la se˜ nal ac´ ustica. Otras teor´ ıas de car´ acter psicoac´ ustico se basan en principios perceptuales del sistema auditivo humano. tal como la categorizaci´ on de intervalos musicales mediante entrenamiento. Las mayores consoancias se producen cuando los tonos tienden a sonar como uno ´ CADIZ. tal como la influencia de la membrana basilar. Seg´ un Irvine (1946). si es menor. Seg´ un Boomsliter y Creel (1961) la consonancia aparece cuando los disparos neuronales del sistema auditivo est´ an sincronizados. Plomp y Levelt llegaron a la conclusi´ on que la consonancia o disonancia depende m´ as de la diferencia entre frecuencias que de sus razones. Cuando la raz´ on de frecuencia entre los tonos no est´ an relacionados por razones sencillas. culturales o estil´ ısticas que son internalizadas por los auditores. En 1965.58 2:1 3:2 4:3 5:3 5:4 8:5 6:5 ´ CAP´ ITULO 3. PSICOACUSTICA Octava Quinta justa Cuarta justa Sexta mayor Tercera mayor Sexta menor Tercera menor Cuadro 3. una de las cuales es la raz´ on de frecuencias. Las teor´ ıas cognitivas se fundamentan en fen´ omenos cognitivos de nivel superior. la consonancia y disonancia est´ an relacionadas con el largo del per´ ıodo de un ciclo. entendi´ endose por fusi´ on a la propensi´ on de dos o m´ as tonos de fusionarse perceptualmente y sonar como un s´ olo tono complejo. Estudios bastante m´ as recientes han permitido una mayor comprensi´ on del fen´ omeno y relacionarlo con el concepto de banda cr´ ıtica. lo que se denomina teor´ ıa de sincron´ ıa de las descargas neuronales. cuando dos tonos est´ an relacionados por razones de frecuencia simples. suenan disonantes. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . R. 8. un momento disonante de acorde es cuando un acorde puede ser disonante hasta el extremo de generar una expectativa de resoluci´ on hacia otro acorde o progresi´ on arm´ onica. En un segundo nivel. La disonancia de pitch absoluto es el componente de la disonancia que aparece cuando un pitch es ambiguo para un auditor que posee o´ ıdo absoluto. (Wright and Bregman. 1987). la disonancia de centro tonal se manifiesta cuando un pasaje musical retiene un cierto centro tonal dominante. la disonancia aparece debido a la confusi´ on que pueden causar distintos flujos de eventos musicales. CODIFICACION 59 s´ olo. Resnick (1981). En la disonancia de categor´ ıa de intervalo. Se han determinado distintos tipos de disonancia de acuerdo al contexto donde ´ esta se inserta. introduciendo una cierta cantidad de ruido que podr´ ıa perfectamente caer dentro del rango de la audici´ on humana si se analiza en forma aislada. 1980 ) El primer nivel se denomina tono disonante. La disonancia temporal es el componente de la disonancia que aparece por la r´ apida fluctuaci´ on de amplitud o abatimientos. cuando el intervalo est´ a cerca de una categor´ ıa interv´ alica aprendida. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . Hay un u ´ltimo tipo de disonancia que es importante destactar denominada disonancia de expectaci´ on. la disonancia de resoluci´ on de altura aparece cuando el tiempo que toma resolver alturas de una se˜ nal completa es relativamente largo. Consiste en el componente de la disonancia que aparece debido al retraso de expectativas aprendidas. de modo general. La disonancia de altura virtual aparece por la compentencia entre alturas virtuales no resueltas (Terhardt. 1974).8. 3. la disonancia aparece cuando dos pitches forman un intervalo que es categ´ oricamente ambiguo para un auditor. Por u ´ltimo. y ocurre cuando un tono no acordal o no arm´ onico tiene una tendencia de resolver dentro del marco de un acorde o armon´ ıa subyacente. En el caso de la disonancia de flujo incoherente. y la disonancia aparece cuando al ´ area dominante finalmente se mueve hacia el ´ area original. Esto es.´ PERCEPTUAL DE AUDIO 3. en un m´ etodo para reducir la cantidad requerida de datos para representar una se˜ nal de audio digital. Codificaci´ on perceptual de audio La codificaci´ on perceptual de audio consiste. la codificaci´ on perceptual est´ a dise˜ nada de tal manera que el ruido generado por el codificador cae fuera de los l´ ımites de audici´ on humana en presencia de la se˜ nal original. Este m´ etodo inevitablemente genera p´ erdidas en t´ erminos de calidad. Existen tres niveles para este tipo de disonancia. Sin embargo. Por ejemplo. R. (Cazden. Esta distinci´ on es muy ´ CADIZ. Microsoft’s Windows Media Audio. En palabras m´ as simples. En el codificador. los datos de cada banda se pueden procesar de manera independiente y cada banda puede ser representada con un grado variable de resoluci´ on. Lucent’s PAC. capa 3. La idea fundamental de la codificaci´ on perceptual de audio es que la presencia de ciertos est´ ımulos auditivos pueden influenciar la habilidad del cerebro humano para percibir otros est´ ımulos. De esta forma. este tipo de algoritmos se basa fuertementente en le fen´ omeno de enmascaramiento. La idea es asignar una menor resoluci´ on en aquellas bandas de frecuencia que pueden ser representadas con una menor cantidad de informaci´ on. com´ unmene conocido como mp3.60 ´ CAP´ ITULO 3. a diferencia de los esquemas puramente num´ ericos o algor´ ıtmicos. OGG.24 muestra los componentes principales de una cadena de codificaci´ on perceptual.3. Hoy d´ ıa existen numerosos esquemas de compresi´ on basados en esta premisa. PSICOACUSTICA importante. R. descrito en detalle en la secci´ on 3. se aprovechan de las limitaciones del sistema auditivo humano.24: Esquema de un codificador perceptual de audio La figura 3. tales como µ-law o ADPCM. ya que los algoritmos de compresi´ on basados en percepci´ on. ´ CADIZ. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . AAC. BUFFER CODIFICADOR Entrada FFT UMBRAL ENMASCARADOR MUX ASIGNACIÓN DINÁMICA DE PARÁMETROS C A N A L D I G I T A L Salida DECODIFICADOR DEMUX ASIGNACIÓN DINÁMICA DE PARÁMETROS Figura 3. siendo el m´ as conocido el MPEG-1.2. Un codificador perceptual por lo tanto. no codifica aquellos componentes de la se˜ nal de audio que se ver´ an enmascarados por otros. pero existen muchos otros tales como MPEG layers 1-3. ATRAC (utilizado en los minidiscs) y Real Audio. la se˜ nal de entrada se descompone en m´ ultiples bandas de frecuencia. ahorrando de esta manera una considerable cantidad de datos perceptualmente redundantes e innecesarios. el proceso es ideal y sin p´ erdida. detallado en la secci´ on 4. La idea es cambiar el nivel de cuantizaci´ on de esa banda de manera de satisfacer la tasa de bits objetivo manteniendo la mayor cantidad de detalles posible.´ PERCEPTUAL DE AUDIO 3.2. CODIFICACION 61 debido principalmente al enmascaramiento. en esa zona de frecuencias. ´ CADIZ. al ser inaudibles. Cuando la resoluci´ on se reduce en alguna banda en particular. pero tambi´ en depende de si dispone de ancho de banda necesario para contener todo el detalle sonoro que los seres humanos somos capaces de percibir. Para decodificar se aplica una transformada inversa de manera de combinar las bandas y restaurar la se˜ nal original. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . La efectividad de un codificador perceptual depende de que tan bien puede modelar las limitaciones perceptuales del sistema auditivo humano.8. En el caso en que la resoluci´ on de una banda no se vea reducida. pueden descartarse de la se˜ nal y as´ ı disminuir la resoluci´ on. El codificador est´ a constantemente analizando la se˜ nal de entrada y toma decisiones acerca de que zonas del espectro se ven emascaradas y por lo tanto. crece el ruido de cuantizaci´ on.1. R. PSICOACUSTICA ´ CADIZ. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL .62 ´ CAP´ ITULO 3. R. Una se˜ nal continua (a) es primero muestreada en el tiempo para producir una versi´ on de tiempo discreto (b). tal como su nombre lo indica. como por ejemplo una onda de presi´ on ac´ ustica en el mundo f´ ısico. Luego.2. usualmente se hace mediante un computador. distanciados a intervalos regulares. An´ alogo versus digital Una se˜ nal continua o anal´ ogica es una que posee valores en cada instante de tiempo. el cual a su vez es un proceso que depende de dos operaciones: muestreo (sampling en ingl´ es). que consiste en aproximar valores continuos de la amplitud a un grupo de valores manejables en el computador. que consiste b´ asicamente en una secuencia discreta de n´ umeros. una se˜ nal discreta o digital s´ olo posee valores en ciertos instantes de tiempo. su amplitud es cuantizada.1. Una se˜ nal discreta no est´ a definida para valores intermedios de tiempo. proceso que se muestra en (c). ya sea mediante la s´ ıntesis o el procesamiento de una se˜ nal de audio digital. Una se˜ nal continua es convertida en una se˜ nal digital mediante un proceso denominado digitalizaci´ on .1.Cap´ ıtulo 4 Audio digital La m´ usica computacional. que corresponde a tomar muestras de la se˜ nal en el tiempo y cuantizaci´ on. 4. Bajo ciertas condiciones. Esto se visualiza claramente en la figura 4. Una se˜ nal digital tiene caracter´ ısticas especiales que la hacen muy diferente de una se˜ nal anal´ ogica. En contraste. es posible reconstruir desde (c) la se˜ nal original. la 63 . lo que implica aproximar su amplitud a un conjunto discreto de valores. En consecuencia es importante estudiar los principios b´ asicos de operaci´ on de un computador y la naturaleza de las se˜ nales digitales. Este proceso se visualiza en la figura 4. 3) 2π Al tratarse una se˜ nal digital de una secuencia de n´ umeros.64 CAP´ ITULO 4. una sinusoide con velocidad angular ω tiene una frecuencia temporal dada por ωfs (4. por lo general para analizar cualquier caracter´ ıstica de ella es necesario escoger una ventana f= ´ CADIZ. Al ser n meramente un ´ ındice que indica el n´ umero de muestra.2) donde A es la amplitud.. (4. Para poder escuchar un sonido digital es necesario escoger una tasa de muestreo. usualmente denotada fs . Una se˜ nal digital consiste en una secuencia de numeros. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . xn+2 . ω es la frecuencia angular y φ la fase inicial. Esto es. xn+1 . .xn−2 ... R. fs t = n.1: Se˜ nal an´ aloga versus digital que se muestra en (d). Una se˜ nal sinusoidal digital se escribe como: xn = A cos(ωn + φ) (4.. AUDIO DIGITAL Señal análoga y(t) t Señal digital y(n) n Figura 4. xn−1 . la cual ´ ındica cuantas muestras hay por unidad de tiempo. Por lo tanto. xn . t´ ıpicamente en un segundo.1) donde n corresponde al n´ umero de muestra y s´ olo toma valores enteros. las se˜ nales digitales de audio no tienen una dependencia intr´ ınseca con el tiempo. xM +1 . R. en la cual la secuencia digital se multiplica por una funci´ on rectangular pero presenta problemas sobre todo en los bordes. Hay muchas otras formas de ventanas que ´ CADIZ. xM +N −1 (4. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL .´ 4..2: Digitalizaci´ on de una se˜ nal an´ aloga de an´ alisis. dado que introduce un cambio muy brusco en la se˜ nal.4) Hay muchas formas de elegir una ventana apropiada. como se observa en el espectro de frecuencias de cada ventana. Esto es una ventana que comienza en una muestra M arbitraria y con un largo de N muestras: xM . lo que provoca que la se˜ nal se desparrame en la frecuencia. ANALOGO VERSUS DIGITAL 65 Figura 4. Una ventana ideal debiera tener un derramado los m´ as angosto y atenuado posible. El tipo de ventana indice directamente en lo que se denomina spectral leaking. La ventana m´ as simple es una de tipo rectangular.. que podr´ ıa traducirse como derramado espectral.1. .. el muestreo consiste en multiplicar una se˜ nal an´ aloga por un tren de impulsos unitarios discretos. Muestreo Este proceso consiste en tomar muestras de la se˜ nal continua cada cierto tiempo a intervalos constantes. La separaci´ on del los impulsos en el dominio del tiempo se conoce como per´ ıodo de muestreo y la separaci´ on en el dominio de la frecuencia la tasa de muestreo. hamming (b) y Hann (c). Ventana Rectangular Espectro de frecuencias a Ventana Hamming Espectro de frecuencias b Ventana Hann Espectro de frecuencias c Figura 4. Claramente. R.3 se muestran tres de las m´ as utilizadas: rectangular (a). respecto a las otras dos.1. y tratan de suavizar el efecto en los bordes. ´ CADIZ. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . En una forma m´ as precisa.1.4. tal como se muestra en la figura 4. AUDIO DIGITAL pueden resultar m´ as apropiadas para ciertas operaciones. La frecuencia a la cual se toman dichas muestra se conoce como tasa de muestreo.3: Algunas funciones de ventanas 4.66 CAP´ ITULO 4. la ventana Hann presenta un mejor derramado. en la figura 4. Para reconstruir la se˜ nal original desde la se˜ nal muestreada.4 muestra el proceso de muestro en los dominios del tiempo y de la frecuencia. separadas entre s´ ı de acuerdo a la tasa de muestreo. A primera impresi´ on. Esta operaci´ on genera infinitas r´ eplicas del espectro original.4: Muestreo de una se˜ nal digital Tal como se aprecia en la figura.´ 4. ANALOGO VERSUS DIGITAL G(f) g(t) 67 t -w w f -2fs -f s fs 2fs w fs -w w -w w Figura 4. en el dominio ´ CADIZ. pero en realidad no es as´ ı. En el tiempo.1. da la sensaci´ on de que se ha perdido informaci´ on. al muestrear se multiplica la se˜ nal por un tren de impulsos. Esto es bastante m´ as f´ acil de entender en el dominio de la frecuencia. En la frecuencia lo que sucede es que se convoluciona el espectro de la se˜ nal original con otro tren de impulsos. R. cuya separaci´ on entre impulsos sucesivos es inversamente proporcional al per´ ıodo de muestreo. Teorema del muestreo La figura 4. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . la se˜ nal muestreada consiste s´ olo en muestras de la se˜ nal original. en el dominio del tiempo. R. las r´ eplicas del espectro se traslapar´ an entre s´ ı y no ser´ a posible reconstruir el espectro original al filtrar con el pasa bajos. El proceso por el cual se discretiza la amplitud de una sonido en el computador se denomina cuantizaci´ on. sino tambi´ en en su amplitud. no es capaz de representar ni manipular una funci´ on continua de amplitud. clave tener una separaci´ on suficiente entre las r´ eplicas de manera que no interfieran unas con otras y pueda recuperarse el espectro original de la se˜ nal muestreada. la m´ axima frecuencia permitida en el espectro de la se˜ nal original se conoce como frecuencia de Nyquist. como lo muestra la figura 4. Cuantizaci´ on Una se˜ nal digital no solamente es discretizada en el tiempo. Dado que al filtrar el espectro original se obtiene en forma intacta. AUDIO DIGITAL de la frecuencia basta con filtrar la se˜ nal por un filtro pasa bajos con una frecuencia de corte tal que permita s´ olo aislar el espectro original. por su naturaleza discreta.6 muestra el caso de una se˜ nal submuestreada (con aliasi´ on) versus una se˜ nal sobremuestreada. no hay p´ erdida de informaci´ on alguna. Esto se debe a que el computador. En t´ erminos sonoros.6. Al muestrear una se˜ nal. tal como se puede observar en la figura 4. es necesario realizar una interpolaci´ on sinc.3. donde la tasa de muestreo es mayor a la m´ axima frecuencia de la se˜ nal original.68 CAP´ ITULO 4.2. Claramente la se˜ nal reconstruida en el caso submuestrado se encuentra distorsionada respecto a la original. Aliasi´ on Si la tasa de muestreo no es suficiente. ´ CADIZ. Este fen´ omeno se conoce como aliasi´ on. es decir una funci´ on sinc. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . ambas funciones definidas en la secci´ on 1. En el dominio del tiempo. Al reconstruir la se˜ nal mediante la interpolaci´ on sinc. La figura 4. este filtraje equivale a convolucionar con la transformada de Fourier de una funci´ on rectangular. Es por lo tanto.1. Es por esto que para reconstruir una se˜ nal muestreada en su forma anal´ ogica. 4. el fen´ omeno de la aliasi´ on es claramente audible ya que se introducen frecuencias en el espectro correspondientes a la diferencia entre la frecuencia de muestreo y la m´ axima frecuencia de la se˜ nal original.5. Por simple inspecci´ on es claro que la tasa m´ ınima de muestreo debe ser al menos el doble de la m´ axima frecuencia presente en el espectro original. se obtiene otra con una frecuencia bastante menor. Esto es claro de observar en el dominio del tiempo. Esta condici´ on se conoce como el teorema del muestreo. R.7. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL .1. La figura 4. Esto implica que genera distorsiones o errores no lineales.5: Aliasi´ on en el dominio de la frecuencia a) Señal sobremuestreada Señal original b) Señal submuestreada Señal original Pulso de muestreo Pulso de muestreo Señal reconstruida Señal reconstruida Figura 4.6: Aliasi´ on en el dominio del tiempo La cuantizaci´ on es un proceso claramente no lineal. como se muestra en la figura 4.8 muestra el proceso de la cuantizaci´ on de una se˜ nal anal´ ogica.´ 4. ANALOGO VERSUS DIGITAL s(f) 69 a) -w x(f) w f b) -f s -w x(f) w fs f c) -f s -w x(f) w fs f d) -fs -w w fs f Figura 4. ´ CADIZ. tal como se explica en la secci´ on 4. Esto depende de cada sistema. La diferencia que resulta de restar la se˜ nal de entrada a la de salida es el error de cuantizaci´ on. la medida en la que ha sido necesario cambiar el valor de una muestra para igualarlo a su nivel de cuantizaci´ on m´ as pr´ oximo. Esto claramente induce un error en la se˜ nal ´ CADIZ.7: Proceso de cuantizaci´ on La cuantizaci´ on se encarga de otorgarle a un rango de la se˜ nal una u ´nica salida. se utilizan 16 bits para representar la amplitud.8: Cuantizaci´ on de una se˜ nal anal´ ogica Los valores continuos de la se˜ nal son aproximados a 2n niveles de amplitud cuantizados donde n corresponde al n´ umero de bits disponible. esto es. R.2. En el caso del compact disc o CD. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . t Figura 4.70 CAP´ ITULO 4. AUDIO DIGITAL Θ6 5∆/2 Θ5 3∆/2 Q(xn) Θ4 ∆/2 −∆/2 Θ3 −3∆/2 Θ2 −5∆/2 Θ1 xn Figura 4. La resoluci´ on de la se˜ nal por ende tendr´ a relaci´ on con el numero de niveles que se tenga para codificar. Esto significa que hay 216 = 65536 niveles distintos para representar la amplitud. ´ 4.1. ANALOGO VERSUS DIGITAL 71 8d 7d 6d Amplitud de la señal 5d 4d 3d 2d 1d 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 Tiempo Error en la amplitud d/2 -d/2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 Tiempo Figura 4.9: Error de cuantizaci´ on cuantizada, a diferencia de lo que sucede con el muestreo, donde es posible reconstruir la se˜ nal original si se muestra a una tasa adecuada. +2 +1 0 -1 -2 a f Figura 4.10: Dithering El error de cuantizaci´ on puede ser audible dependiendo del contexto, por lo cual no es un tema menor. Una forma de minimizar el efecto de este ruido es mediante la adici´ on de una se˜ nal aleatoria llamada dither,, tal ´ CADIZ, R. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL 72 CAP´ ITULO 4. AUDIO DIGITAL como se muestra en la figura 4.10. Al aplicar esta se˜ nal aleatoria, se logra desestructurar el ruido de cuantizaci´ on y convertirlo en ruido uniforme, el cual es bastante menos audible que el ruido estructurado. 4.2. Sistema binario La unidad b´ asica de informaci´ on que un computador puede reconocer es un bit. Un bit representa el estado o posici´ on de un switch dentro del hardware del computador y solamente puede asumir dos estados: encendido o apagado (electr´ onicamente esto es equivalente a decir que por un cierto punto de un circuito pasa o no pasa corriente el´ ectrica). Normalmente el estado de encendido se representa por un 1 y el apagado por un 0. Un sistema de informaci´ on de este tipo, en el cual s´ olo hay dos estados posibles, se conoce como sistema binario. . La cantidad de informaci´ on que puede ser representada por un sistema binario depende del n´ umero de bits disponible. Por ejemplo, si s´ olo se cuenta con 2 bits, las u ´nicas posibilidades distintas de informaci´ on son: 00, 01, 10 y 11. En general, n bits pueden representar 2n estados distintos. Hexadecimal (base 16) 0 1 2 3 4 5 6 7 8 9 A B C D E F Decimal (base 10) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Octal (base 8) 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 Binario (base 2) 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 Cuadro 4.1: Representaci´ on num´ erica en distintos sistemas ´ CADIZ, R. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL 4.3. EL COMPUTADOR 73 Por lo general, los bits son agrupados en bytes, que corresponden normalmente a agrupaciones de ocho bits cada una. En consecuencia, un byte puede asumir 28 = 256 estados distintos. La tabla 4.1 muestra los n´ umeros del cero al quince representados en distintos sistemas: hexadecimal, decimal, octal y binario. Estos sistemas difieren en la base que utilizan. 4.3. El computador Un computador es b´ asicamente una m´ aquina que realiza dos funciones b´ asicas: ejecuta en forma muy r´ apida una secuencia de instrucciones (un programa) y almacena y recupera grandes cantidades de informaci´ on (datos). De acuerdo a esto, un computador puede caracterizarse por su velocidad de operaci´ on (medida en Hertz o ciclos por segundo), el tipo de instrucciones que puede ejecutar (esto determina el tipo de computador) y la capacidad de su memoria (medida en bytes). El t´ ermino hardware se refiere a la circuiter´ ıa electr´ onica que posee un determinado computador y software a los programas que dicho computador puede ejecutar. Dentro del hardware est´ an, entre otras cosas, el procesador, la memoria RAM, el disco duro, la placa madre, la tarjeta de sonido, el monitor y el lector de CD. Inclu´ ıdos en el software est´ an el sistema operativo y programas tales como procesadores de texto, planillas de c´ alculo, agendas y juegos. El sistema operativo es un conjunto de programas que permiten que el hardware funcione correctamente y que el usuario cree otros programas para usos m´ as espec´ ıficos. Figura 4.11: Estructura b´ asica de un computador En la figura numero 4.11 se puede apreciar la estructura b´ asica de un computador. En ella se aprecian cuatro unidades fundamentales: memoria ´ CADIZ, R. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL 74 CAP´ ITULO 4. AUDIO DIGITAL externa, entrada/salida, unidad central de procesos (CPU) y memoria interna. La Unidad Central de Procesos (CPU en ingl´ es), es el sistema central del computador. Controla la operaci´ on del sistema leyendo e interpretando instrucciones para el flujo de la informaci´ on. Estas instrucciones pueden tambi´ en tomar decisiones basadas en los datos que son almacenados en el computador o en dispositivos externos. Es esta propiedad de tomar decisiones la que diferencia a un computador de, por ejemplo, una simple calculadora. La memoria guarda tanto programas (instrucciones) como datos. Est´ a dividida en distintas particiones en las cuales la informaci´ on es almacenada. Cada partici´ on de memoria est´ a un´ ıvocamente asociada a un n´ umero de direcci´ on. La CPU utiliza este n´ umero tanto para almacenar como para leer la informaci´ on contenida en una partici´ on determinada. Cuando el computador es encendido, el harware interno le da a la CPU la direcci´ on de memoria que contiene la primera instrucci´ on de programa. La ejecuci´ on del programa comienza en este momento. Las instrucciones siguentes son obtenidas en forma secuencial a partir de las sucesivas direcciones de memoria a menos que el programa indique a la CPU que hay que hacer un salto a alguna direcci´ on de memoria distinta. Mientras la CPU est´ a ejecutando algo, el programa puede hacer referencias a direcciones de memoria distintas a las que contienen las instrucciones del programa ya sea para almacenar datos o para ejecutar otras instrucciones. El programa almacenado en memoria le otorga al computador la flexibilidad de ejecutar una gran cantidad de tareas diversas, porque el programa puede ser cambiado f´ acilmente cambiando s´ olo las direcciones de memoria. Esto no siempre fue as´ ı. Antiguamente los programas y los datos no compart´ ıan la misma memoria, por lo tanto los cambios en los programas eran dificultosos porque muchas veces implicaban tambi´ en cambio en el hardware. Pero a fines de 1940, John von Neumann llev´ o a cabo la idea de utilizar la misma memoria tanto para los datos como para los programas. Este nueva concepci´ on fue todo un hito en la historia de la computaci´ on, pues permiti´ o que los programas fueran tratados como datos. De esta manera, los programas pueden utilizarse para escribir otros programas, lo que facilita la labor del programador. Actualmente, el noventa por ciento de los computadores modernos utiliza la arquitectura de von Neumann. Existen dos tipos b´ asicos de memoria: ROM y RAM. La memoria ROM (Read Only Memory) es una memoria que no puede alterada durante el proceso normal de ejecuci´ on de la CPU. Por lo general, las instrucciones de inicializaci´ on de un computador est´ an contenidas en memoria de este tipo, ´ CADIZ, R. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL ´ DE COMPUTADORES 4.4. PROGRAMACION 75 de manera de garantizar que el computador siempre se reinicie de la misma manera. La memoria RAM (Random Access Memory) es una memoria vol´ atil, en el sentido de que puede ser le´ ıda y escrita por la CPU y una vez que el computador se apaga, su contenido es borrado. La cantidad de memoria RAM que un posee un computador determina el tama˜ no de los programas que ´ este puede ejecutar. Una instrucci´ on de CPU puede utilizar uno o m´ as bytes. La mayor´ ıa de los computadores utiliza instrucciones de largo variable: de esta manera se optimiza el uso de la memoria, dado que instrucciones m´ as simples necesitan menos memoria que las que son m´ as complejas. Para que el trabajo de la CPU sea u ´til, es necesario que ´ esta tenga acceso a informaci´ on externa y tenga los mecanismos necesarios para reportar el resultado de sus c´ alculos. El sistema en Entrada/Salida (Input/Output en ingl´ es, o simplemente I/O), permite a la CPU interactuar con una gran cantidad de dispositivos externos. Ejemplos de dispositivos de entrada son el teclado y el mouse y de salida el monitor o una impresora que permiten al usuario interactuar adecuadamente con el computador. Un ejemplo de este tipo de dispositivo es el disco duro, que constituye la memoria externa del computador. Este disco almacena datos y programas que no est´ an siendo utilizados por la CPU en un determinado momento y tiene la capacidad de guardar su contenido en el tiempo, es decir, su contenido no desaparece una vez que el computador es apagado. Otro ejemplo es el CD-ROM, dispositivo que permite guardar informaci´ on en un disco removible. Por lo general, este tipo de dispositivos tiene una capacidad de almacenamiento bastante mayor que la memoria RAM y pueden llegan al orden de 20 o m´ as Gigabytes (mil millones de bytes). Todas las instrucciones que ejecuta la CPU est´ an sincronizadas por un reloj interno que oscila con una frecuencia del orden de los 1000 MHz en el caso de los computadores m´ as modernos. Este sincronismo es necesario para que, por ejemplo, la CPU no trate de leer y escribir en una misma direcci´ on de memoria al mismo tiempo. La velocidad de oscilaci´ on de este reloj se conoce como la velocidad de operaci´ on del computador y determina el n´ umero de instrucciones por segundo que la CPU puede ejecutar aunque no necesariamente en una relaci´ on uno a uno. 4.4. Programaci´ on de computadores En general un computador puede ser programado para realizar cualquier tarea siempre y cuando el hardware y el sistema operativo lo permitan. El ´ CADIZ, R. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL el algoritmo debiera ser el siguiente: 1. 3. Leer la primera nota. es necesario contar con alg´ un grupo de programas que se encarguen de la operaci´ on b´ asica del computador y permitan la correcta operaci´ on de otros programas. En este caso. 6. Tambi´ en provee el orden necesario para que la CPU pueda cambiar de un programa a otro en forma correcta. Leer la siguiente nota. Un algoritmo puede describir. entonces ir al paso 4. Por lo general.5. el proceso de ejecuci´ on de una obra musical por parte de un pianista. Sistema operativo y sistema de archivos Dado que un computador por lo general tiene acceso a una gran cantidad de programas de distinta naturaleza. 4. Un sistema operativo no es m´ as que una colecci´ on de programas que prestan servicios u ´tiles para la operaci´ on del computador. 7.1) solamente pueden ejecutar un s´ olo programa a la vez. Por ejemplo. Era esta la u ´ltima nota? Si la respuesta es si. 8. AUDIO DIGITAL programador debe determinar un procedimiento o algoritmo que puede ser escrito como una secuencia de instrucciones que permiten realizar una tarea determinada. Fin del algoritmo. por ejemplo. Esto es lo que se conoce como sistema operativo. Contar la duraci´ on de la nota y soltar la tecla. Apretar la tecla apropiada en el piano. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . los sistemas operativos m´ as simples (como DOS o Windows 3.76 CAP´ ITULO 4. Ir al paso 5. Encontrar el inicio de la pieza. 2. El algoritmo debe describir claramente cada paso que el m´ usico debe seguir al ejecutar cada una de las notas de la pieza. un sistema operativo contiene el software necesario para la comunicaci´ on de la CPU con los dispositivos de Entrada/Salida. entonces ir al paso 8. 4. Cada paso del algoritmo debe ser especificado sin ambig¨ uedades y debe haber un camino (trazo) claro para que el algoritmo pueda ser completado. 5. R. Esto es porque la CPU est´ a exclusivamente dedicada a ejecutar un programa y no ´ CADIZ. Si la respuesta es no. Los archivos de datos pueden contener cualquier tipo de informaci´ on. Para manejar las grandes cantidades de informaci´ on de un sistema computacional.5. que se llaman subdirectorios. El elemento b´ asico de almacenamiento de informaci´ on reconocido por los sistemas operativos modernos es el archivo. Un archivo (file en ingl´ es).4. En la tabla 4. Pero los sistemas operativos m´ as avanzados (como UNIX) son multitarea (multitasking. el sistema operativo debe disponer de un sistema de archivos adecuado. Para referenciar un directorio determinado y no confundirlo con otros directorios. puede contener programas o datos indistintamente. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . la expresi´ on \Windows\Escritorio\Carpeta1. Por lo tanto. SISTEMA OPERATIVO Y SISTEMA DE ARCHIVOS Sistema Operativo DOS Windows 3. los archivos se agrupan en directorios o carpetas (folder en ingl´ es). Para ejecutar un programa que est´ a contenido en una memoria externa. Por ejemplo. Estos directorios pueden contener archivos y tambi´ en otros directorios. si se trata de un sistema operativo Windows. R. El dram´ atico aumento en la capacidad de almacenamiento de dispositivos tales como el disco duro o el CDROM obliga al sistema operativo a ser eficiente en el proceso de almacenar y recuperar grandes cantidades de bytes en un medio f´ ısico cada vez m´ as peque˜ no. El largo de un archivo est´ a determinado solamente por su contenido.12: Sistemas Operativos m´ as utilizados abandona la ejecuci´ on hasta que el programa termine o hasta que reciba una interrupci´ on de la ejecuci´ on.0 Windows 95/98 Windows NT MacOS Linux SunOS / Solaris AIX IRIX HP-UX Fabricante Microsoft Microsoft Microsoft Microsoft Apple No tiene (gratis) Sun Microsystems IBM Silicon Graphics Hewlett Packard Multitasking NO NO SI SI SI SI SI SI SI SI Multiusuario NO NO NO SI NO SI SI SI SI SI 77 Figura 4. da cuenta de ´ CADIZ. la CPU carga en la memoria principal el archivo apropiado y ejecuta la primera instrucci´ on que ´ este contenga.5 se pueden apreciar los sistemas operativos m´ as utilizados y alguna de sus caracter´ ısticas. los sistemas operativos utilizan ciertos caracteres delimitadores. en ingl´ es) y permiten que varios programas se ejecuten en forma simult´ anea y adem´ as que hayan varios usuarios conectados al sistema al mismo tiempo. El audio an´ alogo es captado por un transductor. Lo u ´nico que cambia es el caracter delimitador. que puede ser procesado o guardado en memoria externa por el computador. tiene una calidad superior ya que no se deteriora con el tiempo ´ CADIZ. Sin embargo.13 muestra las tres formas m´ as usuales del uso del computador en sistemas de audio.6. ´ esta es digitalizada (sampleada o muestreada) por un conversor an´ alogo/digital. el sonido debe estar representado en un formato que el computador pueda procesar. explicada en la secci´ on 4. R. 4. Dado que los computadores son binarios. un computador s´ olo puede procesar audio digital. Dado que la informaci´ on digitalizada contiene s´ olo n´ umeros y no una se˜ nal an´ aloga. El caso a) corresponde al proceso de grabaci´ on o procesamiento digital.78 CAP´ ITULO 4. En el caso de un sistema Macintosh esta expresi´ on ser´ ıa Windows:Escritorio:Carpeta1 y en el caso de un sistema Unix Windows/Escritorio/Carpeta1. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . que contiene a su vez un subdirectorio llamado Escritorio y que a su vez contiene otro subdirectorio llamado Carpeta1.1. La figura 4. es necesario digitalizar el audio para que el computador pueda leer la informaci´ on sonora. Una vez realizado el proceso. Esto no significa que el computador no pueda interactuar con audio an´ alogo. por ejemplo un micr´ ofono. Un ejemplo de procesamiento de la se˜ nal podr´ ıa ser aplicar reverberaci´ on al sonido original o mezclarlo con otro previamente almacenado en memoria externa. La diferencia entre audio an´ alogo y digital es abordada en forma detallada en la secci´ on 4. Uso del computador en sistemas de audio Un computador puede generar y manipular sonidos de varias formas diferentes. uno llamado Windows. La grabaci´ on digital tiene varias ventajas por sobre su similar an´ aloga. Una vez filtrada la se˜ nal. La salida de este conversor contiene audio digital. Esta se˜ nal es luego filtrada por un filtro pasabajos con el fin de eliminar componentes de frecuencia no deseados y eliminar la posibilidad de aliasi´ on. el audio es introducido esta vez en un conversor digital/an´ alogo y pasado por un filtro pasabajos. que convierte las la variaciones de presi´ on del aire (energ´ ıa ac´ ustica) en una se˜ nal el´ ectrica.1. que consiste b´ asicamente en variaciones de voltaje. AUDIO DIGITAL tres directorios distintos.1. La salida de este filtro produce audio an´ alogo que podr´ ıa ser amplificado y lanzado nuevamente al aire mediante parlantes. En otras palabras. Cuando el computador opera como un analizador de se˜ nales. Por ejemplo. presi´ on atmosf´ erica. Este proceso tiene varias ventajas respecto a la s´ ıntesis an´ aloga de sonidos. Otra ventaja es la repetibilidad. Un sistema digital siempre va a producir ´ CADIZ. R. una copia digital del original digital es exactamente id´ entica y fiel. un an´ alisis computacional puede revelar informaci´ on importante sobre las propiedades ac´ usticas de un determinado sonido. El computador tambi´ en puede sintetizar sonido mediante el c´ alculo de secuencias de n´ umeros que corresponden a la forma de onda del sonido deseado como salida. El caso b) corresponde al an´ alisis de se˜ nales. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . el computador toma una se˜ nal digital y matem´ aticamente determina sus caracter´ ısticas. por lo tanto se pueden representar num´ ericamente en forma exacta y reproducir en el tiempo con gran exactitud. USO DEL COMPUTADOR EN SISTEMAS DE AUDIO 79 Figura 4. viscosidad del aire o el ruido ambiental. Adem´ as. dado que las se˜ nales digitales dentro de un computador son extremadamente precisas.6. El proceso de utilizar hardware digital para generar sonidos mediante el c´ alculo de su forma de onda se conoce como s´ ıntesis digital directa.13: Sistemas computacionales de audio ni depende de variables como la temperatura ambiente.4. R. En teor´ ıa. cosa que no sucede en los sistemas an´ alogos. Pero la ventaja m´ as importante es la generalidad.80 CAP´ ITULO 4.14 muestra alguna de las formas en que los compositores ´ CADIZ. Figura 4. los sonidos sintetizados digitalmente pueden ser arbitrariamente complejos y tener cualquier car´ acter. Uno de los desaf´ ıos m´ as importantes de la s´ ıntesis digital es encontrar los algoritmos adecuados para producir determinados sonidos. AUDIO DIGITAL exactamente la misma salida para los mismos datos de entrada. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL .14: Uso del computador por parte de los compositores La figura 4. Dado que cualquier sonido puede ser convertido en una se˜ nal digital. consecuentemente cualquier sonido puede ser sintetizado utilizando algoritmos apropiados para calcular su representaci´ on digital. Muchos modelos de s´ ıntesis se basan en las caracter´ ısticas naturales de los sonidos. pero otros buscan modificar sus caracter´ ısticas para ampliar los sonidos originales y darle propiedades no naturales. ´ 4.15: Familia de los programas de s´ ıntesis de sonidos El primer software para s´ ıntesis de sonidos fue el Music 3. ´ CADIZ. 81 4. Su sucesor. SOFTWARE PARA MUSICA COMPUTACIONAL hacen uso de los sistemas computacionales. Music 4. fue distribuido entre distintas universidades. algoritmos para modificaci´ on de sonidos sintetizados o sampleados. R. Figura 4. programas que asisten al m´ usico en la composici´ on ya sea con sonidos sintetizados o sonidos ac´ usticos de instrumentos tradicionales y programas que permiten una interpretaci´ on composicional de una obra. donde la actividad musical era m´ as intensa.7.7. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . creado por Max Matthews en los Laboratorios Bell en la primera mitad de los a˜ nos sesenta. pero no es una verdad absoluta y pueden haber enfoques diferentes. Software para m´ usica computacional La mayor´ ıa de los software de m´ usica computacional caen en una de las siguientes categor´ ıas: algoritmos para s´ ıntesis de sonidos. Esta divisi´ on es s´ olo un modelo que responde a actividad musical tradicional. quien a˜ nos m´ as tarde dar´ ıa luz a la primera versi´ on de CSound. Tal como se mencion´ o anteriormente.15 muestra una serie de programas que han evolucionado en distintos lugares a partir de los originales Music 1 2 3 y 4. La figura 4. Cmusic. Es decir. AUDIO DIGITAL Modificaci´ on digital de sonidos Sound Hack Protools (Digidesign) Dyaxis Sound Forge (Sonic Solutions) RT Control en tiempo real MAX jMax Vision Studio Vision Cypher HMSL Figura 4. Cmix) est´ an basados en ella. Si bien la familia de lenguajes Music-N se encuentra actualmente obsoleta debido al avance de la tecnolog´ ıa.8. MIDI no es audio digital. la mayor´ ıa de los programas de s´ ıntesis utilizados actualmente (CSound.16: Softwares de m´ usica m´ as utilizados en los a˜ nos noventa La figura 4. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . R. un lenguaje de s´ ıntesis basado en inteligencia artificial con una ra´ ız absolutamente distinta. MIDI MIDI significa Musical Instruments Digital Interface y consiste en un protocolo digital de comunicaciones entre sintetizadores.7 muestra algunos de los softwares de m´ usica m´ as utilizados en los u ´ltimos a˜ nos. ´ CADIZ. en Stanford University se programaron las variaciones Music 6 y Music 10 y mucho tiempo despu´ es se cre´ o Common Music Lisp. Por otra parte. All´ ı se aprecia que en Princeton Godfrey Winham y Hubert Howe hicieron variaciones de la versi´ on de Music 4 y m´ as tarde en el Massachusetts Institute of Technology (MIT) se llevaron a cabo las versiones Music 360 y Music 11 por Barry Vercoe. 4.82 S´ ıntesis directa Csound Cmix Cmusic Chant Common Music Lisp UPIC Granular Synthesis Procesadores de partituras y programas de composici´ on Score 11 Common Music HMSL Finale CAP´ ITULO 4. ´ estos pueden clasificarse de acuerdo a cuatro categor´ ıas. consiste solamente en instrucciones que los sintetizadores entienden y que pueden compartir entre si. los fabricantes tuvieron que dise˜ nar una interfaz especial que permitiera a los computadores comunicarse con cualquier sintetizador. La informaci´ on MIDI le dice a un sintetizador. ´ CADIZ. denominador por los n´ umeros del 0 al 15. MIDI 83 En la misma forma en que dos computadores se comunican. MIDI opera con 16 canales de audio diferentes en forma simult´ anea. un n´ umero determinado de bytes seguir´ an al byte de status hasta que se reciba un nuevo byte de status.5 kbps) no es la misma que utilizan los computadores. o cuando cambiar sonidos o incluso puede contener informaci´ on de hardware espec´ ıfica. que le indica al sintetizador que funci´ on ejecutar. Tambi´ en existe una gran variedad de editores de sonido y librer´ ıas de sonidos que permiten flexibilizar los sonidos de un determinado sintetizador. Dado que la tasa de transmisi´ on de los datos MIDI (31. dado que los dispositivos MIDI y los computadores hablan en el mismo lenguaje. almacenar. est´ an los secuenciadores (Cakewalk. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . cuando empezar a tocar una nota y cuando terminar. dos sintetizadores pueden intercambiar informaci´ on v´ ıa MIDI. En primer lugar. Dependiendo del contenido del byte de status. El primer byte es el byte de status. Cada comando MIDI tiene una secuencia de bytes espec´ ıfica. Estos secuenciadores permiten grabar. Virtualmente cualquier cosa que puede ser hecha v´ ıa MIDI posee software especializado en el mercado. Algunas de las funciones indicadas por el byte de status son Note On. Las librer´ ıas m´ as avanzadas permiten editar y grabar bancos enteros de sonidos en las memorias de los sintetizadores. Note Off. System Exclusive (SysEx) o Patch Change. R. por ejemplo. Esta informaci´ on es musical por naturaleza. Encore) que simplemente ordenan eventos MIDI en listas y los env´ ıan en los tiempos apropiados a las distintos dispositivos externos o internos. tocar y editar datos MIDI.4.8. Inclu´ ıdo en este byte de status va el canal MIDI. Los fabricantes de computadores pronto se dieron cuenta que el computador podr´ ıa ser una fant´ astica herramienta para MIDI. Tambi´ en puede indicar con que volumen se toca esa nota. 84 CAP´ ITULO 4. R. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . AUDIO DIGITAL ´ CADIZ. o el objeto sonoro seg´ un 85 . El computador permite crear sonidos directamente mediante algoritmos o manipulaci´ on num´ erica. como es el caso de la s´ ıntesis FM. esta primera clasificaci´ on resulta adecuada para discutir el problema concerniente a la fuente sonora. sino en el de reproducir alg´ un sonido ya existente) y el segundo “abstracto”. Desde los primeros experimentos de s´ ıntesis sonora a trav´ es de computadores.1. Por lo tanto.Cap´ ıtulo 5 S´ ıntesis digital de sonidos Una de las grandes ventajas que ofrece la tecnolog´ ıa digital es la posibilidad de dise˜ nar sonidos con un alto nivel de precisi´ on y flexibilidad. Este proceso de dise˜ no o creaci´ on n´ umerica se denomina s´ ıntesis. El primer grupo puede ser llamado “concreto” (no el sentido de la m´ usica concreta. numerosas t´ ecnicas y algoritmos han sido propuestos en la literatura los cuales se basan en principios muy diversos e incluso en algunos casos bastante opuestos. es importante contar con criterios de clasificaci´ on que nos permitan agrupar las diferentes t´ ecnicas de acuerdo a sus caracer´ ısticas comunes. 5. Clasificaci´ on Un primer esquema b´ asico de clasificaci´ on divide las distintas t´ ecnicas entre las que intentan reproducir un sonido existente y las que no. la cual puede ser utilizada para simular bronces o campanas como tambi´ en para producir sonidos electr´ onicos “abstractos” que responden a criterios matem´ aticos no necesariamente musicales. sin la mediaci´ on del mundo ac´ ustico y sin la necesidad de partir sobre la base sonidos previamente grabados. Esta clasificaci´ on puede parecer confusa ya que hay t´ ecnicas de s´ ıntesis que no est´ an basadas en ninguno de estos criterios y al mismo tiempo satisfacen ambos. No obstante. De Poli [22] sugiri´ o la siguiente clasificaci´ on para las s´ ıntesis algor´ ıtmicas: t´ ecnicas de generaci´ on. y nos provee de un claro acercamiento a estas t´ ecnicas (ver secci´ on 7. Por ejemplo. antes de la s´ ıntesis. El tercer grupo consiste en t´ ecnicas que pretenden modelar el comportamiento del sonido directamente en su espectro de frecuencias. R.86 CAP´ ITULO 5. y que en general son usadas en combinaci´ on. Existen autores que s´ olo toman en cuenta estos dos primeros grupos para clasificaci´ on. modelos f´ ısicos y modelos espectrales. Moorer [38] ya propone que la forma natural de clasificaci´ on debiera considerar t´ ecnicas de s´ ıntesis aditiva. la generaci´ on de una o mas se˜ nales simples y sus modificaciones. el sistema auditivo humano puede modelarse como un analizador de frecuencias. Borin et al. en la cual se encuentran la familia de m´ etodos que modelan la ac´ ustica de los instrumentos [26]. la que incluye transformaciones de s´ ıntesis aditiva. Tal como se describe en detalle en el cap´ ıtulo 3. Es por esto que este tipo de t´ ecnicas son m´ as apropiadas para sintetizar sonidos naturales que instrumentales y usualmente requieren de una etapa previa de an´ alisis.2. sugiere que la s´ ıntesis algor´ ıtmica de sonidos se puede dividir en dos clases: S´ ıntesis algor´ ıtmica directa cl´ asica. Es as´ ı como en 1977. En el segundo grupo se incluyen todas las t´ ecnicas que se basan en el estudio de las propiedades f´ ısicas de los instrumentos musicales u otras fuentes sonoras y su posterior implementaci´ on y simulaci´ on en el computador. subtractiva y no lineal y las t´ ecnicas de modelos f´ ısicos. En 1983.2). Esta clasificaci´ on es ratificada por Moore en su libro “Elements of Computer Music” [19]. y t´ ecnicas de transformaci´ on que pueden ser divididas en dos sub-clasificaciones. S´ INTESIS DIGITAL DE SONIDOS Schaeffer. Este tipo de t´ ecnicas de s´ ıntesis se basa fuertemente en el mundo perceptual de los sonidos y no en el mundo f´ ısico. subtractiva y modulaci´ on (tambi´ en llamada s´ ıntesis no lineal o de distorsi´ on). las cuales producen una se˜ nal de datos entregados. En el u ´ltimo tiempo. Otro criterio de clasificaci´ on muy utilizado divide las t´ ecnicas en tres areas principales: abstracta. de forma muy similar a un analizador de Fourier (ver secci´ on 1. Existen otros esquemas de clasificaci´ on bastante divergentes de este modelo tripartito. De Poli tambi´ en sugiere que habitualmente se utilizan combinaciones de estas t´ ecnicas.4). sino que agrupa un gran numero de t´ ecnicas basadas en ecuaciones matem´ aticas con comportamiento no lineal [32]. se han propuesto clasificaciones m´ as detalladas ´ CADIZ. En el primer grupo se pueden incluir las t´ ecnicas de s´ ıntesis m´ as clasicas que pretenden simplemente explorar algoritmos matem´ aticos para generar sonidos. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . granular. Es importante aclarar que hoy en d´ ıa la s´ ıntesis no lineal no se refiere exclusivamene a la modulaci´ on. 1. S´ ıntesis para el an´ alisis de datos : voz. En este contexto. FM. grabaci´ on procesada. wave terrain.´ 5. waveshaping. distorsi´ on de fase y forma de onda. modelos espectrales y modelos f´ ısicos. STFT. CLASIFICACION 87 y sin grupos tan divisorios o fuertemente delimitados. pasando por todos los pasos intermedios. S´ ıntesis subtractiva. phase vocoder. una forma de entender la clasificaci´ on de Smith es hablar de los m´ etodos de s´ ıntesis como t´ ecnicas digitales que nos permiten obtener una sonoridad continua que va desde la reproducci´ on de sonidos pre-existentes (grabados) hasta la generaci´ on de sonidos mediante una abstracci´ on (sonidos imaginados). AM. s´ ıntesis usando formulas aditivas discretas. En 1991. S´ ıntesis mediante modelos f´ ısicos. s´ ıntesis gr´ afica y estoc´ astica. Dodge and Jerse [11] usan el siguiente esquema de clasificaci´ on: S´ ıntesis utilizando t´ ecnicas no perturbativas: aditiva. Es as´ ı como en su famoso libro “The Computer Music Tutorial” [27]. t´ ecnicas basadas en el procesamiento de grabaciones tienen como fundamento la pre-existencia de sonidos e intentan crear sonidos nuevos o imaginarios. Propone adem´ as la siguiente “taxonom´ ıa” para las t´ ecnicas de s´ ıntesis digital [36]: De acuerdo con Serra. R. wavelets. y subtractiva. En cambio. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . S´ ıntesis utilizando t´ ecnicas pertubativas: FM. S´ ıntesis granular. Curtis Roads propone la siguiente clasificaci´ on para la s´ ıntesis de sonidos: Sampling y s´ ıntesis aditiva. AM. S´ ıntesis por modulaci´ on : Ring. Modelos f´ ısicos. S´ ıntesis mediante multiples tablas de ondas. En el otro extremo de la clasificaci´ on est´ an los algoritmos ´ CADIZ. Smith propone una clasificaci´ on mas detallada dividiendo los m´ etodos de s´ ıntesis en cuatro grupos: algoritmos abstractos. s´ ıntesis granular. modulaci´ on de anillo. S´ ıntesis por segmento de ondas. R. VCF Music V FM FM con retroalimentaci´ on Formateo de onda Distorsi´ on de fase KarplusStrong abstractos. Ondas gu´ ıas Modal Cordis-Anima Mosaico Algoritmos abstractos VCO.88 Procesado Concreta Tabla de Onda T Muestreo Vector Granular Componentes principales T Wavelet T CAP´ ITULO 5.1: Taxonom´ ıa de las t´ ecnicas de s´ ıntesis digital de sonidos Modelos f´ ısicos Cuerdas de Ruiz KarplusStrong Ext. como por ejemplo. Esto nos permite la exploraci´ on de la conexi´ on entre el sonido real y el sonido virtual [32]. Bank et al. [2] dividen las t´ ecnicas de s´ ıntesis de audio en tres grupos. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . En 2004. unificando dos grupos de la clasificaci´ on propuesta por Smith. S´ INTESIS DIGITAL DE SONIDOS Modelos espectrales Tabla de Onda F Aditiva Phase Vocoder PARSHL Sinosoides + Ruido (Serra) Componentes principales F Chant VOSIM FM de Risset (bronces) FM de Chowning (voz) Subtractiva LPC FFT inversa Clusters de l´ ıneas de Xenakis Cuadro 5. pero que manipul´ andolos se obtienen sonidos que nos permiten una comunicaci´ on musical especifica. Los modelos espectrales y f´ ısicos est´ an en la zona intermedia y tienen su fundamento en modelos o abstracciones que describen sonidos pre-existentes y los objetos que lo generan. que de ecuaciones matem´ aticas generan sonidos que distan de los sonidos naturales. VCA. El ´ CADIZ. los sintetizadores basados en t´ ecnicas de FM. ´ 5.2. EVALUACION 89 primer grupo es la familia de m´ etodos abstractos. Estos son diferentes algoritmos que generan f´ acilmente sonidos sint´ eticos. M´ etodos tales como FM y waveshaping pertenecen a esta categor´ ıa. El modelar instrumentos reales con este m´ etodo es en extremo complejo si la relaci´ on entre los par´ ametros de la t´ ecnica y aquellos de los instrumentos reales no pueden ser determinados con facilidad. El segundo grupo, denominado modelo de se˜ nales, es el que modela los sonidos de los instrumentos musicales. En este caso, la entrada al modelo es solo la forma de onda o un conjunto de ellas generadas por el instrumento y la f´ ısica no es tratada en detalle. Los m´ etodos de s´ ıntesis tales como sampling y SMS (spectral modeling synthesis) pertenecen a esta categor´ ıa. Este grupo corresponde al procesamiento de sonidos pre-grabados en la taxonom´ ıa de Smith. El tercer grupo, denominado como modelamiento f´ ısico, es el intenta reproducir el comportamiento f´ ısico de un instrumento o fuente sonora. Usualmente, los sistemas f´ ısicos (tales como una cuerda de un instrumento o la membrana de un tambor) pueden ser descritos resolviendo una ecuaci´ on de onda. Dada una excitaci´ on inicial (tal como tocar la cuerda o golpear el tambor) y estableciendo las condiciones de contorno para el problema en particular, las ecuaciones pueden ser resueltas y utilizadas como entradas al sistema por lo que la salida se espera sea cercana al sonido original. Un m´ etodo conocido en esta categor´ ıa es la s´ ıntesis digital con ondas gu´ ıas o waveguides, que modela eficientemente ondas unidimensionales. 5.2. Evaluaci´ on Dado el gran n´ umero de t´ ecnicas de s´ ıntesis que han sido propuestas en la literatura, surge la legitima inquietud de como evaluar o compara cada una de estas aproximaciones. Como Jaffe dice “Un gran numero de t´ ecnicas de s´ ıntesis y procesamiento se han inventado. La pregunta es cual es la mejor” [16]. Lamentablemente no hay una respuesta simple a eso y la mejor t´ ecnica depende de las prioridades de quien la utiliza y del problema a tratar. Serra [32] menciona cuatro consideraciones que se debiesen tener en cuenta al escoger una t´ ecnica de s´ ıntesis especifica. Estas son: 1. Calidad del sonido. Con esto queremos expresar la riqueza del sonido. Un sonido de gran calidad ser´ a uno que se asemeje a un sonido natural, en cambio uno de baja calidad ser´ a un sonido simple, sintetizado electr´ onicamente sin micro-variaciones durante su duraci´ on. ´ CADIZ, R. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL 90 CAP´ ITULO 5. S´ INTESIS DIGITAL DE SONIDOS 2. Flexibilidad. Este t´ ermino describe la habilidad que tiene una t´ ecnica de s´ ıntesis especifica para modificar el sonido desde el control de un conjunto reducido de par´ ametros. Bajo este criterio, un sampler no es considerado como flexible, en cambio que la s´ ıntesis FM si lo es. 3. Generalidad. Por generalidad se entiende la posibilidad de una t´ ecnica de s´ ıntesis de crear una gran variedad de timbres. As´ ı, la s´ ıntesis aditiva sera una t´ ecnica general, en tanto que el sampler sera una t´ ecnica mucho m´ as espec´ ıfica. 4. Tiempo de c´ omputo. Esto se refiere al n´ umero de instrucciones computacionales que se necesitan para sintetizar un sonido. En este contexto, la s´ ıntesis FM es muy econ´ omica en comparaci´ on con la s´ ıntesis aditiva, la cual resulta muy costosa. Jaffe postul´ o 10 criterios espec´ ıficos para evaluar m´ etodos de s´ ıntesis de sonidos[16]. Formul´ o sus criterios en forma de las siguientes preguntas: 1. ¿Qu´ e tan intuitivos son los par´ ametros? 2. ¿Qu´ e tan perceptibles son los cambios en los par´ ametros? 3. ¿Qu´ e tan f´ ısicos son los par´ ametros? 4. ¿Qu´ e tan bien se comportan los par´ ametros? 5. ¿Qu´ e tan robusta es la identidad sonora? 6. ¿Qu´ e tan eficiente es el algoritmo? 7. ¿Qu´ e tan escaso es el control sobre el stream? 8. ¿Qu´ e clase de sonidos puede ser representado? 9. ¿Cual es la mas peque˜ na latencia? 10. ¿Existen herramientas de an´ alisis? Si bien es importante contestar estas preguntas para cada m´ etodo nuevo de s´ ıntesis, la respuesta sobre cual m´ etodo es el m´ as adecuado depende en gran medida de su aplicaci´ on y de los recursos disponibles. ´ CADIZ, R. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL 5.3. FUNDAMENTOS 91 5.3. 5.3.1. Fundamentos Osciladores Una oscilaci´ on de la variaci´ on peri´ odica en el tiempo de alguna medida en torno a un valor central o de equilibrio o entre dos o m´ as estados. Ejemplos de oscilaciones en el mundo f´ ısico son un p´ endulo o un resorte. En un computador, un oscilador puede implementarse en forma algor´ ıtmica, el requisito indispensable es que la se˜ nal se repita despu´ es de un cierto tiempo. Figura 5.1: Oscilador Para sintetizar sonidos en un computador es necesario disponer de se˜ nales b´ asicas mediante las cuales se puedan constriur sonidos m´ as complejos. Esto se hace a trav´ es de un oscilador. Un oscilador consiste b´ asicamente en un algoritmo o dispositivo que es capaz generar se˜ nales peri´ odicas o aleatorias. El oscilador m´ as com´ un es un oscilador sinusoidal, el cual genera se˜ nales sinusoidales con una amplitud, frecuencia y fase determinada. Un oscilador puede tambi´ en generar distintos tipos de se˜ nales estoc´ asticas o ruidos, tales como ruido blanco, ruido cafe o ruido rosa. Por lo general, los osciladores generan funciones b´ asicas, como las descritas en la figura 5.2. Esto es debido a un l´ ımite en el ancho de banda disponible dada la tasa de muestreo del sistema. Si la se˜ nal generada por el oscilador contiene componentes de frecuencia muy elevados, es probable que al generar el audio se produzca aliasi´ on. Para evitar esto, es com´ un implementar osciladores de ancho de banda limitada, los cuales evitan generar componentes de frecuencia m´ as all´ a de un cierto l´ ımite. En el ap´ endice A.3 se describen los principales osciladores existentes en SuperCollider, denominados UGens, abreviaci´ on de unidades generadoras. ´ CADIZ, R. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL 92 CAP´ ITULO 5. S´ INTESIS DIGITAL DE SONIDOS Seno Cuadrada Triángular Sierra Figura 5.2: Se˜ nales b´ asicas com´ unmente utilizadas en osciladores 5.3.2. Tabla de ondas Un oscilador por lo general lee los datos necesarios desde una tabla de ondas. Una tabla de ondas (wavetable en ingl´ es) consiste b´ asicamente en un pedazo de memoria donde se puede almacenar una se˜ nal de audio. La tabla puede contener audio generado en forma sint´ etica o una se˜ nal proveniente del mundo real muestreada. Es com´ un almacenar en una tabla de onda un ciclo de una onda de sonido cualquiera. 1 2 3 ... N Indice Figura 5.3: Tabla de ondas Un oscilador puede entonces leer datos desde la tabla de onda a distintas frecuencias y con eso puede generar una onda per´ ıodica de frecuencia arbitraria cuya forma de onda se encuentra determinada por los datos almacenados en la tabla. La figura 5.4 detalla el principio b´ asico de funcionamiento de un oscila´ CADIZ, R. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL 5.3. FUNDAMENTOS 93 INC Incremento de muestra (determina la frecuencia) PHS Contador de fase (0 PHS < N) Tabla de Onda 0 N-1 Salida Figura 5.4: Algoritmo de un oscilador digital de sonidos dor. Un oscilador tiene dos contadores: uno que lleva la posici´ on en la tabla de ondas desde la cual se est´ a leyendo, denominado contador de fase, y otro llamado incremento, que contiene la cantidad de muestras que deben saltarse para leer desde la siguiente posici´ on de fase. La cantidad de incremento determina la frecuencia del sonido generado por el oscilador. Mientras mayor sea el incremento, la tabla de onda se completa m´ as r´ apido y mayor es la frecuencia de la se˜ nal generada. Dado que usualmente se especifica la frecuencia deseada y no directamente el valor del incremento, es necesario realizar alg´ un tipo de interpolaci´ on 5.3.3. Envolventes El sonido no es un fen´ omeno est´ atico. Muy por el contrario, usualmente cada componente de frecuencia de un sonido tiene vida propia, en el sentido de que adquiere un comportamiento independiente (o casi independiente) en el tiempo. Esto significa que cada parcial recorre una trayectoria o envolvente particular en su evoluci´ on temporal. En el dominio del tiempo, el sonido como un todo tambi´ en tiene un comportamiento definido por una envolvente de amplitud, tal como el mostrado en la figura 5.5. La figura 5.6 muestra la forma de la envolvente de sonidos reales para distintas din´ amicas. Claramente, la evoluci´ on temporal del sonido es distinta dependiendo del nivel de energ´ ıa, definido por su contenido de frecuencias, presente en la se˜ nal ac´ ustica. ´ CADIZ, R. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL La forma m´ as gen´ erica de envolvente se denomina ADSR (ataque.6: Envolventes para distintas din´ amicas Existen muchas formas de envolvente. mf t p baja t Figura 5. decaimiento. A continuaci´ on se describe cada secci´ on de esta envolvente.0 envolvente de amplitud 0 t Figura 5.7. Envolvente ADSR Amplitud Sostenimiento Tiempo Ataque Decaimiento Relajo Figura 5. sostenimiento. S´ INTESIS DIGITAL DE SONIDOS a 1. R. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL .7: Envolvente ADSR ´ CADIZ. relajo) por su abreviatura y mostrada en la figura 5.94 CAP´ ITULO 5. pero por lo general siguen un patr´ on o evoluci´ on com´ un.5: Envolvente de amplitud Intensidad ff alta t med. Una vez elegida la forma de la envolvente. S´ ıntesis aditiva La s´ ınteis aditiva consiste b´ asicamente en la superposici´ on o mezcla de ondas sinusoidales con el objetivo de generar ondas m´ as complejas. El ataque es el tiempo que toma la se˜ nal en alcanzar su m´ aximo Decaimiento. El decamiento es el tiempo que toma la se˜ nal para estabilizarse Sostenimiento.4 se describen las principales funciones de envolventes existentes en SuperCollider y su forma de utilizaci´ on. En el mundo ac´ ustico. El concepto tras la s´ ıntesis aditiva es simplemente la aplicaci´ on directa de la serie de Fourier con un n´ umero finito de componentes. tal como se detalla en la figura 5. De esta forma. es posible manipular el comportamiento temporal de la se˜ nal sintetizada. este es el principio de funcionamiento de un ´ organo de tubos. El relajo es el tiempo que toma la se˜ nal en desvanecerse. R. Si bien esta ´ CADIZ. Env. S´ INTESIS ADITIVA 95 Ataque. 5. Relajo. Tiempo que dura la se˜ nal estable. esta se escala tanto en tiempo como en amplitud y se multiplica por la salida de un oscilador. Gen. En el ap´ endice A. Especificación Escala de amp Escala de tiempo Tipo de env.8. Frecuencia Mul: amp Tabla de onda Osc.5.8: Proceso de generaci´ on de envolventes Las envolventes usualmente se utilizan para controlar la salida de un oscilador.4.4. Salida Figura 5. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . 96 CAP´ ITULO 5.5. tal como se describe en la secci´ on 3. s1 s2 s3 s4 s5 s1+s2+s3+s4+s5 Figura 5. La figura 5. En este caso. se˜ nales cuyas frecuencias no est´ en relacionadas por m´ ultiplos enteros. Para realizar el proceso se hace necesario disponer de un banco de osciladores. no todo es necesario seguirlo al pie de la letra. por lo general el timbre no es est´ atico y cada parcial sigue una curva particular de evoluci´ on temporal.9 muestra la suma de 5 sinusoides de distinta amplitud. cada uno con su amplitud. El n´ umero de parciales y su amplitud.10 5. La se˜ nal pasa a trav´ es de uno o m´ as filtros que modifican su contenido arm´ onico. los arm´ onicos se denominan parciales. S´ ıntesis substractiva En la s´ ıntesis substractiva se sintetiza el sonido mediante la filtraci´ on o simplificaci´ on de una onda compleja. tal como se describe en la figura ´ CADIZ. S´ INTESIS DIGITAL DE SONIDOS t´ ecnica se basa en Fourier.6. tal como lo muestra la figura 5.9: Suma de se˜ nales simples para generar una compleja Un sonido generado mediante s´ ıntesis aditiva est´ a formado entonces por una cantidad variable de arm´ onicos o parciales que evolucionan a lo largo del tiempo con respecto a un tono o frecuencia fundamental. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . cre´ andose un sonido din´ amico y realista. ya que perfectamente en un computador se pueden sumar sinusoides no arm´ onicas. con relaciones no arm´ onicas entre si. atenuando o reforzando determinadas ´ areas del espectro de la se˜ nal. fase y frecuencia respectiva. adem´ as de su propia envolvente de amplitud. frecuencia y fase. R. frecuencia y fase relativa es lo que permite crear un sonido con un timbre determinado. Sin embargo. es decir. Es por esto que en la s´ ıntesis aditiva es muy importante la utilizaci´ on de diferentes envolventes que se encarguen del manejo la amplitud sobre cada parcial y es lo que estructura el comportamiento global del sonido en el tiempo. 12. Un ejemplo de esta configuraci´ on podr´ ıa ser un sonido que primero es pasado por un filtro pasa bajos y luego reverberado mediante otro proceso. S´ INTESIS SUBSTRACTIVA 97 Figura 5.11: S´ ıntesis substractiva Los resultados de la s´ ıntesis substractiva dependen en gran medida de la calidad y dise˜ no de los filtros utilizados. Si se desea obtener m´ as precisi´ on en las frecuencias de corte o bien procesar la se˜ nal de distintas maneras. tal como se muestra en la figura 5. ya que a partir de se˜ nales ricas en contenido de frecuencia la idea es eliminar ciertas bandas o componentes de manera de generar una se˜ nal simplificada. se pueden combinar filtros de primer o segundo orden en dos formas: serie y paralelo.10: S´ ıntesis aditiva 5. Las caracter´ ısticas de los filtros se determinan por su funci´ on de transferencia y su orden. En el primer caso. Figura 5. La s´ ıntesis sustractiva est´ a basada de cierta manera en la idea inversa de la s´ ıntesis aditiva.1.11. En el ´ CADIZ. Es por esta raz´ on que usualmente se utilizan se˜ nales aleatorias o de ruido como punto de partida ya que poseen un espectro de frecuencias muy rico. Detalles completos de la implementaci´ on y teor´ ıa de los filtros digitales se encuentra en la secci´ on 6. la salida de un filtro alimenta a otro filtro. La primera determina la forma en que la se˜ nal aplicada cambia en t´ erminos de su amplitud y fase al pasar por el filtro y la segunda describe el grado de precisi´ on en la aceptaci´ on o rechazo de frecuencias por encima o por debajo de la respectiva frecuencia de corte. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL .5. R.5. de manera de poder producir en forma efectiva los cambios requeridos en la se˜ nal de entrada. S´ INTESIS DIGITAL DE SONIDOS Entrada Filtro Filtro Salida Filtro Entrada + Filtro Salida Figura 5.2) (5.6. ´ CADIZ. la se˜ nal se ve modificada por uno o m´ as filtros al mismo tiempo y las salidas de estos se suman para generar la se˜ nal modificada. R. dado que generan componentes arm´ onicos no posibles de obtener mediante operaciones lineales. llamada portadora. Las formas m´ as comunes de modulaci´ on son modulaci´ on de amplitud o AM. que consiste en alterar la amplitud de una se˜ nal portadora en funci´ on de la amplitud de otra se˜ nal llamada moduladora y la modulaci´ on de frecuencia o FM. La s´ ıntesis aditiva y las substractiva descritas anteriormente pueden ser consideradas como lineales en cuanto no afectan el contenido arm´ onico de la se˜ nal. Modular una se˜ nal consiste en modificar alguna de las caracter´ ısticas de esa se˜ nal. Modulaci´ on El concepto modulaci´ on se basa en la idea de alterar alg´ un par´ ametro de una onda sonora en raz´ on de otra onda.1) . Un ejemplo t´ ıpico de esta configuraci´ on es un ecualizador multibanda.12: Configuraci´ on de filtros en la s´ ıntesis substractiva caso de filtros en paralelo.6. xp (n) = Ap sin(ωp n) la se˜ nal portadora o modulada y xm (n) = Am sin(ωm n) la se˜ nal modulante o moduladora. descrito en la secci´ on 6. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL (5. las t´ ecnicas de modulaci´ on suelen tambi´ en llamarse de distorsi´ on o no lineales. que consiste b´ asicamente en variar la frecuencia de una portadora en funci´ on de otra se˜ nal moduladora. 5. En contraste.98 CAP´ ITULO 5. Simplemente se basan en operaciones lineales sobre la se˜ nal en entrada. de acuerdo con las caracter´ ısticas de otra se˜ nal llamada modulador. Sea. como lo muestran la figura 5.3) El resultado que es en el espectro los componentes de frecuencia se reagrupan. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL .1.6. Este caso de modulaci´ on es un caso especial de la m´ as general s´ ıntesis AM.2.13 y la ecuaci´ on 5. Modulaci´ on Ring En la modulaci´ on ring o anillo.3. R.14. MODULACION 99 5. generando dos componentes en fp + fm y fp − fm .´ 5.14: Espectro de la modulaci´ on ring 5. ambas se˜ nales simplemente de multiplican.6. Frecuencia Transportadora Frecuencia Moduladora OSC OSC * Figura 5. tal como se muestra en la figura 5.13: Modulaci´ on ring o anillo x(n) = xm (n)xp (n) (5.6. Figura 5. que se detalla a continuaci´ on. S´ ıntesis AM En la s´ ıntesis AM la se˜ nal modulada tendr´ a una amplitud igual al valor m´ aximo de la se˜ nal portadora m´ as el valor instant´ aneo de la se˜ nal modulada: ´ CADIZ. R. Ap m Ap m cos((ωp + ωm )n) − cos((ωp − ωm )n) (5.4) Am sin(ωm n))sin(ωp n) Ap (5.100 CAP´ ITULO 5. x(n) = Ap (1 + msin(ωm n))sin(ωp n) (5. S´ INTESIS DIGITAL DE SONIDOS x(n) = (Ap + Am sin(ωm n))sin(ωp n) Factorizando.6) De acuerdo a los principios de la trigonometr´ ıa la se˜ nal puede ser reescrita como x(n) = Ap sin(ωp n) + Ap msin(ωm n)sin(ωp n) y expandiendo se tiene que.15: S´ ıntesis AM ´ CADIZ.8) 2 2 (5. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL .5) es el ´ ındice de modulaci´ on.7) x(n) = Ap sin(ωp n) + Frecuencia Transportadora Frecuencia Moduladora OSC OSC * ENV * Figura 5. la ecuaci´ on anterior puede escribirse como: x(n) = Ap (1 + donde m = Am Ap (5. MODULACION Ap Apm 2 Fp-Fm Fp Fp+Fm 101 Figura 5. S´ ıntesis FM Otra forma de modular la se˜ nal es variar peri´ odicamente la frecuencia mediante otra se˜ nal. 5. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL .6.16.16: Espectro de la modulaci´ on AM La ecuaci´ on 5.6. tal como se muestra en la figura 5.3. R.17: S´ ıntesis FM ´ CADIZ. Frecuencia Moduladora OSC Frecuencia Transportadora + OSC ENV * Figura 5. Cuando la se˜ nal moduladora sea una onda compleja y no sinusoidal como resultado de la modulaci´ on AM se obtendra un conjunto de bandas laterales dados por los arm´ onicos que ´ esta contenga.8 nos permite deducir que al modular la amplitud se generan dos arm´ onicos laterales.´ 5. Esto se denomina s´ ıntesis FM o de frecuencia modulada. En contraste. En el m´ etodo sincr´ onico. observamos infinitas frecuencias laterales. alrededor de la frecuencia de la se˜ nal portadora fp . Al analizar el espectro de frecuencias de una se˜ nal FM. Estos son fragmentos de sonido muy cortos. el m´ etodo asincr´ onico genera secuencias aleatorias de separaci´ on entre los granos con el objetivo de producir una nube sonora (Dodge & Jerse.102 CAP´ ITULO 5. lo cual depende del ´ ındice de modulaci´ on. S´ ıntesis granular La s´ ıntesis de sonido basada en granos o s´ ıntesis granular es una t´ ecnica de producci´ on de sonidos que se basa en una concepci´ on del sonido en t´ erminos de part´ ıculas o cuantos.7. Sin embargo la mayor parte de las frecuencias laterales tienen poca amplitud. cuya longitud oscila entre 5 y ´ CADIZ. Fp-2Fm Fp-Fm Fp Fp+Fm Fp+2Fm Figura 5. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . tal como se observa en la figura 5.18: Espectro de la modulaci´ on FM En el ap´ endice A.6. 262). La unidad m´ ınima de la s´ ıntesis granular es el cuanto sonoro o grano. S´ INTESIS DIGITAL DE SONIDOS Matem´ aticamente. espaciadas en fm . a trav´ es de ejemplos tanto de modulaci´ on de amplitud como de frecuencia.10) Donde los Ji son funciones de Bessel. cuya organizaci´ on ser´ a determinada por dos m´ etodos principales de distribuci´ on temporal: sincr´ onico y asincr´ onico. peque˜ nas unidades de energ´ ıa encapsuladas en una envolvente y agrupados en conjuntos mayores. R. esto es: x(n) = sin(ωp n + Asin(ωm n)n) (5.6 se aborda la modulaci´ on SuperCollider.3.9) Esta expresi´ on puede ser reescrita como una serie de potencia que expresa la serie espectral resultante: x(n) = Ji (A)[sin(ω (ft + nfm )n + sin(ω (ft − nfm )n)] (5. los granos son disparados a frecuencias m´ as o menos regulares para producir sonidos con una altura definida. 5. La envolvente de los granos es determinada por una ventana usualmente de tipo gaussiana. Todos estos elementos.8.5. La figura 5. Las diferencias en la forma de la ventana y el contenido interno definen la cantidad de informaci´ on espectral en el grano. labios.20: Grano sonoro de ruido blanco El ap´ endice A. R. MODELOS F´ ISICOS 103 Figura 5. estimulados mec´ ani´ CADIZ.19 muestra un grano basado en una onda sinusoidal con una envolvente de tipo gaussiana y la figura 5. tal como lo son las cuerdas. 5.7 muestra ejemplos de s´ ıntesis granular realizados en SuperCollider. membranas y cavidades que conforman el instrumento. ca˜ nas. Estos m´ etodos de s´ ıntesis generan sonidos describiendo el comportamiento de los elementos.8.19: Grano sonoro sinusoidal 100 milisegundos para evitar que un grano individual pueda producir una respuesta perceptiva de altura en el oyente.20 un grano con la misma envolvente pero basado en ruido blanco. Figura 5. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . tubos. Modelos f´ ısicos La s´ ıntesis basada en modelos f´ ısicos se hace a partir de la simulaci´ on en una computadora de un objeto f´ ısico y sus caracter´ ısticas. 1. Para recrear el habla. Phase vocoder Un vocoder (nombre derivado del ingl´ es voice coder). La mayor´ ıa de esos enfoques involucra. Al hacer esto. se basa n la percepci´ on y no en el mundo f´ ısico. S´ INTESIS DIGITAL DE SONIDOS camente. las cuales pueden ser a su vez alteradas de manera de producir nuevos sonidos. Los vocoders a menudo incluyen tambi´ en un sistema para generar sonidos sordos. el vocoder simplemente revierte el proceso. y midiendo c´ omo cambian las caracter´ ısticas espectrales con el tiempo grabando el habla. Durante la reproducci´ on esos n´ umeros son enviados de vuelta a los filtros y entonces se modifican con el conocimiento de que el habla var´ ıa t´ ıpicamente entre esas frecuencias. el vocoder reduce en gran medida la cantidad de informaci´ on necesaria para almacenar el habla. sino por una serie de modificaciones que el fundamental necesita para ser modificado en la se˜ nal vista en el filtro. usando un segundo sistema para generar sonidos sordos consistente en un generador de ruido en lugar de la frecuencia fundamental. o codificador de voz.9. cada uno en una frecuencia. por lo general peri´ odicas en el medio que los rodea. Su primer uso fue la seguridad en radiocomunicaciones. cifrada y transmitida por un canal de ancho de banda estrecho. 5. que es la frecuencia fundamental. es un analizador y sintetizador de voz. vibran y producen perturbaciones. Fue desarrollado en la d´ ecada de 1930 como un codificador de voz para telecomunicaciones. Por lo tanto. R. aunque algo mec´ anica. La idea general de la s´ ıntesis espectral es analizar un sonido de manera de obtener representaciones espectrales alternativas. Modelos espectrales Los modelos espectrales est´ an basados en la descripci´ on de las caracter´ ısticas del sonido que el auditor percibe. Esto da como resultado una serie de n´ umeros representando esas frecuencias modificadas en un tiempo particular a medida que el usuario habla. 5. Muchos vocoders usan un gran n´ umero de canales. que est´ an basados en la frecuencia original. El resultado es habla inteligible.9. El vocoder examina el habla encontrando su onda b´ asica. donde la voz tiene que ser digitalizada. una etapa de an´ alisis previa a la s´ ıntesis. Los diversos valores de esos filtros no son almacenados como n´ umeros. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL .104 CAP´ ITULO 5. El sonido es generado en base a medidas perceptuales del timbre que se desea generar. por lo tanto. creando la ´ CADIZ. cuanta mayor abertura tenga una vocal. La idea es crear zonas de concentraci´ on de energ´ ıa en el espectro del sonido sintetizado. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . es decir. 5. Normalmente s´ olo los dos primeros son necesarios para caracterizar una vocal. En cada frame es posible modificar la informaci´ on de amplitud o fase de la FFT. Los dos primeros formantes se determinan principalmente por la posici´ on de la lengua. denotados como F1. es decir. mediante lo cual es posible realizar efectos tales como compresi´ on o expansi´ on temporal y desfase de alturas (pitch shifting).9. para cada sonido usualmente se producen entre tres y seis formantes principales. F2 tiene mayor frecuencia cuanto m´ as hacia delante est´ a posicionada la lengua. El phase vocoder se basa en la Transformada de Fourier de tiempo corto. F3. Un formante consiste en una alta concentraci´ on de energ´ ıa que se da en una determinada banda de frecuencias. MODELOS ESPECTRALES 105 frecuencia fundamental en un oscilador electr´ onico y pasando su resultado por una serie de filtros basado en la secuencia original de s´ ımbolos. cuanto m´ as anterior es una vocal. Este sonido b´ asico es modificado por el tracto vocal. lo que produce una onda peri´ odica por lo general rica en contenido de frecuencia. si bien la pueden caracterizar hasta seis formantes.9. a trav´ es de sucesivas FFT en intervalos de tiempo relativamente cortos. ´ CADIZ.2. lo que imita el sonido de la voz. generando zonas de concentraci´ on de le energ´ ıa espectral. o STFT. Los formantes posteriores determinan propiedades ac´ usticas como el timbre. En el caso de la voz humana. mayor es la frecuencia en que aparece el F1. Una phase vocoder es un tipo de vocoder que permite escalar una se˜ nal de audio tanto en el dominio de la frecuencia como en el dominio del tiempo usando informaci´ on de fase. El vocoder est´ a relacionado con el algoritmo denominado phase vocoder. El algoritmo permite la modificaci´ on del espectro de un se˜ nal de audio. etc. La STFT genera un representaci´ on combinada de tiempo y frecuencia del sonido.5. F2. R. o lo que se denomina un sonograma. para luego resintetizar el sonido. La s´ ıntesis basada en formantes se basa en este fen´ omeno de la voz humana. aunque esencialmente es diferente de ´ este. denominados formantes. F1 tiene una frecuencia m´ as alta cuanto m´ as baja est´ a la lengua. mayor es el F2. S´ ıntesis de formantes La voz humana consiste en sonidos generados por la apertura y cierre de la glotis o cuerdas vocales. generando de esta manera variaciones espectrales. o vocoder de fase. En otras palabras. Castagne y Cadoz destacan que los esquemas de masa-interacci´ on son usualmente citados como t´ ecnicas de modelo f´ ısico.106 CAP´ ITULO 5. Un interesante enfoque presenta lo que Cook llamo modelamiento estoc´ astico f´ ısicamene informado (PhISEM) [9]. quien propuso una nuevo modelo para la s´ ıntesis de sonido basada en atractores y un m´ etodo llamado modelo din´ amico. R. pero que muchas de las posibilidades musicales no han sido exploradas [8]. Uno de los mas importantes trabajos ha sido el de R¨ obel [30].10. formantes y de la f´ ısica. deriva sus ecuaciones de transformaci´ on s´ onica. Este algoritmo ha sido exitoso en el modelaje de peque˜ nos instrumentos de percusi´ on tal como las maracas y otros instrumentos afines. pensar en el sonido en t´ erminos de la evoluci´ on de un sistema de part´ ıculas nos otorga una nueva interpretaci´ on y una contra parte sonora a los eventos f´ ısicos. Esta t´ ecnica considera modelos puntuales caracterizados por las ecuaciones de Newton. 5. Sturm [39] [40] [41] ha trabajado en la sonificaci´ on de part´ ıculas basado en la hipotesis de de Broglie. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . Modelos basados en din´ amica no lineal y caos Se han propuesto variadas t´ ecnicas de s´ ıntesis basadas en din´ amica no lineal y sistemas ca´ oticos. Algunas de ellas derivan de la s´ ıntesis granular. El ´ CADIZ. Este algoritmo se basa en el traslape pseudo-aleatorio y a la suma de peque˜ nos granos de sonido. puede ser encontrada en la literatura [28]. este m´ etodo fue desarrollado para modelar sistemas ca´ oticos dado solo un series de muestras obtenidos de la salida del sistema. Como el sonido es una superposici´ on din´ amica de frecuencias. Ellos propusieron un entorno gr´ afico llamado GENESIS. De acuerdo con Sturm. otras de t´ ecnicas gr´ aficas. S´ INTESIS DIGITAL DE SONIDOS 5. descubrir y experimentar nuevas formas de crear m´ usica. Los modelos basados en part´ ıculas est´ an basados com´ unmente en modelos f´ ısicos [37]. El principal objetivo de este acercamiento es el de proveer de un ‘pensamiento f´ ısico”. Originalmente. Bajo este criterio Sturm. los cuales usan una descripci´ on matem´ atica del instrumento f´ ısico que se desea sintetizar. el cual esta basado en el paradigma CORDIS-ANIMA mass-interaction y dise˜ nado para m´ usicos. existe la posibilidad de establecer una met´ afora que relacione la f´ ısica de part´ ıculas y la s´ ıntesis de sonidos.11. sin tratarse de la s´ ıntesis granular propiamente tal. Modelos basados en part´ ıculas Una gran variedad de s´ ıntesis basada en modelos de part´ ıculas. Polotti et al. se propuso el m´ etodo como un modelo de redes neuronales para el habla y la m´ usica mediante la aplicaci´ on de series de tiempo [29]. y no recurrir al modelo de la simplificaci´ on. R. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL .5. Ya en 1997. esto es sistemas compuestos por muchos agentes individuales.12. el cual permite separar las componentes estoc´ asticas de la voz para luego poder re-sintetizarlas separadamente [23] [24]. ´ CADIZ. 5. Una forma natural de abarcar esta problem´ atica es sintetizar sonidos directamente a trav´ es de sistemas complejos. Serra evidenci´ o la necesidad de un nuevo foco para la s´ ıntesis digital [32]. S´ ıntesis basada en complejidad El acercamiento tradicional para la s´ ıntesis de sonido ha sido intentar generar los sonidos mediante la combinaci´ on de elementos simples. S´ INTESIS BASADA EN COMPLEJIDAD 107 modelo para la din´ amica de los atractores no solo se limita al caso ca´ otico sino que tambi´ en para modelar sistemas con par´ ametros fijos. En los u ´ltimos a˜ nos se no han hecho evidente las dificultades para producir sonidos complejos de inter´ es musical y que estos puedan competir con los instrumentos reales en t´ erminos de complejidad y expresi´ on. Un esquema de este tipo debiera ser muy u ´til para sintetizar sonidos provenientes de la naturaleza o que presenten una alta complejidad tanto espectral como temporal. Adem´ as. propusieron un m´ etodo llamado s´ ıntesis aditiva fractal.12. con un comporamiento complejo e incluso en muchos casos ca´ otico. 108 CAP´ ITULO 5. S´ INTESIS DIGITAL DE SONIDOS ´ CADIZ. R. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . cualquiera sea su forma.1. significa que la se˜ nal original ha sido filtrada. Un filtro digital es una computaci´ on que recibe una secuencia de n´ umeros (la se˜ nal de entrada) y produce una nueva (la se˜ nal de salida). o digitales. Sin embargo. En el primer caso el espectro de frecuencias se mantiene 109 . Filtros digitales Un filtro es b´ asicamente una caja negra con una entrada y una salida.1: Un filtro como una caja negra Los filtros pueden ser an´ alogos. como un eliminador de ruido implementado en el computador. Un filtro digital es un sistema de tiempo discreto que deja pasar ciertos componentes de frecuencia de una secuencia de entrada sin distorsi´ on y bloquea o aten´ ua otros. puede describirse como un filtro. Cualquier medio por el cual una se˜ nal de audio pasa.Cap´ ıtulo 6 Procesamiento digital de audio 6. La figura 6. Se trata simplemente de un filtro que opera sobre se˜ nales digitales. tales como las que operan dentro de un computador.2 muestra el cambio que produce un filtro en el dominio de la frecuencia. algo no nos parece un filtro a menos que pueda modificar el sonido de alguna manera. como el caso de un filtro solar de un telescopio. x(n) h(n) y(n) Figura 6. Si la salida es diferente a la entrada. 1) De esta ecuaci´ on se concluye que lo u ´nico que se necesita para implementar un filtro digital son sumas (o restas). Los coeficientes ak multiplican a valores pasados de la salida y los coeficientes bi a valores pasados de la entrada. entonces el filtro s´ olo depende de valores pasados y presentes de la entrada y se trata de un filtro no recursivo o FIR. Si los valores ak no son todos nulos. multiplicaciones y retrasos. sin embargo. 6. ´ CADIZ. Ecuaci´ on de diferencias En forma general. Un filtro digital puede hacer todo lo que un filtro an´ alogo es capaz de realizar.110 CAP´ ITULO 6. R. cualquier filtro digital puede ser descrito por la siguiente ecuaci´ on de diferencias: M N y (n) = i=0 bi x(n − i) − k=1 ak y (n − k ) (6.1. El segundo caso claramente muestra una modificaci´ on en el contenido de frecuencias de la se˜ nal original. los filtros digitales pueden alcanzar resultados muy superiores. Si todos los coeficientes ak son cero. Los filtros an´ alogos pueden ser usados para cualquier tarea. El ´ ındice n es un n´ umero entero que representa unidades discretas y los n´ umeros ak y bi se denominan los coeficientes del filtro. ya que nos dice que la salida del filtro depende de versiones presentes y pasadas de la entrada menos versiones pasadas de la salida. PROCESAMIENTO DIGITAL DE AUDIO Amplitud f a) No hay ltrado Amplitud b) Si hay ltrado f Figura 6.2: Filtrado versus no filtrado simplemente igual.1. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . lo que indica que ese filtro no realiza cambio alguno en la se˜ nal de entrada. entonces se trata de un filtro recursivo o IIR. 2. En el caso de filtros no recursivos. Funci´ on de transferencia En el dominio de la frecuencia compleja discreta (Z )..(1 − qM z −M ) = A (1 − p1 z −1 ).2. + bM z −M =A X (z ) 1 + a1 z −1 + . Todo sistema lineal e invariante en el tiempo (LTI) se caracteriza un´ ıvocamente por una respuesta al impulso y una respuesa de frecuencia.(1 − pN z −N ) H (z ) = (6. los coeficientes del filtro corresponden directamente a los valores de la respuesta al impulso.5).4) donde qi son llamados ceros y pi polos.1. pero codificada de una manera diferente. discutida previamente en la secci´ on 1.1. Cada una de estas respuestas contiene informaci´ on completa sobre el filtro.1.. Todas los filtros lineales pueden ser implementados de esta manera.2 se obtiene: n y (n) = h(n) ∗ x(n) = i=0 h(i)x(n − i) (6. es f´ acil comprobar que la ecuaci´ on 6... Por simple inspecci´ on.5 se corresponde con la ecuaci´ on 6. la otra puede ser obtenida en forma directa a trav´ es de la transformada de Fourier.1.2 de la siguiente forma: Y (z ) X (z ) (1 − q1 z −1 ). Dado que la multiplicaci´ on en el dominio del tiempo corresponde a una convoluci´ on en el dominio de la frecuencia. + aN z −N (6..5) donde h(n) se conoce como la respuesta al impulso del filtro. La manera m´ as directa de implementar un filtro digital es mediante la convoluci´ on de la se˜ nal de entrada con la respuesta al impulso del filtro. R. ´ CADIZ. El teorema fundamental del algebra nos permite reescribir la ecuaci´ on 6. Los ceros corresponden a valores donde la funci´ on de transferencia es cero y los polos a valores donde la funci´ on de transferencia tiende a infinito (ver secci´ on 6.3) (6.. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . tomando la transformada Z inversa de la ecuaci´ on 6.6..4.. Si una de ´ estas respuestas es conocida. o filtros de respuesta al impulso finita. FILTROS DIGITALES 111 6.2) donde z −1 es un retraso unitario y H (z ) es la funci´ on de transferencia y corresponde a la respuesta de frecuencia del filtro. cualquier fitro digital puede ser representado por una funci´ on de transferencia de la siguiente forma: H (z ) = Y (z ) 1 + b1 z −1 + . 3. un sistema LTI de tiempo discreto se caracteriza completamente por su respuesta al impulso h(n). Los filtros usualmente se clasifican dependiendo de la morfolog´ ıa de sus respuestas de frecuencia. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . PROCESAMIENTO DIGITAL DE AUDIO 6. interesa conocer el comportamiento del filtro en t´ erminos de su contenido de frecuencias. R.112 CAP´ ITULO 6. La respuesta de frecuencia H (Z ) puede ser calculada directamente como la transformada de fourier discreta de la respuesta al impulso h(n).3: Respuestas de frecuencia t´ ıpicas Dado que la variable de frecuencia Z es una variable compleja. pasa-banda o rechaza-banda. Respuesta de frecuencia Si bien en el dominio del tiempo. usualmente denotada por H (Z ). es importante no olvidar que la respuesta de frecuencia se compone de una magnitud y una fase. mientras que su angulo se conoce como respuesta de fase.1. Es as´ ı que en el dominio de la frecuencia. La idea de esta respuesta es determinar el comportamiento del filtro en regimen permanente de reposo en la presencia de distintos componentes de frecuencia en la entrada.3. a) pasa bajos f b) pasa altos f c) pasa banda f d) rechaza banda f Figura 6. Utilizando el principio de superposici´ on. la respuesta de un sistema LTI a una combinaci´ on lineal de se˜ nales sinusoidales se denomina respuesta de frecuencia. ´ ´ CADIZ. detallados en la figura 6. es posible estudiar la respuesta global de un filtro a se˜ nales de distinta frecuencia mediante una combinaci´ on lineal de se˜ nales sinusoidales aisladas. t´ ıpicamente en una de las siguientes formas: pasabajo. La magnitud de esta respuesta es lo que com´ unmente se conoce como respuesta de frecuencia o respuesta de ampliud. pasa-alto. Esto se conoce como retraso de fase (en ingl´ es phase delay). R.4.3 0. no es muy util en t´ erminos pr´ acticos. por lo que resulta m´ as intuitivo disponer de alguna forma de conocer el retraso de cada componente medido en segundos.9 1 Figura 6.4 muestra una respuesta de fase t´ ıpica. Respuesta de fase 200 150 100 50 Fase en grados 0 −50 −100 −150 −200 0 0.6 Frecuencia normalizada 0.5 muestra respuestas de fase lineales y no lineales tanto para filtros FIR. descritos en la secci´ on 6. el cual se define como: − ´ CADIZ.4 0. La respuesta de fase usualmente es referida simplemente como la fase del filtro.2. Respuesta de fase La respuesta de fase Φ(ω ) de un filtro LTI se define como la fase (o ´ angulo jωt complejo) de la respuesta de frecuencia H (e ).6) ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . Φ(ω ) ω (6.2 0.7 0. como para filtros IIR.1. La figura 6.4: Respuesta de fase La figura 6. La respuesta de fase determina el desfase medido en radianes al que ser´ a cometido cada componente de frecuencia de la se˜ nal de entrada.6.1. Retraso de fase (phase delay) Dado que la respuesta de fase Φ(ω ) otorga informaci´ on sobre el desfase en radianes o grados.5 0.1 0.8 0. Para filtros con coeficientes reales.3. FILTROS DIGITALES 113 6. abordados en la secci´ on 6. la fase puede ser definida sin ambiguedades como la la fase de la respuesta de frecuencia. 5 −0.6 −0.6 0.9 −1 0 d) Filtro FIR con fase no lineal 0.3 −0.4 0. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL .5 0 0.6 0.8 1 2 1.35 −0.4 0.3 0.2 0.9 1 Figura 6.4 0.6 muestra el retraso de fase de la respuesta de fase mostrada anteriormente en la figura 6.1 −0.5 −1 −1.5 −3 −3.8 1 b) Filtro FIR con fase lineal c) Filtro IIR con fase no lineal 0 −0.7 0.1 −0.05 −0.6: Retraso de fase La figura 6.4.45 0 0.4 −0.8 1 Figura 6.8 −0.2 0.2 0.5 1 0.2 −0.2 −0.4 −0.5 0 −0.5: Respuestas de fase lineales versus no lineales Retraso de fase 3 2 1 Tiempo 0 −1 −2 −3 0 0.5 0 0.8 1 0 −0.5 0. PROCESAMIENTO DIGITAL DE AUDIO a) Filtro FIR con fase lineal 1 0.5 −1 −1.7 −0. R.6 0. ´ CADIZ.8 0.15 −0.5 0 −0.114 CAP´ ITULO 6.6 0.2 0.4 0.25 −0.3 −0.2 0.4 0.5 −2 −2.6 Frecuencia normalizada 0.5 −2 −2.1 0. el retraso de grupo puede ser interpretato como el retraso temporal de la envolvente de la amplitud de una sinusoide de frecuencia ω . El ancho de banda de esta envolvente debe estar restringido a un intervalo de frecuencias sobre el cual la respuesta de fase es aproximadamente lineal.7: Fase desenrrollada ´ CADIZ. es decir cuando Φ(ω ) = −αω para alguna constante α.9 1 Figura 6. En este caso. − Desenrollado de fase (phase unwrapping) Muchas veces es necesario desenrollar la respuesta de fase. por lo general las fases relativas de los componentes sinusoidales de la entrada se ven alterados.8 0. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . R.1 0.7) dω Para respuestas de fase lineales.2 0. como el caso de la figura 6. Respuesta de fase desenrollada −100 −200 −300 −400 Fase en grados −500 −600 −700 −800 −900 0 0. ´ esta contiene saltos o discontinuidades. y cada uno de ellos puede interpretarse como retraso de tiempo. Φ(ω ). definido como: dΦ(ω ) (6.3 0. com´ unmente. FILTROS DIGITALES Retraso de grupo (Group delay) 115 Otra forma com´ un de presentar la informaci´ on de fase de un filtro se denomina retraso de grupo (en ingl´ es group delay). dado que.1.4 0.6. Por lo tanto. el nombre retraso de grupo se refiere al hecho que ´ este especifica el retraso que experimenta una banda de frecuencias con un intervalo de frecuencias peque˜ no en torno a ω. Pero si la respuesta de fase es no lineal. donde se aprecian saltos de magnitud 2π .4.6 Frecuencia normalizada 0. el retraso de grupo y el retraso de fase son id´ enticos.5 0.7 0. o respuesta de amplitud para ´ CADIZ. Diagramas de polos y ceros La ecuaci´ on 6. se asegura que todos lo m´ ultiplos de 2π hayan sido incluidos en Φ(ω ). Dado que el an´ alisis de los filtros LTI se basa en sinusoides peri´ odicas. PROCESAMIENTO DIGITAL DE AUDIO Al desenrrollar la fase. el retraso de fase se modifica de acuerdo a m´ ´ ultiplos enteros del per´ ıodo sinusoidal. La figura 6. sin principio ni fin. que podr´ ıa traducirse como palo. Este tipo de diagrama resulta u ´til porque muestra una representaci´ on gr´ afica tanto de la respuesta de amplitud como de fase de un filtro digital. frecuentemente es u ´til definir la respuesta de fase de un filtro como una funci´ on continua de la frecuencia con la propiedad Φ(0) = 0 (para filtros reales). ´ esta puede graficarse como un vector que parte desde el origen y cuya distancia al origen representa su magnitud mientras su ´ angulo respecto al eje de los n´ umeros reales representa la fase. Φ(ω ) no es suficiente para obterner una respuesta de fase que pueda ser convertida a un desfase de tiempo verdadero. Esto especifica como desenrrollar la respuesta de fase en el dominio de la frecuencia. Todo lo que se necesita conocer son los valores de los polos y ceros para poder estimar en forma gr´ afica la respuesta de fase y magnitud. que es simplemente un plano donde el eje de ordenadas representa los n´ umeros reales y el eje de abscisas n´ umeros puramente imaginarios.116 CAP´ ITULO 6. El t´ ermino cero se refiere al n´ umero mientras la palabra polo es una traducci´ on del ingl´ es pole. los polos representan puntos donde ´ esta superficie alcanza una gran altitud y se hacen cada vez m´ as angostos a medida que se alejan del plano.4 muestra la funci´ on de transferencia H (z ) de un filtro escrita en t´ erminos de ceros y polos. Estos t´ erminos adquieren sentido cuando se grafica la magnitud de H (z ) como una funci´ on de la frecuencia compleja z . 6.4 desenrollada. R.7 muestra la respuesta de fase de la figura 6. mostrado en la figura 6. Sin embargo. El gr´ afico de H (Z ) aparece entonces como una superficie infinitamente delgada que se extiende en todas las direcciones del plano.1. La magnitud de la respuesa de frecuencia. no es posible en principio distinguir entre retraso de fase verdadero y un retraso de fase con peri´ odos descartados si se observa a una salida sinusoidal de una frecuencia determinada. Los ceros son puntos donde la superficie casi toca el plano-z . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL .5. La magnitud de H (Z ) es real y puede interpretarse como la distancia sobre el plano-z . Dado que z es una variable compleja. Por el contrario. Por si misma. tal como se hace en la definici´ on de un angulo complejo. Esto se realiza en lo que se denomina el plano-z .8. Si se descartan los m´ ultiplos de 2π . 6.8: El plano z Figura 6. FILTROS DIGITALES imaginario círculo unitario 117 plano z frecuencia real DC Nyquist -3/2 SR -1/2 SR 0 1/2 SR 3/2 SR Figura 6. La respuesta de fase de obtiene dibujando l´ ıneas desde todos los polos ´ CADIZ.9: Estimaci´ on de la respuesta de amplitud mediante un diagrama de polo y ceros cada frecuencia est´ a dada por el producto de las magnitudes de los vectores dibujados desde los ceros hacia el c´ ırculo unitario divivido por el producto de las magnitudes de los vectores dibujados desde los polos hacia el c´ ırculo unitario.1. R. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . 12 uno de un polo.7. Dependiendo del coeficiente se pueden construir filtros pasabajos o pasa altos. 6. Filtros de primer orden Los filtros digitales se clasifican segun el n´ umero de retrasos involucrados en su implementaci´ on y esto determina su orden. tal como se muestra en la figura 6. La forma de la respuesta de frecuencia en ambos casos cambia dependiendo si el filtro es de un polo o de un cero. R. se habla de un filtro de segundo orden. tal como muestra la figura. Filtros de segundo orden Si el filtro involucra dos retrasos. ´ CADIZ.11 muestra un filtro de un cero y la figura 6.13.6.118 CAP´ ITULO 6. Un filtro de primer orden s´ olo involucra un retraso y por ende s´ olo puede estar constituido por un cero o un polo.1. Los angulos de las l´ ´ ıneas de los ceros se suman y los ´ angulos de las l´ ıneas de los polos se restan.10. PROCESAMIENTO DIGITAL DE AUDIO Figura 6. La figura 6. es posible construir filtros pasa banda o rechaza bandas. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . 6.1.10: Estimaci´ on de la respuesta de fase mediante un diagrama de polo y ceros y ceros hacia el c´ ırculo unitario. Al disponer de dos polos y dos ceros. tal como lo muestra la figura 6. 9 plano z f a pasa altos |P| b = -.9 plano z 0 SR/2 f Figura 6.4. ´ CADIZ. filtro bi-cuadr´ atico.11: Filtro de primer orden de un cero = polo a pasa bajos 0 SR/2 |P| b = .13: Filtro de segundo orden de dos polos y dos ceros El caso general de un filtro de segundo orden. R. se detalla en la secci´ on 6.6. de dos polos y dos ceros. FILTROS DIGITALES = cero 119 a pasa alto f |Z| a=1 0 SR/2 plano z a pasa bajos f a = -1 |Z| 0 SR/2 plano z Figura 6.1. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL .12: Filtro de primer orden de un polo dos ceros rechaza banda a 0 SR/2 f dos polos pasa banda a 0 SR/2 f Figura 6. denominado. lo que significa que la respuesta del filtro depende s´ olamente de la entrada y no de valores pasados de la salida. Filtros FIR En un filtro con respuesa al impulso finita o FIR. Figura 6.14 muestra la implementaci´ on de un filtro FIR. PROCESAMIENTO DIGITAL DE AUDIO 6. (6. requieren de un mayor orden que los filtros IIR El dise˜ no de filtros FIR se basa usualmente en una aproximaci´ on directa de la magnitud de la respuesta deseada a la cual se le agrega la condici´ on de una respuesa de fase lineal. R. Una de las propiedades m´ as interesantes de este tipo de filtros es la simetr´ ıa de sus coeficientes y el hecho que pueden ser dise˜ nados de tal forma de exhibir una respuesta de fase lineal. Este tipo de filtros tiene una respuesta finita ya que no exhiben recursi´ on.14: Esquema de implementaci´ on de un filtro FIR La funci´ on de transferencia de un filtro FIR est´ a dada por: ∞ M H (z ) = i=−∞ hn z −n = n=0 bn z −n (6. los coeficientes ak son cero. Este requerimiento es: h(N − 1 − n) = ±h(n) ´ CADIZ.8) Los filtros FIR tienen las siguientes propiedades: Respuesta de fase lineal (si se dise˜ nan adecuadamente) Estabilidad con coeficientes cuantizados En general. La figura 6.9) ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL .120 CAP´ ITULO 6.2. para luego desplazar la secuencia de manera de garantizar causalidad. Existe un m´ etodo ´ optimo llamado algoritmo de Parks McClellan que produce coeficientes ´ optimos y fase lineal.10) Los filtros IIR tienen las siguientes caracter´ ısticas: Mejor atenuaci´ on que los filtros FIR F´ ormulas cerradas de aproximaci´ on ´ CADIZ. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . porque la salida del filtro depende de valores pasados de si misma. La idea es muestrear la respuesta de amplitud deseada a intervalos regulares y luego utilizar la DFT inversa para general una respuesa al impulso de duraci´ on finita. Otras t´ ecnicas se basan en muestreo en la frecuencia. R. pero puede funcionar para aplicaciones simples.2. Por u ´ltimo. La funci´ on de transferencia de un filtro IIR es: H (z ) = 1 N −N n=0 an z (6. 6.3. Dise˜ no de filtros FIR Un filtro FIR puede ser dise˜ nado utilizando distintas t´ ecnicas tanto en el dominio del tiempo como de la frecuencia. Esta t´ ecnica sin dudas es r´ apida y no muy precisa. hay una t´ ecnica ad-hoc denominada posicionamiento de ceros.6. El n´ umero de muestras determina el nivel de precisi´ on del filtro respuesto a la respuesa ideal. Mientras m´ as cercano est´ e el cero al c´ ırculo unitario. b´ asicamente toman la respuesta al impulso de un filtro ideal con duraci´ on infinita y aplican una ventana para truncar y limitar los coeficientes a un n´ umero espec´ ıfico.1. Las t´ ecnicas de ventaneo (en ingl´ es windowing). Esta t´ ecnica es simple y produce resultados razonables. flexibilidad y excelentes resultados. mayor efecto tendr´ a en la respuesta de frecuencia del filtro para ese rango de frecuencias. Esta t´ ecnica es bastante sofisticada y requiere una tasa de muestreo alta. pero con distorsi´ on respecto a la respuesta ideal. FILTROS IIR 121 6.3. Filtros IIR Los filtros de respuesta al impulso infinita o IIR tambi´ en son llamados filtros recursivos. Este m´ etodo es muy popular dado su facilidad de usar. La idea es colocar ceros en el plano-z de forma estrat´ egica con el fin de aproximarse a la respuesta deseada y realizar el c´ alculo de los coeficientes en forma gr´ afica. 122 CAP´ ITULO 6.15: Esquema de implementaci´ on de un filtro IIR Respuesta de fase no lineal Inestabilidad (oscilaciones de ciclo l´ ımite) en computaciones de largo de palabra finito 6. y las t´ ecnicas de dise˜ no difieren enteramente de las t´ ecnicas para dise˜ no de filtros FIR. Las t´ ecnicas son indirectas son las m´ as utilizadas y por lo general entregan mejores resultados. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . Los m´ etodos directos de dise˜ no se llevan a cabo en el plano complejo discreto Z . an´ alisis en el dominio del tiempo y en el dominio de la frecuencia.3. para ser transformados despu´ es al plano-Z . Entre las t´ ecnicas directas se encuentran el posicionamiento ad-hoc de polos y zeros con el subsiguiente an´ alisis de frecuencia. En el dominio de la frecuencia. le ´ CADIZ.1. R. Dise˜ no de filtros IIR Los filtros IIR pueden tener polos (debido a la retroalimentaci´ on) y ceros. En el dominio del tiempo. y los m´ etodos indirectos empiezan en el plano an´ alogo o continuo S . se transforma la respuesta de frecuencia de un filtro ideal H (Z ) en su respuesta al impulso y se resuelve un sistema de ecuaciones de N coeficientes de manera de minimizar el error cuadr´ atico medio. PROCESAMIENTO DIGITAL DE AUDIO Figura 6. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL .3. R. hay dos t´ ecnicas que permiten generar la transformada Z : la transformada bilinear y la diferencia hacia atr´ as (backward difference). Una soluci´ on muy utilizada es expandir ln(Z ) como una serie y truncar el primer elemento. Poseen una respuesta de fase razonable y una respuesta de amplitud monot´ onica. de la cual la m´ as utilizada es la transformada bilinear.12) El logaritmo natural presenta un problema cuando se trata de mapear desde el plano S al Z . se transforma o mapea este filtro al plano Z . Esto se realiza mediante la siguiente ecuaci´ on: s= 2 1 − Z −1 Ts 1 + Z −1 (6. FILTROS IIR 123 objetivo es mapear una respuesta de frecuencia ideal hacia una estructura IIR.11) (6. Filtros Chebyschev. Poseen una zona de corte m´ as pronunciada que un filtro Butterworth. Filtos el´ ıpticos. 6. Una vez hecho esto. Luego. los filtros escogidos son: Filtros Butterworth. El enfoque m´ as utilizado es empezar de las especificaciones del filtro y luego escoger la funci´ on apropiada para obtener un filtro an´ alogo equivalente y su funci´ on de transferencia H (s). Poseen la mejor respuesta de amplitud y el orden ´ optimo para dise˜ nos IIR. pero la peor respuesta de fase en t´ erminos de linearidad. Las t´ ecnicas indirectas implican el dise˜ no de un filtro anal´ ogico apropiado en el plano S y luego mapear desde ´ este al plano discreto Z .13) T´ ıpicamente.6.2. ´ CADIZ.3. usando las siguientes transformaciones: Z = esTs 1 s= ln(Z ) Ts (6. Transformada Z bilinear Este es usualmente el m´ etodo que se utiliza para el dise˜ no de filtros IIR. 124 CAP´ ITULO 6. PROCESAMIENTO DIGITAL DE AUDIO 6.4. Filtros bi-cuadr´ aticos Los filtros bi-cuadr´ aticos o simplemente biquad en ingl´ es , son filtros que constan de dos polos y dos ceros y cuya funci´ on de transferencia est´ a dada por: 1 + b1 z −1 + b2 z −2 H (z ) = g (6.14) 1 + a1 z −1 + a2 z −2 donde g es la ganancia. Dado que tanto el numerador como el denominador son polinomios de segundo orden en z , esta funci;on de transferencia se conoce como bi-cuadr´ atica en z . Existen diferentes maneras de implementar un filtro bi-cuadr´ atico. Una de las m´ as conocidas es a trav´ es de las f´ ormulas obtenidas por Robert Bristow-Johnson. Estas formulas pueden utilizarse para calcular los coeficientes de los tipos m´ as comunes de filtros digitales: pasa-bajos, pasa-altos, pasa-bandas, notch, peakingEQ, lowShelf y highShelf. El ap´ endice A.9 contiene c´ odigo SuperCollider que implementa filtros bi-cuadr´ aticos utilizando las ecuaciones de Bristow-Johnson. 6.5. Filtros comb Un tipo de filtro muy com´ un en aplicaciones de audio es el llamado filtro comb (peineta en ingl´ es), el cual es implementado mediante una l´ ınea de retraso. La idea de este filtro es combinar la se˜ nal de entrada con una versi´ on retrasada de la misma. Hay dos subtipos de filtros comb: no recursivos (o feedforward) y recursivos (o feedback). Este filtro debe su nombre a que su respuesta de amplitud se asemeja mucho a la forma de una peineta o comb en ingl´ es. b0 -M x(n) Z bM + y(n) Figura 6.16: Filtro comb no recursivo El filtro comb no recursivo usualmente se implementa tal como se muestra en la figura 6.16 y el filtro recursivo se grafica en la figura 6.17. ´ CADIZ, R. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL 6.5. FILTROS COMB 125 b0 y(n) x(n) + Z -M -aM Figura 6.17: Filtro comb recursivo La ecuaci´ on de diferencias de un filtro comb no recursivo es: y (n) = b0 ∗ x(n) + bM ∗ x(n − M ) y para un filtro comb recursivo: y (n) = b0 ∗ x(n) − aM ∗ y (n − M ) (6.16) (6.15) La respuesta de amplitud t´ ıpica de un filtro comb se muestra en la figura6.18. Respuesta de frecuencia de un filtro comb general Amplitud Frecuencia Figura 6.18: Respuesta de amplitud de un filtro comb ´ CADIZ, R. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL 126 CAP´ ITULO 6. PROCESAMIENTO DIGITAL DE AUDIO 6.5.1. Phasing y flanging Un phaser, que podr´ ıa traducirse como faseador, genera zonas de peaks y depresiones en el espectro. La posici´ on de ´ estos var´ ıa en el tiempo, creando un efecto de glissando. Para estos efectos, se utiliza usualmente un oscilador de baja frecuencia. Este efecto se logra al mezclar la se˜ nal de entrada con una versi´ on modificada de s´ ı misma, a trav´ es uno o varios filtros pasa-todo, que mantienen la magnitud del espectro de frecuencias, pero alteran su fase en forma no lineal. Para cada componente de frecuencia, el cambio en la fase es distinto. Al mezclarse ambas versiones, las frecuencias que se encuentran fuera de fase, se cancelan, creando las zonas de depresi´ on caracter´ ısticas de este efecto, las cuales usualmente no ocurren en forma arm´ onica. Al cambiar la mezcla se logra modificar la profundidad de las depresiones, alcanzandose los m´ aximos valores cuando la mezcla es de 50 %. El flanging es un tipo espec´ ıfico de phaser, donde la secci´ on pasa-todo se implenta como una secuencia de l´ ıneas de retraso. La se˜ nal de entrada se agrega a una copia retrasada de la misma, lo que resulta en una se˜ nal de salida con peaks y depresiones en relaci´ on arm´ onica. Ambos efectos son variaciones de filtros comb. El flanger utiliza un filtro comb con dientes regularmente espaciados, mientras que el phasing utiliza una filtro con dientes separados irregularmente. Los controles habituales en este tipo de efectos son: Retraso: Es el umbral m´ aximo de desfase de la onda duplicada respecto a la original, se suele expresar en milisegundos. Frecuencia: Es la frecuencia de oscilaci´ on del desfase de la onda duplicada. Profundidad: Es la cantidad de onda original que se mezcla con la duplicada. 6.6. Ecualizador Un ecualizador modifica el contenido en frecuencias de la se˜ nal de entrada. Consiste b´ asicamente en un banco de filtros pasa-banda, cada uno centrado en una banda de frecuencias espec´ ıficas. Com´ unmente se utilizan para reforzar ciertas bandas de frecuencias, ya sea para compensar la respuesta del equipo de audio (amplificador + altavoces) o equilibrar en t´ erminos espectrales el sonido. Existen ecualizadores anal´ ogicos y digitales, activos ´ CADIZ, R. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL ´ 6.7. COMPRESION 127 o pasivos, param´ etricos, gr´ aficos y paragr´ aficos. Los ecualizadores suelen poseer control sobre diez bandas de frecuencia o m´ as. +12 +6 0 -6 -12 20 100 1k 10k 20k Figura 6.19: Dos curvas de ecualizaci´ on La figura 6.19 muestra dos curvas de ecualizaci´ on posibles, una que enfatiza la zona alrededor de los 1000 Hz y otra que aten´ ua frecuencias cercanas a 100 Hz. 6.7. Compresi´ on Tal como se detalla en el cap´ ıtulo 3, una caracter´ ıstica notable del sistema auditivo humano es su capacidad de detectar un amplio rango de amplitud o intensidad sonora, desde el m´ as d´ ebil murmullo hasta el sonido ensordecedor de un avi´ on a propulsi´ on. Al tratar de grabar o reproducir este vasto espectro de amplitudes sonoras, es imposible evitar limitaciones f´ ısicas, tanto electr´ onicas como ac´ usticas, de la tecnolog´ ıa de almacenamiento y reproducci´ on de sonido. Cuando el rango din´ amico de la se˜ nal ac´ ustica excede las capacidades de un sistema de reproducci´ on o grabaci´ on de sonido, inevitablemente los puntos m´ aximos de la se˜ nal ser´ an distorsionados por truncamiento (en ingl´ es clipping), los altavoces pueden sufrir da˜ no al verse sometidos a niveles muy altos de intensidad, o pasajes muy suaves en t´ erminos de amplitud pueden pasar desapercibidos en la presencia de ruido el´ ectrico o de fondo (en ingl´ es noise floor). Por lo tanto, se hace necesario mantener el nivel operativo de la se˜ nal lo m´ as alto posible de manera de minimizar la distorsi´ on que se produce por el ruido de fondo, y al mismo tiempo limitar los picos de la se˜ nal para no causar truncamiento o sobrecarga del sistema. Esto se realiza a trav´ es de un compresor. Es importante no confundir a este tipo de compresores de amplitud de audio con la compresi´ on ´ CADIZ, R. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL 128 CAP´ ITULO 6. PROCESAMIENTO DIGITAL DE AUDIO de informaci´ on digital o perceptual. Umbral 1:1 2:1 Nivel de Salida (dB) 4:1 ∞:1 Nivel de entrada (dB) Figura 6.20: Funciones de compresi´ on a distintas tasas Los compresores usualmente tienen un sistema autom´ atico de control de ganancia que constante monitorea la se˜ nal y ajusta la ganancia para maximizar la raz´ on se˜ nal a ruido sin producir distorsi´ on. Este tipo se dispositivos se conocen como procesadores din´ amicos, compresores y limitadores. La utilizar procesadores din´ amicos, los niveles peaks de la se˜ nal se pueden reducir, lo que a su vez permite incrementar el nivel global o promedio de la se˜ nal de audio. Los principales par´ ametros de un compresor son: Umbral (usualmente desde -40 a +20 dBu). Este par´ ametro fija el nivel sobre el cual las se˜ nales ser´ an comprimidas o limitadas. Al incrementarse el umbral, la se˜ nal se ve truncada a niveles mayores y por lo tanto se reduce la cantidad de compresi´ on o limitaci´ on. Raz´ on (1:1 a ∞:1). Este par´ ametro determina la pendiente de la compresi´ on, lo que incide en como la se˜ nal de salida cambia en relaci´ on a la se˜ nal de entrada una vez que excede el umbral. El primer d´ ıgito indica cuando cambio de la se˜ nal de entrada medido en dB causar´ a un cambio de 1 dB en la salida. Mientras m´ as alta la raz´ on, mayor es la compresi´ on y m´ as achatado se vuelve el sonido. La figura 6.21 muestra como normalmente se implementa la correci´ on de ganancia autom´ atica. Primero, la amplitud estimada se compara con el umbral, se toma el valor m´ aximo entre los dos y se sustrae esa cantidad al umbral. Esto determina el rango de amplitud que es necesario comprimir. ´ CADIZ, R. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL R. medido a trav´ es de su coeficiente de absorci´ on o reflexi´ on.21: Correcci´ on autom´ atica de ganancia En el ap´ endice A. el grado de reflexi´ on. reverberaci´ on y el eco. tal como si ´ esta hubiera sido producida por una imagen espejo del est´ ımulo en el lado opuesto de la superficie. con correcci´ on de ganancia como la reci´ en descrita.10 se puede encontrar c´ odigo SuperCollider que implementa un compresor de audio completo. amplitud estimada max + Umbral x 1 . las superficies c´ oncavas concentran las ondas de sonido en ´ areas espec´ ıficas. mientras las formas convexas diseminan las ondas sonoras. mientras que retrasos mayores a 50 ms perturban la imagen sonora y son percibidos como ecos. y el ´ angulo de incidencia de una onda de sonido es equivalente al ´ angulo de reflexi´ on. Retrasos m´ as prolongados contribuyen a la impresi´ on espacial de la reverberaci´ on. La ley de reflexi´ on en este caso funciona exactamente como para el caso de la luz.8. Reverberaci´ on Si un sonido no es absorbido o transmitido cuando impacta una superficie. Retrasos muy cortos provocan un desplazamiento en la imagen sonora hacia ambos lados y una coloraci´ on del sonido debido al efecto phasing. La reverberaci´ on es el resultado de un gran n´ umero de reflexiones sonoras que ocurren en una sala. promoviendo una buena difusi´ on del sonido. Para superficies distintas. Pero esa no es la ´ CADIZ. Sin embargo. Finalmente se resta el bias a esta cantidad y el resultado se convierte a ganancia lineal. este rango es multiplcado por la cantidad 1 − (1/R) donde R es la tasa de compresi´ on.(1/R) + Sesgo db->lin corrección de ganancia Umbral Figura 6.8. simplemente se refleja. Por lo general. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . La reflexi´ on del sonido da paso a la difusi´ on. Desde cualquier fuente sonora usualmente hay un camino directo entre esa fuente y los o´ ıdos del auditor. 6. es distinto.´ 6. REVERBERACION 129 Luego. esta ley de reflexi´ on s´ olo es aplicable cuando la longitud de onda del sonido es peque˜ na en comparaci´ on con las dimensiones de la superficie reflectante. el sonido que llega a cada o´ ıdo es diferente. Adem´ as es necesario considerar que los coeficientes de absorci´ on de cada material usualmente var´ ıan con la frecuencia. reduciendo el tiempo de reverberaci´ on. Onda onda sonora que ya ha rebotado en alguna superficie puede seguir experimentando rebotes sucesivos antes de llegar a los oyentes. una multiplicidad de ecos cuya frecuencia de repetici´ on es demasiado r´ apida como para ser percibidos como sonidos separados entre uno y otro. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . Los materiales absorbentes. cer´ amicas. las reflexiones tempranas provendr´ ıan en su mayor´ ıa de las paredes. Para obtener una sensaci´ on realista de la espacialidad de una sala es necesario que los sonidos en cada o´ ıdo est´ en en alguna medida decorrelacionados. antes de llegar a los o´ ıdos. El tiempo de reverberaci´ on se asocia con el tama˜ no de una sala. Las salas se conciertos t´ ıpicamente tienen tiempos de reverberaci´ on del orden de 1. Si se dispone de un cielo m´ as elevado. y dado que ´ estas se encuentran com´ unmente a diferentes distancias del auditor. ladrillo o vidrio. Tiempos de reverberaci´ on largos significan que la energ´ ıa del sonido permanece en la sala una cantidad de tiempo considerable antes de ser absorbidos. Esto es parte de la causa por la cual las salas de concierto tiene cielos tan elevados. El tiempo de reverberaci´ on es controlado primordialmente mediante dos factores: las superficies de la sala y su tama˜ no. el cual es la cantidad de tiempo que toma la intensidad de la se˜ nal en decar 60 dB respecto a su valor original. PROCESAMIENTO DIGITAL DE AUDIO u ´nica forma en que un sonido llega a quienes lo escuchan. La gente tiende a absorber una gran cantidad de energ´ ıa ac´ ustica.130 CAP´ ITULO 6. Un sonido reflejado toma un tiempo mayor en llegar que el sonido directo. Otra caracter´ ıstica importante de la reverberaci´ on es la correlaci´ on de las se˜ nales que llegan a nuestros o´ ıdos. R. Una unidad de medida que t´ ıpicamente se utiliza en la reverberaci´ on de salas es lo que se denomina el tiempo de reverberaci´ on. Esta sucesi´ on de sonidos atenuados y retrasados es lo que se conoce como reverberaci´ on y es lo que causa nuestra sensaci´ on de espacio dentro de una sala de conciertos. Las ondas de sonido pueden tomar caminos m´ as largos mediante rebotes o reflejos en las paredes. Los materiales altamente reflectivos. en efecto. como el concreto. Las salas grandes tienden a tener tiempo ´ CADIZ. alfombras y la gente. incrementan el tiempo de reverberaci´ on debido a su rigidez. cielo o piso. reduce el tiempo de reverberaci´ on. dado que recorre una mayor distancia y generalmente se encuentra debilitado. las primeras reflexiones ser´ ıan las provenientes del cielo y alcanzar´ ıan ambos o´ ıdos al mismo tiempo.5 a 2 segundos. ya que con un cielo de baja altura. ya que las paredes y otras superficies absorben parte de su energ´ ıa. El tipo de superficie determina cuanta energ´ ıa se pierde en cada reflexi´ on. La reverberaci´ on es. como cortinas. dado que. pero permite una parametrizaci´ on m´ as eficiente del control din´ amico del efecto de reverberaci´ on sint´ etico. Reverberaci´ on artificial La reverberaci´ on artificial es necesaria para asegurar un grado convincente de realismo de una escena auditiva virtual y para proveer control sobre las distancias percibidas de las fuentes sonoras.8. multimedia o realidad virtual o evaluaci´ on de ac´ ustica de arquitecturas. auditorios o sistemas de sonidos. El enfoque de la convoluci´ on resulta adecuado para la auralizaci´ on predictiva o comparativa de salas de conciertos. Las aplicaciones del procesamiento espacial de audio y t´ ecnicas de reverberaci´ on artificial incluyen la producci´ on de m´ usica grabada o en vivo. Mediante los algoritmos disponible hoy en d´ ıa. Debido a esto. las ondas de sonido viajan una distancia m´ as larga entre reflexiones.1.´ 6. El ap´ endice A. sin experimentar retrasos significativos y sin exceder la capacidad computacional de los procesadores digitales de se˜ nales. en promedio. cuando un ambiente de escucha controlado. La reverberaci´ on de una sala se puede simular mediante la convoluci´ on de una se˜ nal de entrada con la respuesta al impulso de la sala. Esta atenuaci´ on var´ ıa con la humedad y la temperatura. El aire en la sala tambi´ en aten´ ua las ondas sonoras. es posible implementar convoluci´ on de respuestas al impulso de larga duraci´ on en tiempo real. reduciendo el tiempo de reverberaci´ on. La aproximaci´ on tradicional a la reverberaci´ on sint´ etica en tiempo real se basa en redes de retraso basadas en algoritmos de feedforward para generar las reflexiones tempranas y algoritmos de feedback para la reverberaci´ on tard´ ıa. 6. R. y las altas frecuencias son las m´ as afectadas en estos casos. muchos reverberadores artificiales incorporan una etapa de filtros pasa bajo para lograr un mayor realismo en el efecto. Este enfoque no puede garantizar el mismo grado de precisi´ on que la convoluci´ on con la respuesta al impulso de la sala.8. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . ´ CADIZ. sea esta medida en forma f´ ısica o simulada en el computador. o a trav´ es de aud´ ıfonos se pueda experimentar todas las ventajas de la t´ ecnica.11 contiene c´ odigo SuperCollider que implementa un reverberador artificial completo. REVERBERACION 131 de reverberaci´ on m´ as largos. que es la cantidad de sonido retrasado que se mezcla con el original. ´ CADIZ. B´ asicamente.9.132 CAP´ ITULO 6.9. se transfieren los formantes del sonido hablado al sonido musical.1. deben mezclarse varios sonidos individuales con aproximadamente el mismo timbre y alturas levemente dis´ ımiles. y es lo que original el nombre del efecto. El efecto wah-wah tambi´ en es posible de producir mediante el modelamiento de un sonido instrumental utilizando un vocoder y el sonido wah-wah hablado como se˜ nal moduladora. de manera de ser percibidos como un s´ olo sonido proveniente de una misma fuente. 6. Los par´ ametros m´ as comunes de un delay son el tiempo de retraso.9. Esto es lo que t´ ıpicamente sucede en un coro de voces. definida como la cantidad de veces que se repite la se˜ nal sonora y la proporci´ on de mezcla. la cantidad de feedback o retroalimentaci´ on. Otros efectos Chorus El efecto chorus o de coro se obtiene al mezclar una se˜ nal de entrada con vibrato junto con la se˜ nal sin procesar. Wah wah El wah-wah es un tipo de efecto usualmente utilizado en instrumentos como la guitarra o bajo el´ ectrico. 6.10. que se mezcla con la se˜ nal original. obteniendose un efecto de eco sonoro. La cantidad de retroalimentaci´ on y su signo pueden ser especificados. De esta forma. R. El efecto de coro se enfatiz cuando los sonidos se originan en tiempos y lugares del espacio levemente distintos. PROCESAMIENTO DIGITAL DE AUDIO 6. 6. que corresponde al tiempo que tarda en producirse un eco. usualmente un filtro de un polo.2. Para producir el efecto. Al variar esta frecuencia de corte se produce el sonido caracter´ ıstico que da origen el nombre de este efecto.9. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . Procesador de efectos gen´ erico Un procesador general de efectos se puede implementar insertando en primer lugar la se˜ nal de entrada en una l´ ınea de retraso recursiva. La se˜ nal desfasada es luego filtrada utilizando un filtro de primer orden.3. ya sea natural o artificialmente. 6. se trata de un filtro pasa bajos con una frecuencia de corte variable. Delay Un efecto de delay o retraso consiste en la multiplicaci´ on y retraso modulado de una se˜ nal de entrada. ´ 6. ´ CADIZ. R.10. Esta arquitectura es b´ asicamente un filtro comb con la variaci´ on de poseer un filtro pasa bajos en vez de un multiplicador simple para la linea de retroalimentaci´ on. el retraso es modulado de manera de obtener efectos m´ as interesantes tales como el flanging. PROCESADOR DE EFECTOS GENERICO 133 Usualmente.12 se detalla la implementaci´ on de un procesador de efecto gen´ erico en SuperCollider. basado en ´ esta descripci´ on. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . Los par´ ametros usuales de un procesador gen´ erico son: Ganancia de entrada en dB (no mostrada en la figura) Tiempo de retreaso en ms Fase de retroalimentaci´ on Cantidad de retroalimentaci´ on Mezcla de salida Oscilador de frecuencia de retraso variable Desviaci´ on de retraso En el ap´ endice A. PROCESAMIENTO DIGITAL DE AUDIO ´ CADIZ. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL .134 CAP´ ITULO 6. R. Tanto es as que algunos compositores de m´ usica electroac´ ustica han llegado a cuestionar si lo que hacen puede ser considerado m´ usica en el sentido en que normalmente entendemos el t´ ermino. Una muestra de esto es que la mayor´ ıa de los escasos an´ alisis publicados sobre m´ usica electroac´ ustica est´ an hechos por compositores. Estas diferencias afectan tambi´ en a los roles de compositor e int´ erprete. La segunda definici´ on contempla la m´ usica que es generada mediante aparatos electr´ onicos o mediante una combinaci´ on de ´ estos con instrumentos ac´ usticos [4]. En el presente texto. Claramente separados y definidos en la tradici´ on musical de occidente. comprenden a la m´ usica como un subconjunto del m´ as amplio arte auditivo [20]. Son los compositores quienes parecen ser m´ as conscientes de las caracter´ ısticas y particularidades de este tipo de m´ usica. Por lo general. ya sea el propio autor u otro compositor. Al hablar de m´ usica electroac´ ustica es importante determinar claramente qu´ e se entiende por el t´ ermino. se considerar´ a la segunda definici´ on. Hay dos posibles definiciones. Esta m´ usica manifiesta grandes diferencias con respecto a la m´ usica instrumental [25]. uno que no es muy bien entendido incluso por algunos m´ usicos profesionales. La primera considera formas de m´ usica que pueden utilizar cualquier tipo de fuente sonora que pase a trav´ es de un circuito el´ ectrico y que resuene a trav´ es de un altoparlante. Otros prefieren la definici´ on arte auditivo (audio art) o arte sonoro (sonic art) y muchos rechazan la idea de ser compositores en el sentido tradicional.Cap´ ıtulo 7 La m´ usica electroac´ ustica La m´ usica electroac´ ustica constituye un g´ enero bastante particular en la historia de la m´ usica y en mi opini´ on. te´ oricos y music´ ologos. Cualquier tipo de m´ usica grabada electr´ onicamente y reproducida mediante altoparlantes cae en esta categor´ ıa. ahora 135 . Caracter´ ısticas de la m´ usica electroac´ ustica Material sonoro Smalley identifica tres tipos diferentes de sonidos [34]: 1. naturalmente surgen algunas interrogantes. Sonidos abstractos El concepto de sonido abstracto est´ a directamente relacionado con el concepto de audici´ on reducida (ver secci´ on 3. 2.136 ´ ´ CAP´ ITULO 7. sonidos que antes de su captura no posean prop´ osito musical alguno. creados mediante s´ ıntesis o transformaciones de otros sonidos y totalmente separados de las otras dos categor´ ıas. es muy rico en publicaciones e investigaci´ on. 3. En el u ´ltimo caso es dif´ ıcil identificar la fuente.4) y con el t´ ermino acusm´ atico.1. y en especial de la m´ usica computacional. Al comparar la m´ usica electroac´ ustica con la m´ usica instrumental o vocal tradicional. 7. ¿Por qu´ e es tan diferente la m´ usica electroac´ ustica respecto a formas m´ as tradicionales de m´ usica? ¿C´ omo escuchamos este tipo de m´ usica? ¿C´ omo la percibimos? ¿C´ omo podemos aproximarnos su an´ alisis? 7. R. LA MUSICA ELECTROACUSTICA se han vuelto difusos y muchas veces no es posible separarlos. su an´ alisis est´ a todav´ ıa en pa˜ nales. Sonidos especialmente creados con un prop´ osito musical. La posibilidad de ser compositor/int´ erprete abre nuevas interrogantes y nuevos espacios en la pr´ actica de este arte [25].1. mientras que en los dos primeros usualmente no necesitamos de ninguna pista visual para reconocerlas. Un sonido abstracto puede privilegiar perceptualmente alguna cualidad o ´ CADIZ. De hecho. las publicaciones sobre an´ alisis de obras electroac´ usticas son muy escasas en comparaci´ on con la cantidad de an´ alisis publicados sobre m´ usica instrumental o incluso contempor´ anea. tales como sonidos vocales o instrumentales. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL .1. tambi´ en es importante clasificar los sonidos de acuerdo a su capacidad de referencia y significaci´ on. Una inmediata observaci´ on sobre esta categorizaci´ on es que estos distintos tipos de sonidos difieren en sus fuentes sonoras. Desde otro punto de vista. Sonidos naturales o ambientales capturados mediante micr´ ofonos. Sonidos electroac´ usticos. Esto sugiere que la percepci´ on de estos tipos de sonidos difiere en cada caso. A pesar de que el campo de la m´ usica electroac´ ustica. est´ a frecuentemente determinada por su contexto. Smalley afirma que la mayor´ ıa de los sonidos tienen fuentes reconocibles e incluso. La percepci´ on de un sonido abstracto. quien propuso esta clasificaci´ on en un comienzo. Un sonido de viol´ ın. Las t´ ecnicas electroac´ usticas han llevado a la inclusi´ on de todos los tipos de sonidos anteriormente excluidos del discurso musical: ´ CADIZ. Sonido referencial Un sonido referencial es un sonido que expone. a un contexto determinado y no a criterios perceptuales intr´ ınsecos. cuando uno considera el material sonoro de la m´ usica electroac´ ustica. pueden ser percibidas fuentes sustitutas (ver secci´ on 4. No obstante. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL .1. sugiere. cuando dichas fuentes est´ an ocultas. por lo tanto. Un sonido referencial incluso puede tener un origen sint´ etico [6]. sino m´ as bien su poder de evocar situaciones extr´ ınsecas. Por lo general los sonidos instrumentales son referenciales. algunos a˜ nos m´ as tarde opt´ o por los t´ erminos intr´ ınseco/extr´ ınseco para diferenciar ambas clasificaciones [35]. Un sonido creado artificialmente tiende a ser abstracto. Es interesante notar que autores como Windsor creen que todos los sonidos poseen ambas cualidades y que no existen los sonidos puramente abstractos o referenciales [45]. Esto puede relacionarse con las t´ ecnicas empleadas en su creaci´ on o manipulaci´ on y/o en la contribuci´ on de ese sonido en particular al discurso musical de una obra. por el simple hecho de que la fuente es conocida. Un sonido puede ser denominado abstracto o acusm´ atico simplemente por la incapacidad del auditor de asignarle una fuente sonora real o imaginaria y por la negaci´ on de una fuente visual [46]. No es su origen real lo que importa. por ejemplo.4) [33].´ ´ 7. se trata de material que tradicionalmente no es considerado como musical [44]. o al menos no oculta su fuente sonora. o que determina la narrativa general de la m´ usica [6]. se refiere a algo concreto. Esto nos permite organizar y clasificar el material sonoro en base a sus caracter´ ısticas morfol´ ogicas y no en base a una referencia a la posible fuente de emisi´ on sonora. Un sonido de este tipo apunta en la direcci´ on opuesta a la interioridad. Incluso el mismo Smalley. CARACTER´ ISTICAS DE LA MUSICA ELECTROACUSTICA 137 par´ ametro en el cual el compositor ha puesto su atenci´ on en dentro del estudio. Usualmente. dada la imposibilidad de asignarle una fuente real. R. puede ser muy abstracto en t´ erminos musicales pero el auditor siempre tiene la opci´ on de hacer referencia al instrumento que emite el sonido. Muchos compositores de m´ usica electroac´ ustica aprovechan este fen´ omeno y construyen un continuo entre lo abstracto y lo referente que funciona como un principio micro o macroestructural. o puramente mediante s´ ıntesis. una partitura o una representaci´ on gr´ afica de otro tipo nos permite detener el tiempo y formarnos una idea del discurso temporal de la m´ usica sin tener que lidiar con la urgencia del tiempo mismo. no vocales. ´ CADIZ. Bennett y Camilleri sugieren que no existen herramientas anal´ ıticas o un vocabulario anal´ ıtico para la m´ usica electroac´ ustica. Puede prescribir las acciones de los ejecutantes. los sonidos dejan de ser s´ olo soportes para las alturas o estructuras r´ ıtmicas. Una partitura no es la m´ usica en s´ ı. Una partitura puede ser considerada como un mensaje. Barry Truax nota. m´ usica y paisaje sonoro son cada vez m´ as difusas cuando ´ estos son usados como material sonoro en el estudio [43]. Desde un punto de vista anal´ ıtico. que las l´ ıneas divisorias entre lenguaje. La m´ usica electroac´ ustica existe s´ olo como sonido.2. tal como lo conocemos. la notaci´ on provee un medio mediante el cual un compositor puede tratar de determinar qu´ e es lo que debe ser tocado. por ejemplo. obtenidos del medio ambiente o a trav´ es de la manipulaci´ on de otros sonidos previamente grabados.1. Desde un punto de vista de la composici´ on. A este respecto. R. una representaci´ on. con una fuente (el compositor) y un receptor (el o los int´ erpretes). LA MUSICA ELECTROACUSTICA ruidos. Su compleja multidimensionalidad se torna en el factor formal preponderante y gran parte de la composici´ on electroac´ ustica se basa en el valor del sonido por s´ ı mismo y no solamente en relaciones entre sonidos [18]. 7. cundo y c´ omo. En este sentido. en contraposici´ on con el mundo estructurado y altamente mediado de la m´ usica tradicional. La m´ usica electroac´ ustica usualmente presenta sonidos en una forma directa. inmediata. Ausencia de notaci´ on y representaci´ on abstracta El an´ alisis musical. sonidos no instrumentales. sino s´ olo una intermediaria. dado que ´ esta en general ni siquiera posee una representaci´ on de este tipo [3] [7].138 ´ ´ CAP´ ITULO 7. no tiene un pasado. es un producto del siglo XIX y la representaci´ on abstracta de la m´ usica (partituras o equivalentes) es un pre-requisito anal´ ıtico incluso m´ as antiguo. actuando como un conjunto de restricciones sobre las variables interpretativas. La notaci´ on tiene dos grandes prop´ ositos en la m´ usica de arte occidental [44]. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . existe s´ olo en el presente y al no tener una representaci´ on gr´ afica. La dificultad para pensar en t´ erminos abstractos acerca de la m´ usica electroac´ ustica y la falta de un vocabulario adecuado hacen muy dif´ ıcil la concepci´ on de modelos anal´ ıticos que tengan una validez m´ as all´ a de las experiencias personales del compositor o auditor. cuyas caracter´ ısticas nos permiten pensar acerca de la m´ usica que representa. es el discurso musical.1. En consecuencia. por ejemplo. es importante tener en cuenta que una partitura es s´ olo una de las fuentes de informaci´ on sobre una pieza de m´ usica. que no hay en ella ninguna correlaci´ on entre una representaci´ on gr´ afica y sonido. Tradicionalmente uno de los objetivos del an´ alisis es descubrir o explicitar las intenciones del compositor y su metodolog´ ıa. un aspecto interesante de la m´ usica electroac´ ustica es que su an´ alisis por lo general no coincide con un examen del proceso compositivo. Generalmente esto no es posible en el caso de la m´ usica electroac´ ustica. A pesar de esta aparente dificultad del enfoque anal´ ıtico. 7. documentos hist´ oricos. como usualmente sucede con la m´ usica instrumental [7]. El proceso de composici´ on en este caso s´ olo sirve para enfatizar y correlacionar algunas caracter´ ısticas f´ ısicas de las fuentes sonoras que dan origen a la pieza. entonces.3. CARACTER´ ISTICAS DE LA MUSICA ELECTROACUSTICA 139 Sin embargo. En consecuencia.1. La notaci´ on musical provee al analista de una representaci´ on fidedigna y lista sobre lo que puede ser escuchado en una pieza musical cuando ´ esta es interpretada correctamente. Lo que se infiere al escuchar una pieza de m´ usica puede tener muy poco que ver con la metodolog´ ıa del compositor. al concentrarse el analista solamente en el material sonoro sin ninguna referencia escrita. tales como an´ alisis ac´ usticos. Frente a esta lectura estricta de la notaci´ on. el an´ alisis de la m´ usica electroac´ ustica debe centrarse en otros aspectos y el divorcio entre compositor y la obra de arte una vez terminada es m´ as pronunciado en este caso que en formas de m´ usica m´ as ´ CADIZ.´ ´ 7. Lo u ´nico que puede analizarse. la relaci´ on entre alturas). Composici´ on y an´ alisis De acuerdo con Camilleri. una partitura tambi´ en funciona como un ente descriptor en un sentido bastante m´ as estricto. se evita el riesgo de realizar un an´ alisis basado en un solo aspecto (como. impresiones de los int´ erpretes. compositores o auditores tambi´ en proveen al analista de distintas e importantes descripciones de una pieza. Este es un hecho importante que no debe ser subestimado. el enfoque anal´ ıtico no puede ser otro que de orden est´ etico/perceptivo/cognitivo. R. un proceder que com´ unmente no tiene en cuenta lo que los auditores realmente escuchan. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . Es posible analizar una pieza musical tal como si fuera una representaci´ on de la pieza en s´ ı misma. dado que la m´ usica electroac´ ustica no posee ning´ un tipo de partitura. Otros factores. datos psicol´ ogicos o perceptuales. lo que Camilleri llama el texto sonoro [7]. dadas las m´ ultiples transformaciones y or´ ıgenes que el material sonoro puede tener. 5. cualquier m´ usica en un estilo con el cual no estemos familiarizados no nos significa nada Este punto constituye la esencia del argumento de Morthenson: incluso la m´ usica contempor´ anea m´ as extra˜ na involucra a int´ erpretes haciendo cosas ´ CADIZ. los eventos musicales representan fundamentalmente un significado interno. Para reafirmar esta idea. LA MUSICA ELECTROACUSTICA tradicionales. situaciones y personalidades. no es un requisito necesario para la vida y por lo tanto no necesitamos aprender el significado de los signos o s´ ımbolos art´ ısticos y est´ eticos. Uno es el representado por un signo y el otro es el significado de colocar ese signo en particular en alg´ un contexto o lugar espec´ ıfico. es habitual que los compositores de m´ usica electroac´ ustica no consideren que el resultado de su arte sea m´ usica. Composici´ on e improvisaci´ on Stephen Pope sostiene que muchos compositores de m´ usica electroac´ ustica que utilizan computadores realizan improvisaciones estructuradas en tiempo real. un est´ ımulo actual produce la expectativa de un evento musical posterior. porque no conlleva el significado esperado que usualmente le asignamos a la m´ usica [20].4. 7. Tal como ya se mencion´ o. entonces ese est´ ımulo posee un significado. El primer significado es mec´ anico y autom´ atico y est´ a basado en signos aprendidos.140 ´ ´ CAP´ ITULO 7. Morthenson es bastante dr´ astico en este sentido y prefiere directamente el t´ ermino arte electros´ onico [20]. El arte. hay dos tipos de significado. De esto se deriva que un est´ ımulo o gesto que no apunta o no genera expectativas de un evento posterior carece de significado. R. el concepto tradicional de composici´ on aqu´ ı se ve amenazado. porque se refieren a otros eventos musicales que est´ an por suceder o que han ocurrido recientemente. De acuerdo a estas ideas. composiciones interactivas [25]. Bajo su punto de vista. en su forma de ver.1.1. en base a la experiencia pasada. M´ usica electroac´ ustica y su significado Jan Morthenson sugiere que la m´ usica electroac´ ustica no puede ser psicol´ ogicamente catalogada como m´ usica bajo las condiciones culturales actuales. o en otras palabras. Dado que la expectativa es un producto derivado de la experiencia estil´ ıstica. Sin duda. experiencias. El debate acerca de donde termina la improvisaci´ on y donde empieza la composici´ on es algo que toma extraordinaria fuerza en el caso de la m´ usica electroac´ ustica. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . 7. mientras el segundo depende de juicios. Morthenson cita a Leonard Meyer: Si. pero ese simple hecho le permite al auditor asignarle un significado hipot´ etico porque aquello se relaciona con ocurrencias pasadas en la historia de la m´ usica. de acuerdo con la definici´ on de Meyer. uniforme u objetiva. no por una menci´ on directa. Este enfoque propuesto por Morthenson puede parecer hoy un poco radical. En resumen. sino que percibimos la m´ usica de maneras diversas y adoptamos distintas aproximaciones en nuestra audici´ on. Los aspectos m´ as sobresalientes de las estructuras y superficies musicales ´ CADIZ. Adkins introduce el concepto de cadena ac´ ustica.2. pero seguramente tuvo mucho sentido en el tiempo en que dichas ideas fueron escritas (1985). es bastante frecuente que adoptemos estrategias auditivas diferentes durante el transcurso de una misma pieza. los auditores no poseen referencias suficientes con las cuales comparar lo que est´ an escuchando. Una cadena acusm´ atica de este tipo claramente establece una nueva categor´ ıa de significaci´ on para la m´ usica electroac´ ustica. musicalmente no posee significado. porque los sonidos electroac´ usticos se relacionan m´ as con el medio ambiente que con la m´ usica. cada pieza de m´ usica electroac´ ustica es nueva y. Algunas veces el compositor se convierte en un supervisor. sino porque utiliza los mismos objetos sonoros [1]. Estrategias auditivas Investigaciones recientes en m´ usica electroac´ ustica sugieren que no escuchamos en una forma fija. En cambio. R. Actualmente existe una cultura sobre m´ usica electroac´ ustica con referentes hist´ oricos suficientes como para poder comparar cada nueva pieza que se crea. M´ as a´ un. 7. En consecuencia. como una variante de la m´ usica con todas sus implicaciones hist´ oricas. la mayor parte del tiempo est´ an ausentes las acciones otrora reconocibles de los compositores. la m´ usica electroac´ ustica no puede ser considerada como m´ usica. En el caso de la m´ usica electroac´ ustica esto no sucede. ESTRATEGIAS AUDITIVAS 141 con sus instrumentos. Los sonidos instrumentales tradicionales permiten distinguir la experiencia musical de cualquier otra experiencia auditiva. M´ as a´ un. que consiste b´ asicamente en v´ ınculos que se establecen cuando un compositor se refiere al trabajo de otro en la propia m´ usica. la m´ usica electroac´ ustica por lo general no precisa de artistas en el escenario para influenciar las evaluaciones de los auditores. Se le puede asignar el segundo tipo de significado. En este tipo de m´ usica. Al respecto. dado que son operaciones estad´ ısticas las que deciden el curso de los eventos.7. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . usualmente no existe una discriminaci´ on evidente entre creatividad art´ ıstica y s´ olo operaciones matem´ aticas o t´ ecnicas.2. Por lo tanto. significa mostrar una intenci´ on de escuchar. Ecouter. Estos modos son: ` 1. Similarmente.2. No hay intenci´ on de escuchar. no es posible percibir. Los primeros dos modos se relacionan con la audici´ on ordinaria y los modos tres y cuatro guardan relaci´ on con la audici´ on musical. sino lo que significa. Ou` ır. LA MUSICA ELECTROACUSTICA (espectromorfolog´ ıa) llevan a los auditores a adoptar estrategias diversas en la audici´ on. 3. si escuchamos el sonido de un autom´ ovil atravesando una calle. una voluntad de aprehender el sonido. Cuando o´ ımos una m´ usica en particular. Audici´ on musical Smalley menciona que la audici´ on musical es muy distinta a la audici´ on ordinaria. De acuerdo a su etimolog´ ıa. es poco probable que escuchemos de la misma manera una pieza con una clara narrativa musical y otra con una superficie musical altamente abstracta. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . no nos interesa el sonido en s mismo. Por ejemplo. Escuchar no es lo mismo que o´ ır [34]. Entendre. El auditor se ocupa de la proveniencia de los sonidos y el mensaje que conllevan. De la misma manera. 2.2. solamente podemos escucharla si decidimos prestar atenci´ on. Por ejemplo.2. Tal como sugieren Jones y Yee. mientras que la audici´ on conlleva un acto intencional. 7. Este es el nivel m´ as crudo y elemental de percepci´ on auditiva. una r´ apida secuencia monof´ onica de eventos sonoros aut´ onomos no se escucha de la misma manera que una densa textura granular que evoluciona en el tiempo. R. Corresponde a un proceso selectivo donde algunos sonidos son preferidos respecto a otros. O´ ır implica un acto involuntario. probablemente el veh´ ıculo va muy r´ apido y nos podr´ a atropellar.1. Este modo trata al sonido como un signo de su fuente. entender o recordar m´ usica si no prestamos atenci´ on a ella [17]. 7. pero un sonido nos llega y no podemos evitarlo. Un ejemplo de esto puede ser una explosi´ on o un llanto s´ ubito.142 ´ ´ CAP´ ITULO 7. ´ CADIZ. La atenci´ on se enfoca en la ocurrencia o en los eventos conectados al sonido. Modos Schaefferianos de audici´ on Pierre Schaffer identifica cuatro modos de audici´ on [34]. escuchar m´ usica es muy distinto a o´ ırla. En la audici´ on reducida. Audici´ on reducida En la teor´ ıa de Schaeffer. Comprendre. Se les presta atenci´ on solamente si es necesario. Los sonidos que son escuchados en el fondo ocurren frecuentemente y por lo tanto son esperados y predecibles.3).2. Modos auditivos de Smalley Denis Smalley extiende los modos Schaefferianos al combinarlos con los conceptos de autocentricidad y alocentricidad de Schachtel (ver secci´ on 4. 7. Un paso m´ as all´ a del modo tercero. en toda su materialidad. Implica la intenci´ on de aprehender un significado o unos valores.2.2. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . entonces la audici´ on reducida se convierte en un proceso antinatural. que va en contra de todo condicionamiento. no son siquiera notados.5. el auditor es consciente de ´ el y si se le pregunta si ha escuchado el sonido en cuesti´ on probablemente responder de forma afirmativa.3. porque consiste en descartar de la percepci´ on auditiva todo lo que no le es propio. 7. Sin embargo. tratando al sonido como un signo que se refiere a este significado como una funci´ on de un lenguaje o de alg´ un c´ odigo (audici´ on sem´ antica). Esto sucede cuando un auditor no escucha un sonido en particular que sin embargo est´ a presente. sustancia y dimensi´ on. la audici´ on reducida corresponde a la actitud con la que el auditor escucha sonidos por su propio valor. Dado que en la audici´ on ordinaria el sonido siempre es tratado como un veh´ ıculo. R. La audici´ on reducida y el objeto sonoro se correlacionan directamente y se definen mutuamente como la actividad y el objeto de la percepci´ on. de lo contrario. debido a que ese sonido no tiene alguna significaci´ on inmediata o relevante.4. Como resultado. carente de una fuente sonora y sin un significado atribuible a ´ esta. el foco es el objeto sonoro en s´ ı mismo (no a lo que se refiere) y con los valores que conlleva (y no los que sugiere). propone los siguientes modos [34]: ´ CADIZ. como un objeto sonoro puro. El acto de remover las referencias auditivas habituales es un acto voluntario y artificial. Audici´ on de fondo Barry Truax propone el t´ ermino audici´ on de fondo (background listening) para diferenciar un nivel distinto de audici´ on que ocurre cuando existen sonidos que permanecen en el fondo de nuestra atenci´ on [43].2. 7.7. ESTRATEGIAS AUDITIVAS 143 4. de manera que se llegue a escuchar solamente el sonido puro. El nombre audici´ on reducida se refiere a la noci´ on de una reducci´ on fenomenol´ ogica. Los modos indicativos y reflexivos son los dominantes.4). Tambi´ en se manifiesta en la habilidad para notar c´ omo estas unidades se relacionan e interconectan entre ellas. Involucra una relaci´ on activa de parte del sujeto para explorar continuamente las cualidades y estructuras del objeto.3). R. en mi opini´ on. el embarcarse en una relaci´ on interactiva requiere de esfuerzo y voluntad. Indicativo. 1. Corresponde a los modos tres y cuatro de Schaeffer y es claramente aloc´ entrico. para la supervivencia. 3. Reflexivo. enf´ atica y figurativa. basada en el an´ alisis de comportamientos auditivos.144 ´ ´ CAP´ ITULO 7. LA MUSICA ELECTROACUSTICA 1. una relaci´ on de este tipo es la necesaria para apreciar realmente la m´ usica y constituye un requisito b´ asico para el an´ alisis. 2. obtiene conclusiones estructurales del estudio de diversos testimonios auditivos [10]. El objeto y la emoci´ on no son separables en este caso. ´ CADIZ. el sonido acta como una se˜ nal o un signo de algo que no es sonoro por naturaleza. Este tipo de an´ alisis es llamado por Delalande an´ alisis de conductas auditivas (ver secci´ on 5. actitudes est´ eticas hacia los sonidos y la m´ usica y el concepto de audici´ on reducida de Schaeffer (ver secci´ on 3. Este modo est´ a centrado en el sujeto. algo necesario. La audici´ on taxon´ omica se manifiesta a trav´ es de la tendencia a distinguir grandes unidades morfol´ ogicas tales como secciones y hacer una lista mental de ellas. Conductas auditivas de Delalande La teor´ ıa anal´ ıtica de Francois Delalande. A pesar de esto. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL .6. 7. 2. con el objetivo de extraer los elementos estructurales y narrativos comunes a ellas. En este caso. Esto est´ a claramente relacionado con el modo reflexivo de Smalley.2. por ejemplo. Interactivo. es claramente autoc´ entrico y se basa en respuestas emocionales al objeto percibido. Esta modo abarca la audici´ on estructural. Delalande propone tres diferentes conductas auditivas: taxon´ omica. La conducta enf´ atica presta atenci´ on a las sensaciones. Delalande argumenta que la mejor forma de representar los distintos aspectos de una obra musical se consigue al basar el an´ alisis en una amplia muestra de experiencias auditivas. En cambio. las cuales son com´ unmente descritas como el producto psicol´ ogico del sonido. Corresponde al primer modo de Schaeffer y considera al sonido como un mensaje y centrado en el objeto. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . El tercer modo (Entendre) implica seleccionar algunos sonidos sobre otros y el modo cuarto (Comprendre) implica asignar un significado a esa experiencia. R. Antes bien. la percepci´ on de la m´ usica electroac´ ustica es un tema que an no ha sido estudiado en profundidad. PERCEPCION ELECTROACUSTICA 145 3. ni tampoco como signos referentes a conceptos o cosas. como por ejemplo tonos de colores o timbres. se considera que los sonidos proveen un contacto directo entre los auditores y ocurrencias ambientales significativas [46]. Son percibidos porque proveen informaci´ on que permite a un organismo reaccionar adecuadamente a su ambiente de una manera directa.3. a los detalles sobresalientes.3. ya sean sonidos creados naturalmente o mediante alguna mediaci´ on cultural [45]. A continuaci´ on se presentan los enfoques perceptuales m´ as importantes que han sido propuestos hasta ahora 7. quien afirma que la percepci´ on no ´ CADIZ.3. En el contexto de la ac´ ustica ecol´ ogica. Y tambi´ en significan porque son interpretados como artefactos culturales con un contenido expl´ ıcito. En los u ´ltimos a˜ nos ha habido un gran avance en la investigaci´ on sobre percepci´ on de m´ usica instrumental o vocal. pero los estudios publicados sobre percepci´ on de m´ usica electroac´ ustica son todav´ ıa escasos. los sonidos son percibidos y por la otra significan. Percepci´ on de la m´ usica electroac´ ustica A pesar de que el campo de la percepci´ on musical es bastante amplio. esto sugiere que la m´ usica electroac´ ustica posee una naturaleza dual.2). Enfoque ecol´ ogico Luke Windsor propone que los sonidos sean entendidos con relaci´ on a los ambientes din´ amicos en los cuales ´ estos son producidos. En otras palabras.1. las dificultades te´ oricas y anal´ ıticas que la m´ usica electroac´ ustica posee requerir´ ıan soluciones basadas en una conciencia dual del auditor sobre los aspectos naturales y culturales del sonido. 7. Esta idea puede ser directamente relacionada con los modos tercero y cuarto de los modos de audici´ on de Schaeffer (ver secci´ on 3. Estas ideas est´ an basadas en el trabajo de Gisbon. los sonidos no son concebidos como entidades abstractas relacionadas una con la otra.´ DE LA MUSICA ´ ´ 7. creador del enfoque ecol´ ogico para la percepci´ on visual. En consecuencia. En la audici´ on figurativa el auditor tiende a pensar que los sonidos evocan algo que se mueve y que est´ a vivo y presta su atenci´ on a la superficie musical. Por una parte. y los sistemas simb´ olicos que facilitan la mediaci´ on. estructuras espectrales o duraciones.4) o que ellos no puedan significar. Por ejemplo. Este enfoque es distinto de la psicoac´ ustica tradicional en el sentido de que ´ esta u ´ltima se ocupa de identificar cambios en alturas. 7. son cosas distintas. Cabe destacar que este punto de vista no implica que los sonidos no puedan ser percibidos con ciertas cualidades.3. el almacenamiento y la manipulaci´ on de la informaci´ on en la mente son lo principal. en el cual el procesamiento. Esta perspectiva ecol´ ogica se basa en la percepci´ on de eventos. El auditor que habita en un ambiente rico en estimulaci´ on y estructura percibir eventos no s´ olo a trav´ es de la informaci´ on presente en una pieza de m´ usica sino del ambiente como un todo. esta visi´ on es fundamentalmente opuesta al concepto acusm´ atico de Schaeffer en el sentido de que la m´ usica electroac´ ustica. sea ´ este ac´ ustico o no. por un lado. por el otro. Lo que s´ ı implica es que los sonidos no necesitan de tal mediaci´ on para informarnos acerca de nuestro ambiente y que las fuentes sonoras pueden dif´ ıciles de ignorar. tales como los objetos sonoros de Schaeffer (ver secci´ on 7. pero esto no es s´ olo audici´ on acusm´ atica o reducida. esto no significa que la memoria.146 ´ ´ CAP´ ITULO 7. De acuerdo con Windsor. Sin embargo. el lenguaje y otros sistemas simb´ olicos no tengan un rol importante en nuestra experiencia del mundo. el enfoque ecol´ ogico asume que el ambiente est´ a altamente estructurado y que los organismos son sensibles a dicha estructura. el almacenamiento y la comunicaci´ on de las percepciones. m´ as que proveer un m´ etodo de lidiar con fuentes sonoras. debido principalmente a la naturaleza no musical de los sonidos electroac´ usticos.2. Este tipo de percepci´ on trata de identificar las propiedades invariantes de eventos que especifican las caracter´ ısticas permanentes y cambiantes del ambiente que son importantes para un organismo. LA MUSICA ELECTROACUSTICA requiere de la mediaci´ on de representaciones mentales del mundo externo. es m´ as bien una fuente informativa de est´ ımulos ac´ usticos estructurados. Este argumento es contrario al punto de vista dominante de la percepci´ on y cognici´ on musical. mientras que la primera trata de identificar las transformaciones en las estructuras ac´ usticas que informan al auditor de cambios importantes en el medio ambiente. En conclusi´ on. Paisajes sonoros Un paisaje sonoro se define como la fuente imaginaria de los sonidos percibidos [47].2. el paisaje sonoro de los sonidos escuchados en ´ CADIZ. sino que la percepci´ on. La percepci´ on de m´ usica electroac´ ustica puede ser radicalmente distinta a la percepci´ on de eventos reales. R. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . Por el contrario. Esta desorientaci´ on se debe a la incapacidad de definir una fuente sonora imaginable. Para hacer la diferenciaci´ on. Smalley menciona que el extenso rango de fuentes sonoras que han sido incorporado a la m´ usica electroac´ ustica ha provocado una revoluci´ on en el contenido sonoro. un paisaje sonoro. para los sonidos percibidos. Este enfoque est´ a relacionado con las reacciones subjetivas a los est´ ımulos. Este modo constituye un encuentro directo con el sonido y est´ a directamente relacionado con el modo cuarto de Schaeffer (ver secci´ on 3. 7. el modo aloc´ entrico es el centrado en el objeto en el sentido de que no involucra las necesidades del individuo. ´ CADIZ. ante lo cual se observa una variada gama de respuestas auditivas [34]. El modo autoc´ entrico es el basado en el sujeto y en respuestas b´ asicas y sentimientos de satisfacci´ on o insatisfacci´ on.3. Cabe destacar aqu´ ı la similitud con la percepci´ on ecol´ ogica propuesta por Windsor. basada en necesidades y se asocia con las primeras relaciones del ni˜ no con el mundo. El paisaje sonoro de la misma m´ usica tocada a trav´ es de altoparlantes tambi´ en corresponde a m´ usicos tocando instrumentos. En cambio. ¿Cu´ al es el paisaje sonoro de una pieza de m´ usica electroac´ ustica? La respuesta a esta pregunta no es f´ acil y depende de cada pieza en particular. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . Esta idea de percepci´ on es primitiva.3. Este modo implica un proceso activo y selectivo de focalizaci´ on en un objeto para posteriormente discernir sus propiedades.´ DE LA MUSICA ´ ´ 7.2) y con el modo interactivo de Smalley (ver secci´ on 3. Autocentricidad y alocentricidad Ernest Schachtel establece una diferencia entre actividades perceptuales centradas en el sujeto y centradas en el objeto. La satisfacci´ on o insatisfacci´ on no son relevantes en este caso.3. R. La mayor´ ıa de la gente acostumbrada a escuchar conciertos de m´ usica tradicional en vivo se desorienta al escuchar un concierto de m´ usica electroac´ ustica presentado mediante altoparlantes. propone dos modos perceptuales [34]. PERCEPCION ELECTROACUSTICA 147 una sala de conciertos est´ a constituido por m´ usicos tocando instrumentos. la disposici´ on de los objetos sonoros en tal espacio y la identificaci´ on de objetos sonoros individuales [47].5). las actitudes aloc´ entricas involucran la aprehensi´ on de las estructuras musicales y la apreciaci´ on de sonidos fuera de un contexto musical. Las actitudes musicales autoc´ entricas se relacionan con respuestas emocionales al sonido. Wishart propone que nuestra percepci´ on de un paisaje sonoro puede ser descompuesta en tres partes: naturaleza del espacio ac´ ustico percibido. mucha m´ usica contempor´ anea parece inescrutable. sin duda como resultado de la incapacidad de las t´ ecnicas tradicionales de abordar m´ usica de la avant-garde de la post-guerra [21].1) existen s´ olo en las mentes de los auditores [10]. Este es el contexto en el cual se encuentra la m´ usica electroac´ ustica. Y los objetos sonoros (ver secci´ on 5. como teor´ ıa y praxis.4.4. en el sentido de que los sonidos son percibidos (en el sentido autoc´ entrico) pero tambi´ en significan (de una manera aloc´ entrica). La m´ usica electroac´ ustica se basa fuertemente en el uso de la tecnolog´ ıa. entre ellos Nicola Sani. sino que tambi´ en ha generado una gran cantidad de reflexiones te´ oricas acerca de c´ omo clasificar los sonidos de las nuevas obras y como analizarlas [7]. los auditores pueden asignar causas imaginarias a distintos sonidos y a su evoluci´ on espectromorfol´ ogica. ha pasado u ´ltimamente por un per´ ıodo de autocuestionamiento. Hay algunos que en la presencia de un sonido inmediatamente utilizar´ an un enfoque autoc´ entrico mientras otros seguir´ an una estrategia aloc´ entrica. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . Esta idea complementa la naturaleza sonora dual que propone Windsor. 7. la cual avanza a una velocidad vertiginosa. Estrategias anal´ ıticas El an´ alisis de la m´ usica. Sustituci´ on Denis Smalley introduce el t´ ermino sustituci´ on (surrogacy) como una forma de describir el nivel o el grado en los cuales los auditores relacionan perceptualmente los sonidos con fuentes f´ ısicas y gestuales reales o imaginarias en un contexto acusm´ atico. el rol del an´ alisis debe ser no s´ olo el proveer an´ alisis individuales sobre obras espec´ ıficas. R. Tambi´ en esta idea puede vincularse directamente con las conductas auditivas de Delalande (ver secci´ on 3. sino m´ as bien identificar la especificidad de este g´ enero en el contexto de la producci´ on art´ ıstica de nuestro tiempo [31]. Incluso hoy. Smalley denomina a estos varios niveles como ´ ordenes de sustituci´ on [33].6). En el momento de analizar. Tal como Delalande se˜ nala. LA MUSICA ELECTROACUSTICA La autocentricidad y alocentricidad pueden existir en forma paralela y tambi´ en var´ ıan de acuerdo con cada auditor. el objeto del an´ alisis es el sonido. Para algunos autores. A medida que el nivel de sustituci´ on se hace m´ as fuerte.3. 7.148 ´ ´ CAP´ ITULO 7. o etiquetar el sonido como abstracto. Camilleri afirma que la introducci´ on de la tecnolog´ ıa en sus varias fases de desarrollo desde 1940 hasta hoy ha provocado no solo un enriquecimiento de la gama sonora. ´ CADIZ. 7. dado que existe una fuerte tendencia a basar el an´ alisis en los aspectos t´ ecnicos [31]. sus potencialidades y sus ligazones al mundo sonoro natural 2. A continuaci´ on se presentan las principales metodolog´ ıas anal´ ıticas propuestas hasta ahora. lo cual no puede estar m´ as lejos de la verdad. pero no puede ser la justificaci´ on est´ etica de las mismas. porque permiten crear un marco apropiado al proceso de an´ alisis. Creaci´ on de un l´ exico anal´ ıtico Estos tres aspectos son esenciales e igualmente importantes. ´ CADIZ. Camilleri sugiere que las estrategias anal´ ıticas para la m´ usica electroac´ ustica deben considerar tres aspectos: 1. Hay dos cosas que hay que considerar al momento de analizar m´ usica electroac´ ustica. Adem´ as. ESTRATEGIAS ANAL´ ITICAS 149 esto se convierte en un problema. El conocimiento tecnol´ ogico hace posible la creaci´ on de ciertas composiciones. Relaci´ on entre las propiedades psicoac´ usticas del fen´ omeno sonoro y su descripci´ on 3. Este solo hecho obliga al analista a reflexionar sobre el tipo de lenguaje musical utilizado. La m´ usica computacional y electroac´ ustica se presenta y legitima como una parte del conocimiento (know-how) tecnol´ ogico. el punto de partida del an´ alisis es la audici´ on de la obra.4. R. En este sentido. sino una parte estructural de la potencialidad del medio electroac´ ustico [7]. El establecer relaciones estructurales entre los elementos presentados en la m´ usica es crucial. Segundo. la actitud receptiva del auditor influye en el an´ alisis porque sus propiedades no son meramente asociativas. Reflexi´ on del lenguaje musical. En primer lugar. y esto tambi´ en es v´ alido para la m´ usica electroac´ ustica. Una de las caracter´ ısticas de la m´ usica electroac´ ustica es que puede fusionar f´ acilmente sonidos naturales y artificiales de forma casi imperceptible. el an´ alisis de una pieza de m´ usica electroac´ ustica no debe convertirse en un manual de instrucciones o una gua de uso de la tecnolog´ ıa. dado que a´ un no existen m´ etodos y estrategias generales para este tipo de an´ alisis. El an´ alisis musical no es una mera descripci´ on. por lo que un objetivo importante de cualquier nueva estrategia debe ser el proveer un marco de referencia (l´ exico) consistente y exhaustivo. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . tampoco existe un l´ exico anal´ ıtico. dado que en los primeros treinta y cinco a˜ nos de actividad electroac´ ustica no fue propuesta ninguna metodolog´ ıa comprehensiva para el an´ alisis. Esta clasificaci´ on claramente se basa en las caracter´ ısticas morfol´ ogicas de los sonidos. Schaeffer identifica tres tipos de objetos sonoros. LA MUSICA ELECTROACUSTICA 7.4. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . tal como se describe en la secci´ on 7. Las dos partes del t´ ermino se refieren al sonido (espectro) y la evoluci´ on de su molde o forma de onda (morfolog´ ıa) a trav´ es del tiempo. forma y variaci´ on. y ser extendida m´ as adelante por Smalley. los tres tipo de objetos sonoros propuestos por Schaeffer son los continuos. los cuales se correlacionan con las caracter´ ısticas morfol´ ogicas de los objetos sonoros. La teor´ ıa de Pierre Schaeffer sobre tipos morfol´ ogicos ´ CADIZ. la propuesta de Smalley es extremadamente importante. Schaeffer tambi´ en considera tres planes de referencia a trav´ es de los cuales los objetos sonoros son descritos y clasificados: Plan mel´ odico o de textura: la evoluci´ on de las alturas en el tiempo Plan din´ amico o formal: los par´ ametros de la intensidad en el tiempo Plan arm´ onico o t´ ımbrico: las relaciones entre los par´ ametros anteriores y sus componentes espectrales Cada plan de referencia presenta diversos sistemas de clasificaci´ on de acuerdo a los tipos de movimientos mel´ odicos. ha sido utilizada por muchos como un punto de partida para el an´ alisis de m´ usica electroac´ ustica. mantenimiento.4. En esencia. Adem´ as. presentes en el discurso musical. Espectromorfolog´ ıa Denis Smalley desarroll´ o el concepto de espectromorfolog´ ıa como una herramienta para describir y analizar experiencias auditivas [33] [35]. 7. En su propuesta. Objetos sonoros La teor´ ıa tipomorfol´ ogica de Pierre Schaeffer.150 ´ ´ CAP´ ITULO 7.2. los cuales indican los tipos generales de estos objetos y sus caracter´ ısticas respectivamente. din´ amicos y t´ ımbricos.2. los iterativos y los impulsivos.1. Schaeffer establece cuatro clases de criterios de clasificaci´ on: material. a pesar de que no constituye realmente una metodolog´ ıa anal´ ıtica sino m´ as bien compositiva y te´ orica. de acuerdo a criterios topol´ ogicos y morfol´ ogicos. Desde un punto de vista anal´ ıtico. El espectro no puede existir sin la morfolog´ ıa: algo tiene que ser moldeado y debe poseer tambi´ en contenido sonoro. R.4. En este caso el inicio del sonido es tambi´ en su final. El tercer arquetipo es un continuo graduado el cual ´ CADIZ. El ataque impulsivo corresponde a un r´ apido impulso que es inmediatamente terminado. que la espectromorfolog´ ıa es una herramienta descriptiva basada en la percepci´ on auditiva. no obstante. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL .7. La atenci´ on se enfoca en la sorpresiva aparici´ on y en la forma en que ´ esta se convierte en un sonido sostenido. A continuaci´ on se detallan las primeras dos partes.1) fue el intento m´ as serio. ver secci´ on 5. Un enfoque espectromorfol´ ogico considera modelos y procesos espectrales y morfol´ ogicos y provee un marco de referencia para entender relaciones estructurales y comportamientos sonoros experimentados en el flujo temporal de la m´ usica [35]. Es importante destacar. Un nodo corresponde a una densidad de sonido m´ as compleja.3. dado que son las m´ as relevantes para efectos del presente texto. Arquetipos morfol´ ogicos. con una frecuencia fundamental y arm´ onicos. Pueden discernirse tres arquetipos b´ asicos en las fuentes de sonidos: ataque impulsivo. ataque resonante y continuo graduado. La nota corresponde a un tono musical normal.4. morfolog´ ıa. modelos y cadenas Smalley va mucho m´ as all´ a de las definiciones de Schaeffer al designar diversos arquetipos morfol´ ogicos y crear una serie de modelos obtenidos a trav´ es de diversas transformaciones tales como la retrogradaci´ on. La atenci´ on se enfoca por completo en el ataque s´ ubito. donde la identificaci´ on de un croma o altura determinada es dif´ ıcil. El ataque resonante es modelado en sonidos cuyo ataque impulsivo es extendido a trav´ es de una resonancia (como por ejemplo una cuerda pulsada o una campana) para luego decaer ya sea en forma r´ apida o graduada dependiendo del caso. Un ruido es una densidad sonora extremadamente comprimida donde no hay identificaci´ on de una altura o croma posible. puede ser aplicada a distintos contextos musicales y extiende las ideas de Schaeffer al incluir estructuras jer´ arquicas y otras propiedades como movimiento y espacio [7]. que Smalley clasifica en arquetipos morfol´ ogicos. La espectromorfolog´ ıa es m´ as exhaustiva. movimiento y procesos estructurales. Arquetipos espectrales Smalley identifica tres tipos b´ asicos de espectros: nota. ESTRATEGIAS ANAL´ ITICAS 151 o tipomorfolog´ ıa (objetos sonoros. R. nodo y ruido. Cada uno de estos arquetipos espectrales puede tener un comportamiento temporal distinto. 7. El marco te´ orico de la espectromorfolog´ ıa se articula en cuatro partes principales: los arquetipos espectrales.4. estas morfolog´ ıas no son solamente objetos aislados sino que pueden enlazarse y mezclarse formando cadenas. En consecuencia. seg´ un sus ideas. Delalande realiza en forma separada an´ alisis taxon´ omicos. LA MUSICA ELECTROACUSTICA es modelado en sonidos sostenidos. 7.6). ´ CADIZ. No obstante. En sus an´ alisis. dado que proveen un marco de referencia m´ as completo y vers´ atil para la clasificaci´ on de unidades morfol´ ogicas estructurales. En este caso el ataque es percibido como una influencia mucho m´ as d´ ebil que en el caso de los otros dos arquetipos. Un an´ alisis siempre implica una reducci´ on. o ambos al mismo tiempo. El ataque es graduado. evadida. Delalande propone el curso de acci´ on opuesto. En un nivel general y te´ orico no hay raz´ on alguna para que las unidades pertinentes coincidan con unidades espectromorfol´ ogicas. pero complementarios.4. Estos modelos permiten lo que Smalley denomina modulaci´ on morfol´ ogica. Desde estos tres arquetipos principales puede generarse una sutil variedad de articulaciones temporales.152 ´ ´ CAP´ ITULO 7. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . Smalley extiende estos arquetipos en una mayor cantidad de modelos morfol´ ogicos. El objetivo del an´ alisis. R. Como soluci´ on a esto. creando as objetos h´ ıbridos. De acuerdo con sus propuestas. Solamente despu´ es que un objetivo anal´ ıtico ha sido elegido es posible definir un criterio de pertenencia.4. es revelar las elecciones (impl´ ıcitas o expl´ ıcitas) y acciones del compositor. La pregunta del objetivo del an´ alisis y la pertinencia de las caracter´ ısticas en relaci´ on con este objetivo es. hay un tipo de an´ alisis simplemente inaceptable: uno que apunte a demostrar lo que la m´ usica es. La atenci´ on se enfoca principalmente en la forma en que el sonido es mantenido. por lo tanto. Esto no s´ olo se aplica a todas las piezas de m´ usica sino tambi´ en a todos los objetos sonoros. S´ olo algunas caracter´ ısticas y configuraciones son seleccionadas de entre todas las posibles. dando paso a un comportamiento continuo que luego decae en forma tambi´ en graduada. An´ alisis basado en conductas auditivas Delalande [10] hace una cr´ ıtica expl´ ıcita de la espectromorfolog´ ıa de Smalley. o explicar los comportamientos auditivos de los receptores (ver secci´ on 3. o cual sea la forma o la estructura. uno debe descartar la ilusi´ on de un an´ alisis u ´nico y definitivo. Los resultados son totalmente distintos. Cada comportamiento da su propia forma a los objetos sonoros. Delalande enfatiza que al analizar m´ usica electroac´ ustica (o incluso un sonido medianamente complejo) es siempre posible revelar una infinidad de caracter´ ısticas morfol´ ogicas y distintas configuraciones de morfolog´ ıas. enf´ aticos y figurativos de la misma pieza. incluso en forma independiente de los prop´ ositos del creador [13]. donde existen protagonistas y antagonistas. densidad. puede proveer informaci´ on u ´til de la m´ usica y servir como un complemento a otras formas de an´ alisis.6. ESTRATEGIAS ANAL´ ITICAS 153 7. A pesar de que la informaci´ on visual que un sonograma proporciona no corresponde directamente al sonido. desarrollada por los propios autores. El sonograma La m´ usica electroac´ ustica frecuentemente contiene cambios espectrales y otros aspectos t´ ımbricos que hacen inadecuada la notaci´ on musical. Esta divisi´ on estructural se basa en criterios tales como material. En adici´ on a esto. Este an´ alisis tambi´ en considera estrategias de comienzo y final. movimiento y tensi´ on. El sonograma se propone como una interesante herramienta de an´ alisis y que ha sido utilizada para entender el dise˜ no sonoro de obras electroac´ usticas. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL .4. Este an´ alisis pretende operar en forma an´ aloga al an´ alisis de una obra literaria. comportamiento r´ ıtmico. propone la utilizaci´ on de capas adicionales de informaci´ on relevante tales como relaciones de alturas. An´ alisis narrativo Cada proceso creativo desarrolla su propia narrativa.7. Distintos colores son utilizados para representar las intensidades individuales de los componentes de frecuencia presentes en la m´ usica. din´ amicas locales y globales y t´ ecnicas empleadas. coherencia. morfolog´ ıa t´ ımbrica. Giomi y Ligabue proponen un an´ alisis narrativo de m´ usica electroac´ ustica utilizando un proceso anal´ ıtico basado en aspectos perceptuales y una metodolog´ ıa est´ etica-cognitiva.4. Mara Helmut propone el sonograma como una representaci´ on u ´til del espectro de frecuencias de una pieza y de su evoluci´ on en el tiempo. y una trayectoria narrativa claramente establecida. fraseo. 7. En estos casos.4. asociaciones sem´ anticas tanto musicales como metaf´ oricas y asociaciones ´ CADIZ. empezando por unidades peque˜ nas como los objetos o eventos sonoros para seguir con cadenas sintagm´ aticas. Este tipo de an´ alisis permite el examen de los objetos anal´ ıticos desde distintos puntos de vista. representaciones visuales de la m´ usica pueden ayudar a entender y apreciar las caracter´ ısticas que pueden haberse ignorado sin este soporte [14].5. estrategias compositivas y la segmentaci´ on de la estructura formal de la pieza. el uso de la analepsia (repetici´ on narrativa) y la prolepsia (anticipaci´ on narrativa). Al respecto. Un sonograma consiste b´ asicamente en un gr´ afico bi-dimensional en donde el eje X corresponde al tiempo y el eje Y al eje de frecuencias. R.din´ amico. En su trabajo. Desde mi punto de vista. Sin lugar a dudas. obviando toda referencia externa.154 ´ ´ CAP´ ITULO 7. LA MUSICA ELECTROACUSTICA psicol´ ogicas extra musicales. 7. El s´ olo hecho de utilizar cualquier fuente sonora en un contexto musical establece una gran diferencia.5. El sonograma permite observar la estructura espectral y en enfoque narrativo busca estructuras y estrategias narrativas identificables en la m´ usica. toda vez que se trata de posicionar sonidos en el tiempo. pero tambi´ en debido a su poco tiempo de vida. La espectromorfolog´ ıa de Smalley se basa en las propiedades f´ ısicas (ac´ usticas) del sonido. Algunos compositores tambi´ en cuestionan el rol de la composici´ on en este contexto. debido en gran parte a su naturaleza. R. y a´ un sigo pensando que es posible componerla. mientras Delalande considera las caracter´ ısticas psicoac´ usticas. El an´ alisis ya no se basa exclusivamente en una ´ CADIZ. podemos asignarles una fuente sustituta. un g´ enero particular y distinto a la m´ usica instrumental. Este g´ enero est´ a naciendo. Tal como Smalley propone. Autores como Morthenson cuestionan la m´ usica electroac´ ustica como m´ usica y ofrecen diversos argumentos por los cuales ´ esta no debiera ser considerada m´ usica. Propuestas como la audici´ on reducida de Schaeffer intentan enfocar la atenci´ on auditiva s´ olo en aspectos morfol´ ogicos. un futuro muy rico e interesante. la m´ usica electroac´ ustica genera serios cuestionamientos perceptuales y te´ oricos. La utilizaci´ on de sonidos no musicales en un contexto musical genera todo tipo de interrogantes acerca de la forma en que percibimos dichos sonidos y su significado. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . autores como Windsor y Wishart argumentan que los sonidos no pueden dejar de significar y que una audici´ on reducida no es posible. seg´ un mi parecer. sin dudas. Por el contrario. creo que la mejor forma de analizar m´ usica electroac´ ustica es usar la mayor cantidad de estrategias como sea posible y tratar de abordar todos los aspectos de la obra. creo que la m´ usica electroac´ ustica puede perfectamente ser considerada como un g´ enero m´ as dentro de la m´ usica. y posee. a pesar de sus diferencias. Estoy convencido que la m´ usica electroac´ ustica ha cambiado las bases te´ oricas del an´ alisis musical. Personalmente. Conclusiones La m´ usica electroac´ ustica es. Cada una de las propuestas anal´ ıticas mencionadas en este texto son importantes de considerar ya que se enfocan en distintos aspectos de la m´ usica. a´ un cuando no seamos capaces de asignar una fuente real o virtual a un sonido electroac´ ustico. Cada uno de estas ideas tiene fortalezas y debilidades. El lector habr´ a notado que cada una de las estrategias descritas aqu´ ı podr´ an perfectamente ser aplicadas a m´ usica tradicional e incluso m´ usica popular. Un modelo te´ orico y anal´ ıtico basado solo en el texto sonoro representa un punto de contacto real entre la teor´ ıa musical y el modelamiento de estrategias musicales perceptuales y cognitivas. la m´ usica electroac´ ustica no s´ olo ha cambiado sino ampliado el campo del an´ alisis. ´ CADIZ. Bajo este punto de vista. Tal como Camilleri desea.5. A mi modo de ver. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . Para finalizar. R. La investigaci´ on en m´ usica electroac´ ustica sigue su curso y nuevas ideas y enfoques son propuestos constantemente. es posible afirmar que el an´ alisis tradicional es un subconjunto de un tipo m´ as general de an´ alisis como el descrito en ´ este texto. Camilleri sugiere que la falta de una partitura en este caso no es una debilidad sino una fortaleza. quiz´ as en un futuro cercano podamos disponer de un l´ exico anal´ ıtico com´ un y s´ olidamente establecido. CONCLUSIONES 155 partitura escrita y las intenciones del compositor ya no son el principal foco del an´ alisis. Lo que ahora importa es el resultado sonoro. me gustara enfatizar que desde 1940 se ha generado una intensa actividad en este campo y no hay se˜ nales de que esto se haya acabado en ning´ un sentido.7. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . LA MUSICA ELECTROACUSTICA ´ CADIZ.156 ´ ´ CAP´ ITULO 7. R. 21 22 H i s t o r i a : 23 − S u p e r C o l l i d e r v e r s i o n e s 2 and 3 d5 .1. Linux . Cadiz .´ndice A Ape Ejemplos en SuperCollider El siguiente ap´ endice contiene una introducci´ on al lenguaje de s´ ıntesis SuperCollider y ejemplos tanto de s´ ıntesis de sonido como procesamiento digital desarrollados en este lenguaje. A.OSX) . a u d i o s y n t h . K e n d a l l N o r t h we s te rn U n i v e r s i t y h t t p : //www . com/ SuperCollider es : − − − − E d i t o r de t e x t o Lenguaje de programacion ( i n t e r p r e t e ) Compilador Sintetizador digital todo en uno . 20 − Tambien e x i s t e un p o r t a c t u a l m e n t e en d e s a r r o l l o para Windows . basado en a p u n t e s de Gary S . 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 SuperCollider: introducci´ on TUTORIAL DE SUPERCOLLIDER 3 − PARTE 1 Rodrigo F . SuperCollider es : − Open S o u r c e y g r a t i s − O r i g i n a l m e n t e implementado en computadores Apple Macintosh − La v e r s i o n 3 e s t a d i s p o n i b l e fundamentalmente para p l a t a f o r m a s POSIX ( Unix . 1 para MacOS 8 and 9 157 . Esto s e minimiza usando e l s e r v i d o r i n t e r n o ( i n t e r n a l ) . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . 42 − s c s e r v e r e s un programa s i m p l e y e f i c i e n t e d e d i c a d o a t a r e a s de a u d i o . R. que e s t a almacenado en l a v a r i a b l e de c l a s e default . 51 − C u a l q u i e r s i n t e t i z a d o r ( Synths ) o grupo ( Groups ) c r e a d o s i n un d e s t i n o son c r e a d o s en e l s e r v i d o r por d e f e c t o . OOP. e l s e r v i d o r por d e f e c t o e s e l s e r v i d o r l o c a l . EJEMPLOS EN SUPERCOLLIDER 24 − SC S e r v e r o r i g i n a l m e n t e para MacOSX 25 − S u p e r C o l i d e r 3 ( Open S o u r c e ) 26 27 A r q u i t e c t u r a 28 29 S u p e r C o l l i d e r t i e n e una e s t r u c t u r a c l i e n t e / s e r v i d o r . 32 33 Esto s i g n i f i c a e n t r e o t r a s c o s a s : 34 − El s e r v i d o r puede s e r c o n t r o l a d o por o t r o s programas a p a r t e de sclang 35 − El i n t e r p r e t e puede c a e r s e p e r o e l s e r v i d o r s i g u e c o r r i e n d o 36 − El s e r v i d o r puede c a e r s e y e l i n t e r p r e t e s i g u e c o r r i e n d o 37 − El i n t e r p r e t e y e l s e r v i d o r pueden c o r r e r en maquinas d i s t i n t a s . o b j e t o s . l a c u a l e s muy b a j a s i n o l a t e n c i a de c o m u n i c a c i o n . y por l o t a n t o p e r m i t e c o s a s como o s c i l o s c o p i o s y ademas minimiza l a t e n c i a . 52 − Al momento de i n i c i o . 44 45 S e r v i d o r i n t e r n o y l o c a l 46 − S e r v i d o r l o c a l : c o r r e un p r o c e s o a p a r t e d e l i n t e r p r e t e .158 ´ APENDICE A. 50 − Siempre hay un s e r v i d o r por d e f e c t o . No l a t e n c i a de audio . p e r m i t i e n d o una mejor d i s t r i b u c i o n de r e c u r s o s en l a r e d 38 39 D e s v e n t a j a s : e s t a a r q u i t e c t u r a produce l a t e n c i a . i n c l u s o en d i s t i n t a s p a r t e s d e l mundo . 48 49 S e r v i d o r por d e f e c t o . 43 − No t i e n e i d e a de c o d i g o . o c u a l q u i e r c o s a r e l a c i o n a d a con e l i n t e r p r e t e . 40 41 − Cada l a d o cumple una f u n c i o n d i s t i n t a . p e r o e s t o puede s e r cambiado . s i n c o m p a r t i r memoria 47 − S e r v i d o r i n t e r n o : c o r r e un p r o c e s o que comparte memoria con e l i n t e r p r e t e . E s t a s dos a p l i c a c i o n e s s e comunican mediante Open Sound C o n t r o l a t r a v e s de UDP o TCP. 53 54 55 Ejemplo de c o d i g o S u p e r C o l l i d e r ´ CADIZ. 30 31 Las o p e r a c i o n e s en S u p e r C o l l i d e r e s t a n d i v i d i d a s en un i n t e r p r e t e d e l l e n g u a j e de programacion de S u p e r C o l l i d e r ( s c l a n g ) y un s e r v i d o r de s i n t e s i s ( s c s e r v e r ) . s . Ejemplos : ( S e r v e r . s = S e r v e r . 0 . 0 . // a s i g n a r l o a l a v a r i a b l e ’ s ’ s = S e r v e r . { RLPF . SUPERCOLLIDER: INTRODUCCION 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 159 // d e f i n i r e l s e r v i d o r por d e f e c t o como i n t e r n o S e r v e r . scope (1) . boot . i n t e r n a l . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . 4 ) } . SinOsc . choose . 0 . { Out . 0 . i n t e r n a l . quit . // p a r t i r e l s e r v i d o r s . 1 ) . a r ( 4 4 0 . ) ” H e l l o World” . // c o r r e r l a s i n t e s i s s . default . a r ( 0 .1. a r ( [ 8 . { SinOsc . default . 0 . a r ( [ 2 . 0 . 3 ] . 0 . default = S e r v e r . send ( s ) . boot . 1 5 0 0 . LFNoise1 . 2 ) ) } ) . 0 5 . 8 0 0 ) . n ) . speak . i n t e r n a l . n = s . play . 2 ) . mul : 0 . default = S e r v e r . ” s i n e ” . // p a r a r e l s e r v i d o r ( o p c i o n a l ) s . 3 ) } . // m ostrar e l o s c i l o s c o p i o i n t e r n o (OSX) Server . nextNodeID . a r ( LFNoise0 . 4 0 0 .´ A. a r ( LFSaw . sendMsg ( ” / n f r e e ” . 1 2 ] . 1 5 ] . 0 . a r ( [ 1 0 . play . // p a r a r e l s i n t e t i z a d o r ( d e l e t e ) s . // d e f i n i r un s i n t e t i z a d o r y ” e n v i a r l o ” a l s e r v i d o r SynthDef ( ” s i n e ” . 1 6 0 0 ) . sendMsg ( ” s new ” . ´ CADIZ. R. R. EJEMPLOS EN SUPERCOLLIDER A. 27 Deben haber d i g i t o s a ambos l a d o s d e l punto d e c i m a l . rand 36 37 38 Tambien s e puede u t i l i z a r n o t a c i o n e x p o n e n c i a l . basado en a p u n t e s de Gary S . SuperCollider: el lenguaje 1 TUTORIAL DE SUPERCOLLIDER 3 − PARTE 2 2 Rodrigo F . 39 40 1 . K e n d a l l 3 No r th we s te rn U n i v e r s i t y 4 5 El l e n g u a j e S u p e r C o l l i d e r (SC) 6 7 sclang : 8 − Orientado a l objeto 9 − B a s t a n t e s i m i l a r a l l e n g u a j e SmallTalk 10 − S i n t a x i s e s s i m i l a r a C++. Por e j e m p l o : 28 29 0. Cadiz .160 ´ APENDICE A. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . 2 e4 41 1 e −4 ´ CADIZ. 20 Ejemplos : 21 −13 22 666 23 2112 24 96 25 26 Un numero r e a l ( f l o a t .5 32 33 Esto d i s t i n g u e numeros r e a l e s de e x p r e s i o n e s como : 34 35 8 .1415 31 − 0. 11 12 S e n t e n c i a s 13 Las s e n t e n c i a s SC son t e r m i n a d a s por un punto y coma ” .0 30 3. de punto f l o t a n t e ) e s t a compuesto por d i g i t o s s e g u i d o s por un punto d e c i m a l d e s p u e s d e l c u a l hay mas d i g i t o s . ” 14 15 L i t e r a l e s 16 Los l i t e r a l e s son v a l o r e s que t i e n e n una r e p r e s e n t a c i o n sintactica directa 17 18 Numeros 19 Un e n t e r o e s una s e r i e de d i g i t o s p r e c e d i d o s o p c i o n a l m e n t e por un s i g n o menos .2. R. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . Las v a r i a b l e s pueden s e r i n i c i a l i z a d a s de l a s i g u i e n t e manera : var abc =3 . nil . pueden s e r u t i l i z a d a s s i n s e r declaradas .25 p i Valores e s p e c i a l e s Las i n s t a n c i a s s i n g u l a r e s de l a s c l a s e s True .2.5 pi − 0. N i l y I n f i n i t u m s e e s c r i b e n : true . S u p e r C o l l i d e r d e f i n e l a s l e t r a s d e l a l f a b e t o automaticamente como v a r i a b l e s y . n i l y i n f . z123 =6. por l o tanto . Las v a r i a b l e s son ” c a s e s e n s i t i v e ” : e s t a e s m i v a r i a b l e no e s l o mismo que e s t a E s M i V a r i a b l e Por c o n v e n c i o n . Variables Identificadores Los nombres de v a r i a b l e s ( y muchas o t r a s c o s a s ) empiezan con un c a r a c t e r a l f a b e t i c o en m i n u s c u l a s s e g u i d o de c e r o o mas caracteres alfanumericos . True y F a l s e son v a l o r e s b o o l e a n o s ( Boolean ) . 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 ´ CADIZ. inf . f a l s e . f u n c . F a l s e . o t r a C o s a Las v a r i a b l e s s e d e c l a r a n con l a c l a v e ’ var ’ : var abc .A. SUPERCOLLIDER: EL LENGUAJE 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 161 La c o n s t a n t e p i s e puede a g r e g a r a un numero para c r e a r una c o n s t a n t e de punto f l o t a n t e : 2 pi 0. false . x y z n = = = = true . z123 . l o s nombres de v a r i a b l e s usan l a s i g u i e n t e convencion : unaCosa . 162 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 ´ APENDICE A. EJEMPLOS EN SUPERCOLLIDER Esto e s c o n v e n i e n t e para d e m o s t r a c i o n e s r a p i d a s de c o d i g o , p e r o no e s a c o n s e j a b l e para c o d i g o r e a l . Al ca n ce ( s c o p e ) de v a r i a b l e s Los programas SC s e o r g a n i z a n e n t e p a r e s de p a r e n t e s i s . Las v a r i a b l e s s e d e f i n e n y son e n t e n d i d a s e n t r e un par de p a r e n t e s i s , p e r o no a f u e r a de e l l o s . algoAqui ( var miNumero , myOtroNumero ; miNumero = miOtroNumero ; / ∗ E s t a s v a r i a b l e s son r e c o n o c i d a s a q u i ∗ / ); miOtroNumero = miNumero ; / ∗ Pero no a q u i ! ! ! ∗ / Nombres de c l a s e s Algunas p a l a b r a s u s a d a s en programas son a s o c i a d a s con una p a r t e d e l l e n g u a j e llamada ” c l a s e s ” . Los nombres de c l a s e s s i e m p r e empiezan con una l e t r a mayuscula . Las ” u n i d a d e s de g e n e r a c i o n ” ( Unit G e n e r a t o r s o UGen) que m o d i f i c a n y c r e a n a u d i o son t o d a s c l a s e s . O bjec t Point Synth Osc Reson Comentarios Los c o m e n t a r i o s son l i n e a s de c o d i g o que no son tomadas en c u e n t a por e l i n t e r p r e t e ( o c o m p i l a d o r ) Empiezan con // y terminan en e l f i n a l de l a l i n e a . Tambien pueden s e r d e l i m i t a d o s con / ∗ y ∗ / . Ejemplos : // c o m e n t a r i o s de una l i n e a /∗ comentario multi linea ∗/ ´ CADIZ, R. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL A.2. SUPERCOLLIDER: EL LENGUAJE 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 / ∗ A d i f e r e n c i a de C, s e pueden t e n e r c o m e n t a r i o s / ∗ a n i d a d o s ∗/ ∗/ 163 Expresiones Las e x p r e s i o n e s son c o m b i n a c i o n e s de l i t e r a l e s , v a r i a b l e s y o p e r a d o r e s que producen un r e s u l t a d o . Los o p e r a d o r e s pueden s e r o p e r a c i o n e s a r i t m e t i c a s comunes . Ejemplos de o p e r a d o r e s 1 + 2 a − b // suma de uno y dos // d i f e r e n c i a de a y b P r e c e d e n c i a de o p e r a d o r e s No hay . Todos l o s o p e r a d o r e s t i e n e n e l mismo n i v e l de p r e c e d e n c i a y s e a s o c i a n de i z q u i e r d a a d e r e c h a . Por ejemplo , la expresion : x = a ∗ b + c ∗ d; es equivalente a : x = (( a ∗ b) + c ) ∗ d ; y no : x = (a ∗ b) + ( c ∗ d) ; Por l o tanto , bueno u t i l i z a r p a r e n t e s i s en l a s e x p r e s i o n e s . 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 Asignaciones A s i g n a c i o n s i m p l e . Una a s i g n a c i o n s i m p l e a s i g n a e l v a l o r de una e x p r e s i o n en e l l a d o d e r e c h o a una v a r i a b l e en e l l a d o izquierdo . Una a s i g n a c i o n s i m p l e t i e n e l a forma : 160 161 162 < v a r i a b l e > = < e x p r e s i o n > ; 163 164 Ejemplo : 165 166 c = a + b ; 167 168 cup = j a v a ; 169 ´ CADIZ, R. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL 164 ´ APENDICE A. EJEMPLOS EN SUPERCOLLIDER 170 r e s u l t a d o = e s t o ∗ a q u e l l o + mas ; 171 172 s i g n a l = SinOsc . a r ( 8 0 0 , 0 , 0 . 1 ) ; 173 174 Una a s i g n a c i o n no e s l o mismo que e l s i g n o i g u a l . 175 Una a s i g n a c i o n t r a n s f i e r e a l g o d e l l a d o d e r e c h o a l i z q u i e r d o . 176 177 178 Objetos , Mensajes 179 180 − S u p e r C o l l i d e r e s un l e n g u a j e o r i e n t a d o a l o b j e t o . 181 − Todas l a s e n t i d a d e s d e l l e n g u a j e son o b j e t o s . 182 − Un o b j e c t o e s a l g o que t i e n e d a t o s que r e p r e s e n t a n e l e s t a d o d e l o b j e t o y un s e t de o p e r a c i o n e s que s e pueden a p l i c a r a e l . 183 − Todos l o s o b j e t o s son i n s t a n c i a s de a l g u n a c l a s e que d e s c r i b e la estructura del objecto y sus operaciones . 184 − Los o b j e c t o s en S u p e r C o l l i d e r i n c l u y e n numeros , c a d e n a s de c a r a c t e r e s , c o l e c c i o n e s , u n i d a d e s g e n e r a d o r a s , ondas de audio , puntos , r e c t a n g u l o s , e t c . 185 186 El e s t a d o i n t e r n o de un o b j e c t o e s c a p t u r a d a por s u s v a r i a b l e s instanciadas . 187 188 − Las o p e r a c i o n e s s o b r e l o s o b j e c t o s son i n v o c a d a s mediante mensajes . 189 − Un mensaje e s un r e q u e r i m i e n t o por un o b j e c t o , llamado e l r e c e p t o r ( r e c e i v e r ) que e j e c u t a n a l g u n o de s u s metodos instanciados . 190 − El metodo a e j e c u t a r depende de l a c l a s e que d e f i n e a l o b j e t o . 191 − O b j e t o s de c l a s e s d i s t i n t a s pueden implementar e l mismo mensaje de formas d i s t i n t a s . 192 − Por ejemplo , l a s c l a s e s de u n i d a d e s g e n e r a d o r a s r e s p o n d e n a l mensaje ” a r ” y ” kr ” . 193 − ” a r ” pro voc a a l o b j e t o e j e c u t a r p r o c e s a m i e n t o de a u d i o a l a t a s a de a u d i o y ” kr ” a l a t a s a de c o n t r o l . 194 195 196 N o t a ci o n de o b j e t o s 197 198 Para a c c e d e r o cambiar e l v a l o r de una v a r i a b l e de o b j e c t o s e usa l a n o t a c i o n de punto . 199 200 miInstrumento . f r e q = 4 4 0 . 0 ; // s e t e a r l a v a r i a b l e f r e q d e l o b j e c t o miInstrumento 201 s = S e r v e r . default ; // a c c e s a r una i n s t a n c i a de v a r i a b l e , en e s t e c a s o de una C l a s e 202 203 N o t a ci o n de m e n s a j e s ´ CADIZ, R. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL A.2. SUPERCOLLIDER: EL LENGUAJE 165 204 − Un mensaje c o n s i s t e de un s e l e c t o r de mensaje , que nombra e l t i p o de o p e r a c i o n , una r e c e p t o r a l c u a l e l mensaje e s e n v i a d o y en a l g u n o s c a s o s una l i s t a de argumentos que o t o r g a n i n f o r m a c i o n a d i c i o n a l r e l a c i o n a d a a l a o p e r a c i o n en c u e s t i o n . 205 − Un mensaje s i e m p r e produce un r e s u l t a d o . 206 − El t i p o de r e s u l t a d o depende d e l t i p o de mensaje . Por ejemplo , l a s u n i d a d e s g e n e r a d o r a s r e t o r n a n s e n a l e s de a u i o . 207 − Los m e n s a j e s pueden s e r e s c r i t o s usando o p e r a d o r e s ( como l o s matematicos ) , n o t a c i o n f u n c i o n a l o de r e c e p t o r . 208 209 N o t a c i o n f u n c i o n a l 210 − El s e l e c t o r de mensaje p r e c e d e l a l i s t a de p a r e n t e s i s . 211 − El p r i m e r argumento en l a l i s t a e s e l r e c e p t o r . 212 − Las o p e r a c i o n e s pueden s e r u n a r i a s o b i n a r i a s . 213 214 Ejemplos : 215 sin (x) // s i n o o f x−−−−u n a r i a 216 max( a , b ) // maximo e n t r e a y b−−−− b i n a r i a 217 218 219 N o t a c i o n de r e c e p t o r 220 − Una llamada a un metodo en n o t a c i o n f u n c i o n a l s e puede c o n v e r t i r a n o t a c i o n de r e c e p t o r a l poner e l r e c e p t o r a n t e s d e l nombre d e l metodo s e g u i d o por un punto ( n o t a c i o n de punto ). 221 222 223 1.25. sin es equivalente a sin (1.25) 224 x . cos es equivalente a cos (x) 225 226 − 1.max ( 3 ) e q u i v a l e a max( − 1 ,3) 227 f (a , b) equivale a a . f (b) 228 229 Los m e n s a j e s de l a s UGen s e e s c r i b e n s i e m p r e en n o t a c i o n de receptor : 230 231 Osc . a r ( 8 0 0 . 0 , 0 . 0 , 0 . 4 ) 232 233 S u p e r C o l l i d e r t i e n e una gran c o l e c c i o n de o p e r a d o r e s u n a r i o s y b i n a r i o s , muchos de l o s c u a l e s son e s p e c i f i c o s para a u d i o . 234 235 Operadores u n a r i o s ( v e r [ SimpleNumber ] ) 236 ampdb dbamp reciprocal 237 cpsmidi midicps cpsoct octcps midiratio ratiomidi 238 abs ceil floor frac sign neg 239 sqrt s q u a r e d cubed distort softclip ´ CADIZ, R. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL 166 240 241 sin ´ APENDICE A. EJEMPLOS EN SUPERCOLLIDER cos acos atan sinh cosh tan asin 242 243 244 245 246 Operadores b i n a r i o s ( v e r [ SimpleNumber ] ) 247 + − ∗ / ∗∗ % 248 div pow max min 249 thresh trunc amclip c l i p 2 250 round scaleneg excess fold2 wrap2 251 d i f s q r sumsqr sqrsum s q y d i f absdif 252 atan2 hypot hypotApx 253 ring1 ring2 ring3 ring4 254 x . rand ( y ) x . exprand ( y ) 255 256 257 Argumentos c l a v e s 258 − Los argumentos ( p a r a m e t r o s ) para metodos pueden s e r e s p e c i f i c a d o s por e l nombre mediante e l c u a l son d e c l a r a d o s en una c l a s e . 259 − T a l e s argumentos son l l a m a d o s argumentos c l a v e s ( keyword arguments ) . 260 − S i un argumento c l a v e y un argumento p o s i c i o n a l e s p e c i f i c a n e l mismo argumento , e l argumento c l a v e t i e n e p r e f e r e n c i a , 261 − Por ejemplo , e l metodo ’ a r ’ de l a c l a s e SinOsc toma l o s argumentos f r e q , phase , mul , and add , en e s e orden . 262 263 Todos l o s e j e m p l o s s i g u i e n t e s son l l a m a d a s v a l i d a s para e s e metodo 264 265 SinOsc . a r ( 8 0 0 , pi , 0 . 2 , 0 ) ; 266 267 { SinOsc . a r ( 8 0 0 , pi , 0 . 2 , 0 ) } . p l a y ; 268 269 // f r e q = 800 , mul = 0 . 2 , o t h e r s g e t d e f a u l t v a l u e s . 270 SinOsc . a r ( 8 0 0 , mul : 0 . 2 ) ; 271 272 // f r e q = 800 , p h a s e = pi , mul = 0 . . 273 SinOsc . a r ( phase : pi , mul : 0 . 2 , f r e q : 8 0 0 ) ; 274 275 // 1200 predomina por s o b e 800 exp log isNegative isStrictlyPositive x . rand x . rand2 log2 isPositive tanh log10 ´ CADIZ, R. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL ( a e s 10 .3. b = 2) 293 294 z = x . g e n e r a l m e n t e s e c o l e c c i o n a n en un a r r e g l o ( Array ) o son i g n o r a d o s . basado en a p u n t e s de Gary S . f r e q : 1 2 0 0 ) . ( a e s 10 . 291 292 z = x . s . 284 − S i s e pasan argumentos en e x c e s o . 286 287 288 // x e s d e c l a r a d a para tomar dos argumentos . // z v a l e 1 5 . // argumento i n v a l i d o 279 280 281 Argumentos por d e f e c t o 282 − Se pueden l l a m a r a metodos con menos argumentos d e f i n i d o s en la clase correspondiente . a + b } . ( a = 1 . b=2. ( a e s 10 . ) Unidades g e n e r a d o r a s (UGen) ´ CADIZ. 5 . a r ( 8 0 0 . value .A. v a l u e ( 1 0 . // z v a l e 3 . SUPERCOLLIDER: UNIDADES GENERADORAS 167 276 SinOsc . value (10) . 285 − S i s e l l a m a a un metodo s i n argumentos . // z v a l e 1 2 . 289 // Retorna l a suma de l o s argumentos 290 x = { a r g a =1.3. 9 ) . b e s 5 . d i c h o s argumentos s e i n i c i a l i z a n e n v a l o r e s por d e f e c t o . s = S e r v e r . a r ( z o r g : 9 9 9 ) . 5) . Cadiz . 9 es ignorado ) A. a y b son v a l o r e s por d e f e c t o de 1 y 2 . o s i no s e l e s a s i g n a e l v a l o r n u l o ( n i l ) . l o s p a r e n t e s i s pueden ser omitidos . 277 278 SinOsc . s i e s que e s t o s e s t a n d e f i n i d o s en l a c l a s e . 1 2 3 4 5 6 7 8 9 10 11 SuperCollider: Unidades generadoras TUTORIAL DE SUPERCOLLIDER 3 − PARTE 3 Rodrigo F . R. default = S e r v e r . value (10 . boot . K e n d a l l N o r t h we s te rn U n i v e r s i t y ( S e r v e r . b e s 5) 297 298 z = x . default . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . i n t e r n a l . // z v a l e 1 5 . 283 − S i e s t o sucede . b = 2) 295 296 z = x . R. 5 ) . 0 . p e r o una s o l a s a l i d a 14 − C a n a l e s m u l t i p l e s s e pueden h a c e r mediante a r r e g l o s de unidades generadoras 15 16 Creacion . 34 35 ( 36 { // A b r i r l a f u n c i o n 37 SinOsc . 2 ) } . a r ( 4 4 0 . 0 . 33 − Tampoco s e almaceno nada en una v a r i a b l e . 30 31 − Objeto s e e s p e f i c a e n t r e { y } y s e l l a m a a l metodo p l a y 32 − Como no s e e s p e c i f i c a s e r v i d o r . 0 .0 25 − Usar mul y add e s mas e f i c i e n t e que e s c r i b i r e x p r e s i o n e s con multiplicaciones y adiciones 26 27 N o t a ci o n f u n c i o n a l 28 29 { SinOsc . // A b r i r l a f u n c i o n y d e c l a r a r una v a r i a b l e 48 ampOsc = SinOsc . // f r e c u e n c i a de 440 Hz . t a s a de audio . // c e r r a r l a f u n c i o n y l l a m a r ’ play ’ sobre e l l a 42 ) 43 44 Otro ejemplo . // f a s e i n i c i a l 0 40 0. play . por l o que no s e puede r e u s a r .168 ´ APENDICE A. 0 . 0 .0 y add =0. LA 39 0. 0 . 1 . a r ( // Crear un o b j e t o SinOsc a t a s a de a u d i o 38 440 . 5 . p l a y . 2 41 } . s e usa e l por d e f e c t o ( variable ”s”) . 2 ) . 45 46 ( 47 { var ampOsc . 2 20 21 Argumentos 22 − Pueden s e r o t r a s UGen . // c r e a r un o s c i l a d o r s i n u s o i d a l a 800 Hz . 0 . 0 . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . a m p l i t u d 0 . // Crear un o b j e t o SinOsc a t a s a de c o n t r o l ´ CADIZ. 5 pi . e s c a l a r e s ( numeros ) o a r r e g l o s de UGen o escalares 23 − Por c o n v e n c i o n . f a s e 0 . 5 . EJEMPLOS EN SUPERCOLLIDER 12 − O b j e t o s que p r o c e s a n o g e n e r a n s o n i d o s 13 − Pueden t e n e r muchas e n t r a d a s .2) // mul ( a m p l i t u d ) o f 0 . kr ( 0 . l o s u l t i m o s dos argumentos de l a mayoria de l a s UGen son mul ( m u l t i p l i c a d o r ) y add ( suma ) 24 − V a l o r e s por d e f e c t o de mul =1. t a s a de c o n t r o l 17 − Se c r e a n a t r a v e s de l o s m e n s a j e s a r o kr 18 19 FSinOsc . a r ( 8 0 0 . . a r ( L i n e . 4 3 0 0 0 . 1 ) } . p l a y . ) 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 Conceptos b a s i c o s de o s c i l a d o r e s Forma mas f a c i l de g e n e r a r s o n i d o { SinOsc . // c r e a r un o b j e c t o SinOsc a t a s a de a u d i o // y u s a r l a v a r i a b l e para c o n t r o l a r amplitud } . 4 0 0 0 . play . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . 0 . a r ( 8 0 0 . 0 . y a r son m e n s a j e s 8 0 0 . S e r v e r . y 0 . 5 ) . Ejemplo de r u i d o browniano : { BrownNoise . R. 1 ) } . Que pasa en c a s o de e r r o r e s { SinOsc . 0 . a r ( 4 4 0 . 0 . 6 ) . kr ( 1 . 0 . 1 son l i t e r a l e s Ejemplo con a l i a s i o n ( a l a s i n g o f o l d o v e r ) { SinOsc . 3 ) } . usualmente usada para frecuencia a r e s t a s a de a u d i o kr e s t a s a de c o n t r o l { SinOsc . p l a y . BrownNoise y SinOsc son o b j e t o s play .3. 0 . p l a y . 0 . 1 ) } . a r ( L i n e . kr ( 4 0 0 . una c u r v a // Suena como ´ CADIZ. p l a y . a r ( 0 . 0 . ampOsc ) .A. 1 ) } . p l a y . a r ( 8 0 0 . 0 . SUPERCOLLIDER: UNIDADES GENERADORAS 49 50 51 169 // a s i g n a r su r e s u l t a d o a una v a r i a b l e SinOsc . F r e c u e n c i a l i n e a l v e r s u s tono ( p i t c h ) L i n e c r e a una i n t e r p o l a c i o n l i n e a l e n t r e dos puntos XLine c r e a una i n t e r p o l a c i o n e x p o n e n i a l . 0 . 3 ) } . kr ( 4 0 0 . mul : 0 . boot . R. ) ´ CADIZ. 5 ) . mul . 0 . lineal f r e q . add : 0 . s = S e r v e r . EJEMPLOS EN SUPERCOLLIDER // Suena { SinOsc . phase . { SinOsc . a r ( f r e q : 4 4 0 . and add a r e t h e names o f arguments Otros e j e m p l o s : { SinOsc . p l a y . K e n d a l l No r th we s te rn U n i v e r s i t y ( S e r v e r . f r e q : 4 4 0 e s un e j e m p l o de argumento c l a v e SC t i e n e muchos o t r o s o b j e t o s que son o s c i l a d o r e s : Por e j e m p l o : SinOsc Buffer Tambien son u t i l e s : Impulse LFPulse Saw Klang VOsc FSinOsc OscN Osc Blip LFSaw Formant VOsc3 Pulse Algunos un poco mas c o m p l i c a d o s : SyncSaw VarSaw LFPar LFCub Gendy1 Gendy2 Gendy3 TUTORIAL DE SUPERCOLLIDER 3 − PARTE 4 Rodrigo F . 4 . mul : 0 . basado en a p u n t e s de Gary S . play . S e r v e r . play . a r ( XLine .170 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 1 2 3 4 5 6 7 8 9 10 11 12 ´ APENDICE A. 4 ) } . f r e q : 4 4 0 . default = S e r v e r . add : 0 ) } . phase : 0 . 4 0 0 0 . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . 4 ) } . Cadiz . default . a r ( phase : 0 . a r ( f r e q : 4 4 0 . i n t e r n a l . p l a y . { SinOsc . 0 . mul : 0 . i n t e r n a l . SinOsc . 2 0 0 0 0 . phase . 0 . 0 . play . { FSinOsc . Look a t t h e Help p a g e s f o r t h e f o l l o w i n g : SinOsc FSinOsc Osc Buffer OscN These a r e a l s o u s e f u l : Impulse LFPulse Saw Klang VOsc Blip LFSaw Formant VOsc3 Pulse G e n e r a d o r e s de s e n a l de banda l i m i t a d a SinOsc . b = SinOsc . Saw . a r ( 8 0 0 . a r ( 8 0 0 . Formant no p r o d u c i r a n aliasion . } . 0 . add { Saw . a = SinOsc . a r ( f . ) 171 . 0 . 0 . 0 . Pulse . mul . a r ( 3 ∗ f . 1 ) d = SinOsc . a r ( 8 0 0 . SUPERCOLLIDER: UNIDADES GENERADORAS 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 Mas s o b r e g e n e r a d o r e s de s e n a l Sumar s i n u s o i d e s e s i n e f i c i e n t e : ({ var f =200. R. 0 . a r ( XLine . { Saw . 1 ) e = SinOsc . a r ( 4 ∗ f . 1 ) . 0 . 0 . Saw argumentos : f r e q u e n c y . a r ( 5 ∗ f . 0 . 1 ) c = SinOsc . 5 ) } .A. 0 . Blip . FSinOsc . p l a y . // no a l i a s i n g ´ CADIZ. 0 . p l a y . 6 ) . mul . 5 ) } . p l a y . FSinOsc arguments : f r e q u e n c y . 0 . add { SinOsc . a r ( 2 ∗ f .3. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . 1 ) a+b+c+d+e . p l a y . 5 ) } . . 5 ) } . 0 . kr ( 2 0 0 . 0 . . . 0 . 3 0 . L i n e . a r ( 4 0 0 . f r e c f u n d a m e n t a l c o n s t a n t e { Formant . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . Pulse argumentos : f r e q u e n c y . L i n e . 1 ) } .172 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 ´ APENDICE A. p l a y . XLine . a r ( XLine . 2 0 ) . 5 ) } . // modula f r e c fund . 5 ) . mul . play . 5 ) } . 3 0 . 1 2 0 0 ] . dada una f r e c u e n c i a fundamental k f u n d f r e q − fundamental f r e q u e n c y i n Hertz . width . 2 0 0 0 0 . 0 ) ∗ 0. ´ CADIZ. 3 . 1 . 1 0 . a r ( ‘ [ [ 8 0 0 . p l a y . // a t r a v e s de un f i t r o pasa b a j o s r e s o n a n t e { RLPF . 8 ) . Klang − banco s i n u s o i d a l de o s c i l a d o r e s argumentos : ‘ [ f r e q u e n c i e s . 0 1 . o t r a s quedan c o n s t a n t e s { Formant . a r ( ‘ [ { exprand ( 4 0 0 . 3 . 6 ) . // 8 f r e c u e n c i a s a l e a t o r i a s { Klang . 0 . 5 ) } . 0 . 0 . 0 . add { Klang . kr ( 8 0 0 . 10 . 2 0 0 0 0 . 5 ) . kr ( 2 0 0 . 8 ) . 9 9 . k f o r m f r e q − formant f r e q u e n c y i n Hertz . a m p l i t u d e s . n i l . kr ( 4 0 0 . 0 . kr ( 4 0 0 . p l a y . 5 ) } . [ 0 . // modula f r e c formante . 0 . a r ( B l i p . kr ( 0 . ar ( 8 0 0 . p i ] ] . EJEMPLOS EN SUPERCOLLIDER Blip argumentos : f r e q u e n c y . // no a l i a s i n g // modular e l numero de armonicos { B l i p . a r ( XLine . 0 . [ pi . n i l ] . dup ( 8 ) . 8 ) . mul . kr ( 4 0 0 . numHarmonics . k f o r m f r e q . p l a y . 8 0 0 . a r ( 4 0 0 . p l a y . k w i d t h f r e q . 0 . { P u l s e . a r ( 4 0 0 . add G e n e r a t e s un s e t de a r m o n i c o s s o b r e una f r e c u e n c i a de formante . // modulate p u l s e w i d t h { P u l s e . 0 . XLine . p l a y . 0 . 2 ) } . p l a y . 3 ] . // modula mediante f r e c u e n c i a . 0 . a r ( 4 0 0 . 1 2 5 ) } . p l a y . play . 8 0 0 0 . 1 0 0 0 . a r ( 2 0 0 . play . add { Pulse . 8 0 0 0 . 2 0 0 0 . 1 2 5 ) } . mul . 3 . k w i d t h f r e q − p u l s e width f r e q u e n c y i n Hertz . 5 ) } . mul . kr ( 1 . add { Blip . pi . 1 . 1 2 5 ) } . f o r m a n t e s c o n s t a n t e { Formant . play . ar (800 . a r ( XLine . kr ( 2 0 0 . 2 0 0 0 ) } . 2 0 0 0 . 4 } .04 } . p h a s e s ] . 0 . f r e c . 0 . 1 0 0 0 . XLine . 8 ) . 6 ) . C o n t r o l a e l ancho de banda d e l f or ma n te . Formant o s c i l a d o r de f o rm an te argumentos : k f u n d f r e q . 0 . R. { B l i p . 4 0 0 0 . 0 . 3 . 0) ∗ 0 . 2 0 0 . 0 . true . sine1 (1. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . 1 . 2 0 4 8 . b u f f er N u m b e r b = B u f f e r . s i n e 1 ( [ 1 . Osc argumentos : b u f f e r number .3. a l l o c ( s . 0 . R. MouseX . bufnum . 3 . a r ( b .. 2 0 . kr ( 0 . 2 5 .0/(1. a r ( b . true ) . mul . 0 . 4 0 0 . 5 ] . 4 .12) ) . 0 . true . { COsc . bufnum . 2 ] . new ( 8 ) . play . phase . VOsc3 Es n e c e s a r i o u s a r un b u f f e r a l o c a d o en e l s e r v i d o r ( // a l l o c a t e b u f f e r w i t h s e r v e r . 5 ) } . 0 . 0 . true ) .0/(1.24) ) . b = b . 0 . ’ l i n e a r ’ ) . 2 0 0 . bufnum : 80+ i ) ) } . f r e q u e n c y . VOsc . ´ CADIZ. // o : b . COsc . add ( B u f f e r . sine1 (1. 8 . 0 / [ 1 . 0 . // change b u f f e r as a b o v e . true . s i z e . a r ( b . 5 . s i n e 1 ( 1 . add . 0 . mul . COsc − dos o s c i l a d o r e s .0/(1. 2 . 3 3 . a l l o c ( s . numChans . VOsc − o s c i l a d o r c r o s s f a c e de m u l t i p l e s w a v e t a b l e s argumentos : b u f f e r number . p l a y . f r e q u e n c y . 3 ) } .32) ) . bufnum : 8 0 ) . do { a r g i . true . b . { COsc . b . 1 . 0 . b e a t f r e q u e n c y . 0 .A. 2 0 0 . // f i l l b u f f e r w i t h a r r a y o f a m p l i t u d e s . phase . 4 .. sine1 (1. detuned argumentos : b u f f e r number . mul . add . f r e q u e n c y . 3 ∗ t r u e ( default ) b . p l a y . 3 ) } . SUPERCOLLIDER: UNIDADES GENERADORAS 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 173 G e n e r a d o r e s de s e n a l b a s a d o s en t a b l a s Osc . bufnum . { Osc . add . ( // a l l o c a r b u f f e r s 80 a 87 b = Array . 0 .. 2 0 4 8 . ) // s e puede e s c r i b i r tambien cmo b . 8 7 ) . p l a y . 5 ) } . 1 1 9 . 2 ) } . no l i m i t a d o s en banda LFTri . add { LFTri . a r ( MouseX . LFPulse . f r e q 2 . VarSaw . 2 0 0 0 0 . mul . kr ( 8 0 . a r ( 2 0 0 . 0 . a r ( MouseX . phase . // armonicos : [1 . 6 ) . 0 . 1 5 1 . Impulse argumentos : f r e q u e n c y . 0 4 .49 . 1 7 9 . 0 . kr ( 2 0 0 . add . kr ( 8 0 . kr ( 8 0 . 0 . p l a y . p l a y .36 . p l a y . sine1 (a) . 1 2 1 . VarSaw ´ CADIZ. EJEMPLOS EN SUPERCOLLIDER // l l e n a r b u f f e r s 80 a 87 8 . LFSaw . 0 .174 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 ) ( ´ APENDICE A. a r ( 2 0 0 . // c h o r u s i n g { VOsc3 . p l a y . do ( { a r g i . a r ( MouseX . SyncSaw Formas de onda g e o m e t r i c a s . 1 2 0 . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . 1 2 0 . p l a y . // a l i a s i o n ? { LFTri . 0 . R.64] a = { a r g j . 4 2 . a r ( 2 0 0 . { Impulse . Impulse . }) . a . { LFSaw .16 . 8 7 ) . 0 . p l a y . 1 2 0 . b e a t f r e q u e n c y . ) // go ! { VOsc . 8 7 ) . 5 ) } . G e n e r a d o r e s de b a j a f r e c u e n c i a (LF) LFTri . // g e n e r a r a r r e g l o de a m p l i t u d e s armonicas n = ( i +1) ∗ ∗ 2 . 3 7 . VOsc3 − t r e s VOscs sumados . a r ( XLine . 0 . 2 ) } . argumentos : b u f f e r number . 1 3 . ( ( n− j ) /n ) . 5 ) } . // l l e n a r t a b l a b [ i ] . 0 .25 . s q u a r e d } . f r e q 1 . // a c o r d e s { VOsc3 .4 . dup ( n ) . LFSaw . mul . 0 .9 . var n . 5 ) } . 0 . 0 . 5 ) } . LFPulse . f r e q 3 . 5 ) } . phase . kr ( 1 0 0 . 0 . i n t e r n a l . SyncSaw argumentos : syncFreq . times . MouseX . kr ( 0 . a r ( 2 0 0 . default . a r ( 2 0 0 . { VarSaw . ) Envolventes ( envelopes ) Envelope : Env Puede t e n e r c u a l q u i e r numero de segmentos y puede p a r a r en a l g u n l u g a r en p a r t i c u l a r o l o o p e a r v a r i o s segmentos a l h a c e r sustain . 5 ) } . i n t e r n a l . add Onda d i e n t e de s i e r r a v i n c u l a d a con una f r e c u e n c i a fundamental . 5 ) } . c u r v e s . p l a y . 3 . loopNode ) l e v e l s − a r r e g l o de n i v e l e s t i m e s − a r r e g l o de d u r a c i o n e s c u r v e − t i p o de curva para l o s segmentos V a l o r e s p o s i b l e s son : ’ s t e p ’ − segmento p l a n o ’ l i n e a r ’ − segmento l i n e a l ´ CADIZ. kr ( 0 . E f e c t o s i m i l a r a f o r m a n t e s que s e mueven o p u l s con modulacion . { SyncSaw . r e l e a s e N o d e . 0 . basado en a p u n t e s de Gary S . // p u l s o con modulacion { LFPulse . 0 . sawFreq . boot . 3 . p l a y . p l a y . 0 . 15 16 17 18 19 20 21 22 23 24 25 26 Creacion ∗new ( l e v e l s . R. 1 ) } . 1 ) . 0 . SUPERCOLLIDER: ENVOLVENTES 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 argumentos : f r e q u e n c y . add 175 { LFPulse . Cadiz . 0 .4. 1 0 0 0 ) . a r ( 1 0 0 . s = S e r v e r . width . 0 . K e n d a l l N o r t h we s te rn U n i v e r s i t y ( S e r v e r . 0 .4. p l a y . 1 2 3 4 5 6 7 8 9 10 11 12 13 14 SuperCollider: Envolventes TUTORIAL DE SUPERCOLLIDER 3 − PARTE 5 Rodrigo F . a r ( 2 0 0 . a r ( 2 0 0 . 1 ) .A. mul . 0 . 5 ) } . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . mul . MouseX . p l a y . 0 . S e r v e r . default = S e r v e r . { VarSaw . MouseX . 0 . A. 0 0 1 ] . 1 . 1 . test . ’ exponential ’ ) . new ([0. 3 . 1 . 0 0 1 .0. 0 . 0 . new ( [ 0 . ’ s i n e ’ ) . 0 . curve ) ´ CADIZ. releaseTime . EJEMPLOS EN SUPERCOLLIDER ’ e x p o n e n t i a l ’ − e x p o n e n c i a l n a t u r a l de c a i d a y crecimiento ’ s i n e ’ − segmento s i n u s o i d a l con forma de S ’ welch ’ − segmento s i n u s o i d a l basado en una ventana Welch un F l o a t − v a l o r de c u r v a t u r a para t o d o s l o s segmentos a r r e g l o de F l o a t s − v a l o r e s de c u r v a t u r a s para cada segmento r e l e a s e N o d e − un e n t e r o o n u l o loopNode − un e n t e r o o n u l o Env . R. 3 . 0 . 0 . 0 0 1 ] .3 . l e v e l ) ∗ s i n e ( duration . 3 . 8 .0. 3 . peakLevel . [ 2 . c u r v e ) Metodos de e n v o l v e n t e con un segmento s o s t e n i d o ∗ a d s r ( attackTime . 0 . sustainTime . 0 . 0 0 1 ] . 0 . new ( [ 0 .8 . 4 ] . 0 . Env . plot .1 . test . peakLevel . 1 .[0 . 8 . plot . 8 . plot . s u s t a i n L e v e l .001 . plot . −2) .001] . −1]) . 3 . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL .0. test . 1 . 0 . 0 0 1 . test . Env . 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 Metodos de e n v o l v e n t e s de d u r a c i o n f i j a ∗ l i n e n ( attackTime . 1 . 8 .3 . 0 . Env .176 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 ´ APENDICE A. 0 . 1 . [ 2 . s u s t a i n L e v e l . [ 2 . plot . 4 ] . 1 . l e v e l ) ∗ p e r c ( attackTime . ’ linear ’ ) . plot .[2 . 0 0 1 ] . Env . 3 . 0 . 0 . 0 0 1 ] . test . plot . new ( [ 0 . ’ s t e p ’ ) . peakLevel . 4 ] . Env . 0 0 1 . Env . new ( [ 0 . 1 . [ 2 . 4 ] . 0 . [ 2 . 0 . curve ) ∗ t r i a n g l e ( duration .3 . l e v e l . r e l e a s e T i m e . 0 0 1 . [ 2 . 3 . 3 . 0 0 1 ] . 1 . 0 0 1 . r e l e a s e T i m e . r e l e a s e T i m e . −3 . 2 ) . new ( [ 0 . test . 0 0 1 . 0 . 1 . 8 .1 . 8 . new ( [ 0 . 4 ] . 3 . 3 .4] . decayTime . 3 . 0 . c u r v e ) ∗ a s r ( attackTime . 4 ] . 3 . test . 1 . env2 . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . t i m e S c a l e . mul : amp2 ) ´ CADIZ. mul : amp) } . B l i p . 5 . timeScale s c a l e s the breakpoint durations . a r ( f r e q : 4 4 0 . 1 ) . kr ( e n v e l o p e : env2 . env1 = Env . amp . l e v e l B i a s .4. Se pueden i n c l u i r e n v o l v e n t e s m u l t i p l e s y g e n e r a d o r e s { var env1 . 6 ) . 2 . env2 = Env . l e v e l S c a l e : 0 . numharm : 2 0 . doneAction ) 177 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 envelope an i n s t a n c e o f Env ( or an a r r a y of Controls ) gate a c o n t r o l s i g n a l that holds the EnvGen open ( e x c e p t Env . l e v e l S c a l e . phase : 0 . doneAction : 2 ) . kr ( e n v e l o p e : env . I t i s more e f f i c i e n t t o u s e a doneAction ( s e e below ) Usando Env y EnvGen j u n t o s Enfoque s i m p l e : { var env . gate . r e l e a s e T i m e : 2 ) . s u s t a i n T i m e : 0 . R. 2 . l i n e n ) levelScale s c a l e s the l e v e l s of the breakpoints . phase : 0 . releaseTime : 14 . doneAction : 2 ) . amp1 = EnvGen . a r ( f r e q : 2 ∗ 4 4 0 . 5 . play . l i n e n ( attackTime : 0 . mul : amp1 ) + SinOsc . amp2 = EnvGen . p e r c ( attackTime : 0 .A. SinOsc . l e v e l S c a l e : 0 . a r ( f r e q : 4 4 0 . doneAction t h e doneAction a r g c a u s e s t h e EnvGen t o s t o p or end t h e synth w i t h o u t h avi ng t o u s e a PauseSelfWhenDone or FreeSelfWhenDone ugen . 2 ) . levelBias o f f s e t s the l e v e l s of the breakpoints . amp1 . env = Env . l e v e l : 0 . 2 . kr ( e n v e l o p e : env1 . l e v e l S c a l e : 0 . amp = EnvGen . SUPERCOLLIDER: ENVOLVENTES 61 62 63 64 65 66 67 68 69 70 71 72 EnvGen : g e n e r a d o r de e n v o l v e n t e ” E j e c u t a ” e n v o l v e n t e s ( Env ) ∗ a r ( e n v e l o p e . p e r c ( attackTime : 0 . amp2 . a r (440 . Out . mul : a ) } . sendMsg ( ” / n s e t ” . z = EnvGen . 0 ) . Gates como T r i g g e r s ( { // Impulso va d e s d e 0 a v a l o r e s p o s i t i v o s a una t a s a regular e = Env . \ gate . kr ( e . kr ( Env . 0 0 1 . ) s . 1 . sendMsg ( ” / n s e t ” . SinOsc . play . play ) // I m p u l s o s a v a l o r e s a l e a t o r i o s e = Env . ´ APENDICE A. 1 . 2 ) . 1 9 8 0 . ” env−h e l p ” . R. a r ( 4 4 0 . sendMsg ( ” / n f r e e ” . g a t e . kr ( 2 ) . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . t = Impulse . sendMsg ( ” / s new ” . 1 9 8 0 . adsr . \ gate .178 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 } . // numero promedio de i m p u l s o s a = EnvGen . { a r g out . t ) . a r ( 4 4 0 . a r ( out . EJEMPLOS EN SUPERCOLLIDER T r i g g e r s ( g a t i l l a d o r e s ) y Gates ( compuertas ) Ejemplo : i m p l e m e n t a c i o n d i r e c t a de una Gate ( SynthDef ( ” env−h e l p ” . 1 9 8 0 ) . 1 9 8 0 ) .1) .0 . var z . play ) ( { ´ CADIZ. 0 ) . mul : a ) } . send ( s ) . s . g a t e ) ∗ SinOsc . // empezar un s y n t h en forma s i l e n c i o s a // p r e n d e r s . // da l o mismo e l v a l o r m i e n t r a s s e a > 0 s . \ gate . p e r c ( 0 . 0 ) . kr ( 2 ) . 0 0 1 . 1 ) . t ) . kr ( e . p e r c ( 0 . sendMsg ( ” / n s e t ” . // f r e q u e n c i a de l o s i m p u l s o s a = EnvGen . z ) } ) . t = Dust . SinOsc . 1 9 8 0 . // apagar s .0. 0 . 3 . kr ( − 0. SinOsc . a = EnvGen . a r ( 4 4 0 . 1 . 0 . kr ( t r i g g e r S p e e d ) . 0 . 0 0 1 . mul : a ) } . mul : a ) } . e = Env . play ) ( { var t r i g g e r S p e e d . 3 . 0 0 1 . SinOsc .1 . 1 ) . 1 ) .4. a = EnvGen . 1 ) . SinOsc . t = MouseX . kr ( 0 . // Mouse c o n t r o l a e l ancho a = EnvGen . // T r i g g e r e s usado para TRand y EnvGen t = Impulse . play ) // LF P u l s e c r e a t e l a g a t e e = Env . play ) ( { ´ CADIZ. 2 . R. MouseX . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . t = MouseX . kr ( 3 ) . kr ( e .1 . 0 . a r ( 4 4 0 . 2 . a = EnvGen . triggerSpeed = 2. kr ( 1 0 0 . a = EnvGen . 0 0 1 . 0 . 0 . a d s r ( 0 . kr ( e . kr ( e . p e r c ( 0 . 0 . 1 . mul : a ) } . play ) ( { 179 Gates // MouseX c r e a t e l a g a t e e = Env . kr ( 0 . t ) . f = TRand . SinOsc . a r ( 4 4 0 . kr ( e . a d s r ( 0 . } . 0 . 8 . mul : a ) . t ) . a d s r ( 0 . kr ( − 0. t = LFPulse . mul : a ) } . 0 . 0 0 1 . 0 ) . 1 ) . 2 0 0 0 . t ) . kr ( e . 1 ) . 0 0 1 . t = LFNoise0 . t ) . 0 . SUPERCOLLIDER: ENVOLVENTES 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 // MouseX c r e a e l t r i g g e r e = Env . 1/ t r i g g e r S p e e d ) . t ). play ) ( { ( { // LFNoise c r e a t e l a g a t e e = Env . a r ( 4 4 0 . 3 . 0 . 0 .A. 0 . SinOsc . 0 ) ) . 2 . t ) . p e r c ( 0 . a r ( f . boot . p l a y ( s ) . . . . EJEMPLOS EN SUPERCOLLIDER A. Cadiz . 40 or ´ CADIZ. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . default . 0 . 32 Out . 0 . i n t e r n a l . l o a d ( s ) . yo soy una ugenGraphFunc . } // segundo argumento : ugenGraphFunc 21 ) 22 23 Ejemplo : 24 To make t h e template f u n c t i o n a l 25 26 ( 27 a = SynthDef ( 28 ” aSynthDef ” . i n t e r n a l . x ) 33 } 34 ) . a r ( 0 . 7 S e r v e r .180 ´ APENDICE A. 8 s = S e r v e r . 5 ) . . SuperCollider: SynthDefs 1 TUTORIAL DE SUPERCOLLIDER 3 − PARTE 6 2 Rodrigo F . K e n d a l l 3 No r th we s te rn U n i v e r s i t y 4 5 ( 6 S e r v e r . default = S e r v e r . . // nombre 29 { // f u n c i o n 30 arg f r e q = 440. // primer argumento : nombre 20 { . basado en a p u n t e s de Gary S .5. // argumentos a l a f u n c i o n 31 x = SinOsc . 9 ) 10 11 SynthDefs ( d e f i n i c i o n de s i n t e t i z a d o r ) 12 − E q u i v a l e n t e a un ” patch ” or ” p r e s e t ” 13 − Se puede e s c r i b i r c o d i g o para un SynthDef 14 − SynthDefs con ” c o m p i l a d o s ” por s c l a n g en una e s p e c i e de bytecode 15 − Se pueden p r e c o m p i l a r y almacenar en d i s c o 16 − Tienen dos p a r t e s : un nombre y una f u n c i o n ( ugenGraphFunc ) 17 18 SynthDef ( 19 ” aSynthDef ” . 35 ) 36 37 l o a d e s c r i b e l a d e f i n i c i o n y l a e n v i a a l s e r v i d o r 38 39 a . a r ( f r e q . R. 72 73 y . The s t e r e o output c h a n n e l s a r e 0 and 1 . 78 y . 70 o 71 y = Synth . v a l u e . new ( ” aSynthDef ” . 77 z = Synth ( ” aSynthDef ” . 74 75 // Con argumentos 76 y = Synth ( ” aSynthDef ” . v a l u e .5. 2 6 2 ] ) . [ \ f r e q . n i l . ∗ a r ( bus . 68 o 69 y = Synth ( ” aSynthDef ” . f r e e . f r e e . − w r i t e a s i g n a l t o an a u d i o The output bus numbers s t a r t a t 0 and go up by i n t e g e r f o r each a d d i t i o n a l c h a n n e l s . \ argument2 . etc . s ) . 3 9 2 ] ) . 55 56 57 58 Synth 59 − R e p r e s e n t a c i o n en e l c l i e n t e de un nodo de s i n t e t i z a d o r en e l servidor 60 − R e p r e s e n t a una u n i c a unidad p r o d u c t o r a de s o n i d o 61 − Lo que hace depende de su SynthDef 62 63 64 Ejemplos : 65 66 67 y = Synth . R. f r e e . new ( ” aSynthDef ” ) . ] . c h a n n e l s A r r a y ) bus . 80 81 82 83 Ejemplos ´ CADIZ. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . [ \ f r e q .A. s ) . [ \ argument1 . play ej ecu ta l a synthdef 181 Notes : Arguments a r e i m p o r t a n t b e c a u s e t h e s e can change from n o t e t o note . The a u d i o output o f Synths i s g e n e r a l l y handled with t h e Out unit generator . 79 z . play . SUPERCOLLIDER: SYNTHDEFS 41 42 43 44 45 46 47 48 49 50 51 52 53 54 a . ( { ( // Tocar dos n o t a s a l mismo tiempo ( { Synth ( ” R i n g i n g ” . EJEMPLOS EN SUPERCOLLIDER ( // DEFINIR UN SYNTHDEF SynthDef ( ” R i n g i n g ” . out ) . rand . 1 1 0 ) . 0 5 . Synth ( ” R i n g i n g ” . rand ] . [ \ f r e q . 3 . play ( s ) . } ) . [ \ f r e q . }) . 440 ] ) . 660 ] ) . wait . do ( { out = A l l p a s s N . LFNoise1 . { a r g f r e q . 0 . }) . l e v e l S c a l e : 0 . 3 6 . 0 5 . 660 ] ) . play . a r ( out . 660 ] ) . [ 0 . 440 ] ) . out = RLPF . 4 . 0. 0 . doneAction : 2 ) ) . kr ( 1 . play . wait . perc . a r ( f r e q . }) . Synth e s t a r d e n t r o de una Routine Routine ( { Synth ( ” R i n g i n g ” . play . 440 ] ) . ) ( // Loop d e n t r o de l a Routine p e r m i t e r e p e t i r un p a t r o n Routine ( { loop ({ Synth ( ” R i n g i n g ” . 4 ) } ) . [ \ f r e q . 440 ] ) . a r ( 0 . 1 . wait .182 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 ´ APENDICE A. mul : EnvGen . Synth ( ” R i n g i n g ” . }) . // f r e q u e n c i a e s e l u n i c o argumento var out . ) ´ CADIZ. [ \ f r e q . Synth ( ” R i n g i n g ” . 1 . ) ( // Para t e n e r pausas .1 ). R. midicps . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . 0 5 . ) // Tocar una nota Synth ( ” R i n g i n g ” . [ \ f r e q . 0 . kr ( Env . Out . a r ( LFSaw . [ \ f r e q . 1 . 0 . }) . 0 . send ( s ) . [ \ f r e q . 0 . l e v e l S c a l e : 0 . { a r g f r e q u e n c y . play . }) . [ \ f r e q u e n c y . SUPERCOLLIDER: SYNTHDEFS 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 C o n v i r t i e n d o de forma a n t i g u a a nueva Ejemplo a n t e r i o r { var env . a r ( 0 . [ \ f r e q u e n c y . 1 . env . send ( s ) . 660 ] ) . amp . Synth ( ” SinEnv ” . 2 ) . amp . env = Env . out ) . Out . a r ( f r e q : f r e q u e n c y . l e v e l S c a l e : 0 . SinOsc . 1 . Synth ( ” SinEnv ” . var out . }) .A. 5 . mul : amp) } . amp = EnvGen . 660 ] ) . wait . ) Se puede a g r e g a r un argumento para e l c a n a l de s a l i d a ( // DEFINICION SynthDef ( ” SinEnv ” . phase : 0 . doneAction : 2 ) . kr ( e n v e l o p e : env . ´ CADIZ. env = Env . [ \ f r e q u e n c y . chan . 440 ] ) . { a r g f r e q u e n c y . wait . 5 . Usando SynthDef y f r e c u e n c i a como argumento ( 183 // DEFINIR UN SYNTHDEF SynthDef ( ” SinEnv ” . play . ) ( // Loop Routine ( { loop ({ Synth ( ” SinEnv ” . phase : 0 . }) . [ \ f r e q u e n c y . 2 ) . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . 440 ] ) . R. p e r c ( attackTime : 0 . mul : amp) . p e r c ( attackTime : 0 . a r ( f r e q : 4 4 0 . kr ( e n v e l o p e : env . doneAction : 2 ) .5. } ) . ) ( // Tocar dos n o t a s ( { Synth ( ” SinEnv ” . // argument i s now used as t h e f r e q u e n c y v a l u e out = SinOsc . amp = EnvGen . play . 0 . 1 ] ) . // R o u n t i n e s pueden s e r t o c a d a s Routine ( { loop ({ Synth ( ” R i n g i n g ” . p l a y t o schedule next occurence }) ´ CADIZ. wait . 0 ] ) . 0 . dur = 1 / 4 . R. l e v e l S c a l e : 0 . out ) . }) . stream . 4 4 0 . amp = EnvGen . ) Ejemplo mas c o m p l e j o ( // F l u j o de t o n o s b a s a d o en una e s c a l a de Do Mayor var stream . y i e l d }) . play . \ chan . 64 . kr ( e n v e l o p e : env . ) ( // Loop Routine ( { loop ({ Synth ( ” SinEnv ” . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . 6 6 0 . choose . // used by . 71 . [ \ f r e q u e n c y . 0 ] ). amp . 1 ] ) . EJEMPLOS EN SUPERCOLLIDER var out . [ \ f r e q . phase : 0 . }) . \ chan . 1 . 67 . 65 . cScale = [ 6 0 . \ chan . play . a r ( chan . 62 .184 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 ´ APENDICE A. 1 . ) ( // Tocar dos n o t a s ( { Synth ( ” SinEnv ” . 6 6 0 . Synth ( ” SinEnv ” . dur . doneAction : 2 ) . env = Env . midicps ] ) . } ) . mul : amp) . [ \ f r e q u e n c y . 0 . 69 . Out . p e r c ( attackTime : 0 . \ chan . c S c a l e . [ \ f r e q u e n c y . wait . // R o u t i n e s pueden g e n e r a r s e c u e n c i a s de t o n o s stream = Routine ( { loop ({ cScale . 4 4 0 . dur . 7 2 ] . }) . Synth ( ” SinEnv ” . env . w a i t . next . 2 ) . send ( s ) . // argument i s now used as t h e f r e q u e n c y v a l u e out = SinOsc . [ \ f r e q u e n c y . 5 . a r ( f r e q : f r e q u e n c y . }) . 6. y i e l d . // C1 31. 5 . A }) . // G #[70 . // D5 . 9 ) . G. }) }) . coin . // Eb . 7 7 . yield . yield . next .65]. w a i t . 8 1 ] . c h o o s e . dur . F 67. midicps ] ) . choose . do ( { # [ 7 4 . do ( { // a r p e g i o v a r i a d o 60. yield . C5 . SUPERCOLLIDER: MODULACION 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 }) . // t o c a r l a r u t i n a Routine ( { loop ({ Synth ( ” R i n g i n g ” .´ A. // C2 43. play ) A. // C3 55.6. // G1 36. // G3 }) . choose . F . D }) . yield . 7 5 . stream . play ) 185 ( // Ejemplo a n t e r i o r . // Bb . // C4 #[63 . dur . }) . 5 ) . // G2 48. r r a n d ( 2 . Eb . new ( { loop ({ i f ( 0 . [ \ f r e q .74]. R. // m e l o d i a a l e a t o r i a r r a n d ( 3 . 7 9 . yield . e s t a v e z l o s t o n o s son a l e a t o r i o s var stream . y i e l d . yield . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . dur = 1 / 4 . y i e l d } ) .72 . { // run o f f i f t h s : 24. yield . yield . // e s t a r u t i n a p r o d u c e una s e c u e n c i a randon de t o n o s stream = Routine . SuperCollider: Modulaci´ on ´ CADIZ. // Nothing more than two s i n u s o i d s m u l t i p l i e d Slow modulation o f t h e modulator f r e q u e n c y r e v e a l s t h e sound o f s i d e b a n d s moving up and down s i m u l t a n e o u s l y . 5 0 . R. 0 ) } . a r ( 1 0 0 0 . // Mo dulation f r e q u e n c y g o e s from 0 t o 600 Hz SinOsc . ´ CADIZ. { var modFreq . ) Amplitude Modulation Type #1 Ring / Balanced / Double −Sideband −Suppressed − C a r r i e r Modulation The a m p l i t u d e o f one s i g n a l v a r i e s a c c o r d i n g t o a n o t h e r s i g n a l . K e n d a l l No r th we s te rn U n i v e r s i t y ( S e r v e r . p l a y . { var modFreq . . modFreq = L i n e . boot . The m u l t i p l i c a t i o n o f one s i g n a l by a n o t h e r i s b e t t e r done with t h e mul : argument . i n t e r n a l . kr ( 1 . 0 ) } . modFreq = L i n e . kr ( 0 . can sound l i k e a s t e a d y rhythm . { SinOsc . Slow a m p l i t u d e modulation . s = S e r v e r . basado en a p u n t e s de Gary S . 3 0 ) . EJEMPLOS EN SUPERCOLLIDER TUTORIAL DE SUPERCOLLIDER 3 − PARTE 7 Rodrigo F . 0 ) . 0 ) ∗ SinOsc . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . i t sounds l i k e a c o n t i n u o u s t o n e with s i d e b a n d s . a r ( 1 0 0 0 . 3 0 ) . 6 0 0 . default . a r ( modFreq . when t h e modulating f r e q u e n c y i s l e s s than 20 Hz . amp . i n t e r n a l . kr ( 0 . 6 0 0 . 3 0 ) . But when t h e modulating f r e q u e n c y i s above 20 Hz . 0 . 0 ) ∗ SinOsc . a r ( 1 0 0 0 . a r ( modFreq . amp = SinOsc .186 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 ´ APENDICE A. play . play . // R e w r i t t e n f o r f a s t e r m u l t i p l y } . SinOsc . t h a t i s . S e r v e r . a r ( L i n e . amp) . Cadiz . default = S e r v e r . R. 1 0 ) . 5 ) . C a r r i e r f r e q u e n c y i s 700 Hz and t h e f r e q u e n c y d e v i a t i o n i s 300 Hz . modIndex = L i n e . modSignal = modSignal . Overmodulation o c c u r e s when t h e modIndex i s g r e a t e r than 1 . // Mo dulation I n d e x g o e s from 0 t o 1 // N o r m a l i z a t i o n i s needed i f you want t o k e e p t h e signal l e v e l constant modSignal = ( 1 + ( modIndex ∗ SinOsc . 0 . modSignal ∗ SinOsc . modSignal = ( 1 + ( modIndex ∗ SinOsc . max ( 0 ) . 0 ) ) ) / ( 1 + modIndex ) . 1 2 ) . a r ( 1 0 0 0 .6. play . a r ( 3 7 8 . modSignal . Frequency Modulation In t h e f o l l o w i n g example t h e f r e q u e n c y o f t h e a u d i o r a t e o s c i l l a t o r i s modulated by t h e c o n t r o l r a t e o s c i l l a t o r . 0 . modSignal . Here l i k e i n an a n a l o g system . { var modIndex . The c o n t r o l f r e q u e n c y i s o n l y 0 . } . 0 .´ A. This example i s e a s y t o s e e i n t h e time domain . } . 5 ) . SUPERCOLLIDER: MODULACION 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 187 Type #2 AM/ Double −Sideband Modulation Here t h e modulation i n d e x p r o v i d e s a way o f c o n t r o l l i n g t h e amount o f modulation and s i m u l t a n e o u s l y t h e amount o f e n e r g y i n t h e s i d e b a n d s . { var modIndex . 0 ) ) ) / ( 1 + modIndex ) . Below we u s e a c o n d i t i o n a l t o mimic t h e b e h a v i o r o f an a n a l o g system . modIndex = L i n e . // p a s s e s j u s t t h e p o s i t i v e part of the control signal modSignal ∗ SinOsc . 5 Hz . kr ( 0 . play . a r ( 1 0 0 0 . 5 . 0 . a r ( 7 9 . 1 . kr ( 0 . t h e modution s i g n a l can not become n e g a t i v e and t h e r e f o r e t h e p r o c e s s i n non− l i n e a r and p r o d u c e s many s i d e b a n d s . { SinOsc . a r ( // c a r r i e r o s c i l l a t o r ´ CADIZ. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . // end a t 1000 Hz 20 // i n 20 s e c o n d s ). The c o n t r o l f r e q u e n c y w i l l now i n c r e a t e l i n e a r l y from 0 . play . 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 ´ CADIZ. R. // mul f i e l d i s t h e freqency deviation 1000 // add f i e l d i s t h e carrier frequency ). 5 ) } . 0. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL .5 // a m p l i t u d e 0 . 0. kr ( // make an exponential line generator for modulating freuqency 1. 0. 5 ) 88 89 90 91 92 93 94 95 96 97 } .5 . // b e g i n a t 1 Hz 1000 . // z e r o p h a s e 0. Note t h e c h a n g e s i n t h e r e s u l t i n g sound from a s i n e wave with c h a n g i n g p i t c h t o a complex t o n e with m u l t i p l e sidebands . 5 t o 100 Hz . EJEMPLOS EN SUPERCOLLIDER SinOsc . // m o d u l a t i n g f r e q u e n c y 0. // z e r o p h a s e 0. // z e r o p h a s e 300 . // mul f i e l d i s t h e freqency deviation 700 // add f i e l d i s t h e carrier frequency // These s e t t i n g s o f mul and add w i l l c a u s e the // f r e q u e n c y t o v a r y from −300+700 t o +300+700 Hz // which e q u a l s from 400 t o 1000 Hz ). // sweep f r e q o f LFO { SinOsc . // z e r o p h a s e 300 . play . a r ( // c a r r i e r o s c i l l a t o r SinOsc . a r ( // m o d u l a t o r o s c i l l a t o r 0. a r ( // m o d u l a t o r o s c i l l a t o r XLine .5 // a m p l i t u d e 0 .188 82 83 84 85 86 87 ´ APENDICE A. peakFMI . ) This one makes i t e a s y t o s e e t h e f r e q u e n c y modulation i n t h e time domain . new ( [ 3 ∗ peakFMI .0 . 4 5 ] .0. amp) . t h e modulation index ) the d i s t r i b u t i o n o f energy in the sidebands changes .0. // d e c l a r e t h e v a r i a b l e s we w i l l u s e i n t h i s f u n c t i o n .3. 0 ∗ peakFMI ] . // C:M r a t i o d e t e r m i n e s t h e c a r r i e r and modulatorFreq = m ∗ fundFreq . kr ( env2 ) . 0 . a r ( i n s t F r e q . ) 0. ’ linear ’) . // m o d u l a t i n g s i g n a l // m o d u l a t i n g f r e q u e n c y f i x e d a t 100 Hz // z e r o p h a s e // end a t 600 Hz // i n 20 s e c o n d s 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 ´ CADIZ.´ A. instFreqDv . f r e q . amp . a r ( 100 .0 . 0 . a r ( modulatorFreq . ’ linear ’) . SinOsc . fundFreq = 4 4 0 .0.15 . SUPERCOLLIDER: MODULACION 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 189 By c h a n g i n g t h e f r e q u e n c y d e v i a t i o n ( and thus .6.5. peakFMI .15 . 0 . modulatorFreq . env2 = Env . env2 .[0. c a r r i e r F r e q = c ∗ fundFreq .15 . 0 . // t h e m o d u l a t o r frequencies env1 = Env . i n s t F r e q . 20 ). // env2 = Env . kr ( env1 ) . f r e q D e v = L i n e . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL .15] . new ( [ 0 . carrierFreq ) .45] . c a r r i e r F r e q . s o o f t e n i t i s p r e f e r a b l e t o u s e v a r i a b l e s t o make i t more r e a d a b l e . 7 ∗ peakFMI ] . // f u n d a m e n t a l f r e q u e n c y c = 3.[0. kr ( generator // make a l i n e a r l i n e ({ var fundFreq . i n s t F r e q = SinOsc . // A l l harmonics peakFMI = 2 . instFreqDv . 0 .75 . play .3. in st Fr eq Dv = modulatorFreq ∗ EnvGen . amp = EnvGen . 3 ∗ peakFMI . // b e g i n a t 0 Hz 600 . 2 . 3 . } . { var freqDev .3 . new ([0 . env1 .0. [ 0 . ’ linear ’) .0]/5 . 0. ( The n e s t e d s t y l e used above can become hard t o read . peakFMI . m = 1. f r e q = SinOsc . R. // mul f i e l d i s t h e frequency deviation 1000 // add f i e l d i s t h e carrier frequency SinOsc . // c a r r i e r = 500 Hz Here i s an example i n which t h e C :M r a t i o s and peakFMI can be altered . 5 0 0 ) . amp = EnvGen . instFreqDv . c a r r i e r F r e q . ). 3 . EJEMPLOS EN SUPERCOLLIDER freqDev . l i n e n ( 3 . modulatorFreq . // m o d u l a t o r = 500 Hz SinOsc . // M i s s i n g e v e r y 2nd harmonic ´ CADIZ. 5 ) . fundFreq = 4 0 0 . a r ( 5 0 0 . 0 . 0 .5 ) } . 0 . peakFMI . amp) . l i n e n ( 0 . 0. amp . 0 . play . { var env . ({ var fundFreq . a r ( i n s t F r e q . // c r e a t e a s i n e o s c i l l a t o r // f r e q u e n c y m o d u l a t o r // z e r o p h a s e // a m p l i t u d e 0 . 0. R. i n s t F r e q . 5 ) . 0 . 0 . // A l l harmonics // c = 1 . 2 . 0 . 0 . kr ( env ) . 1 . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . 5 The example below implements a v e r y s i m p l e Chowning FM i n s t r u m e n t i n which t h e c a r r i e r and t h e modulating f r e q u e n c y a r e i d e n t i c a l and one e n v e l o p e c o n t r o l s t h e a m p l i t u d e and t h e modulation i n d e x . play . 0 . instFreqDv . // env = Env . 3 . 3 . 0 . a r ( freq . 0 . amp . env . // f u n d a m e n t a l f r e q u e n c y c = 1. // a m p l i t u d e e n v e l o p e // i n s t a n t a n e o u s f r e q u e n c y = c a r r i e r F r e q + FreqDv ∗ Sin ( m o d u l a t o r F r e q ) // c a r r i e r F r e q = m o d u l a t o r F r e q = 500 Hz // FreqDv = 2000 Hz i ns tF re qD v = amp ∗ 2 0 0 0 . ´ APENDICE A.190 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 } . m = 1. env = Env . instFreqDv . // amp e n v e l o p i s used t o change // i n s t a n t a n e o u s f r e q u e n c y deviation i n s t F r e q = SinOsc . m = 2 . i n s t F r e q . 45] .0 .15 .15 . amp = EnvGen . // C:M r a t i o d e t e r m i n e s t h e c a r r i e r and modulatorFreq = m ∗ fundFreq . R. ’ linear ’) . // Inharmonic peakFMI = 1 0 . 0 .3 . } . fundFreq = 4 4 0 .0. instFreqDv . amp) . m = 1 . play .3.0. in st Fr eq Dv = peakFMI ∗ amp ∗ modulatorFreq . ) 216 217 218 219 220 221 222 223 ´ CADIZ.0]/5 .15 . a r ( i n s t F r e q .0]/5 . amp .0. kr ( env1 ) . // A l l harmonics peakFMI = 2 . 3 . env2 = Env .15 . a r ( modulatorFreq .6. 0 ∗ peakFMI ] . SUPERCOLLIDER: MODULACION 190 191 192 193 194 195 196 197 // c = 1 . // A l l harmonics and s t a r t s on 5 t h harmonic // c = 1 . 3 ∗ peakFMI . a r ( i n s t F r e q . // env2 = Env . m = 3 . i n s t F r e q = SinOsc . ({ var fundFreq .0.15] . ’ linear ’) . new ( [ 0 .75 .3. // t h e m o d u l a t o r frequencies env1 = Env . peakFMI .15 . [ 0 . // M i s s i n g e v e r y 3 rd harmonic // c = 5 . m = 1 . env1 . new ([0 .0 . a r ( modulatorFreq . 0 . carrierFreq ) .0 . 0 . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL .0. // t h e m o d u l a t o r frequencies 191 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 env = Env . c a r r i e r F r e q = c ∗ fundFreq . in st Fr eq Dv = modulatorFreq ∗ EnvGen .[0. 0 .3. // f u n d a m e n t a l f r e q u e n c y c = 3. 0 . new ([0 . SinOsc . instFreqDv . c a r r i e r F r e q . kr ( env2 ) . c a r r i e r F r e q = c ∗ fundFreq . 2 .5. 0 . amp = EnvGen .15] . m = 1. ’ linear ’) . play .3. SinOsc . modulatorFreq .0. i n s t F r e q = SinOsc .75 . 4 1 4 . carrierFreq ) . instFreqDv . // C:M r a t i o d e t e r m i n e s t h e c a r r i e r and modulatorFreq = m ∗ fundFreq . amp) . } . ) Here i s an example with s e p a r a t e e n v e l o p e s f o r t h e a m p l i t u d e and f o r t h e f r e q u e n c y modulation i n d e x . 4 5 ] .0.´ A. ’ linear ’) . kr ( env ) .0 . peakFMI .5.[0. 7 ∗ peakFMI ] .15 .[0. peakFMI . i n s t F r e q . new ( [ 3 ∗ peakFMI . 0 . env2 . peakFMI . c2 . EJEMPLOS EN SUPERCOLLIDER 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 TUTORIAL DE SUPERCOLLIDER 3 − PARTE 8 Rodrigo F . c1 . c a r r i e r F r e q 1 . ({ var fundFreq .3 . c a r r i e r F r e q . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . instFreqDv . peakFMI . play ) M u l t i p l e − C a r r i e r FM can o f t e n produce t o n e s with a vowel − l i k e quality . c = 1. fundFreq = 4 4 0 . new ( [ 0 . ins tF re qD v . ’ linear ’) . a r ( i n s t F r e q . // f u n d a m e n t a l f r e q u e n c y detune = 0 . 0 . 3 . // t h e modulator frequency + detuning env1 = Env . a r ( modulatorFreq . amp) . R. SinOsc . env2 . // C1 : C2 : M r a t i o ´ CADIZ. ({ var fundFreq . peakFMI = 3 . [ 0 . c a r r i e r F r e q = c ∗ fundFreq . // amp Env amp = EnvGen . 1 5 . env1 . c a r r i e r F r e q 1 = c1 ∗ fundFreq . 0 . 0 . env1 . 0 . 3 . K e n d a l l No r th we s te rn U n i v e r s i t y Mas FM Detuning by a s m a l l f a c t o r . peakFMI . 2 . basado en a p u n t e s de Gary S . peakFMI ] . 0 . // FMI Env in st Fr eq Dv = modulatorFreq ∗ EnvGen . kr ( env1 ) . instFreqDv . i n s t F r e q = SinOsc . detune . new ( [ 2 ∗ peakFMI . m = 1. c a r r i e r F r e q 2 . 1 5 . i n s t F r e q . 7 5 . 0 . 5 . c1 = 1 . 1 5 ] .0. env2 . Cadiz . ’ l i n e a r ’ ) . carrierFreq ) . fundFreq = 4 4 0 . amp .192 ´ APENDICE A. 0 . kr ( env2 ) . modulatorFreq . 5 . peakFMI = 0 . m = 1. c2 = 6 . } . env2 = Env . freqDv . var amp .45] . 5 . modulatorFreq . // C:M r a t i o d e t e r m i n e s t h e c a r r i e r and modulatorFreq = m ∗ fundFreq + detune . 0 ] / 5 . 0 .[0. 0]/5 . c a r r i e r F r e q .15 . peakFMI . 0 .3. m2 = 4 . 5 ∗ EnvGen . new ( [ 0 .[0. a r ( modulatorFreq . peakFMI2 . 0 . modulatorFreq1 . env2 = Env . [ 0 . 0 . instFMI = EnvGen .15] . SinOsc .0. modulatorFreq2 = m2 ∗ fundFreq . ’ l i n e a r ’ ) . // instantaneous frequency deviations i n s t F r e q = SinOsc . modulatorFreq2 .0 . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . env2 = Env . peakFMI2 = 0 . 0 . i n st F re q Dv 1 ) + Two m o d u l a t i n g o s c i l l a t o r s // ´ CADIZ.3 . amp .0.0 . 193 env1 = Env . m1 = 1 . kr ( env1 ) . 6 ] .5.75 .3.[0. new ([0 . freqDv = modulatorFreq ∗ EnvGen .2. env2 .5. a r ( i ns tF re qD v+c a r r i e r F r e q 2 .[0.0 . 0 .3. // One FMI e n v e l o p e i ns t Fr e qD v 1 = peakFMI1 ∗ modulatorFreq1 ∗ instFMI . m1. instFreqDv1 . a r ( modulatorFreq1 . peakFMI1 = 1 . in st Fr eq Dv = SinOsc . freqDv ) .15 .0.6. amp) + // Two c a r r i e r s a r e b e i n g modulated SinOsc . ’ linear ’) . 7 ∗ peakFMI ] . 0 . m2. modulatorFreq = m ∗ fundFreq .2. play ) M u l t i p l e −Modulator FM can o f t e n produce t o n e s with a smoother q u a l i t y than raw FM. 4 5 ] . ’ linear ’) .15] . kr ( env2 ) . instFMI .15 . // with i n d i v i d u a l i ns t Fr e qD v 2 = peakFMI2 ∗ modulatorFreq2 ∗ instFMI . ’ linear ’) . amp = 0 .3.´ A. 0 . 1 . fundFreq = 4 4 0 . c a r r i e r F r e q = c ∗ fundFreq + 0 . env1 = Env . amp) . 5 . 3 . kr ( env2 ) .45] .75 . peakFMI1 .0.0]/5 .0 . R.0 . } . 3 ∗ EnvGen . new ([0 . var env1 . SUPERCOLLIDER: MODULACION 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 c a r r i e r F r e q 2 = c2 ∗ fundFreq . kr ( env1 ) .0 . ({ var fundFreq .15 . 5 ∗ peakFMI . // C : M1 : M2 r a t i o modulatorFreq1 = m1 ∗ fundFreq . 0 . a r ( i ns tF re qD v+c a r r i e r F r e q 1 . instFreq . amp = 0 . 4 . 0 . 0 . new ( [ 2 .0. instFreqDv2 . c = 1. attackTm . // v i b R a t e i n c r e a s e s in higher octaves vibDepth = vibDepth ∗ 5 . i f ( releaseTm > sustainTm . // c a l c u l a t e a c t u a l c a r r i e r and m o d u l a t o r f r e q u e n c i e s c a r r i e r F r e q = c ∗ fundFreq . play ) ({ // Try d i f f e r e n t v a l u e s f o r f u n d F r e q var fundFreq = 1 7 6 0 . // p a r a m e t e r s duration = 2 . vibDepth . 0 / ( o c t a v e ∗ o c t a v e ) . // a t t a c k and r e l e a s e t i m e s b a s e d on f u n d a m e n t a l frequency attackTm = 0 . o c t a v e . sustainTm . 0 . detune . p o s t l n . modulatorFreq = m ∗ fundFreq + detune . rand . modulatorFreq . vibRate . // random variations // m o d i f i c a t i o n s b a s e d on f u n d a m e n t a l f r e q u e n c y o c t a v e = fundFreq . 0 . vibRate = 4 .194 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 ´ APENDICE A. i ns t Fr e qD v 2 ) + carrierFreq . c p s o c t . R. i n s t V i b . env2 . vibRate . // peakFM decreases in higher octaves vibRate = vibRate ∗ o c t a v e / 5 . amp . vibDepth . // One c a r r i e r } . 0 / fundFreq . 0 . 4 ∗ 4 . i n s t F r e q . m = 1. var d u r a t i o n . 5 . var env1 . 0 . 5 ∗ attackTm . a r ( i n s t F r e q . c = 2. // amplitude envelope ´ CADIZ. c p s o c t . a r ( modulatorFreq2 . p o s t l n ( ’ peakFMI/ vibRate / vibDepth = ’ ) . detune = 0 . 0 . peakFMI = peakFMI ∗ 2 0 . p o s t l n . // d e t e r m i n e t h e o c t a v e post ( ’ octave = ’ ) . amp) . peakFMI . SinOsc . 0 / o c t a v e . // attackTM decreases in higher octaves releaseTm = 1 . EJEMPLOS EN SUPERCOLLIDER SinOsc . vibDepth = 0 . octave . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . var c a r r i e r F r e q . postln . p o s t l n . env3 . releaseTm . peakFMI . peakFMI = 3 . instFreqDv . 0 . 0 0 6 . sustainTm = d u r a t i o n − attackTm − releaseTm . { releaseTm = sustainTm = ( d u r a t i o n − attackTm ) / 2 } ) . new ( [ 0 . 8 ∗ vibDepth . modulatorFreq . peakFMI = 3 . sustainTm . // v i b r a t o e n v e l o p e env3 = Env . attackTm . c arr ierF req . var c a r r i e r F r e q . instFreqDv . c = 2. instFreqDv . ’ l i n e a r ’ ) . 0 . 0 . kr ( env2 ) . i n s t V i b .6. ({ var fundFreq . in st Fr eq Dv = modulatorFreq ∗ EnvGen . // FMI e n v e l o p e env2 = Env . postln . ’ l i n e a r ’ ) . 5 . vibRate . d u r a t i o n . 8 ∗ peakFMI . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . [ attackTm . vibDepth . var env1 . SUPERCOLLIDER: MODULACION 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 195 env1 = Env . releaseTm . R. 0 ] . vibRate = 5 . amp = EnvGen . 0 ] . 0 . new ( [ 2 ∗ peakFMI . EnvGen . 0 . sustainTm . vibDepth . detune = 0 . releaseTm ] . modulatorFreq = m ∗ fundFreq + detune . sustainTm . amp . 5 ∗ peakFMI ] . 0 . ´ CADIZ. } . play . 0 . a r ( i n s t F r e q . modulatorFreq . i n s t F r e q = SinOsc . 0 . postln . rand . ) More c o m p l e t e i n s t r u m e n t d e s i g n V e r s i o n #1: V i b r a t o added with i t s own e n v e l o p e . new ( [ 0 . peakFMI . sustainTm . 0 . 1 . // v i b r a t o r r a t e vibDepth = 0 . ’ l i n e a r ’ ) . env2 . env3 . duration = 2 . m = 1. [ attackTm . SinOsc . detune . kr ( env1 ) . 0 . 0 . kr ( vibRate + 3 . // random d e t u n i n g post ( ’ c a r r i e r frequency = ’ ) . a r ( i n s t V i b ∗ modulatorFreq . 7 5 . instVib ∗ carrierFreq ) . releaseTm ] . 0 . 0 0 8 . // v i b r a t o d e p t h as a f r a c t i o n o f fundament f r e q u e n c y // c a l c u l a t e a c t u a l c a r r i e r and m o d u l a t o r frequencies c a r r i e r F r e q = c ∗ fundFreq . // p a r a m e t e r s fundFreq = 8 8 0 . releaseTm ] . 0 . amp) . kr ( env3 ) ) .´ A. [ attackTm . i n s t V i b = 1 + SinOsc . rand . peakFMI . p o s t ( ’ modulator f r e q u e n c y = ’ ) . instFreq . releaseTm = 2 . ({ // Try d i f f e r e n t v a l u e s f o r f u n d F r e q var fundFreq = 1 7 6 0 . i ns tF re qD v = modulatorFreq ∗ EnvGen . detune . vibDepth . 0 . env3 . 7 5 . ´ CADIZ. releaseTm . // FMI e n v e l o p e env2 = Env . o c t a v e . new ( [ 0 . EJEMPLOS EN SUPERCOLLIDER // a t t a c k and r e l e a s e t i m e s attackTm = 0 . // a m p l i t u d e e n v e l o p e env1 = Env . kr ( env2 ) . 5 ∗ peakFMI ] . 0 . amp . p o s t ( ’ a t t a c k time = ’ ) . 1 . attackTm . sustainTm . 0 . EnvGen . amp) . kr ( vibRate + 3 .196 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 ´ APENDICE A. instFreqDv . 8 ∗ peakFMI . 0 . new ( [ 0 . play . 0 . rand . kr ( env3 ) ) . ’ l i n e a r ’ ) . // random v a r i a t i o n s t o o i n s t F r e q = SinOsc . releaseTm ] . i f ( releaseTm > sustainTm . instFreqDv . sustainTm . new ( [ 2 ∗ peakFMI . var d u r a t i o n . ’ l i n e a r ’ ) . R. p o s t l n . vibDepth . attackTm . kr ( env1 ) . // v i b r a t o r a f f e c t s b o t h c a r r i e r and modulators SinOsc . 0 . modulatorFreq . 3 . { releaseTm = sustainTm = ( d u r a t i o n − attackTm ) / 2 } ) . sustainTm = d u r a t i o n − attackTm − releaseTm . 0 . sustainTm . [ attackTm . peakFMI . 0 ∗ attackTm . amp = EnvGen . i n s t F r e q . i n s t V i b . 0 ] . p o s t ( ’ r e l e a s e time = ’ ) . releaseTm ] . var c a r r i e r F r e q . var env1 . ) 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 More c o m p l e t e i n s t r u m e n t d e s i g n V e r s i o n #2: Parameters a r e made s e n s i t i v e t o t h e o c t a v e o f t h e fundamental . releaseTm ] . env2 . p o s t l n . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . sustainTm . i n s t V i b = 1 + SinOsc . 8 ∗ vibDepth . a r ( i n s t F r e q . 0 ] . p o s t l n . p o s t ( ’ s u s t a i n time = ’ ) . i n s t V i b ∗ c a r r i e r F r e q ) . releaseTm . sustainTm . ’ linear ’) . peakFMI . // v i b r a t o e n v e l o p e env3 = Env . } . a r ( i n s t V i b ∗ modulatorFreq . 0 . vibRate . [ attackTm . [ attackTm . 0 . instFreqDv . 0 0 6 . SUPERCOLLIDER: MODULACION 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 // p a r a m e t e r s duration = 2 . vibRate . 197 // c a l c u l a t e a c t u a l c a r r i e r and m o d u l a t o r f r e q u e n c i e s c a r r i e r F r e q = c ∗ fundFreq . c p s o c t . m = 1.´ A. { releaseTm = sustainTm = ( d u r a t i o n − attackTm ) / 2 } ) . env3 . vibDepth = 0 . sustainTm . detune . // a m p l i t u d ( { // Try d i f f e r e n t v a l u e s f o r f u n d F r e q var fundFreq = 1 7 6 0 . 0 / ( o c t a v e ∗ o c t a v e ) . // peakFM decreases in higher octaves vibRate = vibRate ∗ o c t a v e / 5 . 0 . 5 . i n s t F r e q . octave . 0 . p o s t l n . detune = 0 . peakFMI . vibRate . i f ( releaseTm > sustainTm . p o s t l n . ´ CADIZ. // attackTM decreases in higher octaves releaseTm = 1 . vibRate = 4 . R. env2 . 0 0 6 . o c t a v e .6. 0 . modulatorFreq = m ∗ fundFreq + detune . 5 . peakFMI = peakFMI ∗ 2 0 . p o s t l n ( ’ peakFMI/ vibRate / vibDepth = ’ ) . var env1 . vibDepth . sustainTm = d u r a t i o n − attackTm − releaseTm . 0 . peakFMI = 3 . m = 1. 0 . vibRate = 4 . vibDepth . releaseTm . detune = 0 . // d e t e r m i n e t h e o c t a v e post ( ’ octave = ’ ) . rand . postln . // v i b R a t e i n c r e a s e s in higher octaves vibDepth = vibDepth ∗ 5 . 0 / fundFreq . 5 ∗ attackTm . var c a r r i e r F r e q . c = 2. modulatorFreq . var d u r a t i o n . amp . 4 ∗ 4 . // p a r a m e t e r s duration = 2 . 0 . attackTm . 0 / o c t a v e . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . c p s o c t . i n s t V i b . // a t t a c k and r e l e a s e t i m e s b a s e d on f u n d a m e n t a l frequency attackTm = 0 . p o s t l n . // random variations // m o d i f i c a t i o n s b a s e d on f u n d a m e n t a l f r e q u e n c y o c t a v e = fundFreq . vibDepth = 0 . peakFMI . c = 2. peakFMI = 3 . 0 . 4 ∗ 4 . 0 / o c t a v e . detune = 0 . i n s t F r e q . c p s o c t . detune . 0 / ( o c t a v e ∗ o c t a v e ) . peakFMI = peakFMI ∗ 2 0 . c p s o c t . rand . modulatorFreq = m ∗ fundFreq + detune . 0 . // p a r a m e t e r s duration = 2 . env3 . peakFMI . // random variations // m o d i f i c a t i o n s b a s e d on f u n d a m e n t a l f r e q u e n c y o c t a v e = fundFreq . modulatorFreq = m ∗ fundFreq + detune . modulatorFreq . c = 2. // peakFM decreases in higher octaves vibRate = vibRate ∗ o c t a v e / 5 . peakFMI = 3 . p o s t l n ( ’ peakFMI/ vibRate / vibDepth = ’ ) . 0 . vibRate = 4 . var d u r a t i o n . R. 5 . // d e t e r m i n e t h e o c t a v e post ( ’ octave = ’ ) . vibDepth . o c t a v e . releaseTm . attackTm . peakFMI . amp . EJEMPLOS EN SUPERCOLLIDER // c a l c u l a t e a c t u a l c a r r i e r and m o d u l a t o r f r e q u e n c i e s c a r r i e r F r e q = c ∗ fundFreq . // c a l c u l a t e a c t u a l c a r r i e r and m o d u l a t o r f r e q u e n c i e s c a r r i e r F r e q = c ∗ fundFreq . vibRate . env2 . p o s t l n . peakFMI = pe ( { // Try d i f f e r e n t v a l u e s f o r f u n d F r e q var fundFreq = 1 7 6 0 . m = 1. instFreqDv .198 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 ´ APENDICE A. 5 ∗ attackTm . // v i b R a t e i n c r e a s e s in higher octaves vibDepth = vibDepth ∗ 5 . rand . sustainTm . var c a r r i e r F r e q . { releaseTm = sustainTm = ( d u r a t i o n − attackTm ) / 2 } ) . // a t t a c k and r e l e a s e t i m e s b a s e d on f u n d a m e n t a l frequency attackTm = 0 . i f ( releaseTm > sustainTm . p o s t l n . var env1 . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . octave . vibRate . postln . 0 . c p s o c t . octave . // attackTM decreases in higher octaves releaseTm = 1 . vibDepth = 0 . ´ CADIZ. 0 / fundFreq . vibDepth . // d e t e r m i n e t h e o c t a v e post ( ’ octave = ’ ) . // random variations // m o d i f i c a t i o n s b a s e d on f u n d a m e n t a l f r e q u e n c y o c t a v e = fundFreq . 0 . sustainTm = d u r a t i o n − attackTm − releaseTm . postln . 0 0 6 . p o s t l n . i n s t V i b . [ attackTm . instVib ∗ carrierFreq ) . { releaseTm = sustainTm = ( d u r a t i o n − attackTm ) / 2 } ) . kr ( env2 ) . ´ CADIZ. p o s t l n . 0 . kr ( vibRate + 3 . [ attackTm . i n s t F r e q = SinOsc . 0 ] . } . 0 . 0 . 5 ∗ peakFMI ] . amp = EnvGen . 5 ∗ peakFMI ] . 0 . p o s t l n . sustainTm = d u r a t i o n − attackTm − releaseTm . R. amp) . // peakFM d e c r e a s e s i n higher octaves vibRate = vibRate ∗ o c t a v e / 5 . releaseTm ] . 1 . 0 ] . releaseTm ] . [ attackTm . // FMI e n v e l o p e env2 = Env . 8 ∗ vibDepth . i n s t V i b = 1 + SinOsc . // v i b r a t o e n v e l o p e env3 = Env . 0 . ’ l i n e a r ’ ) . 0 . 0 . releaseTm ] . [ attackTm . // a t t a c k and r e l e a s e t i m e s b a s e d on f u n d a m e n t a l frequency attackTm = 0 . rand . sustainTm . new ( [ 0 . 0 ] . 4 ∗ 4 . peakFMI . vibDepth . i f ( releaseTm > sustainTm . 0 . // attackTM decreases in higher octaves releaseTm = 1 . EnvGen . 0 . // a m p l i t u d e e n v e l o p e env1 = Env . a r ( i n s t F r e q . // v i b R a t e i n c r e a s e s in higher octaves vibDepth = vibDepth ∗ 5 . new ( [ 0 . p o s t l n . releaseTm ] . instFreqDv . amp = EnvGen . kr ( env1 ) . 0 / ( o c t a v e ∗ o c t a v e ) . // FMI e n v e l o p e env2 = Env . sustainTm . 0 . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . 0 . in st Fr eq Dv = modulatorFreq ∗ EnvGen . vibDepth . p o s t l n ( ’ peakFMI/ vibRate / vibDepth = ’ ) . ’ l i n e a r ’ ) . 7 5 . peakFMI . new ( [ 2 ∗ peakFMI . kr ( env3 ) ) . sustainTm . ’ l i n e a r ’ ) . releaseTm ] . new ( [ 0 . a r ( i n s t V i b ∗ modulatorFreq . 8 ∗ peakFMI . vibDepth . SinOsc . 0 . 7 5 .6. in st Fr eq Dv = modulatorFreq ∗ EnvGen .´ A. ) akFMI ∗ 2 0 . rand . kr ( env1 ) . [ attackTm . 0 . ’ l i n e a r ’ ) . 0 / fundFreq . // v i b r a t o e n v e l o p e env3 = Env . 5 ∗ attackTm . 8 ∗ peakFMI . 8 ∗ vibDepth . kr ( vibRate + 3 . 0 / o c t a v e . sustainTm . [ attackTm . 0 . vibRate . ’ l i n e a r ’ ) . i n s t V i b = 1 + SinOsc . sustainTm . p l a y . releaseTm ] . 0 . ’ l i n e a r ’ ) . 0 . peakFMI . sustainTm . new ( [ 0 . new ( [ 2 ∗ peakFMI . 0 . c p s o c t . EnvGen . 0 ] . kr ( env3 ) ) . kr ( env2 ) . SUPERCOLLIDER: MODULACION 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 199 // a m p l i t u d e e n v e l o p e env1 = Env . 1 . 9 ) 10 11 S i n t e s i s g r a n u l a r 12 13 Gendy1 ( tambien Gendy2 y Gendy3 ) 14 − Implementacion d e l g e n e r a d o r dinamico e s t o c a s t i c o c o n c e b i d o por Xenakis 15 16 17 Metodos de c l a s e 18 ∗ a r ( ampdist =1. 0 ] . 8 ∗ vibDepth . instVib ∗ carrierFreq ) . 0 . 7 5 .200 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 ´ APENDICE A. play . sustainTm . releaseTm ] . default . 7 s = S e r v e r . d u r d i s t =1. // FMI e n v e l o p e env2 = Env . play . } . SinOsc . maxfreq =1000 . a r ( i n s t V i b ∗ modulatorFreq . R. peakFMI . new ( [ 0 . 0 .0 . amp) . amp = EnvGen . Cadiz . } . ddparam =1. SinOsc . EJEMPLOS EN SUPERCOLLIDER i n s t F r e q = SinOsc . 0 . instFreqDv . a r ( i n s t V i b ∗ modulatorFreq .5 . instFreqDv . sustainTm . 5 . 0 . 0 .0 . add =0. new ( [ 2 ∗ peakFMI . i n s t F r e q = SinOsc . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . SuperCollider: S´ ıntesis granular 1 TUTORIAL DE SUPERCOLLIDER 3 − PARTE 9 2 Rodrigo F . 0 . knum =12 . i n s t V i b = 1 + SinOsc . ) e envelope env1 = Env . ’ l i n e a r ’ ) . [ attackTm . ampscale= 0 . boot . kr ( env1 ) . 0 ] . releaseTm ] . 8 ∗ peakFMI . ’ l i n e a r ’ ) . adparam =1. basado en a p u n t e s de Gary S . [ attackTm . releaseTm ] . vibDepth . ’ l i n e a r ’ ) . 5 ∗ peakFMI ] . 0 . // v i b r a t o e n v e l o p e env3 = Env . 0 . kr ( vibRate + 3 . EnvGen . kr ( env2 ) . 0 . sustainTm . kr ( env3 ) ) . ) A. a r ( i n s t F r e q . amp) . 0 . 8 s . K e n d a l l 3 No r th we s te rn U n i v e r s i t y 4 5 ( 6 S e r v e r . i n t e r n a l . rand . default = S e r v e r . in st Fr eq Dv = modulatorFreq ∗ EnvGen . new ( [ 0 . d u r s c a l e =0. m i n f r e q =20 .7. mul =1.0 . instVib ∗ carrierFreq ) . a r ( i n s t F r e q . [ attackTm .0) ´ CADIZ. i n i t C P s =12 . 0 . 1 . − 1. d u r s c a l e : my. 5 . SUPERCOLLIDER: PATRONES 19 20 21 22 23 24 201 Check t h e h e l p page f o r an e x p l a n a t i o n o f t h e p a r a m e t e r s ! // d e f a u l t s { Pan2 . ampscale : my. sendBundle ( 0 . 3 . Pan2 . amp . [ \ s new . − 3. 0 .0. f r e q = 4 4 0 . durscale : 0 . 0 . time =0. a r ( 0 . 1 . dbamp . \ amp . 0 . \ l i n ) . a r (RLPF . 0 .2 ) . my . h a l f d u r . initCPs : 4 0 ) . h a l f d u r ] . 0 . \ l i n ) . doneAction : 2 ) . \ exp ) . load ( s ) . time = time + 0 . a r ( Gendy1 . amp . 0. SuperCollider: Patrones ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL ´ CADIZ. var env . a r ( 2 . f r e q = Env ( [ 1 0 0 0 . kr (100 . − 12] . mul : 0 . a r ( Env ( [ 0 . 0 . }) . 7 .8. 0 . amp = amp . play ({ var mx. kr ( 2 2 0 . ) ( z = Routine ( { var f r e q . [ 7 . 0 . env = EnvGen . . 1 . 0 0 9 . 5 . O f f s e t O u t . 3 . 4 4 0 ) . mx= MouseX . c a r ∗ env ) . i n i t C P s : 7 . 1 . a r ( 2 . 1 . play ) 54 55 56 57 A. 1 . maxfreq : MouseX .1000) . 1 ) . amp = Env ([ − 12 . [ h a l f d u r . do { s . { a r g dur = 1 . 0 ) } . a r ( f r e q . 5 0 0 ] . 0 ) . c a r . c a r = SinOsc . maxfreq : 8 ∗ mx.A. R. h a l f d u r = dur ∗ 0 . my= MouseY . 0 1 . amp = − 3. wait . 0 ] . a r ( Gendy1 . 500 . f r e q [ time ] ] ) .3 . 5 ] .8. amp [ time ] . \ grainMaker . m i n f r e q : mx. play ) 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 S i n t e s i s g r a n u l a r a l a Gabor // Granular S y n t h e s i s ( SynthDef ( \ grainMaker . } }) . 3 ) . 0 1 . \ f r e q . 1 5 0 0 . m i n f r e q : 2 0 . 0 ) }. kr ( 0 . [ 1 5 ] . \ dur . 3 6 . i n t e r n a l . R. 1 1 0 ) .202 ´ APENDICE A. 4 . Out . kr ( 1 . rand . i n t e r n a l . K e n d a l l No r th we s te rn U n i v e r s i t y ( S e r v e r . streams . EJEMPLOS EN SUPERCOLLIDER 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 TUTORIAL DE SUPERCOLLIDER 3 − PARTE 10 Rodrigo F . durDiff = 3. boot . LFNoise1 . kr ( Env . send ( s ) . l e v e l S c a l e : 0 . f r e q . [ 0 . 0 . 0. 0 5 . ) Patterns Making Music with P a t t e r n s Here i s an example t h a t u s e s a P a t t e r n t o c r e a t e two i n s t a n c e s of t h e random melody stream . var out . 0 5 . 3 . { 28 29 30 31 32 33 34 35 36 37 38 39 ´ CADIZ. a r ( LFSaw . s = S e r v e r . midicps . Cadiz . 0 . dur . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . default = S e r v e r . perc . 4 ) } ) . do ( { out = A l l p a s s N . doneAction : 2 ) . default . i d u r =1 . basado en a p u n t e s de Gary S . d u r D i f f . { a r g i o u t =0 . new ( { loop ({ i f ( 0 .1 ) ∗ EnvGen . 0 5 . a r ( out . out ) . S e r v e r . 5 . a r ( f r e q ) . } ) . dur = 1 / 7 . rand ] . p a t t e r n = Prout . ) ( // s t r e a m s as a s e q u e n c e o f p i t c h e s var p a t t e r n . out = RLPF . coin . a r ( i o u t . ( SynthDef ( ”SPE2” . timeScale : i dur . yield . c h o o s e } ) ) . a t ( 1 ) . }) . m i d i c p s . }) . \ i d u r . 7 7 . do ( { a r g f i f t h . 5 5 ] . 5 ) . choose . SUPERCOLLIDER: PATRONES 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 203 #[ 2 4 . 3 6 . #[63 . asStream . basado en a p u n t e s de Gary S . // 0 i n a r r a y p a t t e r n . do ( { # [ 7 4 . next . }) . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . w a i t .65]. }) . y i e l d . }) . K e n d a l l N o r t h we s te rn U n i v e r s i t y ListPatterns ListPatterns are Patterns that i t e r a t e over arrays of o b j e c t s in some f a s h i o n .A. s t r e a m s . s t r e a m s = [ // Stream . 0 ] . 7 5 . s t r e a m s . a t ( 0 ) combines Prout ’ s o u t p u t w i t h Pfunc t r a n s p o s i n g n o t e s randomly ( p a t t e r n − Pfunc . // random h i g h melody r r a n d ( 3 .74]. r r a n d ( 2 . \ i d u r . R. do ( { // t h e n do t h i s d u r D i f f times Synth ( ”SPE2” . asStream // 1 i n a r r a y ]. }) }) . dur ∗ d u r D i f f ] ). The r e p e a t s variable is ´ CADIZ. Routine ( { loop ({ // Do t h i s Synth ( ”SPE2” . 7 . #[70 .72 . do ( { // v a r y i n g a r p e g g i o 60.8. 7 9 . [ \ f r e q . yield . 4 8 . next . 7 . y i e l d . play ) 1 2 3 4 5 6 7 8 9 TUTORIAL DE SUPERCOLLIDER 3 − PARTE 11 Rodrigo F . 4 3 . 9 ) . dur . y i e l d }) . A l l L i s t P a t t e r n s have i n common t h e i n s t a n c e v a r i a b l e s l i s t and repeats . d u r D i f f . m i d i c p s . a t ( 0 ) . y i e l d }) . 8 1 ] . Cadiz . 3 1 . f i f t h . new ( { #[12 . [ \ f r e q . choose . choose . 67. dur ] ) . The l i s t v a r i a b l e i s some Array t o be i t e r a t e d o v e r . Pseq ( # [ 2 4 . perc . 1 5 . rand . 72 . Out . f r e q S t r e a m = Pseq ( // l i s t . 0 5 . The default v a l u e f o r r e p e a t s is 1. do ( { out = A l l p a s s N . 5) ) . { a r g f r e q . 8 1 ] . 0 5 . LFNoise1 . 1 1 0 ) . // no r e p e a t . [ 0 . { r r a n d ( 3 . a r ( out .1 ). rand ] . R. I t u s e s n e s t e d p a t t e r n s and r e s u l t s i n much more c o n c i s e code . r e p e a t s . kr ( Env . 3 6 . } ) . // Frequency and duration parameters var out . i n f ) . out = RLPF . o f f s e t [ Prand ( [ n i l . Making Music with L i s t P a t t e r n s Here i s an example we have heard b e f o r e r e w r i t t e n t o u s e ListPatterns . m i d i c p s . 5 5 ] ) ] ) . 6 . kr ( 1 . n i l causes pattern to end Pseq ( [ 6 0 . midicps . ( SynthDef ( ” A l l p a s s 6 ” . 9) }) ]. mul : EnvGen . Task ( { loop ({ 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 ´ CADIZ. a r ( 0 . doneAction : 2 ) ). 3 1 . 0 . 7 9 . l e v e l S c a l e : 0 . a r ( f r e q . 0 . Prand (#[70 . 7 7 . 3 6 . 7 4 ] ) ] . Prand ( # [ 6 3 . EJEMPLOS EN SUPERCOLLIDER some measure o f t h e number o f t i m e s t o do something . 7 5 . 0 5 . 0 . dur= 1 . 4 8 . 6 7 . Prand ( # [ 7 4 . asStream . 4 ) } ) . 6 5 ] ) . send ( s ) ) ( // This i s a good more complex model var f r e q S t r e a m . t i m e S c a l e : dur . whose meaning v a r i e s from s u b c l a s s t o s u b c l a s s . out ) . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . env . 4 3 . 0. rrand (2 . a r ( LFSaw .204 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ´ APENDICE A. 2 . // i n t r o Pseq ( # [ 0 .4.0 . 0 4 ] . send ( s ) . ( SynthDef ( ”Mridangam” .0 .0 .0 . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . } ) . 0 . a r ( WhiteNoise . 0. 0 ] .0 . 6 0 . 0. 1 0 ) . 0 . 0. 6 7 . . midicps .0 . 1 ). m i d i c p s ) + Saw . send ( s ) . out = Resonz . a r ( [ 6 7 . 0. a r ( out . a r ( 0 . a r ( 0 . 0. 1 3 . SUPERCOLLIDER: PATRONES 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 Synth ( ” A l l p a s s 6 ” .2 . }) .A. 6 0 . 0 . 0.0 . 0. amp . Out . 0 4 ] . 0. [ \ f r e q . wait . out ) .0 . }) . ) 205 Here i s an example t h a t u s e s a P a t t e r n t o c r e a t e a rhythmic s o l o . 0. 0 . 4 ) . a r ( [ 6 0 . distort ∗ 0. a r ( 7 0 ) ∗ Decay2 . 9 .0 . 0. Out .007 ). 0 2 . } ) . pat = Pseq ( [ Pseq ( # [ 0 . 0.8. midicps ) . 0. kr ( t amp . f r e q S t r e a m . The v a l u e s i n t h e p a t t e r n s p e c i f y t h e a m p l i t u d e s o f i m p u l s e s f e d t o t h e Decay2 g e n e r a t o r . R. 0 . 0 0 2 . 0. D e t e c t S i l e n c e . 2) Pseq ( # [ 0 . ´ CADIZ. 1 0 8 . .0 . ) ( // p e r c u s s i o n s o l o i n 10/8 var stream . midicps .0 . { var out . next ] ) . a r ( Saw . 0. 0 ] .0 . // Amplitude i s argument ( dur i s n ’ t m e a n i n g f u l ) var out . 0 .0 . play . 0. out = LPF .0 . out ) . 0 ] . SynthDef ( ” Drone ” . pat . doneAction : 2 ) . { a r g t amp . 0. 9 . 2) 0. 0. 0. Pseq ( # [ 0 . 0. 0.0 .0 . 0. 0.7 . 0 . 0. 0. 0 . EJEMPLOS EN SUPERCOLLIDER Pseq ( # [ 0 . 0. 0. 0. 1. 0 . 0.2 .2 . 0 . Task ( { Synth ( ” Drone ” ) .0 .0 . 0.2 .0 . 0 . 0. Pseq ( # [ 0 . 0.0]) . next ) > 0 .0 . 0. 2 . 2 ] . 0. 0. 0 .206 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 ´ APENDICE A.0 . 0. 0. 9 .2 . Pseq ( # [ 0 .0 .0 .7 . 7 .2 . 0. 0. 0. 9 . 0. 0. 0.0]) . 0.2 . . 9 . 30) . 0. 0 . 0 .2 . 0 . 0.0]) . 0.2 . 0 . 0. 0. 0 .0 . Pseq ( # [ 0 . 0. 0.7 . ] . Pseq ( # [ 0 .4 . 0. 0 . 0.0]) . 0. 0.7 . 0. R. 0 .4 . 0. 0.2 . 0 ] .7 . 0. 0. 0. 0. 0.7 .2 . 0.0]) . 5 .7 . 9 . 0 .2 . 0 .0]) . 0. 0. 0 . 0. 9 .2 . 0.2]) .0 .7 . 0. 0.0 .0 . 0.0 . 0. // c o n c l u s i o n Pseq ( # [ 2 . Pseq ( # [ 0 . 0.0]) . 0.0]) 0. 0 . 0.0 . Pseq ( # [ 0 . 0.2 . 0. 0 . 0. 0.0 . 1 . 9 .4 .7 . 9 . 0. 0.0 . 0. 0 . 9 .7 . 0.9 . Pseq ( # [ 0 . 2 . 0.0 . 0 ] .0 . 0 .2 . 0. Pseq ( # [ 0 . Pseq ( # [ 5 ] .2 .7 .0 .2 . 0. 2 . 2 . .7 .2 .2 . Pseq ( # [ 0 . 0 . 0. 0 . Pseq ( # [ 0 . 0. 0. 0.0 .0 .2 . 0 .0 . 0.0 . 0. 0 . 0. 0.2]) . 0 . 2 .7 . stream = pat . 0.0 . 0 .2 .0]) .2 .7 . 0. 0. 9 . 0.0]) .7 . 0. 0.2 .0 .5 . 0. 0. 0 .4 . 0.0 . 5 .7 . 0.0 . 9 .0 . 0.7 .0 .0 . 0 .0 . 0. 0.0 . 0.0 .0 .2 .0 . asStream . 9 .7 . 0. 0. 2) // s o l o Prand ( [ Pseq ( # [ 0 . 0. loop ({ i f ( ( amp = stream .0 . 0. 0. ´ CADIZ. 0.2 . 0. Pseq ( # [ 0 .0 . 0.0 .0 .2 .4 .2 .4 . 9 . 9 .4 .7 . 0. 2 ] . 0.5 . 0. 9 . 0. 0. 0. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . 0 . 0.0 .2 . 0 .2 .0 . Pseq ( # [ 0 . 0 . 9 .0 . 0 . 0. 0. 0.0 . 2 . 0 .0 . 1 ) . 0. 0. 0.2 . 0. 0. 0.0 . 2) Pseq ( # [ 0 .2]) . 9 .2 .0 . 0.0 . 0.0 . 3) .7 . 0 .0 . 0. 0 .0 . 0. 0. 0. 0.2 .0 .0 . 0 . 0.0]) . 0. 5 . 0. 0. 0 .0 . 0. 0. 0 . 0. 0. 0 . 0 . 0 . i n f ) ]) .2 . 0.2 . 0.0 .0 . Pseq ( # [ 0 . 0.0 . 9 .7 . 0 . } . qNum . var c a p t i o n f i l t e r S l i d e r . ftoW = { a r g h e r t z . 2 p i ∗ ( h e r t z / Synth . g a i n S l i d e r . amp ] ) } ). new ( ” F i r s t o r d e r biquad f i l t e r s >>> Rodrigo F . var c a p t i o n s h e l f S l i d e r .9. s h e l f S l i d e r . var x o f f 1 . x o f f 2 . R. lowShelfBox . play ) A. // c o n v e r t dB t o a m p l i t u d e var dBtoA .5011872336. hpfBox . SUPERCOLLIDER: FILTROS BI-CUADRATICOS 120 121 122 123 124 125 126 207 { Synth ( ”Mridangam” . f i l t e r N u m . }) }) . in2Box . // GUI Window w = GUIWindow . var c a p t i o n 1 . r = 0.9. dBtoA = { a r g d e c i b e l s . f i l t e r S l i d e r .´ A. sound . (1/8) . var in1Box . c a p t i o n S o u r c e . c a p t i o n 2 . } . Rect . var c a p t i o n O m e g a S l i d e r . var c a p t i o n g a i n S l i d e r . Cadiz ” . shelfNum . r ∗10∗∗( d e c i b e l s / 2 0 . [ \ t amp . gainNum . c a p t i o n 3 . h i g h S h e l f B o x . omegaNum . 4 0 0 ) ) . q S l i d e r . newBy ( 5 0 0 . var c a p t i o n Q S l i d e r . bpfBox . var lpfBox . o m e g a S l i d e r . var ftoW . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . peakingEQBox . captionddSlider . 6 5 0 . in3Box . wait . sampleRate ) . ´ CADIZ. var f o r e c o l o r . c a p t i o n f b S l i d e r . s i g n a l . 7 0 . notchBox . 0 ) . var f i l e n a m e . 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 ( SuperCollider: Filtros bi-cuadr´ aticos // F i l t r o s b i q u a d var w . 02 . color . f i l t e r S l i d e r = S l i d e r V i e w . Cadiz ” ) . w. 8 0 . Rect . 60 . gainNum = NumericalView . 6 . color . 0 ) . 20 ) . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . 0 . 20 ) . ’ l i n e a r ’ ) . EJEMPLOS EN SUPERCOLLIDER w . 1 . b ac k C o l or = C o l o r . newBy ( xoff2 . new ( 2 0 ) . Rect . ” Input g a i n [ dB ] ” ) . labelColor = f o r e c a p t i o n 2 = S t r i n g V i e w . newBy ( x o f f 2 . ´ CADIZ. w. f i l t e r s ”) . caption1 . Rect . gainNum . 1 0 . // F i l t e r Gain c a p t i o n f i l t e r S l i d e r = S t r i n g V i e w . a c t i o n = { gainNum . 5 0 . newBy ( x o f f 2 +235 . 3 0 . 5 0 . // I n p u t Gain c a p t i o n g a i n S l i d e r = S t r i n g V i e w . f i l t e r N u m = NumericalView . new ( w. newBy ( x o f f 1 . new ( w. ’ l i n e a r ’ ) . 2 2 8 . 20 ) . 1 . labelColor = f o r e c a p t i o n 3 = S t r i n g V i e w . newBy ( x o f f 1 . 3 2 8 . v a l u e } . 235 .02 . 0 . Rect . 0 2 . 20) . 2 5 5 . newBy ( x o f f 2 +235 . 2 3 0 . 0 . ” F i l t e r g a i n [ dB ] ” ) . new ( 9 9 . 0 . Rect . ” Assignment 2 : Second o r d e r biquad caption2 . 1 6 0 ) . ” Advanced Audio S i g n a l P r o c e s s i n g ” ) . f i l t e r N u m . 1 2 8 . new ( w. xoff2 = 350. 20 ) . labelColor = f o r e w. 235 . ba c k C o lo r = f o r e c o l o r . R. 0 0 0 1 . − 0. ”Mix” . g a i n S l i d e r = S l i d e r V i e w .208 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 ´ APENDICE A. newBy ( x o f f 2 . Rect . 0 2 . −30 . caption3 . 0 . new ( w. 0 . 10 . 20) . 8 0 . 1 3 0 . 5 0 . 0 . g a i n S l i d e r . Rect . − 0. new ( 20) . 3 0 . 0 . newBy ( x o f f 1 . b a c k C ol o r = f o r e c o l o r . color . Rect . v a l u e = g a i n S l i d e r . 2 3 0 . Rect . new ( 2 5 5 . ’ l i n e a r ’ ) . ’ l i n e a r ’ ) . newBy ( x o f f 2 . ” NumericalView ” . // C o l o r s f o r e c o l o r = C o l o r . ” NumericalView ” . − 30 . 0 0 0 1 . // O f f s e t s xoff1 = 10. 6 . // Various l a b e l s c a p t i o n 1 = S t r i n g V i e w . 3 0 . ” Rodrigo F . new ( w. new ( 2 0 ) . new ( w. ”Mix” . v a l u e } . qNum = NumericalView . ”Mix” . 20 ) . 1 . ´ CADIZ. Rect . Rect . ”Q ” ) . Rect . 0 1 . 15000 . 5 0 . 1 3 0 . 1 5 0 0 0 . new ( w. pass ” . hpfBox = 230 . ” C u t o f f f r e q u e n c y [ Hz ] ” ) . new ( w. Rect . new ( w. 2 3 0 . 235 . 2 . new ( w. Rect . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . new ( w.´ A. Rect . 0 . 1 . 1 0 . omegaNum = NumericalView . R. a c t i o n = { shelfNum . 0 . ”Low 0. b a c k C ol o r = f o r e c o l o r . ” NumericalView ” . 1 0 0 . ”Mix” . v a l u e } . 0 . // Q c a p t i o n Q S l i d e r = S t r i n g V i e w . 1 0 . 20 ) . 235 . ’ e x p o n e n t i a l ’ ) . 4 0 0 . newBy ( x o f f 2 . shelfNum = NumericalView . ” Shelf slope ”) . v a l u e = s h e l f S l i d e r . 5 . 1 8 0 . 0 1 . 2 1 0 . new ( w. ’ e x p o n e n t i a l ’ ) . 1 0 . ’ e x p o n e n t i a l ’ ) . s h e l f S l i d e r = S l i d e r V i e w . 0 0 1 . action = { filterNum . s h e l f S l i d e r . qNum . 20) . 2 3 0 . b a c kC o l o r = f o r e c o l o r . v a l u e = o m e g a S l i d e r . 20 ) . 20 ) . q S l i d e r . 1 8 0 . 0 0 1 . 0 1 . v a l u e } . 2 3 0 . 0 . newBy ( x o f f 2 . 0 . a c t i o n = { omegaNum . 2 . value = f i l t e r S l i d e r . newBy ( x o f f 1 . ’ e x p o n e n t i a l ’ ) . 0 . 0 0 1 . 1 1 0 . CheckBoxView . newBy ( x o f f 2 . o m e g a S l i d e r . 1 . Rect . 0 . 20 ) . 0 . newBy ( x o f f 2 . new ( w. newBy ( x o f f 2 +235 . 160 . ”Mix” . 20 ) .9. 2 3 0 . lpfBox = 230 . newBy ( x o f f 1 . ’ e x p o n e n t i a l ’ ) . new ( w. 0 . ’ linear ’) . value }. newBy ( x o f f 2 . v a l u e = q S l i d e r . q S l i d e r = S l i d e r V i e w . ” NumericalView ” . 5 . 209 // S h e l f s l o p e c a p t i o n s h e l f S l i d e r = S t r i n g V i e w . 0 1 . Rect . ’ linear ’) . ’ e x p o n e n t i a l ’ ) . Rect . CheckBoxView . 4 0 0 . ” NumericalView ” . 20 ) . 5 0 . new ( w. 2 3 0 . 100 . 110 . 0 0 1 . 20 ) . o m e g a S l i d e r = S l i d e r V i e w . 0 . Rect . newBy ( x o f f 2 . Rect . a c t i o n = { qNum . newBy ( x o f f 2 +235 . // Omega c a p t i o n O m e g a S l i d e r = S t r i n g V i e w . 2 0 ) . 0 . newBy ( x o f f 2 +235 . shelfNum . omegaNum . 5 0 . ” High 0. 1 . 1 3 0 . pass ” . 0 . new ( w. 2 3 5 . 1 0 . 9 0 . 20) . 1 . 0 . 0 . new ( w. b a c k C ol o r = f o r e c o l o r . 0 . SUPERCOLLIDER: FILTROS BI-CUADRATICOS 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 f i l t e r S l i d e r . value = 1 . v a l u e = 0 . 0 . 0 . 0 . 0 . v a l u e = 0 . 0 . v a l u e = 0 . value = 0 . 0 . highShelfBox . 0 . ´ CADIZ. } . new ( w. action = { lpfBox . 1 . Rect . 0 . 1 9 0 . 0 . peakingEQBox = CheckBoxView . hpfBox . 0 . 0 . value = 0 . value = 0 . 2 3 0 . peakingEQBox . 0 . 0 . 0 . Rect . v a l u e = 0 . lowShelfBox . v a l u e = 1 . 20 ) . 0 . 1 3 0 . 0 . lpfBox . ”Low S h e l f ” . 0 . 0 . bpfBox . notchBox . v a l u e = 0 . lowShelfBox . } . 1 . ” High S h e l f ” . 0 . value = 0 . 2 3 0 . ’ l i n e a r ’ ) . 0 . 20 ) . hpfBox . notchBox . 1 5 0 . value = 0 . v a l u e = 0 . 1 . value = 0 . 20 ) . a c t i o n = { lpfBox . } . 0 . 1 . 0 . 0 . 20 ) . v a l u e = 0 . 0 . ”PeakingEQ ” . value = 0 . bpfBox . newBy ( x o f f 1 . lowShelfBox . ’ l i n e a r ’ ) . 0 . new ( w. ’ l i n e a r ’ ) . 2 3 0 . new ( w. 2 3 0 . newBy ( x o f f 1 . a c t i o n = { lpfBox . value = 0 . newBy ( x o f f 1 . notchBox . 0 . v a l u e = 0 . notchBox = CheckBoxView . ’ l i n e a r ’ ) . v a l u e = 0 . peakingEQBox . 0 . Rect . 0 . bpfBox . hpfBox . peakingEQBox . 0 . hpfBox . 0 . notchBox . peakingEQBox . 0 . v a l u e = 0 . 1 7 0 . bpfBox . l o w S h e l f B o x = CheckBoxView . v a l u e = 1 . 0 . ’ l i n e a r ’ ) . highShelfBox .210 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 ´ APENDICE A. h i g h S h e l f B o x = CheckBoxView . 0 . v a l u e = 0 . 2 1 0 . 0 . Rect . ” Notch ” . notchBox . newBy ( x o f f 1 . 0 . 0 . R. a c t i o n = { lpfBox . Rect . hpfBox . ”Band pass ” . highShelfBox . v a l u e = 0 . v a l u e = 1 . 1 . new ( w. 0 . 20 ) . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . v a l u e = 0 . new ( w. EJEMPLOS EN SUPERCOLLIDER bpfBox = CheckBoxView . 0 . 0 . value = 0 . 0 . newBy ( x o f f 1 . 0 . 2 3 0 . bpfBox . 0 . Rect . ’ l i n e a r ’ ) . 0 . highShelfBox . 1 . 0 . 0. highShelfBox . value = 0 . 0 . 0 . 0 . value = 0 . a i f f ” . newBy ( x o f f 2 . 20 ) . 0 .´ A. in3Box = CheckBoxView . ”Sound f i l e ” . ” BrownNoise ” . notchBox . 0 . new ( 235 . } . SUPERCOLLIDER: FILTROS BI-CUADRATICOS 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 lowShelfBox . Rect . v a l u e = 0 . 20) . } . newBy ( x o f f 2 . value = 0 . v a l u e = 0 . v a l u e = 1 . hpfBox . peakingEQBox . 0 . 1 . v a l u e = 0 . peakingEQBox . value = 0 . v a l u e = 0 . 0 . 0 . 0 . 1. notchBox . value = 1 . newBy ( x o f f 2 . in2Box = CheckBoxView . 0 . 3 1 0 . new ( w. 0 . 2 5 0 . lowShelfBox . hpfBox . 0 . ’ l i n e a r ’ ) . R. Rect . notchBox . value = 0 . v a l u e = 0 . action = { lpfBox . 1. // S e l e c t s o u r c e c a p t i o n S o u r c e = S t r i n g V i e w . bpfBox . Rect . v a l u e = 0 . lowShelfBox . 0 . ”LFSaw” . peakingEQBox . captionSource . value = 0 . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . v a l u e = 0 . 0 . 0 . highShelfBox . v a l u e = 0 . 211 w. bpfBox . bpfBox .9. labelColor = f o r e in1Box = CheckBoxView . value = 1 . v a l u e = 0 . value = 0 . 0 . a c t i o n = { lpfBox . 0 . 2 7 0 . v a l u e = 0 . 0 . 0 . 0 . hpfBox . } . 20 ) . new ( w. 0 . 2 3 0 . lowShelfBox . new ( w. ´ CADIZ. lowShelfBox . 20 ) . ’ linear ’) . ” Select source ”) . highShelfBox . 0 . f i l e n a m e = ” : Sounds : r e d o b l e s . 0. 0 . 0 . 2 3 0 . 0 . a c t i o n = { lpfBox . v a l u e = 0 . 2 9 0 . } . 2 3 0 . value = 0 . newBy ( x o f f 2 . color . 0 . value = 0 . highShelfBox . peakingEQBox . kr ) . kr ] ) . b1 . b p f s i g . ´ CADIZ. var a0 . kr . b0 . i n p u t 3 = BrownNoise . highShelf sig . // f o r a u d i o f i l e stream var input . input2 . n o t c h s i g . i n p u t 3 . v a l u e ( g a i n S l i d e r . a r ( { var alpha . a2 . s i z e − 2) ∗ dBtoA . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . sound . a r ( 0 . v a l u e ( g a i n S l i d e r . a r ( 2 0 0 . kr ) ) . kr ) . 1 ) ∗ dBtoA . // D i f f e r e n t s o u r c e s i n p u t 1 = PlayBuf .212 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 ´ APENDICE A. R. kr ) . v a l u e ( g a i n S l i d e r . i n p u t 2 ∗ in2Box . l o w S h e l f s i g . peakingEQ sig . new . c s = c o s ( ftoW . v a l u e ( o m e g a S l i d e r . input1 . 1 ) ∗ dBtoA . sn . 1 . a r ( s i g n a l . sn = s i n ( ftoW . // for e f f e c t s processor var l p f s i g . v a l u e ( o m e g a S l i d e r . b2 . s i g n a l = sound . EJEMPLOS EN SUPERCOLLIDER sound = S o u n d F i l e . // Source mix i n p u t = Mix . 0 . ( 1 − a l p h a ) / b0 . data . ( 1 − c s ) / ( 2 ∗ b0 ) . kr ) ) . a l p h a = sn / ( 2 ∗ q S l i d e r . // LPF l p f s i g = Pause . ( − 2 ∗ c s ) / b0 . h p f s i g . kr ) . s i g n a l . i n p u t 2 = LFSaw . d u a l S c o p e ( { var s i g n a l . i f ( sound . sampleRate . b0 b1 b2 a0 a1 a2 = = = = = = 1 + alpha . kr . ( 1 − c s ) / ( 2 ∗ b0 ) . a1 . { Synth . 0 . a r ( [ i n p u t 1 ∗ in1Box . c s . r e a d ( f i l e n a m e ) . 0 . ( 1 − c s ) / b0 . i n p u t 3 ∗ in3Box . a t ( 0 ) . v a l u e ( o m e g a S l i d e r . a2 . v a l u e ( o m e g a S l i d e r . kr ( 0 ) ) . b0 . b0 b1 b2 a0 a1 a2 = = = = = = 1 + alpha . a r ( { var alpha . b0 . ´ CADIZ. a2 . b1 . v a l u e ( o m e g a S l i d e r . kr ) ) . kr ) . neg / b0 . ( 1 − a l p h a ) / b0 . SOS . SUPERCOLLIDER: FILTROS BI-CUADRATICOS 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 213 SOS . c s = c o s ( ftoW . a0 . neg . sn . a l p h a = sn / ( 2 ∗ q S l i d e r . hpfBox . kr ) ) . b2 . kr ( 0 ) ) . a1 . a r ( input . sn . a l p h a . sn = s i n ( ftoW . neg ) . v a l u e ( o m e g a S l i d e r . kr ) ) . l p f B o x . kr ) ) . ( 1 + c s ) / ( 2 ∗ b0 ) . a l p h a = sn / ( 2 ∗ q S l i d e r .´ A. c s . neg ) . a2 . c s . c s = c o s ( ftoW . neg / b0 . b1 . a r ( { var alpha . // BPF b p f s i g = Pause . var a0 . a1 . // HPF h p f s i g = Pause . } . ( − 2 ∗ c s ) / b0 . R. neg . b2 . b1 . a l p h a / b0 . a r ( input . sn = s i n ( ftoW . a1 . var a0 . ( 1 − a l p h a ) / b0 . a0 . b2 . kr ) . ( 1 + c s ) / ( 2 ∗ b0 ) . ( 1 + c s ) . b2 . } . a2 . b1 .9. ( − 2 ∗ c s ) / b0 . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . b0 b1 b2 a0 a1 a2 = = = = = = 1 + alpha . a1 . 0. kr ) ) . a2 . kr (0) ) . a2 . neg ) . } . kr ) . a r ( { var alpha . sn = s i n ( ftoW . a r ( input . // NOTCH n o t c h s i g = Pause . b1 . 1/ b0 . b2 . kr ) ) . c s = c o s ( ftoW . 1/ b0 . b2 . neg . a0 . c s . ( 1 − a l p h a ∗ a ) / b0 . R. notchBox . kr ) ) . kr ( 0 ) ) . b2 . a l p h a = sn / ( 2 ∗ q S l i d e r . a1 . ( − 2 ∗ c s ) / b0 . ( 1 + a l p h a ∗ a ) / b0 . v a l u e ( o m e g a S l i d e r . SOS . a1 . b2 . neg . b1 . a2 . a1 . b0 . ( − 2 ∗ c s ) / b0 . ( − 2 ∗ c s ) / b0 . kr ) ) .214 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 ´ APENDICE A. EJEMPLOS EN SUPERCOLLIDER SOS . a r ( input . c s = c o s ( ftoW . a2 . sn = s i n ( ftoW . neg ) . b1 . a1 . kr ) . cs . ( − 2 ∗ c s ) / b0 . b0 b1 b2 a0 a1 a2 = = = = = = 1 + alpha . v a l u e ( o m e g a S l i d e r . var a0 . ´ CADIZ. a . } . a1 . neg . a0 . b0 . a l p h a = sn / ( 2 ∗ q S l i d e r . kr / 4 0 . 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 SOS . sn . // PEAKINGEQ p e a k i n g E Q s i g = Pause . a2 . v a l u e ( o m e g a S l i d e r . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . a = 1 0 ∗ ∗ ( f i l t e r S l i d e r . a r ( input . b1 . ( 1 − a l p h a / a ) / b0 . neg ) . bpfBox . a0 . b1 . a r ( { var alpha . v a l u e ( o m e g a S l i d e r . 0 ) . b2 . var a0 . sn . b0 b1 b2 a0 a1 a2 = = = = = = 1 + alpha /a . ( 1 − a l p h a ) / b0 . peakingEQBox . } . kr ( 0 ) ) . kr ) ) . kr ) . b0 . 344 345 346 347 348 349 350 351 352 353 354 355 356 // HIGHSHELF h i g h S h e l f s i g = Pause . a = 1 0 ∗ ∗ ( f i l t e r S l i d e r . a2 . b2 . c s = c o s ( ftoW . a l p h a = sn / ( 2 ∗ q S l i d e r . a2 . = ( − 2 ∗ (( a − 1 ) ) ) / b0 . neg ) . b1 . kr ) ) . b e t a = s q r t ( ( a ∗∗ 2 + 1 ) / s h e l f S l i d e r . cs . = ( ( a + 1) − b e t a ∗ sn ) / b0 . SUPERCOLLIDER: FILTROS BI-CUADRATICOS 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 215 // LOWSHELF l o w S h e l f s i g = Pause .´ A. sn = s i n ( ftoW . a r ( { var alpha . v a l u e ( o m e g a S l i d e r . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . = a ∗(( a + 1) + b e t a ∗ sn ) / b0 . a . var a0 . a . kr ) ) . b0 . sn .9. a = 1 0 ∗ ∗ ( f i l t e r S l i d e r . beta . beta . a r ( { var alpha . a0 . v a l u e ( o m e g a S l i d e r . cs . kr / 4 0 . a1 . b2 . R. = a ∗(( a + 1) − b e t a ∗ sn ) / b0 . kr ) ) . neg . + ( a − 1) ∗ cs + ( a + 1) ∗ cs + ( a − 1) ∗ cs − ( a − 1) ∗ cs − ( a + 1) ∗ cs − ( a − 1) ∗ cs SOS . kr − ( a − 1 ) ∗ ∗ 2 ) . = (2∗ a ∗(( a − 1) ) ) / b0 . 0 ) . 0 ) . kr − ( a − 1 ) ∗ ∗ 2 ) . v a l u e ( o m e g a S l i d e r . c s = c o s ( ftoW . a2 . v a l u e ( o m e g a S l i d e r . kr / 4 0 . kr ) . a l p h a = sn / ( 2 ∗ q S l i d e r . b1 . kr (0) ) . ´ CADIZ. l o w S h e l f B o x . sn . var a0 . } . a1 . b1 . b2 . a1 . sn = s i n ( ftoW . a r ( input . b0 = b1 b2 a0 a1 a2 ( a + 1) + b e t a ∗ sn . b e t a = s q r t ( ( a ∗∗ 2 + 1 ) / s h e l f S l i d e r . a2 . } . w. captionddSlider . gainNum . c a p t i o n S o u r c e . ) A. c a p t i o n 3 .1) . b p f s i g . g a i n S l i d e r . h i g h S h e l f B o x . a0 . a1 . { ( f i l e n a m e ++ ” not found . c a p t i o n 2 . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . neg ) . ratioNum . } . n o t c h s i g . b1 . highShelf sig ]) . peakingEQ sig . EJEMPLOS EN SUPERCOLLIDER b0 = b1 b2 a0 a1 a2 ( a + 1) + b e t a ∗ sn . b2 . var c a p t i o n g a i n S l i d e r . in2Box .216 357 358 359 360 361 362 363 364 ´ APENDICE A. 368 369 370 371 372 373 374 375 376 377 378 379 } . ´ CADIZ. R. 365 366 367 Mix . \ n” ) . in3Box . a r ( [ l p f s i g . = ( −2∗ a ∗ ( ( a − 1 ) ) ) / b0 . a r ( input . 1 2 3 4 5 6 7 8 9 ( SuperCollider: Compresi´ on // Compresi´ o n de a m p l i t u d var w . l o w S h e l f s i g . neg . kr (0) ) . r a t i o S l i d e r . var in1Box . var c a p t i o n 1 .10. = ( ( a + 1) − b e t a ∗ sn ) /b0 . c a p t i o n f b S l i d e r .0. p o s t } ) . var applyBox . = a ∗(( a + 1) + b e t a ∗ sn ) /b0 . var c a p t i o n r a t i o S l i d e r . − ( a − 1) ∗ cs − ( a + 1) ∗ cs − ( a − 1) ∗ cs + ( a − 1) ∗ cs + ( a + 1) ∗ cs + ( a − 1) ∗ cs SOS . = ( 2 ∗ ( ( a − 1) ) ) / b0 . h p f s i g . = a ∗(( a + 1) − b e t a ∗ sn ) /b0 . c l o s e . r e l e a s e S l i d e r . } . r = 0. captioncompressedview . var r e l e a s e c o e f . 0 ) . e s t a m p l a b e l . } . sampleRate ) . 0 ) . c a p t i o n o r i g i n a l v i e w . output label . o r i g i n a l v i e w . input db box . delayNum . factor box . var f o r e c o l o r . r e c t l a b e l . dB to A . captionampview . sound . R. var a t t a c k c o e f . output box . attack coef box . c a p t i o n a t t a c k S l i d e r . 20 ∗ l o g (amp/ r ) . rect db box . s i g n a l . attackNum .008229747050. compressedview . r ∗10∗∗( d e c i b e l s / 2 0 . release coef box . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . rect box .5011872336. var dBtoA . var s h o w v a l u e i n b o x .´ A. b i a s l a b e l . // 96 d e c i b e l s s c a l e a t o d b = { a r g amp . // 96 d e c i b e l s s c a l e dB to A = { a r g d e c i b e l s . ampview . SUPERCOLLIDER: COMPRESION 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 var var var var var var var var var var var 217 c a p t i o n t h r S l i d e r . releaseNum . a t t a c k S l i d e r . t h r S l i d e r . // c o n v e r t dB t o a m p l i t u d e var a t o d b .10. input db label . est amp box . r ele ase co ef la bel . 2 p i ∗ ( h e r t z / Synth . // H e r t z t o r a d i a n f r e q u e n c y ftoW = { a r g h e r t z . d e l a y S l i d e r . var f i l e n a m e . r ∗10∗∗( d e c i b e l s / 2 0 . } . r = 0. r = 0. captionampdbview . bias box . dBtoA = { a r g d e c i b e l s . var ftoW . var x o f f 1 . thrNum . rect db label . ampdbview . attack coef label . } . x o f f 2 .008229747050. c a p t i o n r e l e a s e S l i d e r . c a p t i o n d e l a y S l i d e r . ´ CADIZ. f a c t o r l a b e l . caption2 . kr ( p e r i o d ) ) . 5 0 . box . 0 ) . 3 0 . ”Mix” . // I n p u t Gain c a p t i o n g a i n S l i d e r = S t r i n g V i e w . 1 2 8 . newBy ( x o f f 2 . gainNum = NumericalView . newBy ( x o f f 2 +235 . 1 0 . xoff2 = 250. // GUI Window w = GUIWindow . 20 ) . color . 3 0 . 0 . Rect . 10 . labelColor = f o r e w. caption1 . w . 20 ) . new ( w. ’ l i n e a r ’ ) . 1 . S e q u e n c e r . // Various l a b e l s c a p t i o n 1 = S t r i n g V i e w . ´ CADIZ. g a i n S l i d e r = S l i d e r V i e w . 2 2 8 . box . } . // O f f s e t s xoff1 = 10. ’ l i n e a r ’ ) . 550 . color . new ( ” Compressor >>> Rodrigo F . Rect . 1 6 0 ) . new ( w. − 30 . Rect . 650) ) . newBy ( x o f f 1 . 6 . val = input . 0 . 20) . color . EJEMPLOS EN SUPERCOLLIDER // Show any s i g n a l v a l u e on a number box s h o w v a l u e i n b o x = { a r g input . Impulse . ” Rodrigo F . 1 . p o l l . new ( 2 5 5 . Rect . ” Assignment 3 : Compressor ” ) . newBy ( x o f f 1 . newBy ( x o f f 2 . val } . new ( w. Cadiz ” ) . new ( 20) . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . w. v a l u e = v a l . 2 5 5 . Rect . 235 . −30 . new ( 2 0 ) . ” NumericalView ” . labelColor = f o r e c a p t i o n 2 = S t r i n g V i e w .218 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 ´ APENDICE A. p e r i o d . kr ( { var v a l . b ac k C o l or = C o l o r . labelColor = f o r e c a p t i o n 3 = S t r i n g V i e w . Rect . Cadiz ” . // C o l o r s f o r e c o l o r = C o l o r . 5 0 . 3 0 . 7 0 . ” Input g a i n [ dB ] ” ) . newBy ( x o f f 1 . new ( 2 0 ) . 1 3 0 . new ( 9 9 . 6 . R. w. 2 3 0 . 3 2 8 . newBy ( 5 0 0 . caption3 . Rect . ” Advanced Audio S i g n a l P r o c e s s i n g ” ) . v a l u e } . 0 0 0 1 . ” Attack time [ msec ] ” ) . 235 . ”Mix” . v a l u e = g a i n S l i d e r . Rect . new ( w. 1 . ” T h r e s h o l d [ dB ] ” ) . 0 . newBy ( x o f f 2 +235 . value }. newBy ( x o f f 2 . a c t i o n = { attackNum . ratioNum = NumericalView . 0 0 1 . ” NumericalView ” . t h r S l i d e r = S l i d e r V i e w . 0 . 1 . 0 . v a l u e = t h r S l i d e r . 20 ) . new ( w. v a l u e = a t t a c k S l i d e r . 0 . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . 4 0 . ratioNum . Rect . b ac k C o l or = f o r e c o l o r . new ( w. Rect . ´ CADIZ. ’ l i n e a r ’ ) . Rect . 0 . 5 0 . 1 . 9 6 . 0 . ”Mix” . 8 0 . 1 . Rect . newBy ( xoff2 . thrNum . Rect . 1 . attackNum . R. 1 . 0 . ’ l i n e a r ’ ) . // R e l e a s e time c a p t i o n r e l e a s e S l i d e r = S t r i n g V i e w . 4 0 . 0 . newBy ( x o f f 2 +235 . 1 3 0 .10. a t t a c k S l i d e r . Rect . 1 . ’ l i n e a r ’ ) . 20) . ”Mix” . 1 3 0 . // A t t a c k time c a p t i o n a t t a c k S l i d e r = S t r i n g V i e w . ba c k C ol o r = f o r e c o l o r . newBy ( x o f f 2 +235 . new ( w. ’ e x p o n e n t i a l ’ ) . Rect . 110 . v a l u e = r a t i o S l i d e r . 0 . 8 0 . ” Compression r a t i o ” ) . 1 0 . ’ e x p o n e n t i a l ’ ) . 0 . 0 . thrNum = NumericalView . 3 6 . 0 . Rect . 1 0 . t h r S l i d e r . newBy ( x o f f 2 . a c t i o n = { ratioNum . 5 0 . v a l u e } . newBy ( x o f f 2 . 0 . new ( w. ’ l i n e a r ’ ) . 1 0 . 0 . new ( w. 20 ) . Rect . 0 0 0 1 . 2 3 0 . new ( w. 160 . ba c k C o lo r = f o r e c o l o r . newBy ( x o f f 2 . newBy ( x o f f 2 . 3 6 . // T h r e s h o l d c a p t i o n t h r S l i d e r = S t r i n g V i e w . 1 . ” NumericalView ” . 1 . attackNum = NumericalView . 0 . 20 ) . new ( w. SUPERCOLLIDER: COMPRESION 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 gainNum . 235 . v a l u e } . a c t i o n = { gainNum . a c t i o n = { thrNum . 20 ) . 2 3 0 . new ( w. newBy ( xoff2 . 0 . 5 0 . 0 . 1 8 0 . new ( w. 0 . 0 .´ A. 60 . 0 . 20 ) . 0 . 2 3 0 . 20) . 20 ) . g a i n S l i d e r . 0 0 1 . 9 6 . 235 . ba c k C o lo r = f o r e c o l o r . 0 . 219 // Compression r a t i o c a p t i o n r a t i o S l i d e r = S t r i n g V i e w . 210 . r a t i o S l i d e r = S l i d e r V i e w . 0 . 1 8 0 . r a t i o S l i d e r . 2 0 ) . ” NumericalView ” . a t t a c k S l i d e r = S l i d e r V i e w . 0 . 235 . 0 0 0 1 . Rect .220 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 ´ APENDICE A. newBy ( x o f f 1 +160 . 5 . 0 . a c t i o n = { delayNum . R. r e c t l a b e l = S t r i n g V i e w . 0 . 0 . 0 . 1 . Rect . 0 . 20) . newBy ( x o f f 2 . ’ e x p o n e n t i a l ’ ) . 0 1 . newBy ( x o f f 2 +235 . ba c k C o lo r = f o r e c o l o r . new ( w. 20 ) . 0 .20 ) . newBy ( x o f f 2 . new ( w. new ( w. ’ l i n e a r ’ ) .20 ) . value }. 0 . 20) . 150 . Rect . ba c k C o lo r = f o r e c o l o r . ”Mix” . releaseNum = NumericalView . 0 . newBy ( x o f f 2 . 0 . new ( w. 5 0 . 20 ) . 0 . 0 0 1 . 0 1 . 0 . 20) . 0 . ’ l i n e a r ’ ) . ’ e x p o n e n t i a l ’ ). 2 3 0 . 253 . ” Delay time [ msec ] ” ) . 0 . newBy ( x o f f 1 . r e l e a s e c o e f l a b e l = S t r i n g V i e w . v a l u e = d e l a y S l i d e r . ” Rectified signal [ lin ] ”) . 20 ) . 0 . ” R e l e a s e time [ msec ] ” ) . 0 . delayNum . 5 . new ( w. 5 0 . 5 0 0 . 0 . ’ l i n e a r ’ ) . 0 . ” Estimated a m p l i t u d e [ dB ] ” ) . 235 . ” NumericalView ” . 0 . Rect . 0 0 0 1 . Rect . e s t a m p b o x = NumericalView .50 . 0 . 1 . EJEMPLOS EN SUPERCOLLIDER 2 0 ) . 2 3 0 . 0 0 1 . 0 . 150 . new ( w. 0 . 0 . 0 . releaseNum . new ( w. Rect . 150 . new ( w. ” R e l e a s e time c o e f f i c i e n t [ dB ] ” ) . 230 . // Delay time c a p t i o n d e l a y S l i d e r = S t r i n g V i e w . new ( w. ” Attack time c o e f f i c i e n t ” ) . 2 3 0 . // Number b o x e s f o r v a r i a b l e s e s t a m p l a b e l = S t r i n g V i e w . r e l e a s e S l i d e r = S l i d e r V i e w . v a l u e = r e l e a s e S l i d e r . v a l u e } . 5 0 0 . ”Mix” . ”amp” . 0 . new ( w. ”amp” .207 .50 .253 . d e l a y S l i d e r = S l i d e r V i e w . 20) . 0 . 5 0 . 20) . r e l e a s e S l i d e r . Rect . 2 7 6 . a c t i o n = { releaseNum . ”amp” . 0 . 230 . ´ CADIZ. 0 . ” NumericalView ” . Rect . a t t a c k c o e f l a b e l = S t r i n g V i e w . 5 0 0 . 0 . 1 0 0 . ’ l i n e a r ’ ) .50 . 207 . r e l e a s e c o e f b o x = NumericalView . new ( w. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . 1 . 20 ) . 0 . 0 . 150 . ’ l i n e a r ’ ) . 2 8 0 . Rect . 50 . newBy ( x o f f 1 .20 ) . 0 0 0 0 1 . Rect . Rect . newBy ( x o f f 1 . 260 . 5 0 0 . 0 0 0 0 1 . 0 . newBy ( x o f f 1 . 0 . 0 . newBy ( x o f f 1 +160 . newBy ( x o f f 1 +160 . a t t a c k c o e f b o x = NumericalView . 0 . d e l a y S l i d e r .230 . 0 0 0 1 . new ( w. newBy ( x o f f 2 +235 . 2 8 0 . Rect . delayNum = NumericalView . 5 0 . 20 ) . 5 . ’ linear ’ ) . newBy ( x o f f 2 . 235 . 0 . ’ l i n e a r ’ ) .0 . 20) . 0 . 3 0 . 0. captionSource . b i a s l a b e l = S t r i n g V i e w . ”amp” . in1Box = CheckBoxView . 1 . newBy ( x o f f 1 +160 . 0 . 20) . // Apply c omp ress or applyBox = CheckBoxView . 20 ) . new ( w. 0 .0 . Rect .50 .20 ) . i n p u t d b l a b e l = S t r i n g V i e w . f a c t o r l a b e l = S t r i n g V i e w . newBy ( x o f f 1 +160 . ’ l i n e a r ’ ) . 2 3 0 . 0 . 1 . 1 . labelColor = f o r e c o l o r . 0 . 150 . new ( w. 0 . 0. 0 . newBy ( x o f f 1 +160 . new ( w. ” Amplitude c o r r e c t i o n ” ) .20 ) .20 ) . // S e l e c t s o u r c e c a p t i o n S o u r c e = S t r i n g V i e w . ” R e c t i f i e d s i g n a l [ dB ] ” ) .50 . newBy ( x o f f 2 . Rect . 0 . 0 . o u t p u t l a b e l = S t r i n g V i e w . new ( w. 0 .20 ) . new ( w. 20) . 3 4 7 . 0.324 . 0. ” Select source ”) . f a c t o r b o x = NumericalView . 0 . ” Bias ” ) .50 . 0 . new ( w. Rect . 150 .0 . 0 0 0 1 .50 . r e c t d b b o x = NumericalView . 0 0 0 1 . new ( w. R. ”amp” .001 . ” I n p ut s i g n a l [ dB ] ” ) . Rect .324 .347 . 0 0 0 1 . newBy ( x o f f 1 . 0 .50 . new ( w. i n p u t d b b o x = NumericalView . 0 0 0 1 . 0 . 0 . ”amp” . ’ l i n e a r ’ ) . SUPERCOLLIDER: COMPRESION 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 221 r e c t b o x = NumericalView . newBy ( x o f f 1 . ” bias ” . o u t p u t b o x = NumericalView . 150 . 9 6 . Rect . ”Sound f i l e ” . ” Apply c o m p r e s s o r ” . ” bias ” . 0. newBy ( x o f f 2 +160 . newBy ( x o f f 1 +160 .001 . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . Rect . 20) . 7 7 . b i a s b o x = NumericalView . Rect . ’ l i n e a r ’ ) .´ A. 20 ) . 0 . 3 2 4 . ’ l i n e a r ’ ) . Rect .0 .276 . ’ linear ’ ) . 0 .347 .300 . 0 . Rect . 0 . 100. ´ CADIZ. 1 0 0 . 1 . newBy ( x o f f 2 +160 . 0 . Rect . 2 3 0 .10.0 . 1 2 0 . new ( w. r e c t d b l a b e l = S t r i n g V i e w . Rect . newBy ( x o f f 1 . Rect . Rect . 0 . new ( w. Rect . 324 . 0. 0 . 20) .20 ) . 125 . 0 . 1 . newBy ( x o f f 1 . ”amp” . new ( w. ’ l i n e a r ’ ) . 0 . 100. newBy ( x o f f 1 . new ( w. ” Output s i g n a l [ l i n ] ” ) . 20) .50 . new ( w. 5 0 0 . newBy ( x o f f 1 . 125 . new ( w. 3 4 7 . 0 . 300 .0 . newBy ( x o f f 2 . 2 3 0 . 100) . 1 4 0 . new ( w. 235 . 4 4 1 0 . 4410 . var b i a s . new . 0 . c a p t i o n o r i g i n a l v i e w = S t r i n g V i e w . Rect . 200 . s i g n a l = sound . 200 . 500 . r e a d ( f i l e n a m e ) . new ( w. 500 . Rect . R. 100) . Rect . input1 . new ( w. 1 6 0 . 20) . est amp . 5 2 5 . Rect . ’ linear ’) . c om p re s se dv i ew = ScopeView . newBy ( x o f f 1 . 20) . − 1. d e r i v a t i v e . 370 . a i f f ” . Rect . 4410 . 235 . Rect . newBy ( xoff2 . sound = S o u n d F i l e . 525 . 96) . p l a y ( { var s i g n a l . // for e f f e c t s processor var r e c t . 20) . 0. 370 . ”RMS e s t i m a t o r [ dB ] ” ) . d e l a y e d i n p u t . // f o r a u d i o f i l e stream var input . 0. newBy ( x o f f 1 . // S c o p e s captionampview = S t r i n g V i e w . 0. 235 . a t ( 0 ) . 0. ampdbview = ScopeView . c a p t i o n c o m p r e s s e d v i e w = S t r i n g V i e w . 1. 3 9 5 . Rect . ’ linear ’) . new ( w. new ( w. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . 4410 . ” Compressed s i g n a l ” ) . 1) . new ( w. ”RMS e s t i m a t o r ” ) . i f ( sound . new ( w. f i l e n a m e = ” : Sounds : r e d o b l e s . Rect . data . 100) . 1 ) . newBy ( x o f f 1 . ” . − 1. 100) . 2 3 0 . new ( w. est amp db . 2 0 0 . r e c t d b . newBy ( x o f f 1 . newBy ( x o f f 1 . 3 9 5 . in3Box 20 ” BrownNoise ´ APENDICE A. ). { Synth . = CheckBoxView . input2 . ´ CADIZ. 0. captionampdbview = S t r i n g V i e w . ampview = ScopeView . o r i g i n a l v i e w = ScopeView . ). newBy ( x o f f 1 . new ( w.222 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 in2Box 20 ” Sinusoid ” . 200 . 1. Rect . newBy ( xoff2 . EJEMPLOS EN SUPERCOLLIDER = CheckBoxView . 0. newBy ( x o f f 2 . ” O r i g i n a l s i g n a l ” ) . 1 ) . 0 . 235 . Rect . 2 0 ) . i n p u t 3 . new ( w. 0 − attack coef ) . // if ( derivative > 0 . kr ) . (1. s i z e − 2) ∗ dBtoA . a r ( r e c t ) . 0 0 1 ) ∗ Synth . sampleRate . i n p u t 2 ∗ in2Box . i f ( derivative > 0 . r e l e a s e c o e f = 10∗∗( −2. 272 // F i l t e r e d s i g n a l // e s t a m p = OnePole .0/(( r e l e a s e S l i d e r . attack coef . i f ( derivative > 0 . 1 ) ∗ dBtoA . SUPERCOLLIDER: COMPRESION 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 223 // D i f f e r e n t s o u r c e s i n p u t 1 = PlayBuf . release coef ) . s i g n a l .´ A. a r ( r e c t . i n p u t 3 ∗ in3Box . kr ) .0/(( a t t a c k S l i d e r . 0 0 1 ) ∗ Synth . kr ) . a r ( s i g n a l . attack coef . // R e c t i f y t h e s i g n a l r e c t = abs ( i n p u t ) . sampleRate ) ) .10. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . R. v a l u e ( g a i n S l i d e r . kr ∗ 0 . (1. release coef )) . 273 274 275 276 277 278 release coef )) . 0 . kr . 279 ´ CADIZ. rect db = a to db . ar ( r e c t . 1 . i f ( derivative > 0 . kr ] ) . kr ∗ 0 . a r ( [ i n p u t 1 ∗ in1Box . i n p u t 3 = BrownNoise . 1 ) ∗ dBtoA . // Take d e r i v a t i v e // d e r i v a t i v e = HPZ1 . // Source mix i n p u t = Mix . v a l u e ( g a i n S l i d e r . attack coef . a r ( 2 0 0 . d e r i v a t i v e = HPZ1 . // e s t a m p = OnePole .0 − release coef ) ) ) . v a l u e ( g a i n S l i d e r . est amp = OnePole . i n p u t 2 = SinOsc . // F i l t e r c o e f f i c i e n t s a t t a c k c o e f = 10∗∗( −2. 0 . sound . value ( rect ) . kr . sampleRate ) ) . ar ( r e c t d b . 0 . ar ( r e c t d b ) . a r ( 0 . 1 0 ) . 7 ) . v a l u e ( est amp db .224 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 ´ APENDICE A. 0 0 1 . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . value ( bias . k r ( b i a s . // Peep . R. d e l a y e d i n p u t = DelayN . kr ) / r a t i o S l i d e r . 1 ) . k r ( d e r i v a t i v e . 7 ) . 1 0 ) . = c. // Peep . 1 0 ) . a = b = c = d = // d // e // e e = max( est amp db . bias − c . a − t h r S l i d e r . show value in box . v a l u e ( d ) . ” e s t i m a t e d a m p l i t u d e i n dB ” . 5 0 0 ∗ 0 . t h r S l i d e r . = dbamp ( d ) . 7 ) . // b i a s = 0 . // Peep . d e l a y S l i d e r . 10∗∗(d / 2 0 . = dB to A . s h o w v a l u e i n b o x . kr ) ) ) . k r ( a t t a c k c o e f . kr ) . ” b i a s ”) . a r ( input . value ( attack coef . v a l u e ( g a i n S l i d e r . est amp db = a t o d b . release coef box . // Peep .5) . ” d e r i v a t i v e ” . ” a t t a c k ” . v a l u e = e s t a m p . kr . ´ CADIZ. kr ) ) . kr ) . ar ( r e c t d b . //ampestNum . k r ( est amp . // e s t a m p d b = ampdb ( e s t a m p ) . k r ( r e l e a s e c o e f . // e s t a m p d b = 20 ∗ l o g ( e s t a m p ) . v a l u e ( est amp ) . 0 − t h r S l i d e r . attack coef box .5) . 0 ) . est amp box . value ( r e l e a s e c o e f . // Peep . ” r e l e a s e ” . kr + ( ( 9 6 . EJEMPLOS EN SUPERCOLLIDER // e s t a m p = OnePole . k r ( r e c t d B ) . kr +90 . 1 ) . show value in box . b i a s = ( 9 6 − ( t h r S l i d e r . // Peep . i n p u t d b b o x . bias box . s h o w v a l u e i n b o x .” r e c t i n dB ” . b ∗ ( 1 − ( 1 / r a t i o S l i d e r . show value in box . attack coef ) . var c a p t i o n r e v e r b S l i d e r . \ n” ) . captionddSlider . r e v e r b S l i d e r . 7 ) . dampingNum . kr . var in1Box . show value in box . }) . Scope . d e l a y e d i n p u t ∗ e ∗ applyBox . ´ CADIZ. c a p t i o n 2 . b w S l i d e r .´ A. value ( rect . w. predelayNum . factor box .bwNum. var c a p t i o n g a i n S l i d e r . decayNum . value ( e . c a p t i o n f b S l i d e r . rect db box . a r ( [ d e l a y e d i n p u t ∗ e ∗ applyBox . var c a p t i o n d a m p i n g S l i d e r . kr .11. gainNum . var applyBox . 0 − applyBox . reverbNum . } . var c a p t i o n 1 . d a m p i n g S l i d e r . var c a p t i o n b w S l i d e r . Scope .11. d e c a y S l i d e r . in3Box . in4Box . { ( f i l e n a m e ++ ” not found . var c a p t i o n p r e d e l a y S l i d e r . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . var c a p t i o n d e c a y S l i d e r . kr ) ] ) . p o s t } ) . output box . d e l a y e d i n p u t ∗ ( 1 . c a p t i o n S o u r c e . ) A. kr ) . d e l a y e d i n p u t ) . Scope . 1 2 3 4 5 6 7 8 9 10 11 12 13 ( SuperCollider: Reverberaci´ on // R e v e r b e r a c i ´ on var w . show value in box . c a p t i o n 3 . est amp ) . SUPERCOLLIDER: REVERBERACION 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 225 show value in box . a r ( ampview . value ( rect db . c l o s e . value ( delayed input ∗e∗ applyBox . 7 ) . Scope . show value in box . p r e d e l a y S l i d e r . a r ( o r i g i n a l v i e w . a r ( compressedview . rect box . 7 ) . a r ( ampdbview . g a i n S l i d e r . R. est amp db ) . 7 ) . Mix . in2Box . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . sound . var s h o w v a l u e i n b o x .226 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 var var var var var var var var ´ APENDICE A. e x c u r s i o n S l i d e r . c a p t i o n v i e w 1 . dBtoA = { a r g d e c i b e l s . c a p t i o n d e c a y t i m e S l i d e r . diff2 coef box . i n d i f f 2 S l i d e r . // c o n v e r t dB t o a m p l i t u d e var a t o d b . c a p t i o n v i e w 5 . rate2Num . excursionNum . var c o n v e r t d e l a y . c a p t i o n v i e w 3 . var f i l e n a m e . r = 0. decaytimeNum . var r e l e a s e c o e f . r a t e 2 S l i d e r . decdiff4 coef box box box box . d e c d i f f 1 S l i d e r . diff2 coef label .5011872336. decdiff3 coef decdiff4 coef label . i n d i f f 1 S l i d e r . s i g n a l . captionview4 . c a p t i o n i n d i f f 2 S l i d e r . x o f f 2 . diff4 coef label . d e c d i f f 2 S l i d e r . var x o f f 1 . c o n v e r t s a m p l e . decdiff2Num . EJEMPLOS EN SUPERCOLLIDER c a p t i o n i n d i f f 1 S l i d e r . decdiff1 coef decdiff2 coef label . view3 . x o f f 3 . var view5 . view4 . . var var var var var var var var diff1 coef label . var ftoW . c a p t i o n d e c d i f f 1 S l i d e r . var view1 . . decdiff1Num . var a t t a c k c o e f . c a p t i o n v i e w 2 . r a t e 1 S l i d e r . view6 . r ∗10∗∗( d e c i b e l s / 2 0 . indiff2Num . R. diff3 coef box . decdiff2 coef decdiff3 coef label . c a p t i o n v i e w 6 . decdiff1 coef label . diff1 coef box . var f o r e c o l o r . c a p t i o n e x c u r s i o n S l i d e r . r e v t i m e . c a p t i o n r a t e 2 S l i d e r . c a p t i o n r a t e 1 S l i d e r . 0 ) . diff3 coef label . var dBtoA . indiff1Num . rate1Num . d e c a y t i m e S l i d e r . diff4 coef box . } . // 96 d e c i b e l s s c a l e dB to A = { a r g d e c i b e l s . dB to A . ´ CADIZ. view2 . . c a p t i o n d e c d i f f 2 S l i d e r . v a l u e = v a l .11. b ac k C o l or = C o l o r .008229747050. kr ( p e r i o d ) ) . } . newBy ( 2 0 0 . // O f f s e t s xoff1 = 10. val } . ( − 6. w . Rect . // H e r t z t o r a d i a n f r e q u e n c y ftoW = { a r g h e r t z . xoff3 = 550. sampleRate ) . // Convert s a m p l e s t o 4 4 . new ( 9 9 . val = input . 2 p i ∗ ( h e r t z / Synth . r = 0. p o l l . } . 227 // Convert s a m p l e s t o d e l a y time revtime = { arg coef . 0 ) . box . // Show any s i g n a l v a l u e on a number box s h o w v a l u e i n b o x = { a r g input . 20 ∗ l o g (amp/ r ) . Cadiz ” . R. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . r ∗10∗∗( d e c i b e l s / 2 0 . SUPERCOLLIDER: REVERBERACION 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 r = 0. } . 1 3 0 . // 96 d e c i b e l s s c a l e a t o d b = { a r g amp . delay /29761.´ A. } . ( samples ∗(44100/29761) ) . } . 850 .907755279 ∗ d e l a y ) / l o g ( c o e f ) . p e r i o d . c e i l .}. box . 1 6 0 ) . 70 . 1 s a m p l i n g r a t e convert sample = { arg samples . } . ´ CADIZ. S e q u e n c e r . new ( ” R e v e r b e r a t o r >>> Rodrigo F . 1 s a m p l i n g r a t e c o n v e r t d e l a y = { arg delay . Impulse . xoff2 = 250. kr ( { var v a l . 650) ) . delay .008229747050. // GUI Window w = GUIWindow . // Convert d e l a y s t o 4 4 . caption3 . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . ’ l i n e a r ’ ) . g a i n S l i d e r = S l i d e r V i e w . color . ” NumericalView ” . b a c k C ol o r = f o r e c o l o r . new ( w. 20 ) . Rect . newBy ( x o f f 2 . labelColor = f o r e c a p t i o n 3 = S t r i n g V i e w . w. Rect . labelColor = f o r e w. labelColor = f o r e c a p t i o n 2 = S t r i n g V i e w . newBy ( x o f f 2 . Rect . 1 . 235 . new ( w. color . EJEMPLOS EN SUPERCOLLIDER // C o l o r s f o r e c o l o r = C o l o r . 0 . newBy ( xoff2 . 5 0 . reverbNum . 0 . Rect . 3 0 . newBy ( x o f f 2 . newBy ( x o f f 1 . 2 2 8 . new ( 2 0 ) . new ( w. new ( w. color . Rect . 3 2 8 . − 60 . new ( 2 0 ) . − 11 . 10 . 2 3 0 . // Reverb g a i n c a p t i o n r e v e r b S l i d e r = S t r i n g V i e w . w. newBy ( x o f f 2 +235 .228 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 ´ APENDICE A. ’ l i n e a r ’ ) . Rect . v a l u e = g a i n S l i d e r . ” NumericalView ” . ’ l i n e a r ’ ) . ”Mix” . g a i n S l i d e r . 3 0 . new ( w. − 60 . ” Rodrigo F . 6 . // Various l a b e l s c a p t i o n 1 = S t r i n g V i e w . gainNum = NumericalView . 2 5 5 . − 11 . −60 . − 60 . r e v e r b S l i d e r = S l i d e r V i e w . ” Advanced Audio S i g n a l P r o c e s s i n g ” ) . 8 0 . ”Mix” . 1 . R. caption2 . v a l u e = r e v e r b S l i d e r . 20 ) . 20 ) . 0 ) . 2 3 0 . value }. // P r e d e l a y ´ CADIZ. reverbNum = NumericalView . Rect . 5 0 . 235 . gainNum . newBy ( x o f f 1 . a c t i o n = { gainNum . 1 2 8 . 1 . 6 . caption1 . new ( w. 6 . // I n p u t Gain c a p t i o n g a i n S l i d e r = S t r i n g V i e w . v a l u e } . 5 0 . new ( 20) . 6 . ”Dry g a i n [ dB ] ” ) . ’ l i n e a r ’ ) . r e v e r b S l i d e r . ba c k C o lo r = f o r e c o l o r . 8 0 . ” Reverb g a i n [ dB ] ” ) . 1 0 . 3 0 . newBy ( x o f f 2 +235 . newBy ( x o f f 1 . 20) . Rect . Cadiz ” ) . new ( 2 5 5 . a c t i o n = { reverbNum . ” Assignment 4 : R e v e r b e r a t o r ” ) . Rect . 1 . 20 ) . 20) . 60 . 0 . ’ l i n e a r ’ ) . ”Mix” . 20 ) . value }. newBy ( x o f f 2 . 0 0 0 1 . 0 0 0 1 . 20 ) . newBy ( x o f f 2 . ’ l i n e a r ’ ) . 0 . 2 3 0 . 0 . 0 . 0 . v a l u e = predelaySlider . Rect . b a c k Co l o r = f o r e c o l o r . 160 . 0 2 3 1 . newBy ( x o f f 2 . 2 3 0 . 5 0 . 7 5 . 7 9 9 5 . new ( w. 0 . predelayNum . 235 . 0 . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . d e c a y S l i d e r = S l i d e r V i e w . 210 . ’ l i n e a r ’ ) . 0 . 0 . ” Decay f a c t o r ” ) . ’ l i n e a r ’ ) . 7 9 9 5 . Rect . newBy ( x o f f 2 +235 . b w S l i d e r = S l i d e r V i e w . // Decay c a p t i o n d e c a y S l i d e r = S t r i n g V i e w . 2 . 20 ) . 0 . 2 3 0 . b a c k C ol o r = f o r e c o l o r . 0 . Rect . b a c k Co l o r = f o r e c o l o r . a c t i o n = { predelayNum . 0 . 0 . Rect . 2 3 0 . a c t i o n = { bwNum. 110 . new ( w. 235 . 50 . newBy ( xoff2 . 20) . decayNum = NumericalView . d e c a y S l i d e r . Rect . 0 . 0 . ”Mix” . predelayNum = NumericalView . R. new ( w. ” Predelay [ s ] ” ) . ” NumericalView ” . Rect . 50 . Rect . 0 . 0 . 2 3 0 . newBy ( x o f f 2 . 0 . dampingNum = NumericalView . 0 0 0 0 1 . ”Mix” . newBy ( x o f f 2 +235 . 1 . 2 0 ) . 2 . bwNum. 9 9 9 9 9 . 1 3 0 . ’ l i n e a r ’ ) . 0 . new ( w. ’ l i n e a r ’ ) . 1 8 0 . 20) . newBy ( x o f f 2 . // Bandwidth c a p t i o n b w S l i d e r = S t r i n g V i e w . Rect . 0 . new ( w. 0 . d a m p i n g S l i d e r = S l i d e r V i e w . v a l u e = d e c a y S l i d e r . newBy ( x o f f 2 . 0 0 0 0 0 1 . 20) . 7 5 . Rect . 0 . new ( w. 2 3 0 . Rect . SUPERCOLLIDER: REVERBERACION 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 229 c a p t i o n p r e d e l a y S l i d e r = S t r i n g V i e w .11. 1 . 0 2 3 1 . 0 0 0 0 0 1 . v a l u e = b w S l i d e r . 20 ) . 0 . v a l u e } . newBy ( x o f f 2 +235 . // Damping c a p t i o n d a m p i n g S l i d e r = S t r i n g V i e w . 1 . 0 . ’ l i n e a r ’ ) . 0 . 130 . 0 0 0 1 . ” NumericalView ” . p r e d e l a y S l i d e r . 0 . 0 . a c t i o n = { decayNum . 20 ) . newBy ( x o f f 2 +235 . 0 0 0 0 1 . 0 . v a l u e } . new ( w. newBy ( xoff2 . decayNum . new ( w. 0 0 0 0 1 . 0 0 0 1 . 3 . b w S l i d e r . 0 . p r e d e l a y S l i d e r = S l i d e r V i e w . ” Bandwidth ” ) . 20 ) . ´ CADIZ. ”Mix” . new ( w.´ A. 0 . 20 ) . new ( w. Rect . ” NumericalView ” . 1 8 0 . new ( w. 235 . 260 . 5 0 . 0 . ”Damping ” ) . 9 9 9 9 9 . 280 . Rect . 235 . 0 . 0 . 2 8 0 . new ( w. bwNum = NumericalView . 0 . newBy ( x o f f 3 . 0 . ” NumericalView ” . new ( w. 0 . ”Mix” . i n d i f f 1 N u m = NumericalView . a c t i o n = { indiff2Num . new ( w. 2 3 0 . 0 . ” NumericalView ” . ” Input d i f f 2 ” ) . v a l u e = d a m p i n g S l i d e r . 235 . new ( w. b a c k Co l o r = f o r e c o l o r . ’ l i n e a r ’ ) . 2 3 0 . 3 0 . a c t i o n = { dampingNum . newBy ( xoff3 . 0 0 0 1 . // Decay d i f f 2 ´ CADIZ. 0 0 0 1 . 3 0 . Rect . 20 ) . ’ l i n e a r ’ ) . ” NumericalView ” . value }. b a ck C o l o r = f o r e c o l o r . decdiff1Num . i n d i f f 2 N u m = NumericalView . new ( w. b a c kC o l o r = f o r e c o l o r . 2 3 0 . 0 . a c t i o n = { decdiff1Num . 0 . R. 0 . 0 . 8 0 . new ( w. ’ l i n e a r ’ ) . // Decay d i f f 1 c a p t i o n d e c d i f f 1 S l i d e r = S t r i n g V i e w . 0 . // I n p u t d i f f 2 c a p t i o n i n d i f f 2 S l i d e r = S t r i n g V i e w . a c t i o n = { indiff1Num . 1 . d e c d i f f 1 S l i d e r = S l i d e r V i e w . b a ck C o l o r = f o r e c o l o r . 8 0 . 0 . 10 . 20 ) . 0 . 60 . newBy ( x o f f 3 . 0 . ”Mix” . v a l u e = d e c d i f f 1 S l i d e r . d a m p i n g S l i d e r . Rect . newBy ( x o f f 3 +235 . new ( w. 0 . // I n p u t d i f f 1 c a p t i o n i n d i f f 1 S l i d e r = S t r i n g V i e w . 110 . ” Input d i f f 1 ” ) . 0 . 5 0 . i n d i f f 2 S l i d e r . decdiff1Num = NumericalView . dampingNum . 9 4 5 . 1 . 0 0 0 1 . i n d i f f 2 N u m . 0 . i n d i f f 1 S l i d e r = S l i d e r V i e w . value }. ” Decay d i f f 1 ” ) . new ( w. 9 1 5 . 0 . ” NumericalView ” . i n d i f f 2 S l i d e r = S l i d e r V i e w . 1 . 235 . 20 ) . 9 4 5 . 0 . 2 0 ) . value }. 20 ) . ’ l i n e a r ’ ) . ’ l i n e a r ’ ) . 0 . Rect . newBy ( x o f f 3 . 0 . Rect . ”Mix” . Rect . 0 . 0 . Rect . newBy ( xoff3 . 0 . 50 . 1 . 3 . 235 . value }. 0 . 0 . d e c d i f f 1 S l i d e r . 0 . 2 0 ) . 0 . 0 . Rect . Rect . 1 3 0 . ’ l i n e a r ’ ) . 20 ) . newBy ( x o f f 3 +235 . 0 . 9 1 5 . 1 . Rect . i n d i f f 1 N u m . new ( w. 9 6 5 . 0 . new ( w. 0 0 0 1 . 0 . newBy ( x o f f 3 +235 . EJEMPLOS EN SUPERCOLLIDER 20 ) . 1 . value = i n d i f f 2 S l i d e r . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL .230 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 ´ APENDICE A. 0 . 0 . 0 0 0 1 . newBy ( xoff3 . 20 ) . 2 0 ) . i n d i f f 1 S l i d e r . 0 . 130 . 0 0 0 0 0 1 . 0 . ’ l i n e a r ’ ) . 9 6 5 . 0 0 0 1 . 5 0 . 1 . 0 . value = i n d i f f 1 S l i d e r . 2 8 0 . 0 . 5 0 . v a l u e } . 20 ) . 0 . Rect . 20 ) . newBy ( x o f f 3 . 210 . 0 0 0 1 . new ( w. newBy ( xoff3 . decdiff2Num = NumericalView . e x c u r s i o n S l i d e r = S l i d e r V i e w . rate1Num . newBy ( x o f f 3 +235 . 3 . Rect . 20 ) . 5 0 . 0 . ” NumericalView ” . ’ l i n e a r ’ ) . v a l u e = r a t e 2 S l i d e r . ”Mix” . ’ l i n e a r ’ ) . Rect . 310 . 20 ) . 0 . // Rate 1 c a p t i o n r a t e 1 S l i d e r = S t r i n g V i e w . Rect . newBy ( x o f f 3 +235 . 1 1 . SUPERCOLLIDER: REVERBERACION 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 231 c a p t i o n d e c d i f f 2 S l i d e r = S t r i n g V i e w . newBy ( xoff3 . 0 . v a l u e = d e c d i f f 2 S l i d e r . 330 . newBy ( x o f f 3 . 1 . new ( w. newBy ( x o f f 3 . ”Mix” . 2 3 0 . 20 ) . Rect . 0 . 20 ) . 160 . 0 3 2 . 1 0 6 . new ( w. 0 . 0 0 1 . 2 5 . r a t e 1 S l i d e r . newBy ( x o f f 3 . rate2Num = NumericalView . decdiff2Num . 0 . 3 . 0 . 2 8 0 . 8 1 5 . 0 . 20) . ” NumericalView ” . // E x c u r s i o n c a p t i o n e x c u r s i o n S l i d e r = S t r i n g V i e w . 2 3 0 . newBy ( x o f f 3 +235 . 2 3 0 . 50 . 8 5 . ´ CADIZ. 20) . 2 3 0 . 0 . r a t e 2 S l i d e r = S l i d e r V i e w . 235 . new ( w. ” Decay d i f f 2 ” ) . 1 8 0 . 0 . 0 . 3 3 0 . 180 . 2 3 0 . Rect . ’ l i n e a r ’ ) . rate2Num . 0 0 1 . ’ l i n e a r ’ ) . Rate 1 [ Hz ] ” ) . newBy ( x o f f 3 . 8 1 5 . b a c kC o l o r = f o r e c o l o r . 20 ) . 0 . 0 0 1 . Rect . ”Osc . d e c d i f f 2 S l i d e r . ” NumericalView ” . 1 6 . r a t e 2 S l i d e r . 1 . rate1Num = NumericalView . 0 . R. Rect . 2 0 ) . 0 . 2 5 . new ( w. 0 . v a l u e } . b ac k C o l or = f o r e c o l o r . 16 . 0 . 50 . new ( w. // Rate 2 c a p t i o n r a t e 1 S l i d e r = S t r i n g V i e w . 235 . 0 . d e c d i f f 2 S l i d e r = S l i d e r V i e w .11. 0 . new ( w. value }.´ A. a c t i o n = { rate1Num . ’ l i n e a r ’ ) . b ac k C o l or = f o r e c o l o r . excursionNum = NumericalView . Rect . 2 3 0 . 3 . ”Mix” . a c t i o n = { rate2Num . new ( w. Rate 2 [ Hz ] ” ) . 235 . 0 . ” Excursion ” ) . Rect . newBy ( x o f f 3 . 0 . ”Mix” . 3 . ”Osc . ’ l i n e a r ’ ) . 0 0 1 . Rect . ’ l i n e a r ’ ) . 0 . 0 . v a l u e = r a t e 1 S l i d e r . 0 . new ( w. 8 5 . 0 . ” NumericalView ” . 0 . 0 0 0 1 . new ( w. 0 . 0 3 2 . 20 ) . newBy ( x o f f 3 +235 . 235 . new ( w. ’ l i n e a r ’ ) . 1 0 6 . 0 . 1 1 . 260 . 20) . Rect . 0 . a c t i o n = { decdiff2Num . r a t e 1 S l i d e r = S l i d e r V i e w . new ( w. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . v a l u e = decaytimeSlider . 0 . e x c u r s i o n S l i d e r .200 . new ( w. 0 . ” Input d i f f 1 [ s ] ” ) . ” Input d i f f 3 [ s ] ” ) . 150 . ’ l i n e a r ’ ) . 1 0 . new ( w. ” Input d i f f 4 [ s ] ” ) . Rect . new ( w.50 . 0 . d i f f 4 c o e f b o x = NumericalView .232 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 ´ APENDICE A. 0 . 0 . d i f f 3 c o e f b o x = NumericalView . 0 . Rect . Rect . d e c a y t i m e S l i d e r . newBy ( xoff2 . // Number b o x e s f o r v a r i a b l e s d i f f 1 c o e f l a b e l = S t r i n g V i e w . d i f f 2 c o e f b o x = NumericalView . newBy ( x o f f 1 . 150 . a c t i o n = { excursionNum .20 ) . new ( w. 0 . 2 .20 ) . ”amp” . 235 . 0 . Rect . 0 0 0 1 . value }. 0 . new ( w. Rect . 0 0 1 . 50 . 0 0 0 1 . 0 . ” NumericalView ” . 20) . 20 ) . 240 . Rect .220 . 0 . 0 . 310 . 0 0 0 1 . ”amp” . 0 . newBy ( x o f f 1 . new ( w. decaytimeNum = NumericalView . R. 150 . decaytimeNum . 0 1 . 0 .50 . b a c kC o l o r = f o r e c o l o r . 1 0 .240 . 330 . 0 . value }. 20) . 0 . 1 0 . Rect . v a l u e = ex c ur si on Sl id er .50 . EJEMPLOS EN SUPERCOLLIDER excursionNum . 0 . 200 . new ( w. 0 . new ( w. newBy ( x o f f 2 +235 . ’ l i n e a r ’ ) . newBy ( x o f f 1 +160 . 0 . ” Input d i f f 2 [ s ] ” ) . 220 . d i f f 3 c o e f l a b e l = S t r i n g V i e w . 0 . newBy ( x o f f 1 . ´ CADIZ. d e c a y t i m e S l i d e r = S l i d e r V i e w . Rect . // Decay time c a p t i o n d e c a y t i m e S l i d e r = S t r i n g V i e w . 20 ) .20 ) . 20) . 0 0 0 1 . ’ l i n e a r ’ ) . 260 .50 . d i f f 1 c o e f b o x = NumericalView . 0 . 4 . 0 . d i f f 2 c o e f l a b e l = S t r i n g V i e w . 0 . 0 0 1 . a c t i o n = { decaytimeNum .20 ) . ’ l i n e a r ’ ) .260 . ”Mix” . new ( w. 0 1 . 3 3 0 . newBy ( x o f f 1 +160 . b a c kC o l o r = f o r e c o l o r . 0 . 2 3 0 . 0 . newBy ( x o f f 1 . new ( w. newBy ( x o f f 2 . ’ l i n e a r ’ ) . 2 . ” Decay time [ s ] ” ) . 1 0 . 0 . ”amp” . 0 . 0 . 150 . 2 0 ) . 0 . newBy ( x o f f 1 +160 . new ( w. 4 . ’ l i n e a r ’ ) . 0 . newBy ( x o f f 1 +160 . d i f f 4 c o e f l a b e l = S t r i n g V i e w . Rect . 0 . Rect . ”amp” . Rect . 20) . 0 . 1 0 . SUPERCOLLIDER: REVERBERACION 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 233 d e c d i f f 1 c o e f l a b e l = S t r i n g V i e w . 0 . 0 . 0 . 0 . 3 0 0 . 300 . 2 0 ) . d e c d i f f 3 c o e f l a b e l = S t r i n g V i e w . 280 . Rect . Rect . d e c d i f f 3 c o e f b o x = NumericalView . Rect . d e c d i f f 2 c o e f b o x = NumericalView . ’ l i n e a r ’ ) . 0 . 1 8 0 . new ( w. new ( w. newBy ( x o f f 1 + 1 6 0 . 0 . newBy ( x o f f 1 + 1 6 0 . 320 . ” Select source ”) . captionSource . new ( w. ” Sinusoid ” . 235 . new ( w. 1 . 0 . new ( w. 0 . newBy ( x o f f 1 . 0 . 0 . ”Sound f i l e ” . d e c d i f f 4 c o e f l a b e l = S t r i n g V i e w . ’ l i n e a r ’ ) . ” Apply r e v e r b e r a t i o n ” . new ( w. Rect . 2 0 ) . ”amp” . ’ l i n e a r ’ ) . in3Box = CheckBoxView . 1 6 0 . ’ l i n e a r ’ ) . Rect . 150 . 0 . 1 0 0 . 20) . 1 . d e c d i f f 4 c o e f b o x = NumericalView . Rect . 2 0 ) . 2 3 0 . 5 0 . 150 . Rect . 1 . 1 4 0 . 0 . 2 0 ) . 20 ) . 5 0 . Rect . // Apply c omp ress or applyBox = CheckBoxView . 0 . newBy ( x o f f 1 + 1 6 0 . newBy ( xoff1 . 0 . 0 . in1Box = CheckBoxView . 7 7 . 2 3 0 . 0 . ”amp” . new ( w. 1 . 0 . newBy ( x o f f 1 . 0 . 20 ) . 0 . 5 0 . 1 0 . 0 . 2 3 0 . new ( w. 3 2 0 . 3 4 0 . 0 . // S e l e c t s o u r c e c a p t i o n S o u r c e = S t r i n g V i e w . 1 . ” Decay d i f f 2 [ s ] ” ) . newBy ( xoff1 . 0 . 1 . 150 . new ( w. newBy ( x o f f 1 . in4Box = CheckBoxView . ’ l i n e a r ’ ) . ” Impulses ” . ’ l i n e a r ’ ) . Rect . d e c d i f f 2 c o e f l a b e l = S t r i n g V i e w . newBy ( x o f f 1 . 0 . Rect . 0 . 0 . 20 ) .´ A. 0 0 0 1 . 2 8 0 . 1 0 . 0 0 0 1 . 0 . newBy ( x o f f 1 . newBy ( x o f f 1 + 1 6 0 . 1 .11. 2 0 ) . 0 . 2 3 0 . ” Decay d i f f 1 [ s ] ” ) . 20 ) . ´ CADIZ. 0 . R. 2 0 ) . ” Decay d i f f 4 [ s ] ” ) . ”amp” . new ( w. 0 . 0 . Rect . 0 . 20 ) . Rect . 1 0 . Rect . in2Box = CheckBoxView . 340 . 0 0 0 1 . newBy ( xoff1 . ’ l i n e a r ’ ) . 5 0 . labelColor = f o r e c o l o r . 0 . new ( w. new ( w. new ( w. 0 0 0 1 . newBy ( xoff1 . ’ l i n e a r ’ ) . d e c d i f f 1 c o e f b o x = NumericalView . 0 . 150 . ” BrownNoise ” . 2 3 0 . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . new ( w. ”amp” . 0 . 2 0 ) . Rect . ’ l i n e a r ’ ) . 0 . newBy ( x o f f 1 . 0 . ” Decay d i f f 3 [ s ] ” ) . 0 . 2 0 ) . 1 2 0 . Rect . 1 0 0 ) . view6 = ScopeView . 1 ) . 235 . p l a y ( { var s i g n a l . 20) . 3 7 0 . ” Compressed s i g n a l ” ) . new ( w. Rect . 200 . new ( w. 1 0 0 ) . Rect . new ( w. − 1. new ( w . 20) . 100) . Rect . 3 9 5 . 5 0 0 . d e c d i f f 4 . 1 ) . 3 7 0 . d i f f 4 . view2 = ScopeView . Rect . 20) . newBy ( x o f f 2 . d i f f 3 . input1 . 2 0 0 . input3 . − 1. d e c d i f f 3 . 20) . − 1. 1 ) . EJEMPLOS EN SUPERCOLLIDER c a p t i o n v i e w 1 = S t r i n g V i e w . // f o r e f f e c t s p r o c e s s o r var d i f f 1 . newBy ( x o f f 3 . c a p t i o n v i e w 5 = S t r i n g V i e w . 3 9 5 . d i f f 2 . newBy ( x o f f 3 . f i l e n a m e = ” : Sounds : r e d o b l e s . c a p t i o n v i e w 3 = S t r i n g V i e w . 235 . i f ( sound . new ( w . 1 0 0 ) . 1 ) . 4 4 1 0 . // f o r a u d i o f i l e stream var input . 20) . Rect . 525 . new ( w. 4 4 1 0 . new ( w. 3 7 0 . newBy ( x o f f 3 . ” Right c h a n n e l output ” ) . newBy ( x o f f 1 . − 1. new ( w. 2 0 0 . var d e c d i f f 1 . R. 235 . { Synth . Rect . 235 . newBy ( x o f f 3 . 4410 . a i f f ” . ” S i g n a l a f t e r BW f i l t e r ” ) . new ( w. ´ CADIZ. Rect . Rect . 4 4 1 0 . new ( w. view1 = ScopeView . input2 . c a p t i o n v i e w 6 = S t r i n g V i e w . new . 2 0 0 . Rect . 20) . // c a p t i o n v i e w 4 = S t r i n g V i e w . 1 0 0 ) . 5 2 5 . 2 0 0 . newBy ( x o f f 2 . d e c d i f f 2 . c a p t i o n v i e w 2 = S t r i n g V i e w . view5 = ScopeView . r e a d ( f i l e n a m e ) . 235 . 2 0 0 . newBy ( x o f f 2 . ” Original signal ”) . ” Left c h a n n e l output ” ) . new ( w. 3 9 5 . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL .234 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 // S c o p e s ´ APENDICE A. 5 0 0 . sound = S o u n d F i l e . ” Signal after diffusors ”) . 1 ) . 4 4 1 0 . // v i e w 4 = ScopeView . new ( w. view3 = ScopeView . − 1. 4 4 1 0 . Rect . Rect . 500 . 235 . 1 0 0 ) . newBy ( x o f f 1 . i n p u t 4 . newBy ( x o f f 1 . newBy ( x o f f 1 . newBy ( x o f f 2 . 1) . 5 2 5 . − 1. R. in5 . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . in2Box . i n p u t 3 = BrownNoise .0∗ input . a r ( s i g n a l .11. kr . kr . 2 ) . kr . ( 1 . kr ] ) . kr . kr ) ) . 0 . 0 . 1 ) . value (142) ) . osc3 . d i f f 4 = revtime . outR2 . kr ) . // D i f f e r e n t s o u r c e s i n p u t 1 = PlayBuf . 0 . // A m p l i f i c a t i o n f a c t o r in2 = 1. outR5 . delR . value ( i n d i f f 1 S l i d e r convert delay . . d i f f 2 = revtime . var outL . kr . var outR . in6 . value ( i n d i f f 2 S l i d e r convert delay . // Source mix i n p u t = Mix . 1 ) . i n 8 . d i f f 1 = revtime . outR1 . value ( i n d i f f 2 S l i d e r convert delay . s i g n a l = sound . var outL8 =0. a r ( 1 0 0 . var osc1 . sampleRate . in7 . i n p u t 2 = SinOsc . s i g n a l . kr . kr . d i f f 3 = revtime . outL7 . in4Box . SUPERCOLLIDER: REVERBERACION 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 235 var in2 . a r ( 0 . outR7 . outR6 . outL3 . outL6 . value (107) ) . osc2 . outR3 . a r ( in3 . 1 . outL1 . var b u f f e r l e f t . value (277) ) . delL . o s c 4 . 0 . ´ CADIZ. 0 . outL2 . in3Box . a t ( 0 ) . outR4 . p r e d e l a y S l i d e r . outL5 . i n p u t 4 = Impulse . a r ( [ i n p u t 1 input2 input3 input4 ∗ ∗ ∗ ∗ in1Box . in4 . // P r e d e l a y i n 3 = DelayN . value ( i n d i f f 1 S l i d e r convert delay . . var outR8 =0. data . outL4 . value (379) ) . 0 − b w S l i d e r . a r ( 2 0 0 .´ A. b u f f e r r i g h t . . 1 . sound . s i z e − 2) . in3 . . // F i r s t f i l t e r f o r b a n d w i d t h i n 4 = OnePole . a r ( in2 . EJEMPLOS EN SUPERCOLLIDER // F i r s t d i f f u s i o n f i l t e r i n 5 = A l l p a s s N . c o n v e r t d e l a y . kr . d e c d i f f 2 . value (3720) ) . 0 . 1 . v a l u e (908+ e x c u r s i o n S l i d e r . d i f f 4 ) . v a l u e (672+ e x c u r s i o n S l i d e r . a r ( b u f f e r l e f t .5) . a r ( in4 . R. c o n v e r t d e l a y . 0 . value (107) . d i f f 2 ) . c o n v e r t d e l a y . 3 ) . a r ( b u f f e r r i g h t . kr ( r a t e 1 S l i d e r . 0 . kr . 1 . 0 . delR = TapN . 0 . value (4217) ∗0. v a l u e ( 2 6 5 6 ) ) . a r ( delR .5) . a r ( delL . c o n v e r t d e l a y . value ( d e c d i f f 2 S l i d e r . c o n v e r t d e l a y . v a l u e (908+ e x c u r s i o n S l i d e r . 1 . decdiff1 = r e v t i m e . 1 . sampleRate ∗ 0 . convert delay . d e c d i f f 3 = revtime . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . v a l u e ( d e c d i f f 1 S l i d e r . 0 . o s c 2 = SinOsc . kr ) ) . outL2 = A l l p a s s N . v a l u e (672+ e x c u r s i o n S l i d e r . value (4453) ∗0. ´ CADIZ. value (142) . kr ( r a t e 2 S l i d e r . value (379) . b u f f e r r i g h t = S i g n a l . d i f f 1 ) . c o n v e r t d e l a y . convert delay . 0 . value ( d e c d i f f 2 S l i d e r . new ( Synth . c o n v e r t d e l a y . convert delay . 0 . kr . kr ) . a r ( in5 . c o n v e r t d e l a y . // Second d i f f u s i o n f i l t e r i n 6 = A l l p a s s N . 0 . d i f f 3 ) . v a l u e ( d e c d i f f 1 S l i d e r . decdiff2 = r e v t i m e . c o n v e r t d e l a y . b u f f e r l e f t = S i g n a l . value (277) . 0 . o s c 1 = SinOsc . c o n v e r t d e l a y . // Fourth d i f f u s i o n f i l t e r i n 8 = A l l p a s s N . value (3163) ) . kr . neg ) . d e c d i f f 4 = revtime . 1 . 3 ) . v a l u e ( 1 8 0 0 ) ) . kr . 1 . // Third d i f f u s i o n f i l t e r i n 7 = A l l p a s s N . d e c d i f f 1 . d e l L = TapN . a r ( in7 .236 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 ´ APENDICE A. sampleRate ∗ 0 . c o n v e r t d e l a y . neg ) . kr . new ( Synth . outR2 = A l l p a s s N . kr ) . a r ( in6 . kr ) ) . kr ∗ outL4 . a r ( outL2 . outR1 = dBtoA . DelayWr . value ( decdiff3 decdiff3 coef box .7) .7) .7) . outL1 = dBtoA . box . outR4 = OnePole .´ A.7) . kr ∗ ( i n 8 + outR6 ) . box . decdiff4 ) . v a l u e ( 1 8 0 0 ) . 0 .7) . value ( d i f f 4 box .7) . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . 1 . kr ) ∗ applyBox .7) . show value in box . v a l u e ( 4 4 5 3 )+o s c 1 ) ) . kr ∗ A l l p a s s N . . a r ( outR2 . decdiff3 ) . v a l u e ( 4 2 1 7 )+o s c 2 ) ) . value ( decdiff4 decdiff4 coef box . 1 . ´ CADIZ. c o n v e r t d e l a y . SUPERCOLLIDER: REVERBERACION 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 237 outL3 = DelayN . box . value ( d i f f 3 box . value ( d i f f 1 box . a r ( b u f f e r l e f t . d a m p i n g S l i d e r . show value in diff1 coef show value in diff2 coef show value in diff3 coef show value in diff4 coef box . kr ) . kr ∗ outR4 . d a m p i n g S l i d e r . DelayWr . 1 . v a l u e ( 2 6 5 6 ) . . value ( d i f f 2 box . 0 . . value ( decdiff2 decdiff2 coef box . outR3 = DelayN . a r ( outL5 . outR6 = d e c a y S l i d e r . outL5 = d e c a y S l i d e r . outL4 = OnePole . outL1 ) . kr ) ∗ applyBox . outR5 = d e c a y S l i d e r . outL6 = d e c a y S l i d e r . value ( decdiff1 decdiff1 coef box . ( c o n v e r t d e l a y . a r ( b u f f e r r i g h t . .7) . ( c o n v e r t d e l a y . a r ( outL3 . .11. kr ) . . outR1 ) . a r ( outR3 . 1 . show value in box . c o n v e r t d e l a y . show value in box . a r ( outR5 . v a l u e ( r e v e r b S l i d e r . R. show value in box . 0 . 0 . . . kr ∗ ( i n 8 + outL6 ) . kr ∗ A l l p a s s N . v a l u e ( r e v e r b S l i d e r . a r ( view1 . i n 8 ) . ddNum . var f r e q S l i d e r .12. p o s t } ) . a r ( view5 . in3Box . var delayNum . var vdBox . var f o r e c o l o r . mixNum . kr ) ∗ input . outR1 ) . v a l u e ( g a i n S l i d e r . Mix . var f i l e n a m e . R. g a i n S l i d e r . { ( f i l e n a m e ++ ” not found . [ Mix . i n 4 ) . c a p t i o n d d S l i d e r . ddSlider . c a p t i o n 3 . a r ( [ dBtoA . c a p t i o n m i x S l i d e r . a r ( view6 . } . c l o s e . captiongainSlider . gainNum . f b S l i d e r . a r ( view3 . kr ) ∗ input . v a l u e ( g a i n S l i d e r . c a p t i o n S o u r c e . Cadiz // Codigo para S u p e r C o l l i d e r 2 var w . w. // c o n v e r t dB t o a m p l i t u d e ´ CADIZ. a r ( [ dBtoA . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL .238 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 ´ APENDICE A. fbBox . x o f f 2 . c a p t i o n f b S l i d e r . Scope . Scope . var c a p t i o n 1 . a r ( view2 . outR1 ] ) ] . ) A. Scope . fbNum . \ n” ) . in2Box . m i x S l i d e r . d e l a y S l i d e r . s i g n a l . r a d i o 1 . SuperCollider: Procesador de efectos gen´ erico 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 // P r o c e s a d o r de e f e c t o s g e n e r i c o // Rodrigo F . freqNum . outL1 ) . c a p t i o n d e l a y S l i d e r . var c a p t i o n f r e q S l i d e r . EJEMPLOS EN SUPERCOLLIDER Scope . Scope . var x o f f 1 . }) . c a p t i o n 2 . sound . outL1 ] ) . i n p u t ) . r a n g e 1 . var in1Box . labelColor = f o r e c o l o r . gainNum = NumericalView . 1 1 0 . v a l u e } . Cadiz ” ) .}. mixNum . newBy ( x o f f 1 . c a p t i o n 3 = S t r i n g V i e w . R. −30 . 6 5 0 . Rect . // I n p u t Gain c a p t i o n g a i n S l i d e r = S t r i n g V i e w . gainNum . 9 0 . 5 0 . newBy ( 5 0 0 . new ( w. new ( 9 9 . 5 0 . ” NumericalView ” . 1 2 8 . xoff2 = 350. 6 . 0 . 3 2 8 . ” Generic E f f e c t s Processor ” ) . 2 0 ) . new ( 2 5 5 . 6 . a c t i o n = { mixNum . // GUI Window w = GUIWindow . c a p t i o n 2 = S t r i n g V i e w . 1 . newBy ( x o f f 1 . 7 0 . 20 ) . ’ l i n e a r ’ ) . dBtoA = { a r g d e c i b e l s . m i x S l i d e r = S l i d e r V i e w . b a c k Co l o r = f o r e c o l o r . new ( w. mixNum = NumericalView . // O f f s e t s xoff1 = 10. 0 . newBy ( x o f f 1 +235 . new ( w. ” NumericalView ” . 0 . b a c k C ol o r = C o l o r . a c t i o n = { gainNum . newBy ( x o f f 1 . 0 . 4 0 0 ) ) . r = 0 . 3 0 . w . new ( w. 20 ) . 3 0 . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . Rect . 0 ( wet ) ” ) . SUPERCOLLIDER: PROCESADOR DE EFECTOS GENERICO 239 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 var dBtoA . 2 3 5 . newBy ( x o f f 2 +235 . ”Mix” . 0 ) . new ( w. 2 0 ) . // Various l a b e l s c a p t i o n 1 = S t r i n g V i e w . 0 . // Mix c a p t i o n m i x S l i d e r = S t r i n g V i e w . 1 3 0 . caption1 . 2 5 5 . 0 . new ( ” G e n e r i c E f f e c t s P r o c e s s o r >>> Rodrigo F . labelColor = f o r e c o l o r . caption3 . 1 1 0 . r ∗ 1 0 ∗ ∗ ( d e c i b e l s / 2 0 . ’ l i n e a r ’ ) . 20 ) . 0 . Cadiz ” . 2 3 0 . 1 0 . ” Output Mix : 0 . newBy ( x o f f 2 . ” Input g a i n [ dB ] ” ) . 1 6 0 ) . 2 0 ) . 1 . Rect . Rect . v a l u e = g a i n S l i d e r . 5 0 1 1 8 7 2 3 3 6 . // Feedback p h a s e ´ CADIZ. new ( w. 1 . 2 2 8 . 0 . v a l u e = m i x S l i d e r . 1 . 0 . 3 0 . 2 3 5 . new ( w. newBy ( x o f f 1 . Rect . g a i n S l i d e r . 0 . 1 0 . g a i n S l i d e r = S l i d e r V i e w . Rect . 1 . v a l u e } .12. caption2 . labelColor = f o r e c o l o r . b a c k C ol o r = f o r e c o l o r . new ( w. 1 . 2 0 ) . // C o l o r s f o r e c o l o r = C o l o r . newBy ( x o f f 2 . m i x S l i d e r . 0 . 0 . 5 0 . Rect . newBy ( x o f f 1 . 0 ( dry ) − 1 . ’ l i n e a r ’ ) . ”Mix” . new ( w. 2 0 ) . Rect .´ A. ” Advanced Audio S i g n a l P r o c e s s i n g ” ) . 20 ) . Rect . Rect . 2 3 0 . 5 . 0 ) . − 30 . 5 . ’ l i n e a r ’ ) . ” Rodrigo F . 1 7 0 . new ( w. 0 5 . freqNum . v a l u e = f r e q S l i d e r . 0 . 1 . 20 . Rect . Rect . new ( w. // S e l e c t s o u r c e ´ CADIZ. Rect . 1 . new ( w. Rect . ” NumericalView ” .240 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 ´ APENDICE A. 0 0 0 5 . 1 . newBy ( x o f f 2 . newBy ( x o f f 1 . f r e q S l i d e r = S l i d e r V i e w . 0 . ’ l i n e a r ’ ) . 5 0 . b a c k Co l o r = f o r e c o l o r . 1 1 0 . newBy ( x o f f 1 +235 . 2 0 ) . 0 . v a l u e } . ” Feedback ” . 1 9 0 . fbNum . ’ l i n e a r ’ ) . 2 0 ) . ’ l i n e a r ’ ) . newBy ( x o f f 1 . 0 . ” Feedback phase : −1 ( o f f ) +1 ( on ) ” . f r e q S l i d e r . v a l u e = d d S l i d e r . newBy ( x o f f 1 +235 . 0 . 20 ) . new ( w. f b S l i d e r = S l i d e r V i e w . 0 . 2 3 0 . 2 0 ) . 50 . v a l u e = d e l a y S l i d e r . newBy ( x o f f 2 . a c t i o n = { ddNum . 2 0 ) . 2 6 0 . 0 . 9 9 . ddNum . 1 1 0 . 1 . 0 . Rect . ” Deviation ” . delayNum . ’ l i n e a r ’ ) . 9 9 . 1 9 0 . 1 . d d S l i d e r . new ( w. ’ l i n e a r ’ ) . R. newBy ( x o f f 2 +235 . ” Delay time : ( s e c o n d s ) ” ) . 20 ) . 2 3 5 . 0 . 9 9 . 2 4 0 . 1 . 5 0 . v a l u e } . ’ l i n e a r ’ ) . 20 ) . ” Feedback [ %] ” ) . 1 . 0 . 2 3 0 . b a ck C o l o r = f o r e c o l o r . ” O s c i l l a t o r Frequency ( d e l a y ) [ Hz ] ” ) . Rect . d e l a y S l i d e r . 0 . // Delay s w i t c h vdBox = CheckBoxView . 99 . 1 . a c t i o n = { freqNum . ’ l i n e a r ’ ) . 5 0 . new ( w. Rect . v a l u e = f b S l i d e r . 2 0 . ” Delay d e v i a t i o n : 0 % − 99 %” ) . a c t i o n = { fbNum . ’ l i n e a r ’ ) . newBy ( x o f f 2 . Rect . 1 . // Feedback c a p t i o n f b S l i d e r = S t r i n g V i e w . new ( w. 2 3 5 . 5 0 . 1 9 0 . // O s c i l l a t o r f r e q u e n c y c a p t i o n f r e q S l i d e r = S t r i n g V i e w . 2 0 ) . new ( w. 1 . fbNum = NumericalView . newBy ( x o f f 2 . EJEMPLOS EN SUPERCOLLIDER fbBox = CheckBoxView . d e l a y S l i d e r = S l i d e r V i e w . 1 4 5 . ” Variable delay ” . 20 ) . 0 0 1 . a c t i o n = { delayNum . newBy ( x o f f 2 . b a c k Co l o r = f o r e c o l o r . 2 3 0 . 2 3 0 . new ( w. 2 3 0 . 5 0 . newBy ( x o f f 1 . Rect . v a l u e } . 10 . 0 . 0 . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . v a l u e } . new ( w. 0 . // Delay time c a p t i o n d e l a y S l i d e r = S t r i n g V i e w . ddNum = NumericalView . ” NumericalView ” . 0 . ” Delay time ” . freqNum = NumericalView . ’ l i n e a r ’ ) . 2 6 0 . 4 2 8 . // Delay d e v i a t i o n c a p t i o n d d S l i d e r = S t r i n g V i e w . 2 3 0 . 9 0 . 0 . newBy ( x o f f 2 . b a c k Co l o r = f o r e c o l o r . 1 7 0 . new ( w. ’ l i n e a r ’ ) . 2 3 0 . new ( w. 2 0 ) . 20 ) . f b S l i d e r . d d S l i d e r = S l i d e r V i e w . 20 ) . 5 0 . Rect . Rect . Rect . 0 0 0 5 . 20 ) . 0 . 0 . delayNum = NumericalView . ” SliderView ” . new ( w. 1 9 0 . 1 0 . ” NumericalView ” . new ( w. Rect . Rect . 0 0 1 . newBy ( x o f f 1 . 5 0 . ” NumericalView ” . newBy ( x o f f 2 +235 . 2 0 ) . 6 5 . ’ linear ’ ) .´ A. 2 3 0 . sampleRate ∗ 3 ∗ 0 . newBy ( x o f f 2 . a r ( [ m i x S l i d e r . s i g n a l . ( 1 . Rect . 2 2 0 . DelayWr . ” Soundfile ” . kr ) . 0 . a r ( [ i n p u t . 2 4 0 . 1 . Rect . kr ∗ msignal . 1 . 1 ) ∗ dBtoA . a i f f ” . d u a l S c o p e ( { var var var var var s i g n a l . 1 . i n p u t 2 ∗ in2Box . 2 8 0 . // O s c i l l a t o r f o r v a r i a b l e d e l a y v = SinOsc . i n p u t 3 . new ( w. v a l u e ( g a i n S l i d e r . captionSource . m s i g n a l ) .0. new ( w. in1Box = CheckBoxView . r e a d ( f i l e n a m e ) . newBy ( x o f f 2 . i f ( sound . kr . 20 ) . 0 − m i x S l i d e r . 0 . newBy ( x o f f 2 . ”LFSaw” .1) . 0 . 20 ) . kr ∗ d d S l i d e r . v a l u e ( g a i n S l i d e r . new ( w. kr ∗ 0 . 2 ∗ ( fbBox . kr ) ∗ i n p u t ]) . // d e l a y e d s i g n a l b u f f e r = S i g n a l . // f o r a u d i o f i l e stream input . kr ) . 0 . kr − 0 . 1 ) ∗ dBtoA . // wet s i g n a l d e l s i g n a l =0. ´ CADIZ. sound . new . a r ( s i g n a l . newBy ( x o f f 2 . a r ( 0 . a r ( b u f f e r . Rect . ” BrownNoise ” . ’ l i n e a r ’ ) .12. ” S e l e c t source ” ) . new ( w. i n p u t 3 ∗ in3Box . in2Box = CheckBoxView . data . R. 2 3 0 . a r ( 2 0 0 . 0 . f i l e n a m e = ” : Sounds : r e d o b l e s . s i g n a l = sound . a r ( b u f f e r . 2 3 0 . 5 ) . 2 6 0 . s i z e − 2) ∗ dBtoA . m s i g n a l = Mix . kr ) . 20) . input2 . ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . 2 3 5 . input1 . 0 . { Synth . kr ∗ 0 . 0 . 0 . // f o r d e l a y l i n e m s i g n a l . kr ∗ d e l a y S l i d e r . 0 . Mix . sampleRate . sound = S o u n d F i l e . 5 ) ∗ d e l s i g n a l ∗ f b S l i d e r . newClear ( Synth . i n p u t 3 = BrownNoise . // D i f f e r e n t s o u r c e s i n p u t 1 = PlayBuf . kr . 0 . 0 . ’ l i n e a r ’ ) . 0 . d e l a y S l i d e r . kr ] ) . kr ( f r e q S l i d e r . 0 1 ) . 1 . vdBox . v a l u e ( g a i n S l i d e r . // Source mix i n p u t = Mix . i n p u t 2 = LFSaw . } . a t ( 0 ) . labelColor = f o r e c o l o r . SUPERCOLLIDER: PROCESADOR DE EFECTOS GENERICO 241 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 c a p t i o n S o u r c e = S t r i n g V i e w . // f o r e f f e c t s p r o c e s s o r b u f f e r . 20 ) . 0 1 ] ) . a r ( [ i n p u t 1 ∗ in1Box . kr + v ) . d e l s i g n a l = TapN . Rect . 1 . in3Box = CheckBoxView . kr . 0 . w. { ( f i l e n a m e ++ ” not found . EJEMPLOS EN SUPERCOLLIDER } . c l o s e .242 128 129 130 ´ APENDICE A. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . R. p o s t } ) . \ n” ) . ´ CADIZ. Eng. [5] Albert S. [3] Gerald Bennett. [8] Nicolas Castagne and Claude Cadoz. In Analysis in Electroacoustic Music. html . 2004 from http://www. Hamburg. Periodica Polytechnica Ser. ch/ files/ articles/ ThoughtsontheOral. [7] Leo Camilleri. [4] Pierre Boeswillwald. University of East Anglia.. Electro-acoustic music: analysis and listening processes.sonus-online. pages 169–174. 1996. El. Auditory scene analysis. Acoustic chains in acousmatic music. Thoughts on the oral culture of electroacoustic music. 1999. 1992. ac. J´ anos M´ arkus. [6] Rodolfo Caesar. PhD thesis. 47(3-4):269–295. [2] Bal´ azs Bank. uk/ schools/ music/ humanities/ music/ newmusic/ acoustic_ chains. 2002. 1993. 243 . 2004. Germany. MIT Press. http: // www. and L´ aszl´ o Sujbert. computermusic. hud. Bregman. Bourges. http: // www. Creating music by means of “physical thinking” : The musician oriented genesis enviroment. html . In 5th international Conference on Digital Audio Effects (Dafx-02).org/ camilleri. Signal and physics-based sound synthesis of musical instruments. 1990. 1995. Proceedings Volume II of the works of the International Academy of Electroacoustic Music.htm. The Composition of Electroacoustic Music. Analysis in the electroacoustic world. Retrieved March 31.Bibliograf´ ıa [1] Mathew Adkins. Attila Nagy. 1990. Jerse. Pablo Irarrazaval M. R. Computer Music Journal. Mental Representation of the Timbre of Complex Sounds. au/ mikropol/ volume5/ norris_ m/ norris_ m. Elements of computer music. New York. Music analysis and reception behaviors: Sommeil by pierre henry. McGraw-Hill Interamericana. . Organised Sound. Natick Mass. and performance. Multidimensional representation of electroacoustic music. 1996. 1996. An´ alisis de se˜ nales. 1985. Morthenson. N. 1997. Bourges. edu. Prentice Hall. New York.J. 1993. Attending to auditory events: the role of temporal organization. Real sound synthesis for interactive applications. latrobe. Jaffe. [21] Michael Norris. Springer. [20] Jay W. chapter 8. [11] Charles Dodge and Thomas A. [18] Francisco Kr¨ opfl. 1999. 23 cm. The concept of meaning in electronic music. 1999. [16] David A. 2nd edition. [12] Sophie Donnadieu. chapter 4. 1998.244 BIBLIOGRAF´ IA [9] Perry R. 1998. [15] Pablo Irarr´ azaval. Clarendon Press. [19] F. Richard Moore. ´ CADIZ. Ten criteria for evaluating synthesis techniques. Englewood Cliffs. Schirmer Books . [13] Francesco Giomi and Marco Ligabue. In Analysis in Electroacoustic Music. 3(1):45–49. 1995. [17] Mari Riess Jones and William Yee. [10] Fran¸ cois Delalande. A K Peters. An approach to the analysis of electroacoustic music. New York London. pages 69–112. 20010913. [14] Mara Helmut. 27:13–66. il. Journal of New Music Research. In Proceedings of the ICEM Conference on Electro-acoustic Music. Stockholm. 25:77–103. http: // farben. Prentice Hall International. composition. 19(1):76–87. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . Understanding electroacoustic music: analysis of narrative strategies in six early compositions. Computer music : synthesis. The status of analysis in an electroacoustic context. 2007. Cook. Santiago (Chile). html . Journal of New Music Research. 2002.. Proceedings Volume II of the works of the International Academy of Electroacoustic Music. 1996. [34] Denis Smalley. Computer Music Journal. A tutorial on digital sound synthesis techniques. 1997. 18(3).. Inharmonic sound spectral modeling by means of fractal additive synthesis. Cambridge. [33] Denis Smalley. 2(2):107–126. NIPS 96. pages 61– 93. Harwood Academic. [32] Xavier Serra. Mass. Pope. 2001. Fritz Menzer. Computer Music Journal. 4th edition. 1996. Exton PA. The Listening Imagination: Listening in the Electroacoustic Era. ´ CADIZ. Routeledge. 1986. pages 514–554. MIT Press. Spectromorphology: explaining sound-shapes. Spectro-morphology and structural processes. Computer Music Journal. In Analysis in Electroacoustic Music. 1997. [23] Pietro Polotti and Gianpaolo Evangelista. Bourges. Mass. Current perspectives in the digital synthesis of musical sound. Hamburg. In Neural Network Information Processing Systems 9. London. 25(2):46–61.BIBLIOGRAF´ IA 245 [22] Giovanni De Poli. Proceedings Volume II of the works of the International Academy of Electroacoustic Music. Denver. The computer music tutorial. [30] Axel R¨ obel. MIT Press. and Gianpaolo Evangelista. 25(3):22–37. 1997. Studies on new music research 2. 7(4). Formats. Why is good electroacoustics music so good? why is bad electroacoustic music so bad? Computer Music Journal. Swets & Zeitlinger. Organised Sound. [28] Curtis Roads. 1994. Musical signal processing. [27] Curtis Roads. [31] Nicola Sani. Germany. 2002. [24] Pietro Polotti. R. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . [35] Denis Smalley. 1. 1999. Neural network modeling of speech and music signals. [29] Axel R¨ obel.. [25] Stephen T. 2001. chapter 26. In Proceedings of the 5th Conference on Digital Audio Effects. 1983. Lisse Netherlands . Synthesizing natural sounds using dynamic models of sound attractors. Thoughts on analysis of electroacoustic music. [26] Curtis Roads. Cambridge. 2001. Microsound. 1992. Fractal additive synthesis via harmonic-band wavelets. 2001. Luke Windsor. April 2000. Evaluation of modern sound synthesis methods. [44] W. Edinburgh University Faculty of Music. 1986. CT. 20(2):44–56. [47] Trevor Wishart. New London. March 2001. San Francisco. Digital audio engineering : an anthology. New York. In Proceedings of the 1991 International Computer Music Conference. Luke Windsor. 3].. [45] W.. [38] John Strawn and James F. Kaufmann. Report No. Vesa V¨ alim¨ aki. Smith. ´ A LA MUSICA ´ INTRODUCCION COMPUTACIONAL . [41] Bob L. chapter 1. USA. Sturm. 1996. PhD thesis. Organised Sound. 1985. GA. London. Los Altos. Department of Electrical and Communications Engineering. ´ CADIZ. Smith. 48. Helsinki University of Technology. Luke Windsor. chapter 7. McGill. 1991. Composing for an ensemble of atoms: the methamorphosis of scientific experiment into music. In Proc. [v. Through and around the acousmatic: the interpretation of electroacoustic sounds. Atlanta. USA. 2001. [40] Bob L. The Computer Music Journal. [42] Tero Tolonen. [39] Bob L. 2000. City University. 6(2):131–145. Symposium. of the Int. 1996. R. [37] Julius O. A Perceptual Approach to the Description and Analysis of Acousmatic Music. chapter 3. Community for Auditory Display Conf. [43] Barry Truax.246 BIBLIOGRAF´ IA [36] Julius O. Computer music and digital audio series. of the Eighth Biennial Arts and Tech. 1998. Acoustic communication. In Proc. CA. Perception and Signification in Electroacoustic Music. London. Sonification of particle systems via de broglie’s hypothesis. Sturm. W. and Matti Karjalainen.. Physical modeling synthesis update. Calif. 1995. Ashgate. Synthesis and algorithmic composition techniques derived from particle physics. Sturm. Viewpoints on the history of digital synthesis. Harwood Academic. Ablex Pub. Sound symbols and landscapes. [46] W.
Copyright © 2024 DOKUMEN.SITE Inc.