Participez à la programmation musicale - des langages qui vous aideront à le faire

Dans l'un des documents précédents, nous avons écrit sur Sporth, développé pour diriger des sessions de musique live. Aujourd'hui, nous allons parler d'un autre outil de «programmation musicale» - le langage Csound . Et parlons de ses homologues - SuperCollider et Pure Data .


Photo Escape Artiste / Unsplash

Comment Csound est apparu


Ce langage vous permet de résoudre les problèmes de traitement des signaux audio et est un outil populaire pour la « programmation musicale ». Ce terme fait référence au processus d'écriture de pistes à l'aide d'appareils électroniques: séquenceurs, synthétiseurs et logiciels.

L'histoire de Csound remonte au milieu du siècle dernier. Il est le descendant direct de la famille de langues MUSIC-N , dont la première version a été introduite en 1957 par l'ingénieur Max Mathews des Bell Labs. MUSIC est considérée comme l'une des premières solutions pour la génération d'ondes sonores numériques. Avec son aide, les compositions « The Silver Scale » et « The Pitch Variations » ont été écrites . Les deux œuvres appartiennent à ingénieur acoustique et linguiste Newman Guttman, qui fut le premier programmeur musical de l'histoire.


Au fil du temps, les possibilités de MUSIC se sont élargies: de nouvelles versions de la langue sont apparues et la base d'utilisateurs a augmenté. Au milieu des années 80, les capacités du système ont attiré Barry Vercoe, un spécialiste des MIT Media Labs. En utilisant les réalisations de collègues de Bell Labs, il a réalisé son langage et l'a nommé Csound . Il a écrit le compilateur en C et a décidé de tout distribuer sous la licence GNU LGPL. Le système est toujours pris en charge et étendu par des modules de traitement du signal.

Caractéristiques linguistiques


Pour générer du son , des opcodes spéciaux sont utilisés ici . Ces codes sont nécessaires pour identifier les instruments dans un fichier d' orchestre numérique . Par exemple, pour inclure un oscillateur dans un orchestre, écrivez simplement la commande suivante:

a1 oscil 10000, 440, 1

Trois arguments sont respectivement l'amplitude, la fréquence et la forme d'onde.

La liste des notes à jouer est placée dans un fichier de partition distinct , créé dans un éditeur de texte standard. Ensuite, le compilateur organise la partition en fonction du temps, calcule les valeurs des tables d'ondes et joue la musique.

Si vous le souhaitez, les fichiers d'orchestre et de partition peuvent être combinés en un seul avec des balises spéciales. Le wiki donne un exemple du contenu d'un tel document - il génère une onde sinusoïdale d'une seconde d'une fréquence de 1 kHz.

<CsoundSynthesizer>

  <CsOptions>
    csound -W -d -o tone.wav
  </CsOptions>

  <CsInstruments>
    sr     = 96000           ; Sample rate.
    kr     = 9600            ; Control signal rate.
    ksmps  = 10              ; Samples per control signal.
    nchnls = 1               ; Number of output channels.

    instr 1
    a1     oscil p4, p5, 1   ; Oscillator: p4 and p5 are the arguments from the score, 1 is the table number.
    out a1                   ; Output.
    endin
  </CsInstruments>

  <CsScore>
    f1 0 8192 10 1           ; Table containing a sine wave. Built-in generator 10 produces a sum of sinusoids, here only one.
    i1 0 1 20000 1000        ; Play one second of one kHz at amplitude 20000.
    e
  </CsScore>

</CsoundSynthesizer>

Si vous voulez mieux connaître cette langue, alors, selon les habitants de Hacker News, cela est assez facile. Vous pouvez commencer par une documentation officielle détaillée ou vous référer à la littérature sujet .

Qui utilise


Le DJ américain Brian Transeau travaille avec Csound , qui a écrit la musique de Need for Speed: Underground et les films Blade 2, The Fast and the Furious. Avec l'aide de ce PL, il a écrit le morceau " All That Makes Us Human Continues " de l'album "This Binary Universe".


Ce PL a également été utilisé par le compositeur suédois Tobias Enhus, dont le travail peut être entendu dans le film Black Hawk. En utilisant ce système, il a écrit le morceau " Electric Priest ".

Le langage était également utile pour la mise en œuvre de projets scientifiques et de recherche. Des spécialistes de l'Université norvégienne des sciences de la vie et de l'ingénierie ont développé des effets personnalisés pour découvrir de nouvelles méthodes d'écriture musicale.

Solutions alternatives


La famille de PLs MUSIC est devenue l'ancêtre non seulement pour Csound, mais aussi pour d'autres systèmes de génération de sons. Parmi eux, SuperCollider et Pure Data .

SuperCollider est un environnement virtuel pour la synthèse audio en temps réel. En 1996, il a été développé par James McCartney (James McCartney) et publié dans le domaine public . Au fil du temps, plusieurs autres ingénieurs ont rejoint le projet, qui le soutiennent toujours - sur GitHub, SuperCollider a plus de 3 000 étoiles .

SuperCollider a de nombreuses possibilités d'expression personnelle, il est donc utilisé par un assez grand nombre de compositeurs . Par exemple, le musicien américain Jeremy van Buskirk (Jeremy Van Buskirk ) a écrit « A Sigh Felt Across The Earth » sur SuperCollider , et Mark Ballora, professeur à l'école de musique de l'Université de Pennsylvanie, a présenté le titre « Singularity ».

On pense que le développement complet de SuperCollider prendra beaucoup de temps. Bien que les didacticiels vidéo officiels sur YouTube et d' autres guides vous aideront certainement dans cette tâche .


Photo Escape Artiste / Unsplash

ConcernantPure Data, il s'agit d'un langage de programmation visuel pour la mise en œuvre d'œuvres multimédias interactives. Il s'agit d'un analogue ouvert de l'utilitaireMax / MSP. Il est basé sur les flux de données traversant les objets et les connexions entre eux. Pour cette raison, un programme sur Pure Data est appelé un patch - similaire aux synthétiseurs modulaires, où les connexions ont été faites avec des cordons de patch.

Des exemples d'œuvres vendues à l'aide de Pure Data sont disponibles sur YouTube. Par exemple, le travail de Rino Petrozziello (Rino Petrozziello), qui s'appelle "Algorithmic Music". Plus d'exemples sontsur le site officiel.



« Hi-Fi»:

Sporth — live-
:

:
:



:




All Articles