ChucK est un langage objet dédié à la création sonore et la composition musicale en temps réel. C'est un "jeune" langage : la première version publique est sortie en 2004, tourné vers le livecoding. A l'origine de ce projet, on trouve Ge Wang, du Soundlab de l'université de Princeton.
Les éléments constituant ChucK sont de 2 types : unités génératrices (UGEN), et unités d'analyse (UANA) permetttant de faire des aller-retour entre analyse du son et synthèse. Parmi les UGEN : sampling en temps-réel, lecture de fichier sonore, oscillateurs (onde sinusoïdale, carrée, en dent de scie, triangulaire, impulsions, etc.), filtres, modélisations physiques d'instrument basés sur la bibliothèque STK (clarinette, moog, FM, cuivres, instruments à corde, générateurs de phonème), générateurs de bruit, reverb, delay, etc. Parmi les UANA : Transformée de Fourier, DCT, RMS.
Dans ChucK, le temps est un type de donnée qui peut-être manipulé, ce qui donne un contrôle très précis sur la durée, le déclenchement des évènements sonores. Chuck peut communiquer en MIDI, OSC par le réseau et récupérer les valeurs HID envoyées par un joystick, par exemple.
Les scripts Chuck sont envoyés à une machine virtuelle, qui les exécute en temps réel, synchronisés entre eux selon des repères temporels manipulables dans le langage. On peut utiliser ChucK directement en ligne de commande, ou en passant par un environnement de programmation (miniAudicle ou Audicle). Pour découvrir ce langage, le méthode la plus simple est de télécharger et d'installer une version de miniAudicle, qui inclut tout ce qu'il faut, et de parcourir le répertoire d'exemples très complet.
site principal : http://chuck.cs.princeton.edu/
le manuel : chuck manual (pdf en anglais)
la thèse de Ge Wang, intéressante à lire pour la partie sur ChucK mais aussi pour un historique de l'évolution de la musique par ordinateur, des origines jusqu'à aujourd'hui (temps réel et livecode)
wiki : http://chuck.cs.princeton.edu/wiki/
forum anglophone : http://electro-music.com/forum/forum-140.html
liste de discussion principale : https://lists.cs.princeton.edu/mailman/ … huck-users (il y en a d'autres)
une présentation complète en vidéo (une heure et demie!) par Ge Wang, en anglais : video
hello world!
L'exemple de base pour chuck :
tutoriels en vrac
communication chuck - processing par OSC (fr)
utiliser chuck en ligne de commande sur windows (fr, 2006)
miniAudicle
Un éditeur de texte pour Chuck intègrant la machine virtuelle, qui permet la saisie et l'exécution de scripts en temps réel.
miniAudicle : http://audicle.cs.princeton.edu/mini/
A gauche, un script chuck, à droite les scripts en cours d'exécution dans la machine virtuelle, en dessous la console de débuguage.
Audicle
Un environnement visuel complet pour chuck, et la compilation musicale "à la volée" avec éditeur, machine virtuelle et différentes vues possibles des "shreds" en cours d'exécution.
Audicle : http://audicle.cs.princeton.edu/
démo :
Hors ligne
Bonjour emoc,
Merci pour ces ressources, un bon aperçu de chuck
et des programmes qui lui sont plus ou moins liés.
Pour la dernière version supportant les pilotes ASIO:
http://electro-music.com/forum/topic-18931-25.html
Cette version semble beaucoup plus stable que les
précédentes.
solipse.
Hors ligne
La documentation de ChucK (en anglais) est dorénavant maintenue sur flossmanuals, sous forme de wiki :
lire : http://en.flossmanuals.net/ChucK/Introduction
écrire : http://en.flossmanuals.net/bin/view/ChucK/WebHome
Hors ligne
Encore quelques ressources supplémentaires pour, et autour de, ChucK :
LiCK (Library for ChucK) http://wiki.github.com/heuermh/lick/ : bibliothèque de fonctions, avec entre autres la possibilité d'utiliser des collections (type arraylist) et des fonctionnalités objets.
CKV, an audio language based on Lua, inspired by ChucK http://ckvlang.org/
ruck, a port of ChucK's strong timing to Ruby : http://github.com/alltom/ruck
Hors ligne
Quelques ressources supplémentaires
Le dépôt de code de Richard Poor : https://github.com/rdpoor/chuck_performance_setup
wekinator
« The Wekinator is a free software package to facilitate rapid development of and experimentation with machine learning in live music performance and other real-time domains. The Wekinator allows users to build interactive systems by demonstrating human actions and computer responses, rather than by programming. » ( source )
« The software is currently in a stable state, and it's usable by anyone who wants to control ChucK, Processing, Unity, Ableton, or pretty much anything else that can be controlled by a stream of OSC messages. These audio/video/etc. systems can be controlled by gesture (Kinect, Arduino, USB game controllers, webcam, ...), audio (e.g. using ChucK audio feature extractors, Max/MSP analyzer~, etc.), or anything else that can extract information about human actions in real-time and pass it to Wekinator via OSC. » ( source )
site : http://wekinator.cs.princeton.edu/
groupe de discussion : http://groups.google.com/group/wekinator-users
Hors ligne
https://class.coursera.org/chuck101-001 … e=week-one
Je suis tombé par hasard sur ce lien(à partir de monome.org).
Même en anglais,ça me parait bien abordable et sérieux.
Hors ligne