====== Prácticas en Algo~Ritmos ====== ---- Encontraras una serie de ejercicios prácticos agrupados por los [[aprendizaje:elementos_compositivos:start|Elementos Compositivos]], y organizados de menor a mayor complejidad. ==== Duraciones / Ritmo ==== [[aprendizaje:elementos_compositivos:divulgacion#groove_ritmo_agitacion|Leer sobre el Ritmo]] Nuestro objetivo será construir un motor rítmico de manera ágil, para esto podemos usar herramientas como: '''while()''' donde podemos hacer un ciclo repetitivo de algún sonido generando un ritmo básico, una manera enriquecida puede ser una función que lance los ciclos y que se llame con diferentes parámetros para tener diferentes texturas y divisiones del ritmo. * Cree un ciclo simple para escuchar un ritmo. Solución: [[https://github.com/son0p/algo-ritmos/blob/master/practicas/100while.ck | 100while.ck]] * Haga un sonido que ejecute un ritmo binario y adicionalmente haga un sonido que ejecute un ritmo ternario. Debemos poder escuchar ambos ritmos sobrepuestos. Solución: [[ https://github.com/son0p/algo-ritmos/blob/master/practicas/101poli_ritmo.ck| 101poli_ritmo.ck]] * **Probabilidad en el ritmo**: Estudie varias canciones de un género musical, saque la probabilidad de apariciones de golpes y silencios (corpus), aplique esas probabilidades en un secuenciador de 16 pasos.(( Aprendemos esto guidados por Daniel Gómez, quien nos enseña a usar las [[https://en.wikipedia.org/wiki/Markov_chain| Cadenas de Markov]] para la distribución de la probabilidad en cada paso del secuenciador)) * **Lee una curva de probabilidad:** Enciende y apaga instrumentos según una curva de probabilidad [[https://github.com/son0p/algo0ritmos/blob/master/generatives/gen_agitation_001.ck|gen_agitation_001.ck ]] ==== Alturas / Melodía ==== [[aprendizaje:elementos_compositivos:divulgacion#alturas_melodias_relieves|Leer sobre la Melodía]] * Haga un array que describa la melodía del track de Robert Miles - Children. Solución [[ https://github.com/son0p/algo-ritmos/blob/master/practicas/200array_children.ck | 200array_children.ck ]] * Haga un ciclo infinito que genere melodías aleatorias con cualquier nota, luego que genere melodías aleatorias pero con unas opciones limitadas de notas, luego que genere melodías aleatorias con unas notas determinadas con más probabilidad en la raiz, menos en la tercera, menos en la quinta, y mínima en la séptima. Solución: [[ https://github.com/son0p/algo-ritmos/blob/master/practicas/alturas_002.ck | alturas_002.ck ]] ==== Densidad / Armonía ==== [[aprendizaje:elementos_compositivos:divulgacion#densidad_armonia|Leer sobre la Armonía]] * Escriba un motor rítmico con bajo y acordes, los acordes deben tener flexibilidad en el número de voces. Solución: [[ https://github.com/son0p/algo-ritmos/blob/master/practicas/300densidad.ck | 300densidad.ck ]] ==== Timbre / Color / Tesitura ==== [[aprendizaje:elementos_compositivos:divulgacion#timbre_textura_color_tesitura|Leer sobre Timbre / Color / Tesitura]] * Hacer que un filtro pasa altos (HPF) altere el la textura de un ruido. * Hacer una generador de armónicos para una onda sinosoidal. ==== Intensidad / Dinámica ==== [[aprendizaje:elementos_compositivos:divulgacion#intensidad |Leer sobre Intensidad / Dinámica]] * Hacer variación aleatoria de la ganancia de un instrumento. * Hacer una función de fade in y fade out. ==== Espacialidad / Ambiente ==== [[aprendizaje:elementos_compositivos:divulgacion#espacialidad |Leer sobre Espacialidad / Ambiente]] * Hacer un ciclo donde la reverberación de un instrumento varíe de manera automática. Solución [[https://github.com/son0p/algo-ritmos/blob/master/practicas/500ReverbDinamica.ck | 500ReverbDinamica.ck]] * Agregarle Delay en tresillos de corchea a un instrumento de percusión ==== Transientes ==== [[aprendizaje:elementos_compositivos:divulgacion#transientes|Leer sobre las Transientes]] * Generador de Envolvente: Aprender a usar el objeto ADSR en ChucK [[http://chuck.cs.princeton.edu/doc/program/ugen_full.html#ADSR|Referencia]] * Modificar Transientes: Construir un bombo usando un generador de Noise para la transiente y un SinOsc en 60hz para el decaimiento del sonido, podríamos adicionalmente hacer que el Noise se modifique variando la Transiente de manera aleatoria. Solución: [[https://raw.githubusercontent.com/son0p/algo-ritmos/master/practicas/700transientes.ck|700transientes.ck]] ==== Innovación ==== [[aprendizaje:elementos_compositivos:divulgacion#innovacion |Leer sobre Innovación]] ==== Síntesis ==== [[aprendizaje:sintesis:start | Leer sobre Síntesis ]] * Hacer que una onda sinusoidal module a otra, y establecer una relación entre la frecuencia del modulador y la del carrier [[https://github.com/son0p/algo-ritmos/blob/master/practicas/900_miniFm.ck | Solución 900_miniFm.ck]]