[MCP] Un peu de théorie avec les SysEx

Entrons dans le vif du sujet: le détail du protocole!

Comme annoncé dans mon article précédent, le controleur et le DAW (STAN en français) dialoguent entre eux via MIDI, et plus particulièrement via des messages de controle MIDI ou des SysEx.

Si les données transmises ou reçues font plus que 3 bytes, alors le protocole utlisera des SysEx, sinon des messages MIDI «standards» seront utilisés.

Tout les bytes transmis sont noté en utilisant le format Hexadécimal (0xF0, 0x6C par exemple). Toutes les infos que je présente ici sont dispo en anglais, et peut-être un peu moins détaillée dans le Manuel LogicControl

Les messages SysEx

Ceux-ci commencent par un 0xF0 indiquant un début de trame.

La trame commence par un header de 5 bytes comme par exemple F0 00 00 66 00 :

  • F0 : début de la trame SysEx,
  • 00 00 66 : id du fabricant (mackie)
  • 00 : id du produit (je suppose)

Dans la suite de cet article, je simplifierai ce header en <hdr>

Afficher des données sur l’écran LCD

  • Tous les messages concernant le LCD commencent par le <hdr> suivi du byte 0x12.
  • Le byte suivant détermine la position à laquelle le message devra être affiché.
  • Le texte du message arrive ensuite (généralement 6 caractères)
  • Enfin, le message SysEx termine avec le byte 0xF7.

 

La surface MCU possède 8 pistes à controler et un écran LCD sur lequel il est possible d’afficher 2 lignes de 56 caractères. Un rapide calcul nous permet de determiner que chaque piste nous permettra d’afficher 7 caractères.

Chaque position de caractère est identifié par une valeur Hexa:

  • allant de 0x00 à 0x37 (soit 56 valeurs) pour la première ligne,
  • et de 0x38 à 0x6F pour la seconde ligne.

Soit une représentation:

lcd_representation
Cliquer pour agrandir

 

Prenons l’exemple d’un SysEx:

F0 00 00 66 00 12 38 ***4C 35 30 52 35 30 20*** FC
 <hdr>          |   \_position                    \_end of SysEx
           LCD message

 

  • 5 chars : F0 00 00 66 00  qui correspond à l’identifiant du device,
  • 12 : qui indique le début du message LCD
  • Puis : 38 4C 35 31 52 34 39 20 8
  • Donc: à partir de l’offset 38 (2e ligne, 1er caractère) on doit donc afficher :
SysEx 4C 35 31 52 34 39 20
Affiche L 5 1 R 4 9 (espace)

 

Si vous suivez jusque là, on a donc un affichage de Panoramique (PAN)  sur la 2e ligne, 1er afficheur : L51 R49  (j’ai du me rater dans le DAW pour faire un PAN pareil icon_redface.gif )

 

La suite la prochaine fois avec un peu de mise en pratique! 😀

[MCP] Introduction au protocole Mackie Control

Retour inatendu sur le blog, cet article est le début d’une petite série concernant la réalisation d’une surface de contrôle pour DAW via le protocole Mackie Control, largement utilisé dans le milieu audionumérique.

Un peu d’histoire (quelque peu simplifiée, je vous l’accorde):

Quelques années en arrière, et encore maintenant, dans un studio d’enregistrement/mixage/mastering on avait une grosse console analogique au centre et des périphériques audio (analogiques toujours) reliés à celle-ci pour appliquer des effets et autres traitements. Les puristes diront que c’est la seule configuration viable, et la seule qui retranscrit le vrai son. Les principaux problèmes de cette configuration, c’est son prix (la somme du matériel contenu dans un studio pro peut facilement dépasser les 100 000€), son encombrement et son poids. Autre inconvénient de taille, c’est que si on veut pouvoir retravailler un morceau dans le futur, il faut avoir pris soin de noter tous les réglages pour tous les équipements utilisés (je vous laisse imaginer un projet avec plus de 40 pistes, avec chacune plusieurs processeurs d’effets: compresseur, reverbe, echo et j’en passe…)

MSR Studio
Le MSR Studio à New York

 

Avec l’arrivée des ordinateurs, on a résolu beaucoup de ces problèmes, tout peut être réalisé numériquement dans le DAW, ce qui permet bien souvent d’ajouter un nombre illimité de pistes et de traitements audio. Le gain de place est énorme, il suffit d’une carte son (avec suffisamment d’entrées pour les enregistrements multipistes comme pour la batterie par exemple), d’un système d’écoute et d’un ordinateur. Il est également très facile de rappeler une session de travail.

Le principal inconvénient à la configuration dite « in the box », c’est qu’il faut tout faire à la souris, ou avec des raccourcis claviers. Quand on doit faire des automations (changements de paramètres en temps réel) ou modifier le volume de plusieurs pistes à la fois, c’est pas pratique.

Pour palier à ça, les ingénieurs on créé des surfaces de contrôle, qui ressemblent grandement à des tables de mixages traditionnelles, mais sans le traitement audio.

Une surface de contrôle permet juste d’envoyer la position et la valeur des paramètres au logiciel et inversement si les potentiomètres de celle-ci sont motorisés.

