MiniTydal on Estuary

Aspectos generales

Este documento se centra en la versión de Minitidal disponible desde Estuary
Para evaluar (hacer sonar) una línea de código use Shift+Entero el tríangulo

Todos los samples en un patrón (entre comillas) son ejecutados en un ciclo. Así es cómo se distribuye

s "bd"
s "bd sn hh bd"
s "bd sn hh cp arpy drum bd arpy bass2 feel future"

Samples disponibles

Los samples disponibles se pueden encontrar en este repositorio
También se puede observar la lista desde la interface de Estuary haciendo click en "?" y seleccionando entre el menú "Resources"

Samples adicionales

Samples4web Permite exponer samples propios en la web para utilizarlos con Estuary.

Comandos globales

Comandos globales

Estos Comandos globales se lanzan desde la ventana terminal/chat y sirven para configurar aspectos globales como el tempo.

Cambiar tempo o los ciclos por segundo

En la ventana Terminal/chat

> !setbpm 100
> !setcps 1

Mini notation

a mininotación es el nombre de una notación especial que se utiliza para escribir patrones de varios tipos ( notas , muestras , parámetros ). Para utilizar la mininotación, utilice una cadena delimitada por comillas: "". Internamente, la mininotación se analiza y se entiende como un atajo para una función que, de otro modo, podría escribir utilizando composiciones de funciones más largas.

-- o silence sirven para silenciar lo que esté sonando.

Símbolo Descripción Ejemplo Equivalente
~ Crea un silencio s "~ hh"
[] Crea una agrupación de patrones s "[bd sd] hh" fastcat [s "bd sd", s "hh"]
. Abreviatura para agrupación de patrones s "bd sd . hh" d1 $ s "[bd sd] [hh hh hh]
, Patrones simultáneos s "bd sd, hh hh hh" stack [s "bd sd", s "hh hh hh"]
* Repite un patrón determinado número de veces s "bd*2 sd" s "[bd bd] sd"
/ Ralentiza un patrón s "bd/2" s (slow 2 $ "bd")
| Selección aleatoria con igual probabilidad s "[bd | cp | hh]"
< > Alternar entre patrones s "bd <sd hh cp>" slow 3 $ s "bd sd bd hh bd cp"
! Replicar patrones creando nuevos pasos s "bd!3 sd" s "bd bd bd sd"
_ Elongar un patrón s "bd _ _ ~ sd _" Patrón resultante (0>1/2)|s: "bd" (4/6>1)|s: "sd"
@ Elongar un patrón s "superpiano@3 superpiano" s "superpiano _ _ superpiano"
? Remover eventos del patrón aleatoriamente con una probabilidad de 1/2. Para otra probabilidad se usa un número después de ? s "bd? sd"
s "bd hh? bd hh?0.8"
d1 $ fastcat [degradeBy 0.5 $ s "bd", s "sd"]
: Seleccionar samples. Al introducir el nombre de una muestra de audio, en realidad estás introduciendo el nombre del archivo folderque la contiene. s "bd:3"
() Secuencias euclidianas s "bd(3,8)" euclid 3 8 $ s "bd"
Secuencias polimétricas s "{bd bd bd bd, cp cp hh}" 2nd pattern wraps: stack [ s "bd*4", s "cp cp hh cp" ]
% Indicar radio numérico s "bd*4%2" s "bd*2" or d1 $ s "[bd*4]/2"
{ }% Subdivisión de secuencia polimétrica s "{bd cp hh}%8" Pattern wraps: d1 $ s "bd cp hh bd cp hh bd cp"
n Permite elegir un sonido de la carpeta en secuencia s "alphabet*6" # n "0 3 10 2 7 8"
irand Permite trabajar con aleatoriedad jux rev $ s "alphabet*6" # n (irand 20) # cutoff (range 100 5000 sine)
Infinitas subdivisiones

Se pueden usar infinitas capas de subdivisión.

"[bd [hh [cp sn:2] hh]] bd bd bd"

Superposición de patrones

