documentation-Estuary

Tutoriales Tutoriales en MiniTidal (TidalCycles), Hydra, y CineCer0

Hydra: Intro

Hydra is a live coding platform for visual synthesis based on visual analog synthesizers. Hydra is an open-source project developed by Olivia Jack.

Hydra in Estuary is a reduced version of Hydra stand-alone.

First step

Go to https://estuary.mcmaster.ca/
Select SOLO MODE.

You will find a workspace with 6 code editors. Each editor has an empty dropdown menu at the top left. Estuary allows you to work with different languages ​​for live coding. You can choose the programming language you want to operate in this menu.

Select Hydra in one of the code editors using the dropdown menu.

Type the following and press the play button (you can also press shift+return/enter to play).

IMPORTANT: be careful with the quotes you use. These have to be of type "", not “” (the latter will generate a syntax error). If you copy and paste the lines of code from this tutorial code from this tutorial, check that they have the correct quotes as they can sometimes be changed.

Change this line osc().out() using other available sources:



Sources

One of the simplest structures of hydra is the following:

Sources are the starting objects/visualizations that you can generate in Hydra:

out() is the function to set the output.

Example:

Source: solid(r,g,b)

solid().out generates a solid with default parameters: (0,0,0,1) = black.

In a digital environment, color composition can be done through different models.

The parameters to create solids in Hydra use the RGB model that takes the primary colors (red, green, blue), modifying the intensity through these three channels from 0 (no colour) to 1 (full colour). The fourth channel: RGBA = “alpha”, which modifies the opacity or transparency.

Examples:

The parameters can be integers (int), numbers with decimals (double), and lists []. The latter will result in a type of discrete modulation (jumping between parameters).

Play around with the parameters!

Source: gradient(speed)

gradient().out() generates a gradient with the default parameter: (0).

The value (speed) modifies the speed of change of the position of colors within the chromatic circle = varies the shades of the gradient.

Examples:

Play around with the parameters!

Source: osc(frecuency, syncronization, offset)

osc().out() generates an oscillator with default parameters: (60,0.1,0).

Oscillators generate periodic signals (in this case color). Frequency modulation produces variations in visible oscillations (a type of gradient line effect): the higher the frequency, the more oscillations.

The second parameter (synchronization) corresponds to the speed of the oscillations.

Examples:

Play around with the parameters!

Source: noise(scale, speed)

noise().out() generates a texture similar to Perlin Noise (or the visible static generated on televisions). Default parameters (10,0.1)

The first parameter (scale) modifies the size of the noise shapes generated. Low parameters = larger scale; high parameters = smaller scale.

Examples:

Play around with the parameters!

Source: voronoi(scale, speed, blending)

voronoi().out() generates a texture from the partition of space with geometric constructions, this is called Thiessen polygons (Voronoi diagram). Default parameters: (5,0.3,0.3).

The third parameter corresponds to the way the geometric constructions are combined. Positive values ​​generate a type of negative (black) space that deforms the polygons. Negative values ​​create a positive (white) space between them.

Examples:

Play around with the parameters!

Source: shape(sides, radius, smoothing)

shape().out() generates a polygon. Default parameters: (3,0.3,0.01)

Ejemplos: