Journal Betatest : Réveille le cyberponk

Posté par (page perso) . Licence CC by-sa
33
31
juil.
2013

Sommaire

Ce WEnd, préviens les voisins, met un postit dans l'ascenseur "Ce WEnd, un réveil de cyberponk est organisé ; nous nous excusons par avance de l'avalanche de décibels qui va s'abattre sur ce bâtiment et vous invitons à danser en rond ou à fuir en bon ordre".

Pré-requis

Il te faut :

  • Un ordinateur connecté à l'internet muni d'une carte son branchée sur des enceintes stereo
  • Deux packs de bière, la moins chère (important)
  • Une guitare japonaise à 100€ (facultatif)

Boire les 6 premières bières.

HarmonySEQ est (burp) tout simplement une ré-vo-lu-tion dans le monde de l'audio tout court, pas seulement sous Linux. Il n'existe à ce jour aucune documentation, tu y crois à ça ? Non, bien sur. Remember where you about read it first ;)

we_lost_em
Colle-toi au bouzin, et entre les commandes suivantes :

sudo add-apt-repository ppa:rafalcieslak256/harmonyseq
sudo apt-get aptitude
sudo aptitude update
sudo aptitude install qjackctl harmonyseq hydrogen qsynth fluid-soundfont-gm

Lance qjackctl ; Clique sur l'icône de configuration et dans "input device" et "output device" (en bas à droite) sélectionne la bonne carte-son. Ne touche à rien d'autre avec tes doigts sales ; ferme la fenêtre de prefs, et accepte de relancer le serveur.

Lance le bazar en buvant une bière entre chaque :

$ harmonySEQ
$ hydrogen
$ qsynth

Dans qjackctl, clique sur le bouton "Show the actual connections patchbay window".

Dans l'onglet "Audio", connecter

  • La sortie d'hydrogen à l'entrée "system"
  • La sortie de qsynth à l'entrée "system"

Dans l'onglet "ALSA", connecter

  • La sortie d'harmonySEQ à l'entrée "hydrogen"
  • La sortie d'harmonySEQ à l'entrée "FLUID Synth"

Dans Qsynth, clique sur "setup", onglet "SoudFonts", clic sur "open" et charge "/usr/share/sounds/sf2/FluidR3_GM.sf2".

Dans hydrogen, menu tools => preferences, onglet "Midi system" :
- Input : harmonySEQ output
- Channel : 16

New note sequencer

Dans la barre d'outils d'harmonySEQ, clique sur "add new note sequencer".
Dans le champ "MIDI channel" entre 16.
Remplis la dernière des 6 lignes de la pattern de carrés bleus (clic clic hur hur) nomme ce sequencer "HH" en cliquant sur le nom "seq 01" à gauche (Clic gauche ajout, clic droit suppression).

Events, actions

Dans la partie droite de la fenêtre d'harmonySEQ, clique sur le bouton "new event". Clique sur "Capture" et enfonce joyeusement la
touche F1. Puis directement après clique sur "New action" et sélectionne l'action "Sequencer/Swith On-Off" et dans le menu "Sequencer", "HH".

Puis définis un nouvel event "p" avec l'action "Play/Pause" et l'option "toggle".

Frappe la touche p, puis F1. Bien fait pour elles.

Dans la dernière des 6 lignes de la pattern, met le curseur dans le champ numérique juste à gauche de la ligne, et descend avec la touche down ou la molette de la souris jusqu'aux valeurs -10 à -20 (YMMV) pour nous sortir un bon son d'HH (Hi Hat) qui va bien. On peut mettre des effets dans hydrogen, 4 pour tout le monde, tu vois dans le mixer les 4 rotatifs au-dessus des solo/mute de chanque tranche ? Ce sont les 4 départs des effets 4 en question, mais je digresse, burp.

En principe à ce stade, on entend "tss tss tss tss tss tss" en boucle, voir POUM TCHAK si tu t'es fendu d'un kick et d'une snare (you headbanger you). appuie sur p pour arrêter ce wakarme et bois une autre bière.