Puedes tocar varios patrones al mismo tiempo dentro de un patrón. Esta es una de las formas más intuitivas de trabajar con la superposición/polifonía. Estos patrones tienen las 4 muestras sonando juntas, pero con diferentes subdivisiones rítmicas. El segundo patrón es una sección rítmica completa.

s "[bd*2,hh*3,[~ cp]*2, bass]"  
s "[bd*3,hh*4,[~ cp]*2, bass*4]"
Consejo

Asegúrese de encerrar su patrón entre corchetes ( []) si desea utilizar la superposición en el nivel superior.

Melodías

Note cambia la altura de un sample

jux rev $ s "alphabet*6" # note (irand 20) # cutoff (range 100 5000 sine)
jux rev $ s "juno*6" # note (irand 20) # cutoff (range 100 5000 sine)
Notas

Los números de 0-11 corresponden a las notas de una escala cromática

Para cambiar los patrones en el tiempo puede usarse la notación nota/cantidad de ciclos. La nota se tocará cada vez que se cumple la cantidad de ciclos.
note "0 2/3 4/2 6/4 8 ~" #s "gtr"

También se puede secuenciar para generar melodías

note "0 2 4 6 7 9 11" # s "gtr"
Más de una octava

Se puede exceder la 8ava usando números más grandes

note "0 2 4 6 7 9 11 13 15" # s "gtr"
cifrado

Tambien se pueden escribir las melodías usando cifrado.

note "c e g a" # s "gtr"

Escalas

Se pueden utilizar determinadas escalas

note (scale "harmonicMinor" "0 1 2 3 4 5 6 7") # s "gtr"
note (scale "bartok" "0 1 2 3 4 5 6 7") # s "gtr"  
note (scale "major" "0 1 2 3 4 5 6 7") # s "gtr"
s "juno*8" # note (scale "major" "0 .. 7")

Las escalas disponibles (a las cuales se pueden agregar otras, son)

minPent majPent ritusen egyptian kumai hirajoshi iwato chinese indian pelog prometheus scriabin gong shang jiao zhi yu whole wholetone augmented augmented2 hexMajor7 hexDorian hexPhrygian hexSus hexMajor6 hexAeolian major ionian dorian phrygian lydian mixolydian aeolian minor locrian harmonicMinor harmonicMajor melodicMinor melodicMinorDesc melodicMajor bartok hindu todi purvimarva bhairav ahirbhairav superLocrian romanianMinor hungarianMinor neapolitanMinor enigmatic spanish leadingWhole lydianMinor neapolitanMajor locrianMajor diminished octatonic diminished2 octatonic2 messiaen1 messiaen2 messiaen3 messiaen4 messiaen5 messiaen6 messiaen7 chromatic bayati hijaz sikah rast saba iraq

Armonías

Este ejemplo ilustra como utilizar acordes:

slow 2 $ note "c'maj7 f'maj7" # s "gtr"

Acordes disponibles

major maj aug plus sharp5 six 6 sixNine six9 sixby9 6by9 major7 maj7 major9 maj9 add9 major11 maj11 add11 major13 maj13 add13 dom7 dom9 dom11 dom13 sevenFlat5 7f5 sevenSharp5 7s5 sevenFlat9 7f9 nine eleven 11 thirteen 13 minor min diminish ed dim minorSharp5 msharp5 mS5 minor6 min6 m6 minorSixNine minor69 min69 minSixNine m69 mSixNine m6by9 minor7flat5 min7f lat5 m7flat5 m7f5 minor7 min7 m7 minor7sharp5 min7sharp5 m7sharp5 m7s5 minor7flat9 min7flat9 m7flat9 m7f9 minor7sharp9 m in7sharp9 m7sharp9 m7s9 diminished7 dim7 minor9 min9 m9 minor11 min11 m11 minor13 min13 m13 one 1 five 5 sus2 sus4 seven Sus2 7sus2 sevenSus4 7sus4 nineSus4 ninesus4 9sus4 sevenFlat10 7f10 nineSharp5 9s5 m9sharp5 m9s5 sevenSharp5flat9 7s5f9 m7sharp5flat9 elevenSharp 11s m11sharp m11s