SSL Nucleus
La surface de contrôle SSL Nucleus

Le protocole en question:

La communication entre l’ordinateur et la surface de contrôle se fait via MIDI, qui est basiquement de la communication série un peu boostée.

Le MIDI étant assez limité dans sa version de base, le constructeur Mackie a créé un protocole pour faire passer des informations plus « concrètes » (comme du texte, des états de voyants, des actions permettant de contrôler en détail les logiciels de musique) entre ses surfaces de contrôle et le DAW. C’est ainsi qu’est né le protocole Mackie Contrôle.

Mackie Control
Mackie Control

Le protocole utilise des messages MIDI standards, tels que le Control Change (CC), NoteOn, NoteOff, AfterTouch etc.  Mais aussi des messages SysEx qui embarquent des messages beaucoup plus gros.

Le protocole est propriétaire, mais à la suite d’une « erreur » de la part d’Apple, qui a documenté la surface de contrôle Mackie HUI pour son OS en y joignant une annexe avec la description MIDI détaillée, le protocole a fuité, et beaucoup de constructeurs ont commencés à le réutiliser pour leur matériel. C’est alors devenu une référence pour beaucoup de fabricants de surfaces de contrôle actuelles, allant des moins chères (Behringer entre autres), aux moins abordables (Avid, SSL nucleus).

 

Je m’arrête là pour cette introduction, dans le prochain article, on jettera un œil aux données qui transitent via ce protocole!

Shruthi-1 : Comment allier open-source, musique et électronique!

Je ne finirai jamais de me réjouir de la quantité de projets open-source sur le net!

Comme vous l’aurez compris, j’aime plutôt bien le libre, la musique et de plus en plus l’électronique, et à l’occasion d’une recherche sur le net, j’ai trouvé le Shruthi-1!

Shruthi
Le Shruthi dans sa belle boite!

Le Shruthi est un synthé hybride numérique et analogique. Celui-ci est monophonique mais permet d’obtenir une très large palette de sons pour tout les goûts!  De la grosse basse funky, aux vieux sons de jeux comme sur un Commodore 64 ou une NES, en passant par des son étranges, évolutifs et séquencés. Il a tout pour ravir les amateurs de synthèse sonore!

Comme précisé sur le site, le Shruthi n’est pas vendu de manière industrielle et c’est pas vraiment du plug and play out-of-the-box. Le principe, c’est de tout faire soit même, avec ses petites mimines, ainsi que de l’équipement de base pour tout bidouillage: un fer à souder avec de l’étain, et un tourne-vis. Un voltmètre est toujours pratique, surtout pour les tests, mais pas indispensable.

Même sans grandes connaissances en électronique, c’est  assez facile à réaliser, ça demande rigueur et patience certes. Il m’aura fallu 2-3h pour finir la carte contrôleur  et un peu plus de 3h pour la carte filtre SMR4

Même les débutants peuvent le faire!

Il est possible d’acheter le kit, qui comprend tout ce qu’il faut pour réaliser la carte contrôleur, une carte filtre et la boite.

Mais l’envie vous prend d’explorer de nouvelles sonorités, il est tout à fait possible de prendre ces éléments séparément et d’y changer la carte filtre par une des autres proposées ou par une de votre cru (là, ça sort de mes compétences).

Et vu que c’est un projet open-source, et bien, les schémas, les typons et le code sont disponible librement 🙂  Très bien documenté, commenté et présenté en plus!

Bref, pour moins de 200 euros, vous avez un synthé qui n’a rien à envier aux grandes pointures du domaine, et en plus il y a toujours le plaisir de le faire sois même et de contribuer au monde du libre!

Allez jeter un oeil par vous même: http://mutable-instruments.net/   Tout est très bien documenté, c’est réalisé par un français à Paris et il propose d’autres montages électroniques liés à la musique.

Mon Shruthi a pris sa place sur mon Juno-Di

[1 year in Sweden]: Swedish metal music[1 an en Suède]: Le metal Suédois

I want you to be carefull, I’m going to talk here only about metal music, the music for savage people as someones says. Of course, I know that not everyone will enjoy it. So, if you are not use to listen to this, and you collapse after reading this, please to don’t designate me as responsible! 😀 Otherwise, you can read the article, without listening to the different music that I propose, but just for your culture.

I made the article with the name of the band with a link to the associated Wikipedia page. Pictures are linked to video that I think are representative of all theses bands. Of course, it’s up to you to discover other songs of the band if you want!

I inform the non-metalhead to be carefull by cliquing on pictures, videos may be violent… 😀

I’m sorry, but I didn’t translate the decription of each band, but the links are in destination of English Wikipedia pages if you want.

Je lance un petit avertissement avant de commencer, je vais parler ici que de metal, de musique de sauvage, comme certains l’appellent. Bien entendu, ça peut ne pas plaire à tout le monde. Bref, si vos oreilles ne sont pas habituées, ne me tenez pas pour responsable en cas de problème! 😀 Sinon, vous pouvez aussi lire l’article, sans écouter les différentes musiques que je propose. Juste pour la culture!

