Journal
Ce journal contient 6 entrées.
AcoustID
AcoustID is a project providing complete audio identification service, based entirely on open source software.
countercomplex: Algorithmic symphonies from one line of code -- how and why?
Synthèse audio en quelques lignes de code. Intéressant, mais il faut aimer la musique 8-bit :p
ChucK => Strongly-timed, On-the-fly Music Programming Language
ChucK est un langage de programmation open-source et multiplateforme, pour la synthèse audio temps réel. Il se présente sous la forme d'une syntaxe spécifique, conçue pour exprimer simplement des opérations de synthèse audio (oscillateurs, effets, etc.) évoluant au cours du temps (logique temporelle) et les connecter les uns aux autres. De plus, le langage offre un modèle de programmation concurrente simple d'emploi.
Un petit exemple tiré de la documentation :
// on crée une signal sinusoïde que l'on connecte au "digital/analog converter"
SinOsc s => dac; // sine oscillator
while(true)
{
// on choisit une fréquence aléatoire entre 30 et 1000 Hz
Std.rand2f( 30, 1000 ) => s.freq;
// on avance de 100 millisecondes dans le temps
100::ms => now;
}
Un petit exemple tiré de la documentation :
// on crée une signal sinusoïde que l'on connecte au "digital/analog converter"
SinOsc s => dac; // sine oscillator
while(true)
{
// on choisit une fréquence aléatoire entre 30 et 1000 Hz
Std.rand2f( 30, 1000 ) => s.freq;
// on avance de 100 millisecondes dans le temps
100::ms => now;
}
AudioSauna - Online Music Software
Un petit outil d'édition de musique en ligne (un peu dans le style de Sonar, mais en plus simple), avec synthétiseur virtuel. Par contre, c'est dommage qu'on ne puisse pas y connecter un clavier MIDI (http://benjaminbillet.fr/news/index.php?link=d5gw2s).
VexFlow - HTML5 Music Engraving
Un "moteur de rendu" de partition de musique écrit en JavaScript.
L'utilisation semble un peu fastidieuse (voir le tutorial ici : http://vexflow.com/docs/tutorial.html) : la partition est une structure à laquelle on ajoute manuellement chaque élément. Ce serait sans doute plus efficace si la partition était directement décrite dans un DSL simplifié ou tout simplement dans un format type XML ou simplement JSON.
L'utilisation semble un peu fastidieuse (voir le tutorial ici : http://vexflow.com/docs/tutorial.html) : la partition est une structure à laquelle on ajoute manuellement chaque élément. Ce serait sans doute plus efficace si la partition était directement décrite dans un DSL simplifié ou tout simplement dans un format type XML ou simplement JSON.
Musical Instrument Digital Interface
J'aime beaucoup le protocole et le format MIDI (Musical Instrument Digital Interface). Beaucoup de gens ne connaissent de ce format que les fichiers .mid et leur horrible rendu synthétique sur nos machines grand public.
En fait, le format MIDI n'est pas un format de stockage d'échantillons audio, mais un format de description musical. Ce n'est ni plus ni moins qu'un tableau qui décrit la note jouée, à quel moment, à quelle hauteur et sur quelle piste.
Grossièrement, un fichier MIDI est une partition là où un fichier mp3 ou flac est un enregistrement (les échantillons sont réellement stockés dans le fichier). C'est pour cela, par ailleurs que les fichiers MIDI ne pèsent que quelques kilo-octets.
Comme toute partition, le fichier MIDI doit être joué par des musiciens pour que le son soit audible, et ce musicien c'est votre carte son. La carte son intègre un synthétiseur capable de simuler des instruments de musique et donc de jouer le fichier MIDI. Sauf que nos cartes son grand public ont un synthétiseur de très mauvaise qualité, d'où l'horrible bouillie sonore produite par nos ordinateurs.
Quel est l'intérêt, demanderez vous ? Eh bien le MIDI est une abstraction de la musique réelle, et qui plus est un protocole de pilotage d'instruments de musique électroniques, qu'ils soient virtuels ou réels. En cela, il est possible d'envoyer ou de recevoir des données MIDI depuis n'importe quel instrument pour peu que celui-ci supporte la norme MIDI.
Et de ce côté là, c'est simplement incroyable. Prenez un synthétiseur virtuel à base d'échantillons (par exemple Symphobia) et votre fichier MIDI sera d'aussi bonne qualité que s'il était joué par un orchestre symphonique.
Mieux encore, vous pouvez connecter votre synthétiseur physique à votre ordinateur et piloter les synthétiseurs virtuels (donc potentiellement tous les instruments échantillonnés ou modélisés possibles et imaginables) grâce un cordon MIDI-USB à 5$.
Mieux encore, le format est si complet et si bien pensé qu'il n'a que très peu évolué depuis des années (et reste, bien entendu, très utilisé par les professionnels). Mon vieux synthétiseur Yamaha DX7 de 1985 est parfaitement compatible avec les logiciels de MAO les plus récents.
Standard MIDI-File Format Specification 1.1 :
https://hostr.co/download/LJUEw0K/midiformat.pdf (sauvegarde ici : http://benjaminbillet.fr/media/midiformat.pdf).
En fait, le format MIDI n'est pas un format de stockage d'échantillons audio, mais un format de description musical. Ce n'est ni plus ni moins qu'un tableau qui décrit la note jouée, à quel moment, à quelle hauteur et sur quelle piste.
Grossièrement, un fichier MIDI est une partition là où un fichier mp3 ou flac est un enregistrement (les échantillons sont réellement stockés dans le fichier). C'est pour cela, par ailleurs que les fichiers MIDI ne pèsent que quelques kilo-octets.
Comme toute partition, le fichier MIDI doit être joué par des musiciens pour que le son soit audible, et ce musicien c'est votre carte son. La carte son intègre un synthétiseur capable de simuler des instruments de musique et donc de jouer le fichier MIDI. Sauf que nos cartes son grand public ont un synthétiseur de très mauvaise qualité, d'où l'horrible bouillie sonore produite par nos ordinateurs.
Quel est l'intérêt, demanderez vous ? Eh bien le MIDI est une abstraction de la musique réelle, et qui plus est un protocole de pilotage d'instruments de musique électroniques, qu'ils soient virtuels ou réels. En cela, il est possible d'envoyer ou de recevoir des données MIDI depuis n'importe quel instrument pour peu que celui-ci supporte la norme MIDI.
Et de ce côté là, c'est simplement incroyable. Prenez un synthétiseur virtuel à base d'échantillons (par exemple Symphobia) et votre fichier MIDI sera d'aussi bonne qualité que s'il était joué par un orchestre symphonique.
Mieux encore, vous pouvez connecter votre synthétiseur physique à votre ordinateur et piloter les synthétiseurs virtuels (donc potentiellement tous les instruments échantillonnés ou modélisés possibles et imaginables) grâce un cordon MIDI-USB à 5$.
Mieux encore, le format est si complet et si bien pensé qu'il n'a que très peu évolué depuis des années (et reste, bien entendu, très utilisé par les professionnels). Mon vieux synthétiseur Yamaha DX7 de 1985 est parfaitement compatible avec les logiciels de MAO les plus récents.
Standard MIDI-File Format Specification 1.1 :
https://hostr.co/download/LJUEw0K/midiformat.pdf (sauvegarde ici : http://benjaminbillet.fr/media/midiformat.pdf).
Ce journal est basé sur Ginger, un gestionnaire de lien minimaliste développé dans le cadre d'un stage de perfectionnement. Pour plus d'informations, consulter le wiki consacré à mes projets personnels.