Arpegios

note (arp "up" "<a'min7 e'dom7>") # s "gtr"
Modos de arpegio disponibles

up down updown downup converge diverge disconverge pinkyup pinkyupdown thumbup thumbupdown

Efectos

Comando Descripción Ejemplo
rev Toca el patrón en reversa rev $ s "[[bd sn] cp]"
slow, fast Desacelera o acelera, depende del factor, si es menor que 1, o mayor que 1. slow 0.5 $ sound "[[bd sn] cp]"
jux Asigna cualquier efecto solo a un canal del stereo jux rev $ fast 2 $ s "[[bd sn] cp]"
brak Redistribuye los sonidos, un ciclo normal, luego medio ciclo, luego 1/4 de ciclo. Cada ciclo querdaría así: Each cycle does this: s "<[feel feel:3][~ feel feel:3 ~]>" brak $ sound "feel feel:3"
chop Corta los samples chop 8 $ s "newnotes:2 newnotes:3 newnotes:4"
striate Es un tipo de granulador que corta las muestras en trozos de forma similar a un picador, pero los trozos resultantes se organizan de forma diferente. striate 8 $ s "newnotes:2 newnotes:3 newnotes:4"
Stut applies a type of delay to a pattern. It has three parameters, which could be called depth, feedback and time. Depth is an integer and the others floating point. stut 4 0.5 0.8 $ sound "bd sn"

Los efectos se pueden aplicar selectivamente. Por ejemplo:
Toque en reversa solo algunas veces

sometimes (rev) $ s "[[bd sn] cp]"

Reverse cada 5 ciclos

every 5 (rev) $ s "[[bd sn] cp]"

O combinar velocidades...

every 4 (slow 0.5) $ every 6 (slow 2) $ s "[[bd sn] cp]"

También se puede secuenciar el comportamiento de las funciones

`every "<3 4 5>" (fast "2 4 3") $ s"newnotes:2 newnotes:3 newnotes:4"`

`slow 2 $ chop "<3 10 20 4 2>" $ s "newnotes:2 newnotes:3 newnotes:4"`

`striate "<2 10 2 4>" $ s "newnotes:2"`

Efectos de audio

Se pueden combinar, ejemplo:

s "rave*3" # gain "0.7" # cutoff "200"

Rave significa Realtime audio variational auto encoder, luego el cambio de ganancia y luego el corte en 200 Hz.

Los parámetros de lso efectos también se pueden secuenciar.

s "rave*3" # gain "0.7 1 1.5" # cutoff "<200 4000 20000>" # pan "0.25 0.5 0.75"
 

Se pueden automatizar usando funciones, ejemplo:

"0.7 1 1.5" # cutoff "<200 4000 20000>" # pan sine

sin, tri, saw tienen un rango predefinido entre 0-1. Ese rango se puede cambiar:

s "rave:2*3" # gain "0.7 1 1.5" # cutoff (range 50 10000 sine) # pan rand

Otros ejemplos de efectos:
Vowel es un filtro de formantes

s "moog*5" # vowel "u a i e o"

Con el corte podemos cortar una muestra para que solo dure un ciclo (para que no se superpongan muestras más largas)

`s "moog*5" # vowel "u a i e o" # cut 1`

`s "rave:1*3" # gain "0.7 1 1.5" # cutoff (range 50 10000 sine) # pan rand # cut 1`

Secuencias euclidianas

os ritmos euclidianos son ritmos obtenidos a partir del máximo común divisor de dos números. Fueron descritos en 2004 por Godfried Toussaint , un informático canadiense.

Un ritmo euclidiano distribuirá el primer número de pulsaciones entre el segundo número de pasos que se deben completar. Con Tidal, puedes crear ritmos euclidianos agregando un evento seguido del (x,y)indicador xycorrespondiente a los números descritos anteriormente.

