Nous sommes le Sam 21 Juin, 2025 04:37
Supprimer les cookies

ChucK, langage de synthèse sonore

Quand l'esprit du libre pénètre le domaine culturel...

Mar 30 Mai, 2006 18:12

Bonjour,

J'ai récemment rencontré ChucK (pas celui auquel vous pensez :) )

ChucK est un langage pour la synthèse sonore et la musique, qui tente de faire du code un instrument. C'est une démarche originale, en pratique c'est assez rustique car tout est en ligne de commande, du coup on ne se perd pas dans les méandres de l'interface! Le langage intègre une gestion du temps très précise, ce que je ne connaissais pas jusque là (j'ai encore plein de choses à apprendre). Le projet est développé en anglais, j'ai traduit un tutorial qui explique l'installation (sous windows) et les premiers pas pour s'en servir.

Si cela vous intéresse, voila le lien vers le site de ChucK, vers le tutorial ChucK en français, ou vers une présentation un peu plus fournie en français sur mon site.
emoc

Messages : 8
Géo : Quimper

Ven 10 Nov, 2006 09:19

Des nouveautés dans l'univers de ChucK : une nouvelle version (1.2.0.7) vient ajouter des fonctionnalités, en particulier une gestion simplifiée des filtres numériques. MiniAudicle est un environnement pour gérer les scripts ChucK et faciliter la création, c'est effectivement plus convivial que la ligne de commandes!

Il faut aussi compter sur Tapestrea, qui est un nouvel environnement original pour le design sonore, la manipulation du son et la création de paysages sonores artificiels. C'est un logiciel original à la fois graphiquement et par ses principes de fonctionnement, il est en open-source, et s'articule avec le langage ChucK. Pour une présentation en français, voir tapestrea.

Sites officiels : ChucK, MiniAudicle, Tapestrea
emoc

Messages : 8
Géo : Quimper

Ven 08 Déc, 2006 21:29

quesque sa veut dire "la synthèse sonore et la musique" est ce que tu pourai m'expliquer :?:
darkblue

Messages : 34

Sam 09 Déc, 2006 00:57

A mon avis c'est une façon de décrire une partition avec du code. Par exemple lorsque les deux points avec les barres te disent de revenir en arrière, c'est une boucle for en langage en informatique. En gros, ce langage serait au fichier mid ce que le dessin vectoriel est au dessin bitmap. (corrigez moi si j'me plante)
FrihD

Messages : 615

Dim 10 Déc, 2006 13:56

ok merci jai compris


on a pa toujours se que l'on veut mais parfois si
darkblue

Messages : 34

Mar 12 Déc, 2006 13:10

La synthèse sonore, c'est l'ensemble des techniques qui permettent de créer des sons depuis des instruments électroniques. Les synthétiseurs d'il y a 20-30 ans utilisaient des circuits électroniques analogiques (comme dans les synthétiseurs MOOG, ou la boite à rythme TB303), aujourd'hui on utilise plutot des microprocesseurs créés pour cet usage (DSP) pour lesquels on écrit des logiciels (cf : synthétiseurs et synthèse sonore sur wikipedia)

Aujourd'hui il existe de nombreuses techniques de synthèse, dont la complexité mathématique a évoluée avec les capacités des microprocesseurs. Par exemple : la modélisation physique tente de mettre en équation les processus qui sont à l'origine du son (la vibration d'une corde, d'une plaque de métal ou le souffle dans une flûte). Ensuite on peut "jouer" de cet instrument virtuel, cela permet de simuler les instruments traditionnels mais aussi d'en inventer de nouveaux. (cf : l'instrument flute dans ChucK )

Dans ChucK il y a toute une bibliothèque de ce genre d'instruments, mais aussi les oscillateurs de base (onde carrée, en dent de scie, etc.). Tu peux donc utiliser ce langage pour créer des instruments à partir des "briques de base", qui peuvent être joués directement depuis un clavier midi, ou tout autre instrument midi, voire par un joystick ou simplement au clavier.

Dans ce sens, ChucK est juste utilisé comme un synthétiseur.

Mais tu peux aussi l'utiliser pour composer et écrire de la musique, comme disait FrihD plus haut, à la manière d'une partition, en utilisant un ou plusieurs instruments à la fois. A la différence d'une partition, ton "programme" peut être interactif, intégrer par exemple le son venu de micros, le modifier, utiliser des arrangements aléatoires et être modifié au cours du morceau.

Par exemple, voici une partition réécrite "en ChucK" (tirée de http://wiki.cs.princeton.edu/index.php/ChucKing_Scores)

Code: Tout sélectionner
// Westminster chimes

// ChucK program
// Copyright (C) 2006 Pedro López-Cabanillas <plcl@users.sourceforge.net>

// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.

// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.

// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software Foundation, Inc.
// 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.

// patch
TubeBell s => JCRev r => dac;

.9 => s.gain;
.8 => r.gain;
.2 => r.mix;

// MIDI notes
67 => int g;
72 => int C;
74 => int D;
76 => int E;

// Melody
[[C,4],[E,4],[D,4],[g,2],[C,4],[D,4],[E,4],[C,2],
 [E,4],[C,4],[D,4],[g,2],[g,4],[D,4],[E,4],[C,2]] @=> int tune[][];

-6 => int transport;
80 => int tempo;

// Play
for( 0 => int i; i < tune.cap(); i++) {
    std.mtof( tune[i][0] + transport ) => s.freq;
    1.0 => s.noteOn;
    240000::ms / ( tune[i][1] * tempo ) => now;
}



Sur le forum d'electro music il y a un morceau de Terry Riley (compositeur contemporain) réécrit en ChucK : http://www.electro-music.com/forum/topic-14237.html
emoc

Messages : 8
Géo : Quimper

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit