SourceLes futurs développeurs n'écrivent pas seulement du code - ils créent une rave algorithmique. Algorave est l'écriture et l'utilisation d'algorithmes qui génèrent de la musique de danse en temps réel devant un public physiquement présent.
La musique générative n'est pas un phénomène nouveau. On sait que même un réseau de neurones est capable de créer une musique difficile à distinguer de l'œuvre d'un compositeur talentueux. Cependant, Algorave a ses propres caractéristiques distinctives.
Si le travail d'un DJ traditionnel est construit autour du mixage correct des pistes (bien sûr, s'il ne tord pas un mixage prêt à partir d'un lecteur flash), les algo-rivers improvisent, font et corrigent les erreurs pendant la performance. En même temps, les livecoders diffusent ce qui se passe sur l'écran du portable.
Sous-culture des programmeurs

La communauté des encodeurs de musique live est diversifiée et désireuse de participer à un large éventail de pratiques artistiques, y compris l'art audiovisuel, la robotique, la danse, la recherche et l'éducation, mélangeant ces pratiques.
Et si, au lieu de percevoir une «rave» comme un «événement», un «divertissement» ou une «fête musicale», la traiter comme un flux d'informations auquel vous pouvez vous connecter en temps réel? Les algo ravers ne sont pas toujours des "ravers" en tant que tels, ils ne se considèrent pas comme "l'avenir de la musique dance", mais s'inspirent de l'esprit "semi-anonyme" jouant pour l'unification culturelle d'une foule anonyme.
Par exemple, les musiciens Aphex Twin et Autechre utilisent depuis longtemps des approches algorithmiques dans leur musique, mais dans un sens plus traditionnel. Ainsi, dans leurs performances, les spectateurs, en plus du code projeté, peuvent observer des effets visuels, et même des robots dansants. Tous les éléments du spectacle n'ont pas besoin d'être enregistrés en direct - la tâche principale est de travailler sur une composante musicale diversifiée.
Presque tous les représentants de cette sous-culture utilisent des logiciels libres et gratuits. Dans des cercles étroits, les applications qui célèbrent le 15e anniversaire évoluent lentement. Cependant, certains musiciens préfèrent écrire des programmes pour eux-mêmes.
Algoreyv devient progressivement un environnement pour l'échange d'idées - n'importe qui peut utiliser tous les logiciels disponibles ou écrire quelque chose vous-même.
Effets visuels et sonores
La plate-forme Hydra génère des effets de pépin visuels.D'un point de vue pratique, tout se passe tout simplement: il charge, par exemple, kitBleepFtech, donne la commande
highGlobalDensity
, et la salle est remplie de basses grondantes. Le musicien crée des bruits séparés (batterie, basse) sur son ordinateur, et un logiciel spécial combine des sons basés sur des algorithmes.
Dans une telle symbiose entre l'homme et la machine, il reste un immense espace de créativité. Si vous essayez de créer la même piste une autre fois, en utilisant les mêmes éléments, la composition vous semblera familière, mais aura une structure différente.
En plus de la musique, une grande attention est accordée à VJ. L'écriture de mixages vidéo en interaction harmonieuse avec la musique est une forme d'art distincte au sein d'une sous-culture.
Ainsi, Hydra, créé à l'aide de WebRTC et WegGL, permet à chaque navigateur, appareil ou personne connecté de produire un signal vidéo ou un flux, ainsi que de recevoir et de modifier des flux provenant d'autres navigateurs, appareils ou personnes. L'API est basée sur une synthèse modulaire analogique, dans laquelle de nombreuses sources visuelles (oscillateurs, caméras, fenêtres d'application) peuvent être converties, modulées et combinées.
Diffusion en direct de Times Square + diffusion de l'aquarium + code dans Hydra:
https://ojack.imtqy.com/articles/hydra/times-square.mp4Dans Hydra, l'élément de base est la conversion des coordonnées en couleur. D'autres fonctions convertissent les coordonnées ou les couleurs.
Démonstration de "l'hydre" lors de l'Algorave lors de la conférence internationale sur le codage en direct, Espagne, Madrid, 2019:
Les environnements de programmation prenant en charge le codage en direct nécessitent la capacité de créer, copier et dupliquer rapidement du contenu audiovisuel, ainsi que de fournir des commentaires aux artistes et au public. Pour ces raisons, de nombreux environnements de codage en direct utilisent des langages spécifiques, uniques et flexibles. Ci-dessous, nous examinerons plusieurs programmes phares d'Algorev.
Faire de la musique
SuperCollider est un moteur audio open source multiplateforme incroyablement puissant et un langage de programmation utilisé pour créer de la musique, générer des effets visuels et un codage en direct. La première version est apparue en 1996. Il est désormais pris en charge et développé par la communauté sous la licence GNU General Public License.
Le langage est orienté objet, basé sur Smalltalk avec la syntaxe C. Le serveur de synthèse SuperCollider fonctionne indépendamment et peut être contrôlé à l'aide d'autres langages, par exemple Haskell.
SuperCollider a trois composants principaux:
- Scsynth est un serveur audio en temps réel. Il dispose de centaines de générateurs (UGens) pour analyser, synthétiser et traiter l'audio. Vous pouvez écrire vos propres UGens en C ++ et les ajouter au référentiel.
- Sclang est un langage de programmation interprété qui se concentre sur le son, mais n'est pas limité à un domaine particulier. Sclang contrôle Scsynth via le protocole de paquet Open Sound Control. Il peut être utilisé pour rechercher de nouvelles méthodes de synthèse sonore, pour connecter l'application à des équipements externes, y compris des contrôleurs MIDI, pour écrire des interfaces graphiques et des affichages visuels, ainsi que pour programmer des expériences. Possède un ensemble d'extensions personnalisées appelées Quarks.
- Scide est un éditeur pour Sclang avec un système d'aide intégré.
ChuckLangage de programmation multiplateforme pour la synthèse sonore en temps réel et la production musicale. ChucK prend en charge la visualisation, le MIDI, l'Open Sound Control, les appareils HID, le son multicanal et a également la possibilité d'ajouter et de modifier du code sans interrompre le processus de génération de musique.
Il est facile à apprendre et offre un puissant outil de programmation pour créer et expérimenter des programmes complexes de synthèse et d'analyse du son en temps réel.
FluxusUn environnement de prototypage rapide pour les graphiques, le son et les jeux 3D. Étend les capacités du langage multi-paradigme Racket à l'aide de commandes graphiques, peut être utilisé dans votre propre environnement de codage en direct ou dans l'IDE DrRacket.
Al-jazariL'environnement de programmation écrit dans Fluxus est un codage en direct à l'intérieur du codage en direct. Il est contrôlé à l'aide d'une manette de jeu, à l'aide d'un langage graphique simple. Il est possible d'envoyer des commandes à des robots à l'écran pour leur interaction et se déplacer sur le terrain rempli de déclencheurs audio. Le code de travail est affiché sous forme de bulles au-dessus de chaque robot et peut être modifié.
Plusieurs utilisateurs peuvent travailler (ou jouer) en même temps (dans la première version, qui est apparue en 2008, quatre personnes pouvaient être en même temps).
Le code, les modèles et les textures Al-Jazari sont publiés gratuitement, cependant, le programme n'est pas destiné à être utilisé comme logiciel fini, par conséquent, pour configurer, vous devez compiler et installer divers programmes utilisateur (voir la page du projet pour plus de détails).
De la théorie à la pratique
Algorev est un art dans lequel les éléments de piratage, de développement de jeu et de cyberpunk sont entrelacés. La communauté de codage en direct encourage l'auto-amélioration, donc tous les outils sont disponibles et constamment mis à jour. Les liens fournis dans l'article, vous trouverez plus d'informations sur la façon de faire vous-même le codage en direct. Vous pouvez également essayer de travailler avec
TidalCycles , un outil pour créer des modèles algorithmiques.