s "[bd(3,8), cp(2,8), hh(7,8), bass:1(7,16)]"
s "[bd(5,8), cp(4,8), hh(7,8), bass:1(7,16)]"
s "[bd(5,8), cp(1,8)?, hh(7,8), bass:1(8,16)]"
Ritmos de músicas tradicionales generados con secuencias euclidia

(2,5) : A thirteenth century Persian rhythm called Khafif-e-ramal.
(3,4) : The archetypal pattern of the Cumbia from Colombia, as well as a Calypso rhythm from Trinidad.
(3,5,2) : Another thirteenth century Persian rhythm by the name of Khafif-e-ramal, as well as a Rumanian folk-dance rhythm.
(3,7) : A Ruchenitza rhythm used in a Bulgarian folk-dance.
(3,8) : The Cuban tresillo pattern.
(4,7) : Another Ruchenitza Bulgarian folk-dance rhythm.
(4,9) : The Aksak rhythm of Turkey.
(4,11) : The metric pattern used by Frank Zappa in his piece titled Outside Now.
(5,6) : Yields the York-Samai pattern, a popular Arab rhythm.
(5,7) : The Nawakhat pattern, another popular Arab rhythm.
(5,8) : The Cuban cinquillo pattern.
(5,9) : A popular Arab rhythm called Agsag-Samai.
(5,11) : The metric pattern used by Moussorgsky in Pictures at an Exhibition.
(5,12) : The Venda clapping pattern of a South African children’s song.
(5,16) : The Bossa-Nova rhythm necklace of Brazil.
(7,8) : A typical rhythm played on the Bendir (frame drum).
(7,12) : A common West African bell pattern.
(7,16,14) : A Samba rhythm necklace from Brazil.
(9,16) : A rhythm necklace used in the Central African Republic.
(11,24,14) : A rhythm necklace of the Aka Pygmies of Central Africa.
(13,24,5) : Another rhythm necklace of the Aka Pygmies of the upper Sangha.

También puede especificar un tercer número para la secuencia. Esto proporciona un desplazamiento, desplazando el patrón hacia la izquierda la cantidad de pasos. Por ejemplo, (3,8,1)desplazará la secuencia hacia la izquierda en uno de los 8 pasos especificados.

x ~ ~ x ~ ~ x ~ (3,8)
~ ~ x ~ ~ x ~ x (3,8,1)
~ x ~ ~ x ~ x ~ (3,8,2)
x ~ ~ x ~ x ~ ~ (3,8,3)

A continuación se muestra cómo se puede tener una secuencia euclidiana distribuida en diferentes muestras:

d1 $ s "east(4,7)" # n "2 3 0 5"
d1 $ s "east(4,7)" # n (irand 8)

Variación euclidiana

La distribfunción proporciona una manera sencilla de obtener variación rítmica con patrones euclidianos. Con 2 entradas, distribserá igual que la secuencia euclidiana. Por lo tanto, distrib [9,16]es igual que euclid e(9,16). Distrib agrega una entrada adicional para especificar la cantidad de pulsos euclidianos que se reproducirán. Debe colocar ese número primero o último.

-- these two are the same
d1 $ distrib [9,16] $ sound "east:2"
d2 $ "e(9,16)" # sound "east:2"

-- distributes across 5 of the euclid 9/16 beats
d1 $ distrib [5, 9,16] $ sound "east:2"

-- plays only the first 5 of the euclid 9,16 pattern
d1 $ distrib [9,16, 5] $ sound "east:2"

Secuencias polimétricas

La creación de secuencias polimétricas es una actividad bastante avanzada que se puede realizar con la mininotación Tidal{} . Para ello, encierre el patrón entre llaves ( ). En el primer ejemplo, los patrones de 3 y 4 notas suenan juntos. El patrón de 4 tiempos se envuelve y se escucha la muestra de cr en diferentes partes del patrón de 3 tiempos.

s "{bd sd stab, cp arpy cr arpy}"
s "{bd*2, hh*4, bd hh 808:4}"

Referencias