Répéte le processus de création de sequencer/piste mais cette fois appelle-là "bass", MIDI channel 0 et trouve-nous un bon son de basse qui va bien à l'aide la même méthode que t'haleure. Affecte-lui la touche F2. Si tu entends qsynth sur la piste de drums, retourne dans qsynth => channels => 16, right click, "unset".

Même démarche pour la piste "chordz", et cette fois entre un accord : Superpose trois barre sur trois ou quatre carrés horiz.

Et là attention ça va aller assez vite et devenir violemment cool :

  • Crée un Event "c" et une action :
  • sélectionne "Sequencer/Set chord" Sequencer : "bass" type "custom"
  • Coche "do not change chord's octave"
  • Rajoute une action "Sequencer/Set chord" Sequencer : "chords" type "custom"
  • Maintenant crée un event "f" et la même action mais dans le menu qui dit "C", sélectionne "C#"
  • Rajoute la même action mais Sequencer : "chords"

Appuie sur p, puis enclenche tes sequencers avec les FKeys. Puis bois une grande rasade de binouze et appuie sur "f". Hein ? Hein ? Ouais. HarmonySEQ connait les modes et permet de se promener chromatiquement dans les patterns, entre autres évènements genre changement d'octave. Et là je pose la question : How wickedly cool is that?

Multi-pattern

Dans chaque sequencer à droite du pianoroll se trouve la fenêtre de clonage de pattern. Après, tu crées une action "Sequencer/Set active pattern" et roule ma poule. De la bombasse chtedis.

Enregistrement MIDI

À la fin de la nuit, pour envoyer une belle partition à Mamie avec en CC l'académie Charles Cros, on peut enregistrer le fichier MIDI à l'ancienne :

$ sudo aptitude install alsa-utils musescore
$ aconnect -il
(...)
client 134: 'harmonySEQ' [type=user]
    0 'harmonySEQ output'
        Connecting To: 133:0, 129:0[real:1], 135:1
(...)

Repère le numéro de la sortie MIDI d'harmonySEQ (ici 134) puis ;

$ sudo arecordmidi --port=134 ~/tmp/reveille_le_ponk.mid

Enregistrement Audio

$ sudo aptitude install jack-mixer audacity

Lance les deux, dans jack_mixer crée deux "input channel" et dans qjackctl, connecte-les à qsynth et hydrogen. Crée ensuite (dans jack-mixer) un "out channel" et dans audacity, preferences => device => interface => Host "Jack".
Démarre l’enregistrement dans Audacity.

Puis dans harmonySEQ, joue ta compo, avec tes changements de pattern, d'accord, et tout l'bazar. Ctrl-c pour arreter arecordmidi.

Pour écouter le Midifile (jack tourne, hein ? Vérifie) :

$ timidity -Oj ~/tmp/reveille_le_ponk.mid

Édition de la partition

Et enfin,

$ musescore ~/tmp/reveille_le_ponk.mid&

Tu peux mettre de l'ordre dans ta partition en "create instruments" pour organiser violons, guitares, perceuse, etc.
Ctrl-p, Bzzz-clac et tu peux le montrer à mamie qui va l'encadrer, c'est sur.

Maintenant, café.

