{"id":481,"date":"2017-08-05T22:01:37","date_gmt":"2017-08-06T04:01:37","guid":{"rendered":"http:\/\/ofeliayorquesta.com\/blog\/?p=481"},"modified":"2017-08-05T22:01:37","modified_gmt":"2017-08-06T04:01:37","slug":"notas-sobre-sampleos","status":"publish","type":"post","link":"https:\/\/ofeliayorquesta.com\/blog\/2017\/08\/05\/notas-sobre-sampleos\/","title":{"rendered":"Notas sobre Sampleos"},"content":{"rendered":"\n<p>Digamos que quisiera componer una pieza, y encima de ella improvisar en Tidal. Hay una serie de problemas importantes que hay que saber manejar, independientemente de la parte creativa. Son preguntas que una persona seguramente se har\u00e1, al querer controlar mejor el proceso y obtener buenos resultados.<\/p>\n<p>Tomemos por ejemplo, mi live Coding Miserable Mix, en el que incorpor\u00e9 varias muestras de audio, de diversas  longitudes, que se corresponden con las secciones de guitarras, el pad, voces o percusiones.  <\/p>\n<p>Es una canci\u00f3n que compuse a 110 pulsos por minuto. As\u00ed que, lo primero que hacer y muy importante es declarar el tempo con el que los samples funcionan correctamente: <\/p>\n<p><code>bps (110\/60)<\/code> o <code>cps(110\/60).<\/code><\/p>\n<p>Al componer la canci\u00f3n, escog\u00ed <code>bps (110\/60)<\/code><\/p>\n<p>y un sampleo de guitarra lo ajust\u00e9 as\u00ed:<\/p>\n<p><code>d4 $ slow 8 $ sound \"guitar:2\"<\/code><\/p>\n<p>Porque la muestra de audio es tan larga que si s\u00f3lo se escribe <\/p>\n<p><code>d4 $ sound \"guitar:2\", <\/code><\/p>\n<p>entonces por cada vuelta del ciclo de tiempo predeterminado, se instancia un sampleo nuevo, que se encima con el anterior, que todav\u00eda no terminaba de leerse en el momento para el que ya comenz\u00f3 el siguiente. As\u00ed que se van traslapando los sonidos.<\/p>\n<p><code>slow 8<\/code> suena bien con ese sonido, pero no significa que el sampleo sea ocho veces m\u00e1s largo que cada ciclo de tiempo en bps. De hecho es veinticuatro veces m\u00e1s largo. Ser\u00eda m\u00e1s correcto escribir:<\/p>\n<p><code>d4 $ slow 24 $ sound \"guitar:2\"<\/code><\/p>\n<p>Pero se escucha mejor con <code>slow 8<\/code>, pues usando <code>slow 24<\/code> se percibe muy abruptamente el momento en que termina el audio. <\/p>\n<p>Otra pregunta: <\/p>\n<p>Si yo quiero hacer un live coding sobre una canci\u00f3n de longitud de, digamos, 360 beats, y tengo un archivo de audio de esa extensi\u00f3n, que quiero incorporar a mi live coding, \u00bfc\u00f3mo me aseguro de que el     archivo suene de principio a fin una y s\u00f3lo una vez?<\/p>\n<p>\u00bfPor qu\u00e9 no usar el siguiente c\u00f3digo:<\/p>\n<p><code>d8 $ slow 720 $ sound \u201c__\u201d ?<\/code><\/p>\n<p>Es una manera. Pero no se tiene control sobre el momento en que empieza el sampleo, y lo que se est\u00e1 haciendo es evitar que el sonido se dispare dos veces, a partir de hacer el ciclo de tiempo del patr\u00f3n lo suficientemente extenso. <\/p>\n<p>Una mejor opci\u00f3n es evaluar<br \/>\n<code><br \/>\ndo {<br \/>\n  now <- getNow;\n  d1 (rotR (now+0.1) $ playFor 0 1 $ s \"dif\")\n}\n<\/code><\/p>\n<p>O alternativamente, definir una funci\u00f3n, para utilizarla varias veces, usando una sintaxis m\u00e1s breve:<br \/>\n<code><br \/>\nlet playOnce dn p = getNow >>= \\x -> dn (rotR (x+0.063) $ playFor 0 1 $ p)<\/p>\n<p>playOnce d1 (s \"dif\")<br \/>\n<\/code><\/p>\n<p>Otra cuesti\u00f3n que frecuentemente llega a la hora de trabajar con sampleos (de mayor longitud que un ciclo) es:<\/p>\n<p>\u00bfC\u00f3mo le hago para recortar una muestra de audio y que se reproduzca s\u00f3lo una parte?<\/p>\n<p>Suelo buscar recortar un sampleo para que se reproduzca desde el inicio, hasta cierta porci\u00f3n del audio, as\u00ed que el par\u00e1metro <code># end<\/code> sirve para este fin. <\/p>\n<p>Por ejemplo:<\/p>\n<p><code>d4 $ slow 24 $ sound \"guitar:2\" # end \u201c0.5\u201d<\/code><\/p>\n<p>est\u00e1 recortado por la mitad. O<\/p>\n<p><code>d4 $ slow 24 $ sound \"guitar:2\" # end \u201c0.25\u201d<\/code><\/p>\n<p>reproduce \u00fanicamente una cuarta parte del sonido, comenzando desde el principio de \u00e9ste. <\/p>\n<p>Pero se puede preferir usar el par\u00e1metro <code># begin<\/code>, para tocar una parte del sampleo, comenzando a partir de una porci\u00f3n especificada de \u00e9ste. Por ejemplo, <\/p>\n<p><code>d4 $ slow 24 $ sound \"guitar:2\" # begin \u201c0.25\u201d<\/code><\/p>\n<p>toca tres cuartas partes del audio, eliminando la primera cuarta parte. <\/p>\n<p>Aunque al hacer un live coding sin mucha planeaci\u00f3n detr\u00e1s, puede que no se tenga mucho control sobre el momento exacto en que las muestras de audio terminan, o m\u00e1s sencillamente, si se gusta cortar un sonido instant\u00e1neamente y que sea sustituido completamente por otro, el par\u00e1metro indicado para esta tarea es <code>#cut.<\/code> <\/p>\n<p>Para ilustrar el funcionamiento de <code>#cut<\/code>, se escucha que es muy distinto el resultado de, sin <code># cut<\/code>, evaluar:<br \/>\n <code><br \/>\nd1 $ slow 8 $ sound \"guitar:2\"<\/p>\n<p>d1 $ sound \"{bd1 ~ ~ bd1, ~ cp ~*2}\" ,<br \/>\n <\/code><br \/>\nque, con <code># cut<\/code> evaluar :<br \/>\n <code><br \/>\nd1 $ slow 8 $ sound \"guitar:2\" # cut \"1\"<\/p>\n<p>d1 $ sound \"{bd1 ~ ~ bd1, ~ cp ~*2}\" # cut \"1\".<br \/>\n<\/code><br \/>\nEn el primer caso, como el sampleo  <code>guitar:2<\/code> es un audio muy largo, a pesar de la evaluaci\u00f3n de un nuevo patr\u00f3n que lo sustituye, <code> guitar:2 <\/code> dejar\u00e1 de sonar una vez recorrido todo el sampleo.<\/p>\n<p>Y en el segundo caso, inmediatamente evaluado el patr\u00f3n <code>{bd1 ~ ~ bd1, ~ cp ~*2}<\/code>, el sonido de la guitarra se calla y es totalmente sustituido por el m\u00e1s reciente. <\/p>\n<p><code>#cut<\/code> es tambi\u00e9n una manera muy \u00fatil de reducir acumulaci\u00f3n de ruidos indeseados en un live coding, porque evita que los audios se traslapen, y as\u00ed, provee transiciones m\u00e1s limpias entre los sampleos. Pero hay que notar que #cut cambia la manera en que suenan los patrones, y es relativo si usar este par\u00e1metro es mejor o peor.<\/p>\n<p>El tempo en Tidal se puede controlar con dos opciones: bps y cps. <\/p>\n<p>Miserable Mix, al ser compuesta, utiliz\u00f3 bps, y si se quiere cambiar a cps, se tienen que cambiar varias cosas del c\u00f3digo. <\/p>\n<p>bps y cps definen casi el mismo pulso. Es decir, el tempo de 110 beats por minuto coincide con escribir<\/p>\n<p><code>bps(110\/60)<\/code> o <code>cps(110\/60).<\/code> <\/p>\n<p>La diferencia radica en que un ciclo de tiempo en tidal definido en bps equivale a la mitad de un ciclo de tiempo en tidal definido en cps.<\/p>\n<p>Por ejemplo, para convertir en cps lo siguiente:<br \/>\n<code><br \/>\nbps(110\/60)<\/p>\n<p>d4 $ slow 24 $ sound \"guitar:2\" ,<br \/>\n<\/code><br \/>\nhabr\u00eda que cambiarse el bps y el slow:<br \/>\n<code><br \/>\ncps(110\/60)<\/p>\n<p>d4 $ slow 48 $ sound \"guitar:2\"<br \/>\n<\/code><br \/>\nPero como observaci\u00f3n, al usar sampleos largos parece ser m\u00e1s conveniente utilizar cps. Pues, adem\u00e1s de que el tiempo en cps coincide con los bpm definidos por un metr\u00f3nomo, se tiene la posibilidad de reiniciar los sampleos, controlando cu\u00e1ndo empiezan, evaluando las cosas en el siguiente orden:<br \/>\n<code><br \/>\nd4 $ slow 48 $ sound \"guitar:2\"<br \/>\ncps(-1)<br \/>\ncps(110\/60)<br \/>\n<\/code><br \/>\nUna pregunta importante si se est\u00e1 trabajando con una canci\u00f3n:<\/p>\n<p>\u00bfCu\u00e1ntos ciclos dura toda la canci\u00f3n? O m\u00e1s precisamente, \u00bfCu\u00e1ntos ciclos en bps o cps le corresponden a una canci\u00f3n de <em>x<\/em> minutos que va a <em>y<\/em> beats por minuto?<\/p>\n<p>Por ejemplo, <\/p>\n<p>\u00bfCu\u00e1ntos ciclos en cps le corresponden a una canci\u00f3n de 4 minutos que va a 120bpm?<\/p>\n<p>\u00bfCu\u00e1ntos ciclos en cps le corresponden a una canci\u00f3n de 4 minutos que va a 90bpm?<\/p>\n<p>\u00bfCu\u00e1ntos ciclos en cps le corresponden a una canci\u00f3n de 4 minutos que va a 180bpm?<\/p>\n<p>Si una canci\u00f3n va a 60 beats por minuto, entonces una canci\u00f3n de 4 minutos ser\u00e1 recorrida en<br \/>\n60 x 4 = 240 beats. <\/p>\n<p>Si una canci\u00f3n de 4 minutos va a 180bpm, entonces la canci\u00f3n completa ser\u00e1 recorrida en<br \/>\n\\begin{align}\\frac{(180)(60)(4)}{60},\\end{align} es decir en 720 beats. <\/p>\n<p>Si una canci\u00f3n de 4 minutos va a 90bpm, entonces la canci\u00f3n completa ser\u00e1 recorrida en<br \/>\n \\begin{align}\\frac{(90)(4)(60)}{60}, \\end{align}es decir en 360 beats.<\/p>\n<p>Y as\u00ed sucesivamente.<\/p>\n<p>Pues bien, s\u00f3lo resta hacer una o m\u00e1s piezas en Tidal, aplicando estos conceptos.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Digamos que quisiera componer una pieza, y encima de ella improvisar en Tidal. Hay una serie de problemas importantes que hay que saber manejar, independientemente de la parte creativa. Son preguntas que una persona seguramente se har\u00e1, al querer controlar mejor el proceso y obtener buenos resultados. Tomemos por ejemplo, mi live Coding Miserable Mix,<\/p>\n","protected":false},"author":1,"featured_media":493,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","footnotes":""},"categories":[26,20,22],"tags":[23,31],"class_list":["post-481","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-livecoding","category-musica-por-computadora","category-tidalcycles","tag-tidalcycles","tag-tutorial"],"uagb_featured_image_src":{"full":["https:\/\/ofeliayorquesta.com\/blog\/wp-content\/uploads\/2017\/08\/x-y-z2.png",1368,1484,false],"thumbnail":["https:\/\/ofeliayorquesta.com\/blog\/wp-content\/uploads\/2017\/08\/x-y-z2-150x150.png",150,150,true],"medium":["https:\/\/ofeliayorquesta.com\/blog\/wp-content\/uploads\/2017\/08\/x-y-z2-277x300.png",277,300,true],"medium_large":["https:\/\/ofeliayorquesta.com\/blog\/wp-content\/uploads\/2017\/08\/x-y-z2-768x833.png",768,833,true],"large":["https:\/\/ofeliayorquesta.com\/blog\/wp-content\/uploads\/2017\/08\/x-y-z2-944x1024.png",900,976,true],"1536x1536":["https:\/\/ofeliayorquesta.com\/blog\/wp-content\/uploads\/2017\/08\/x-y-z2.png",1368,1484,false],"2048x2048":["https:\/\/ofeliayorquesta.com\/blog\/wp-content\/uploads\/2017\/08\/x-y-z2.png",1368,1484,false],"coup-single-post":["https:\/\/ofeliayorquesta.com\/blog\/wp-content\/uploads\/2017\/08\/x-y-z2.png",900,976,false],"coup-archive-sticky":["https:\/\/ofeliayorquesta.com\/blog\/wp-content\/uploads\/2017\/08\/x-y-z2.png",1000,1085,false],"coup-archive":["https:\/\/ofeliayorquesta.com\/blog\/wp-content\/uploads\/2017\/08\/x-y-z2.png",450,488,false]},"uagb_author_info":{"display_name":"Ofelia Negrete","author_link":"https:\/\/ofeliayorquesta.com\/blog\/author\/ofelia-negrete\/"},"uagb_comment_info":157,"uagb_excerpt":"Digamos que quisiera componer una pieza, y encima de ella improvisar en Tidal. Hay una serie de problemas importantes que hay que saber manejar, independientemente de la parte creativa. Son preguntas que una persona seguramente se har\u00e1, al querer controlar mejor el proceso y obtener buenos resultados. Tomemos por ejemplo, mi live Coding Miserable Mix,","_links":{"self":[{"href":"https:\/\/ofeliayorquesta.com\/blog\/wp-json\/wp\/v2\/posts\/481","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ofeliayorquesta.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ofeliayorquesta.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ofeliayorquesta.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ofeliayorquesta.com\/blog\/wp-json\/wp\/v2\/comments?post=481"}],"version-history":[{"count":10,"href":"https:\/\/ofeliayorquesta.com\/blog\/wp-json\/wp\/v2\/posts\/481\/revisions"}],"predecessor-version":[{"id":492,"href":"https:\/\/ofeliayorquesta.com\/blog\/wp-json\/wp\/v2\/posts\/481\/revisions\/492"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ofeliayorquesta.com\/blog\/wp-json\/wp\/v2\/media\/493"}],"wp:attachment":[{"href":"https:\/\/ofeliayorquesta.com\/blog\/wp-json\/wp\/v2\/media?parent=481"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ofeliayorquesta.com\/blog\/wp-json\/wp\/v2\/categories?post=481"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ofeliayorquesta.com\/blog\/wp-json\/wp\/v2\/tags?post=481"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}