CodeSounding : généré par ordinateur des sons de la musique d’une structure de code source


Original: http://www.codesounding.org/

 

CodeSounding est un framework de live.

  • chaque approche axée sur le MIDI ne permet pas un vrai mixage ; Il est possible de jouer des deux instruments sur le même temps, mais vous ne pouvez pas modifier un timbre sur en temps réel (sauf à l’aide de pitch bend messages, bien que cela affecte seulement la fréquence). C’est pourquoi une approche différente pourrait être d’écrire directement dans un tampon audio – dans notre cas, nous écrivons dans une mémoire tampon de JACK. Cela permet un contrôle plus précis de la vague et une synchronisation du bon code, mais nécessite d’écrire un algorithme de synthèse personnalisée à la main.
  • Enfin, pour permettre à un plus grand contrôle sur la synthèse sonore en temps réel, nous exploitons des solutions axées sur le les générateurs de signaux:
    • avec JSyn personnes axées sur la programmation peuvent déclencher des sinusoïdes, filtres, etc. sans quitter l’environnement Java. Notez que JSyn n’est pas un logiciel open source.
    • musiciens et gens axés sur le GUI peuvent utiliser Max/MSP (commercial) ou Pure Data (open source) afin de rendre les patchs visuels et exploiter les objets existants. Les interactions avec CodeSounding sont basées sur les paquets UDP, envoyés aux différents ports, pour la sonification puisse vivre sur une autre machine. En tout cas, il stayes sur un processus séparé.
  • Il est également possible d’étendre par programme le cadre à tous les niveaux, par exemple en sous-classant la codesounding.SilentProcessor classe.

    ABC Goffman JACK

    De code source                   Partition musicale

     

    Exemples de vidéo

    • CodeSounding peut déclencher un patch Max/MSP, via UDP ; ici, je suis sonifying les algorithmes suivants (de http://www.algolist.net/Algorithms/) :
      • Tri à bulles
      • Sorte de sélection
      • Tri d’insertion
      • Quicksort

     

     

    • Tente CodeSounding avec JSyn : chaque millième déstiné de Java déclenche une oscillation enveloppée (de 50 ms), avec chaque instruction ayant une fréquence différente. Enfin, ils sont ajoutés et ont rayonné. Faders vous permettent de modifier les fréquences des oscillateurs, combien d’instructions sont ignorées et enveloppe de grains. En outre, les instructions ignorées échelle l’amplitude de chaque oscillateur.

     

    • Données de codesounding peut être tiré par un serveur audio JACK :