En fait, l'idée, après, c'est plutôt de faire quelque chose de sensé du midifile, dans un sequencer "normal" genre qtractor. HarmonySEQ est un fantastique outil de composition, il demande peu de ressources, l'idéal pour occuper une heure de train en révisant la gamme pentatonique en mode mineur ; jackd est grand. Kipitril.

  • # Commentaire supprimé

    Posté par . Évalué à 3.

    Ce commentaire a été supprimé par l'équipe de modération.

    • [^] # Re: Béotien

      Posté par (page perso) . Évalué à 1.

      C'est un tutoriel : en principe si tu le suis exactement, ça tourne. Side-effect : tu ne peux plus dire après que tu ne "connais pas la musique" (? qui ne connait pas la musique ?)
      Après, si tu te tapes la tète contre le mur, le cyberponk est bien réveillé, il me semble. Donc Oui :)

  • # Et donc

    Posté par . Évalué à 8.

    Il te reste deux bières.

    J'ai bon ?

    splash!

    • [^] # Re: Et donc

      Posté par . Évalué à 3.

      On dirai que le monsieur est un petit joueur, il tourne au pack de 6!
      Par chez moi on achete ça par pack de 24 ou par caisse pour les frontallier.
      , la moins chère (important)

      Deux packs de bière, la moins chère (important)

      C'est vraiment important qu'elle soit pas cher parce que la koenigsbier c'est vraiment dégueu. Au pire y'a toujours la bonne vielle caisse de jupi!

      Sinon l'article est sympa faudra que je test un jour mais avec de la bonne bière.

  • # Svinkels ?

    Posté par (page perso) . Évalué à 5.

  • # Faster, stronger, etc.

    Posté par (page perso) . Évalué à 4.

    Pour aller plus loin

    QSynth (qui est une GUI - avancée, avec du traitement - de fluidsynth qui est un player de SoundFont) c'est sympa (surtout avec l'énorme - 149M - banque fluid-soundfont-gm) car tu as toutes les catégories de sons génériques sous la main. Utiliser swami pour ranger les sons dans une banque SoudFont (surtout avec des outils limités en channels comme hSEQ).
    Mais dés que tu veux t'amuser avec d'autres outils, en l'occurence ils doivent répondre aux exigences suivantes :

    • Jack compatible
    • ALSA MIDI in
    • MIDI channel selection

    Donc exit par exemple la suite VeeOne de Rui Nuno Capela des outils à réserver à une utilisation en plugin (LV2) ou alors en live standalone puisqu'ils tournent en mode MIDI omni (ils jouent toutes les notes midi qu'on leur envoie sans distinction de channel, mais quand ils sont instanciés en tant que plugin ils lont seuls sur leur piste donc ça va).

    AMS

    De bons candidats :

    • Alsa Modular Synth commencer par jouer avec les sons dans le dossier "exemples" puis ouvrir les patches du dossier "tutorial", et enfin suivre cet exercice pour masterninja AMS en particulier, et les modulaires en général. (menu view => control center => MIDI channel)
    • ZynAddSubFX (attention, légende de l'émulation de synthèse, et encore une fois, pas seulement sous 'nux) Dans une de ses nombreuses logications, moi j'utilise Yoshimi parce que j'arrive pas à compiler Zynadd car pkg-config cannot find lv2dynparamplugin1, une idée? (oui, liblv2dynparamplugin1 est installée, duh) :( (menu instrument => show instrument bank => refresh)
    • Qsampler, encore lui, bonjour Rui Nuno :)
    • Plein d'autres, mais pas forcément tous très heu accessibles (genre opensource sans les sources, si tu vois)
    • Any non-omni Jack instrument

    ALSA to Jack MIDI

    Note que pour utiliser yoshimi, qui ne supporte que Jack MIDI (as opposed to ALSA MIDI) je fais tourner le demon a2jmidid qui expose les ports JMIDI dans l'onglet "ALSA" de qjackctl.

    • [^] # Re: Faster, stronger, etc.

      Posté par . Évalué à 3.

      n dirait un schéma de classes UML ou un schéma de BDD :)

      • [^] # Re: Faster, stronger, etc.

        Posté par . Évalué à 4.

        Le mec qui me sort un schéma de base de données avec le même tas de spaghetti dans les relations je lui demande s'il peut pas m'en avoir parce qu'elle a l'air bonne :)

  • # Exit Pulse Audio

    Posté par (page perso) . Évalué à 3.

    #!/bin/sh
    
    sudo apt-get autoremove pulseaudio
    sudo apt-get install volumeicon
    
    printf "[Desktop Entry]
    Type=Application
    Exec=volumeicon
    Hidden=false
    NoDisplay=false
    X-GNOME-Autostart-enabled=true
    Name=Tray icon for ALSA
    Comment=Added on $(date +%y-%m-%d-%Hh%M)" > ~/.config/autostart/volumeicon.desktop
    
    printf "[StatusIcon]
    stepsize=5
    lmb_slider=true
    mmb_mute=true
    use_horizontal_slider=false
    show_sound_level=false
    onclick=gnome-terminal --title='ALSA Mixer' --command 'alsamixer'
    theme=White Gnome
    
    [Hotkeys]
    up_enabled=false
    down_enabled=false
    mute_enabled=false
    up=XF86AudioRaiseVolume
    down=XF86AudioLowerVolume
    mute=XF86AudioMute
    
    [Alsa]
    card=default" > ~/.config/volumeicon/volumeicon
    
    echo "Phew, bon débarras" && sudo reboot
  • # le niveau monterait ?

    Posté par . Évalué à 1.

    Merci pour ce journal, ça donne envie ! Si bien que les trolleurs sont tous en train de composer visiblement, pas un gentooiste pour troller avec apt, pas un bsdiste pour troller avec linux, pas même un débat apt-get vs aptitude… on a bien trouvé un mini-boulet (presqu'une bille) pour parler de pulseaudio, mais le niveau des commentaires me semble excessivement haut, bravo

    Membre de l'april, et vous ? http://www.april.org/adherer

    • [^] # Re: le niveau monterait ?

      Posté par . Évalué à 1.

      Toi qui parle de boulet justement, t'es sûr d'avoir remarqué qui était l'auteur du commentaire sur pulseaudio et qui était l'auteur du journal ? Mais c'est pas grave, on t'en veut pas…

    • [^] # Re: le niveau monterait ?

      Posté par (page perso) . Évalué à 3. Dernière modification le 01/08/13 à 14:01.

      Pour Pulse, apparemment je me suis énervé un peu vite : Quand j'utilise la carte-son intégrée de cette bécane, j'ai souvent des craquements insupportables, et quand j'ouvre la fenêtre de Pulse, à chaque crrkrk on le voit switcher violemment entre cette carte et une autre, fantôme, qui n'existe pas, une ligne plus bas. Du coup je le vire, je reboote, et plus de craquement ; De là est venu ma fureur, et le bout de script posté + haut.

      Mais ce matin avant de décoller j'ai écouté Lily Allen dans la douche (donc j'ai mis fort) et boum, re-crrkrr.

      Du coup apparemment c'est la faute du matos, une Foxconn au BIOS très chelou (genre le WOL se déclenche à la moindre activité du routeur) avec une ACsomething.

      Donc Pulse est temporairement "off the hook" sur ce coup.

      Pour aptitude, j'ai fini par revenir à apt-get car je préfère les infos qu'il me donne (je trouve apt-cache search plus malin que aptitude search, par exemple) et que du coup je vois pas bien l’intérêt d'aptitude…

      Sans ça ce matin j'ai eu un petit mail de Rafał Cieślak, l'auteur d'HarmonySEQ, qui m'a écrit :

      Hi Philippe!

      According to GoogleTranslate, you did a very nice job on the tutorial, I like it very much!

      Du coup chu tout content. Je rappelle que ce bout de texte est à ce jour la seule doc tangible d'HarmonySEQ

  • # Patch that bitch

    Posté par (page perso) . Évalué à 3.

    Dis monsieur Modo, je peux t'envoyer un diff de correction ? Ce texte est littéralement bourré de bugs de wokflow (dans la partie la plus importante, les events/actions) de syntaxe (partout) et de système (aptitude inutile, sudos en trop) et si je cherche vraiment, là à jeun, je vais en trouver d'autres. Ça la fout mal pour les générations futures, les extraterrestres (qui n'apparaissent pas dans les logs, cherchez pas) et tout ça. Plizplizplizpliiiz !

  • # Merci, je me suis bien amusé...

    Posté par . Évalué à 2.

    Mais je n'ai pas suivi le tuto, comme il faut… le week-end prochain, je le refait avec le pack de bière!

    Sinon pour ceux qui sont intéressé qjackctl, harmonyseq, hydrogen, qsynth et fluid-soundfont-gm peuvent aussi être installer sous fedora.
    J'ai juste eu quelque souci avec jackd, j'ai dû faire

    killall pulseaudio 
    jackd -dalsa -dhw:0 -r48000 -p1024 -n2
    

    Après, j'ai réussi à faire fonctionner tous le bazar.

    • [^] # Re: Merci, je me suis bien amusé...

      Posté par (page perso) . Évalué à 2. Dernière modification le 05/08/13 à 07:04.

      Merci de ton retour, c'est cool :)

      Pour installer tout le bazar, tu peux utiliser ce script, que je viens de modifier pour "gèrer" Fedora (C à D ne pas installer les repositories PPA, et utiliser yum pour installer les packages) et installer pas mal de trucs disséminés un peu partout dans des repos autour du net. Basiquement, ça

      • Installe des repos PPA (Debian-only)
      • Installe les applis de prod et les plugins qui vont bien, et les libs néccéssaires à la compilation de ceux qui vont pas bien
      • Downloade et installe plein de plugins (LV2 mais surtout LXVST) qui ne sont pas dispo. autrement que dans des archives (7z, tar.gz)
      • Clone, compile et installe plein de trucs qui ne sont soit pas dispo. autrement que dans des repositories VC (git et svn) ou qui ne sont vraiment pas à jour en version binaire
      • Update et re-do le point précédent quand le dépot VC a bougé.

      Pour pulse, normalement dé-sélectionner ta carte son de prod audio en input et en output devrait suffire, et parfois même, il le fait.

      PS - n'hésite pas à nous publier ta compo, ici les gens sont très avenants et t'enverront plein d'encouragements :)

      • [^] # Re: Merci, je me suis bien amusé...

        Posté par (page perso) . Évalué à 3.

        PS - n'hésite pas à nous publier ta compo, ici les gens sont très avenants et t'enverront plein d'encouragements :)

        Ahahaha.
        A ce propos, c'est complètement assumé la superposition d'accords majeurs et mineurs vers la fin de ton morceau ? (vers 1:48 avec l'introduction d'un synthé en arpège en majeur alors que tu étais dans une tonalité mineure)
        Sinon, je trouve ça plutôt sympa dans l'ensemble, bonne continuation et n'hésite pas à en re-poster d'autres.

        • [^] # Re: Merci, je me suis bien amusé...

          Posté par (page perso) . Évalué à 1.

          (vers 1:48 avec l'introduction d'un synthé en arpège en majeur alors que tu étais dans une tonalité mineure)

          Oui ça fait mal aux dents un peu hein ? Désolé il était tard, Yoshimi venait de planter et j'avais pas sauvé le patch :( Repose-toi ;)

    • [^] # Re: Merci, je me suis bien amusé...

      Posté par (page perso) . Évalué à 1. Dernière modification le 05/08/13 à 07:43.

      J'ai juste eu quelque souci avec jackd, j'ai dû faire

      killall pulseaudio 
      jackd -dalsa -dhw:0 -r48000 -p1024 -n2
      

      Essaye d'installer jackd2 et de lancer

      /usr/bin/jackdbus auto
      

      (Ce que fera qjackctl si tu lui demandes (config, Misc, "use jack dbus interface")

      Je dis ça à cause de ton -r48000 qui va te causer des soucis quand tu reloadera tes sessions audio, genre sous ardour ou qtractor, avec un autre bitrate, là où tout le monde bosse à 44100. Sérieusement, tout le monde, à ce stade (MAO pre-prod / prod).

      Donc en jackd V1 :

      /usr/bin/jackd -p128 -dalsa -r44100 -p256 -Chw:NomDeTaCarte -Phw:NomDeTaCarte
      

      -Xseq pour s'assurer d'être en ALSA MIDI, -i2 -o2 si ta carte a 2 entrées et 2 sorties, et pas mal d'autre options, d'où l'intéret de qjackctl, qui en plus permet de lancer d'autres trucs avant / apreès jack, genre a2jmidid

      Le nom de tes cartes :
      cat /proc/asound/cards

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.