L’article est présenté avec le nom du groupe contenant un lien vers la page Wikipédia correspondante, les images quand à elles, vous permetront d’écouter les chansons qui, pour moi, sont les plus représentatives de chacun des groupes. Bien sur rien ne vous empêche de découvrir d’autres chansons en suivant les liens.

Je conseille aux non-metalleux de faire attention en cliquant sur les images, les vidéos sont parfois violentes… 😀

Continue reading « [1 year in Sweden]: Swedish metal music[1 an en Suède]: Le metal Suédois« 

Spotify: Le streaming audio

On Monday, Gunnar Kreitz from Spotify gave us a network lecture, about the Peer-2Peer protocol that Spotify use and its detailed technical description, it’s a good occasion for me to introduce you this service!

To begin with, what is Spotify?

Pour ceux qui ne savent pas, Spotify est un logiciel qui permet d’écouter de la musique en ligne légalement. Le choix des titres est plutôt impressionnant (plus de 10 millions) et le nombre d’utilisateurs aussi!

Inutile de préciser que Spotify est suédois, la compagnie possède un serveur à Stockholm et un à Londres (enfin, quand je parle de serveur, c’est plutôt un parc de serveur, vu la quantité d’informations qu’il faut stocker). Où que vous soyez, votre client se connectera au serveur le plus proche.

L'interface de Spotify

L’avantage de Spotify est que comparé à d’autres plateformes de streaming basé sur le navigateur web, il propose une expérience utilisateur plus intéressante, et permet de mettre en cache la musique sur le disque, ainsi qu’utiliser le protocole P2P pour ne pas surcharger leurs serveurs.

Spotify permet aussi de gérer des playlists, et de se connecter avec Facebook pour obtenir les playlists de ses amis (à condition que les dites playlists soient publiques).

Spotify se présente en différentes versions (3 types d’abonnements):

  • La version gratuite: limité à 20h d’écoute mensuelle avec de la pub, avec parfois 20h supplémentaires par semaine,
  • La version Unlimited: comme son nom l’indique, écoute illimité mais toujours avec quelques pubs d’une 15aine de secondes. Il faudra débourser 5€/mois ou bénéficier d’une invitation.
  • La version Premium: écoute illimité, pas de pub et accessible depuis votre téléphone (quasiment tout les téléphones récents sont compatibles). Il est est aussi possible de synchroniser ses playlists en mode hors-ligne 30jours sans se connecter. Cet abonnement coûte 10€/mois.

Petit point noir, le client Linux ne fonctionne qu’avec l’abonnement premium, vous êtes obligé de passer pas la version Windows sous wine.

L’API Spotify est dipsonible à tout développeurs souhaitant développer des applications, je pense que je vais tester pour voir.

Plus d’infos et téléchargement: Spotify

Lundi, Gunnar Kreitz de Spotify nous a donné un cours de réseau, et plus particulièrement sur le protocole Peer-2-Peer qu’utilise Spotify ainsi que son fonctionnement, c’est donc l’occasion de vous parler de ce service!

Tout d’abord, Spotify, c’est quoi?

Pour ceux qui ne savent pas, Spotify est un logiciel qui permet d’écouter de la musique en ligne légalement. Le choix des titres est plutôt impressionnant (plus de 10 millions) et le nombre d’utilisateurs aussi!
Inutile de préciser que Spotify est suédois, la compagnie possède un serveur à Stockholm et un à Londres (enfin, quand je parle de serveur, c’est plutôt un parc de serveur, vu la quantité d’informations qu’il faut stocker). Où que vous soyez, votre client se connectera au serveur le plus proche.

L'interface de Spotify

L’avantage de Spotify est que comparé à d’autres plateformes de streaming basé sur le navigateur web, il propose une expérience utilisateur plus intéressante, et permet de mettre en cache la musique sur le disque, ainsi qu’utiliser le protocole P2P pour ne pas surcharger leurs serveurs.
Spotify permet aussi de gérer des playlists, et de se connecter avec Facebook pour obtenir les playlists de ses amis (à condition que les dites playlists soient publiques).

Spotify se présente en différentes versions (3 types d’abonnements):

  • La version gratuite: limité à 20h d’écoute mensuelle avec de la pub, avec parfois 20h supplémentaires par semaine,
  • La version Unlimited: comme son nom l’indique, écoute illimité mais toujours avec quelques pubs d’une 15aine de secondes. Il faudra débourser 5€/mois ou bénéficier d’une invitation.
  • La version Premium: écoute illimité, pas de pub et accessible depuis votre téléphone (quasiment tout les téléphones récents sont compatibles). Il est est aussi possible de synchroniser ses playlists en mode hors-ligne 30jours sans se connecter. Cet abonnement coûte 10€/mois.

Petit point noir, le client Linux ne fonctionne qu’avec l’abonnement premium, vous êtes obligé de passer pas la version Windows sous wine.

L’API Spotify est dipsonible à tout développeurs souhaitant développer des applications, je pense que je vais tester pour voir.

Plus d’infos et téléchargement: Spotify

(Ça va bientôt faire 2 ans que ça existe, je sais mais bon, une piqûre de rappel de fait jamais de mal.)