Affichage des articles dont le libellé est Ubuntu. Afficher tous les articles
Affichage des articles dont le libellé est Ubuntu. Afficher tous les articles

jeudi 6 août 2015

Lecteur de DVD "LG DP132H" et lecture des fichiers vidéos

Bonjour,


aujourd'hui je vous présente une ligne de commande qui va vous permettre de convertir vos vidéos dans un format accepté par le lecteur DVD de salon compact (vu ses dimensions) : "LG DP132H".

Ce lecteur de DVD lie les supports USB au format FAT (clés, disque dur ...).

Il permet de lire les photos (JPEG), la musique (MP3,WMA) et les vidéos (MPEG, AVI ...).

Cependant, en ce qui concerne les vidéos, il ne supporte que la résolution suivante: 720 pixel par 576 pixel. Il vous faudra donc certainement convertir vos fichiers vidéos dans ce format là.

Vous pourrez ainsi regarder vos vidéos youtube sur votre lecteur DVD. (en les téléchargeant grâce à la commande youtube-dl ou grâce à un site internet spécialisé [ex: http://www.telechargerunevideo.com/fr/] puis en les convertissant avec la ligne de commande ci-dessous).

Voici la ligne de commande: elle transforme un fichier MP4 en fichier MPG.


avconv -i fichier_source.mp4 -c:v libxvid -s 720x576 -vcodec mpeg2video -acodec mp3 fichier_destination.mpg

L'audio est encodé en mp3 mais cela provoque un léger décalage entre le son et l'image sur le lecteur DVD (question de puissance CPU certainement). L'avantage de cette solution est le gain de place disque.

Pour éviter ce problème:

avconv -i fichier_source.mp4 -c:v libxvid -s 720x576 -vcodec mpeg2video -acodec mp2 fichier_destination.mpg

Le fichier source peut être dans un autre format (exemple: avi, ogg, webm ...).

Note: avconv est un logiciel disponible sur Ubuntu 14.04. Son équivalent sur Ubuntu 12.04 est ffmpeg.

Pour vérifier que vos vidéos fonctionnent sur votre ordinateur, vous pouvez utiliser vlc.


Amusez-vous bien !


Vous trouverez d'autres astuces pour l'audio et la musique sur Ubuntu par ici.

mardi 18 novembre 2014

Audioconférence, session de mixage à distance et jam à distance maintenant possible dans chromium !

Pour accéder à la Liste des articles de ce blog c'est par ici

Bonjour,

aujourd'hui je vous parle d'un site internet que je viens de découvrir qui permet de faire une audioconférence à plusieurs à faible latence. On peut dire que c'est l'avenir proche que l'on touche ! Lorsque tout le monde aura les prérequis réseaux (1MB en upload et en download recommandé) , on pourra jammer à distance au casque, travailler des compositions facilement ... Le site est encore en béta donc il peut y avoir des bugs.

En deuxième partie de cet article, j'aborderai la possibilité de mettre le serveur jack en réseau (local) grâce à NetJack. L'intérêt est d'avoir un ordinateur sur lequel on fait la session de mix et un ordinateur qui calcule le flux réseau internet. Biensûr cela ajoute de la latence mais NetJack n'est pas très consommateur en CPU ... Vous n'aurez sûrement pas besoin de cette solution si vous avez un ordinateur moderne haut de gamme.

En fin d'article, vous trouverez un lien vers un autre article de ce blog qui détaille des logiciels libres utilisant nativement jack et du hardware dont le but est de faire de l'audio par internet à faible latence.

Bonne lecture !

Installation & configuration de votre poste

Cependant, on combinant pulseaudio et jack, vous pourrez connecter tout ce que vous voulez. L'application disponible uniquement sur chromium browser (pour le moment) vous permet de réunir jusqu'à 10 connections simultanées. L'encodage est à sélectionner selon la qualité que vous voulez obtenir, la bande passante dont vous disposez (1MB en upload et en download recommandé) et la capacité des machines connectées.

Voici les étapes de la configuration de votre poste pour parvenir à connecter une application jack dans l'application chrome:

Créez-vous un compte sur http://source-elements.com.

Si vous n'avez pas encore installer jack ni le pont jack/pulseaudio, lisez cet article avant de procéder à la suite de la configuration.

Établissez les connexions dans qjackctl après avoir paramétré et démarré le serveur jack. Pour le test j'utilise le lecteur alsaplayer:
$ sudo apt-get install alsaplayer-jack alsaplayer-common
$ alsaplayer -o jack /chemin/vers/le/fichier/audio


Démarrez Chromium, allez sur la page de connexion du service (source-elements) et identifiez-vous,

Installez pavucontrol:
$ sudo apt-get install pavucontrol

Lancer pavucontrol:
$ pavucontrol

Puis allez dans l'onglet lecture, sélectionnez la source Jack Sink:


Dans l'onglet Enregistrement, sélectionnez Jack Source:



Enfin, dans l'application chrome, sélectionnez l'entrée Jack Source. Activez le monitoring (décaler le slider à droite) pour entendre ce que vous envoyez sur la connexion réseau. Et paramétrez l'application chrome à votre convenance dans l'onglet "Master Controls".


Et le tour est joué !

Remarques / Utilisation d'une deuxième machine avec netjack

Si vous avez un ordinateur récent et puissant et une bonne bande passante (1Mo en upload/download), ce système est fait pour vous !

Une solution technique pour avoir plus de puissance de calcul consiste à utiliser deux ordinateurs:
- un pour l'encodage (avec jack sur le driver alsa et avec jack_netsource de démarré, vous verrez apparaître netjack dans qjackctl et vous pourrez monitorer le signal audio)


- un pour travailler/jouer de l'audio (connecté sur le driver netone de jack), aucun son ne sera audible sur ce poste avec les sorties systèmes jack puisque tout sera envoyé sur l'autre machine.

Je n'ai pu tester que le transfert réseau local entre serveurs jack et ça fonctionne plutôt bien ... C'est praticable de travailler l'audio et de l'envoyer sur un autre poste ! Le poste de réception doit être suffisamment puissant après  (CPU/RAM) pour réussir à ouvrir le navigateur chrome et à encoder l'audio en live (la tâche critique) de l'application www.source-elements.com !

Si vous vous lancez dans la configuration de NetJack, n'oubliez pas de configurer les firewalls des deux machines impliquées pour la connection réseau de jack. Personnellement, j'ai désactivé temporairement les firewalls sur les cartes réseaux utilisées pour le test !

Vous serez peut-être intéressé par l'article suivant: Jouer (jammer) avec d'autres musiciens au casque (localement ou à distance) (solutions hardware & software).

Amusez-vous bien,
Musicalement,

Vous trouverez d'autres astuces pour l'audio et la musique sur Ubuntu par ici.

samedi 15 novembre 2014

Comment diagnostiquer/résoudre un problème sous Linux ?

Pour accéder à la Liste des articles de ce blog c'est par ici

Bonjour

aujourd'hui je vous donne des conseils pour réussir à diagnostiquer et pourquoi pas résoudre un problème applicatif. Ce sont des conseils d'ordre méthodologique qui vous aideront sûrement à acquérir plus vite de l'expérience.

La méthode (facile !)

Pour résoudre les problèmes d'ordre applicatif (messages d'erreur et plantage), l'idée générale est d'utiliser la puissance de votre moteur de recherche favori pour effectuer une recherche sur le ou les messages d'erreur que votre application fait apparaître.

Pour cela, utilisez ce message d'erreur et ajoutez-y quelques mots clés comme le nom de l'application qui vous pose problème et le mot clé "ubuntu" ou "linux" ainsi qu'éventuellement la version de votre application. C'est un bon début pour trouver si le problème a déjà été résolu sur le net.

NB: Si vous vous demandez plutôt "comment faire cela", "quelle application utiliser" alors rendez-vous directement à la dernière section sur les sites internet de référence sur ce genre de questions.

Obtenir un message d'erreur (pour les utilisateurs avancés)

L'application graphique plante sans aucun message !

1) Trouvez le nom du fichier exécutable de votre application
2) Démarrez l'application à partir d'un terminal

Si l'application plante sans aucun message au niveau de l'interface graphique, il y a des chances pour que dans votre terminal, il y ait des messages instructifs sur la raison du crash (par ex: un message d'erreur).

Si le dernier message de l'application est "segmentation fault" ... Dans ce cas là, c'est un BUG (une situation non prévue par le code qui est fatale à l'application).

Obtenir le message d'erreur en anglais

Biensûr la communauté francophone est active mais il y a beaucoup plus de ressources sur internet en anglais. Alors si vous comprenez l'anglais, il vaut mieux faire la recherche en anglais ...

Pour obtenir le message d'erreur en anglais, changez la langue en appliquant cette commande dans le terminal dans lequel vous allez lancer l'application:
$ export LANG=en_US.UTF-8
Reproduisez l'erreur et le tour est joué :-).

NB: Ce changement n'est effectif que pour les applications démarrées à partir du terminal configuré.

Si l'application est une application de votre distribution ubuntu, vous trouverez peut-être un rapport de Bug avec le message que vous obtenez. Parfois des solutions de contournement y sont évoquées dans les échanges (Rendez-vous sur https://launchpad.net/ et effectuer une recherche sur le message d'erreur). Vous pouvez aussi chercher dans le bugtracker de l'application sur internet. Certaines applications en disposent d'un sur leur site internet.

Obtenir plus d'informations sur le contexte d'un plantage applicatif

Pour résoudre/contourner un problème applicatif, on peut aussi activer les traces de debug. Ce sont des messages verbeux qui indiquent ce que fait l'application étape par étape permettant ainsi de comprendre le contexte du plantage et de déterminer, dans certains cas, la source du problème.

Pour activer le mode debug, chercher l'option de la ligne de commande de votre application permettant d'activer les informations de logs/debug. (note: Toutes les applications n'en sont pas pourvues).

Pour déterminer l'option de ligne de commande qui active le mode debug, consultez la documentation de l'application:
$ man application
ou essayer
$ application -h
ou application est le nom du fichier exécutable que vous utilisez pour démarrer votre application à partir du terminal.

Vous avez une question (Comment faire quelque chose, quelle application utiliser, ...)

http://ask.ubuntu.com : site clair et conci composé de questions/réponses sans bavardage ni état d'âme ... en anglais

http://forum.ubuntu-fr.org forum francophone pour obtenir de l'aide de la communauté ubuntu.




voilà, vous êtes fin prêt pour faire face aux situations imprévues et à les résoudre !

Vous serez peut-être intéressé(e) par l'article suivant: Comment trouver une application qui couvre vos besoins ?

Bon courage,
Musicalement

Vous trouverez d'autres astuces pour l'audio et la musique sur Ubuntu par ici.

vendredi 14 novembre 2014

Démarrer des Plugins VST Windows s'intégrant parfaitement dans votre conf studio !

Pour accéder à la Liste des articles de ce blog c'est par ici

Bonjour,

Ardour3, dans sa version de base, ne supporte pas les plugins VST Windows. Heureusement, il existe des outils qui vont vous permettre d'utiliser des plugins VST Windows à côté d'ardour3 et de sauvegarder leur état (en dehors d'ardour3 grâce à ladish).

Découverte de festige

Festige est une petite application qui permet de démarrer facilement des plugins VST Windows (une fois festige configurée).
Pour cela, il faut:
- que vos plugins soient installés dans un seul environnement windows (càd WINEPREFIX).
- que vous activiez les dépôts KXStudio car festige n'est pas disponible sur les dépôts Ubuntu (ni 12.04, ni 14.04 !)

vsthost qui est présenté dans cet article ne permet pas le support de ladish et donc la sauvegarde de l'état du plugins n'est pas possible.

Cependant Festige permet l'utilisation de fst qui, lui, supporte ladish.

Installation de festige

Une fois les dépôts kxstudio activés:
$ sudo apt-get install festige

Configurer festige

Démarrer le serveur de son jack avec qjackctl (pour le configurer c'est par ici) ou cadence.

Démarrer festige dans votre menu ou par une ligne de commande:
$ festige

Puis rendez-vous dans le menu Edit>>Preferences, Puis faîtes les réglages suivants:




Et voilà, dans cet exemple, vos plugins doivent se trouver dans le WINEPREFIX par défaut (càd ~/.wine). 

Dans la fenêtre principale s'affiche la liste des plugins trouvés dans les répertoires de recherche. Il ne vous reste plus qu'à sélectionner le plugin et à cliquer sur le bouton Lancer et le tour est joué !


Démonstration

Voici une vidéo qui fait une démo de l'utilisation de festige.





Conclusion

Certains plugins fonctionnent avec vsthost et pas avec fst ! Il faut donc être vigilant lors de vos tests à bien sélectionner fst pour bénificier du support ladish.

Lorsqu'une application jack est lancé en dehors d'ardour3, il vous la proposent dans le gestionnaire de connexion vous permettant ainsi de connecter vos pistes sur ces plugins (externes).

Enfin, l'utilisation de claudia (dans les dépôts KXStudio) vous permettra de gérer facilement votre configuration studio (lancement des applications audio, établissement des connexions avec sauvegarde/restauration de votre studio).

Amusez-vous bien,
Musicalement

Vous trouverez d'autres astuces pour l'audio et la musique sur Ubuntu par ici.



jeudi 6 novembre 2014

Trouver une application qui couvre vos besoins

Pour accéder à la Liste des articles de ce blog c'est par ici

Bonjour,

aujourd'hui je vais vous parler de la recherche d'applications. Ce problème est central, trouver la bonne application qui couvre ses besoins et qui est stable est essentiel pour améliorer son expérience utilisateur.

Il n'y a pas de secrets, pour savoir si une application est stable, il faut la tester mais avant de tester une application, il faut la trouver !

Pour cela, plusieurs façons de faire, chercher tout de suite sur internet (google est ton ami !) ou chercher d'abord dans les dépôts Ubuntu (Pour savoir ce qu'est un dépôt dans Ubuntu consultez cette page) qui contiennent des applications testées et reconnues par la communauté. Cela évite la jungle d'internet. Bien souvent aussi, internet vous mènera vers des applications contenues dans les dépôts Ubuntu.

Ci-dessous vous trouverez des conseils/outils à utiliser dans différents cas de figure:

Recherche d'une application par mots clés dans les dépôts configurés

Vous êtes au début de votre recherche, vous prospectez pour connaître les applications disponibles sur votre version d'Ubuntu.

Le logiciel apt-cache permet de rechercher un ensemble de paquets correspondant aux mots clés sélectionnés.

Mettre à jour le cache:
$ sudo apt-get update

Rechercher une application:
$ apt-cache search {motclé1 ... }


Exemple: rechercher des applications midi jack:
$ apt-cache search midi jack

Exemple: rechercher des applications audio jack:
$ apt-cache search audio jack

Pour obtenir plus de détails sur un paquet que vous avez repéré (ici qjackctl):
$ apt-cache show qjackctl

Vous pouvez aussi utiliser ce site internet pour faire une recherche dans les dépôts Ubuntu des différentes versions disponibles.

Trouver un paquet dans les dépôts configurés à partir d'un fichier qu'il doit contenir 

Si vous trouvez par exemple sur un forum, le nom d'un fichier binaire exécutable et que vous n'avez pas le nom du paquet correspondant sur votre version d'Ubuntu, vous pouvez installer/utiliser apt-file pour chercher le paquet contenant le fichier en question.

Pour installer apt-file:
$ sudo apt-get install apt-file

Pour initialiser/mettre à jour le cache d'apt-file:
$ sudo apt-file update

Exemple, si vous cherchez le paquet contenant le fichier se trouvant dans /usr/bin/audacious:
$ apt-file search /usr/bin/audacious

Faîtes la différence avec cette commande:
$ apt-file search audacious

Et celle-ci qui est un raccourci qui fonctionne bien:
$ apt-file search bin/audacious

Pour obtenir plus de détails sur un paquet que vous avez repéré (ici qjackctl):
$ apt-cache show qjackctl

Vous pouvez aussi utiliser ce site internet pour faire une recherche dans les dépôts Ubuntu des différentes versions disponibles.

Si la version disponible dans les dépôts ne vous convient pas

Si vous ne trouvez pas la version de l'application qu'il vous faut (Vous avez trouvé une application qui vous plaît mais un bug fatal pour votre cas d'utilisation vous empêche de l'utiliser correctement par exemple). Consultez la home page du logiciel pour savoir si il existe des mises à jour.

$ apt-cache show audacious

La commande ci-dessus affiche de nombreuses informations sur le paquet sélectionné (ici audacious) dont la homepage du logiciel sur laquelle vous pouvez vous rendre pour savoir si une nouvelle version est disponible et packagée pour votre version d'ubuntu.

Si aucun paquet binaire n'est disponible pour votre version d'ubuntu, vous devrez soit télécharger les sources et compiler le logiciel vous-même ou éventuellement partir à la recherche (sur internet) d'un PPA (Personal Package Archives) qui contient le logiciel en question déjà compilé. Attention, ce genre d'installation peut rendre votre Ubuntu instable ... Sachez ce que vous faîtes si vous décidez de passer par cette étape !

Une autre solution est de regarder si les nouvelles versions d'ubuntu contiennent une version de l'application plus récentes et de migrer vers cette version d'Ubuntu (Vous pouvez utiliser ce site internet pour faire une recherche dans les dépôts Ubuntu des différentes versions disponibles).


Trouver le paquet d'une librairie dans les dépôts configurés

Si vous devez compiler une application et que vous n'avez pas le nom exact du paquet Ubuntu contenant la librairie dont vous avez besoin, utilisez la commande suivante:
$ apt-cache search lib dev {nom de la librairie}

Exemple:
$ apt-cache search lib dev lilv

Recherche d'une application non disponible dans les dépôts configurés

Si malgré les nombreuses applications libres disponibles dans les dépôts Ubuntu, vous ne trouvez pas l'application qu'il vous faut, tournez vous vers internet vous trouverez peut-être un logiciel commercial couvrant votre besoin ou un logiciel open source non intégré aux dépôts de votre version d'Ubuntu.

Vous pouvez aussi vous rendre sur http://ask.ubuntu.com et faire une recherche dans cette base de connaissances dédiée à toutes les versions d'ubuntu. Vous pourrez également poser une question (en anglais).

Utiliser une application windows

Il est possible d'utiliser des applications windows sous Ubuntu avec wine. Certaines applications windows sont conçues pour être utilisées de cette façon sur Linux ou Mac OS/X.

Ça ne marche pas à chaque fois et le logiciel peut parfois fonctionner mais être instable cependant ça peut valoir le coup d'essayer ! Vous pouvez faire une recherche/consulter la base de données d'applications compatibles avec wine. Ce n'est pas parce que l'application n'est pas dans la base qu'elle n'est pas compatible avec wine (Pour plus d'informations sur wine c'est par ici).


Voilà,

Je vous souhaite de bonnes trouvailles !

Amusez-vous bien,
Musicalement,



Vous trouverez d'autres astuces pour l'audio et la musique sur Ubuntu par ici.

dimanche 14 septembre 2014

Compiler ou faire un traitement consommateur (ex; audio/vidéo) sans trop faire chauffer son ordinateur (portable)

Pour accéder à la Liste des articles de ce blog c'est par ici

Bonjour,

aujourd'hui je vous parle d'un soucis que vous avez peut-être déjà rencontré pendant une compilation  ou autre traitement audio/vidéo : la surchauffe de l'ordinateur et l'extinction des feux ...

Ce problème est particulièrement courant sur les ordinateurs portables qui ont tendance à beaucoup chauffer !

Si vous voulez préserver votre ordinateur mais que vous voulez quand même compiler et utiliser vos logiciels de traitement audio/vidéo sans trop le stresser, cet article est fait pour vous.

Monitoring de la température


Prérequis

Installer le package debian lm-sensors qui permet d'obtenir la température des CPUs et qui est utilisé par les scripts ci-dessous:
$ sudo apt-get install lm-sensors ubuntu-sounds vorbis-tools jack-tools

Principe de l'astuce

En général, les compilateurs utilisés sont gcc et g++ mais ce principe peut s'appliquer à d'autre compilateur. Nous allons écrire des scripts gcc et g++ qui remplaceront aux yeux du système les vrais programmes gcc et g++. Ce sont juste des wrappers qui attenderont que la température des cpus diminuent avant de lancer la compilation suivante.

tout d'abord, créez un répertoire bin dans votre répertoire utilisateur:
$ mkdir ~/bin

Puis éditer les deux scripts à créer:
$ gedit ~/bin/gcc ~/bin/g++

Contenu du script gcc :
#!/bin/bash
white='\e[1;37m'
NC='\e[0m'

MAX_TEMP="70"

temp() {
  sensors | grep "Core[ 0-9]*:" | sed -e 's/.*\([+-][0-9.]\+\)°C.*(.*$/\1/' | sort -n -r | head -n 1 | sed -e 's/-[0-9.]\+/0/;s/+//'
}


CURRENT_TEMP=$(temp)
TOO_HOT=0
# now wait for it to cool down...
while [ $(echo "$CURRENT_TEMP > $MAX_TEMP" | bc) = 1 ]; do
    [ $TOO_HOT == 0 ] && echo -e "${white} CPU temp $CURRENT_TEMP ${NC}"
    TOO_HOT=1
    sleep 10
    CURRENT_TEMP=$(temp)
done

[ $TOO_HOT == "1" ] && echo -e "${white} CPU was too hot : ok now, restarting...${NC}"

/usr/bin/gcc $@

Contenu du script g++  (la même chose que précédemment mais la commande à lancer est g++):
#!/bin/bash
white='\e[1;37m'
NC='\e[0m'

MAX_TEMP="70"

temp() {
  sensors | grep "Core[ 0-9]*:" | sed -e 's/.*\([+-][0-9.]\+\)°C.*(.*$/\1/' | sort -n -r | head -n 1 | sed -e 's/-[0-9.]\+/0/;s/+//'
}


CURRENT_TEMP=$(temp)
TOO_HOT=0
# now wait for it to cool down...
while [ $(echo "$CURRENT_TEMP > $MAX_TEMP" | bc) = 1 ]; do
    [ $TOO_HOT == 0 ] && echo -e "${white} CPU temp $CURRENT_TEMP ${NC}"
    TOO_HOT=1
    sleep 10
    CURRENT_TEMP=$(temp)
done

[ $TOO_HOT == "1" ] && echo -e "${white} CPU was too hot : ok now, restarting...${NC}"

/usr/bin/g++ $@


Rendez les scripts exécutables:
$ chmod 755 ~/bin/gcc ~/bin/g++

Mettre en avant du PATH les scripts créés: Pour cela modifiez votre ~/.profile:
Pour éditer le fichier:
$ gedit ~/.profile

Ajouter à la fin du fichier la ligne suivante:
export PATH=~/bin:$PATH

Généralisation

Voici un autre script : script qui démarre un programme utilisateur et surveille la température des CPUs. si la température dépasse le seuil MAX_TEMP alors le programme utilisateur est arrêté (pause) puis lorsque la température descend, le process est réactivé (continue).

Son utilisation:
mon_cpu_too_hot.sh COMMAND
Exemple:
$ mon_cpu_too_hot.sh cp -r / /Backup

Pour les applications audio sous jack:
mon_cpu_too_hot.sh -j COMMAND
Exemple:
$ mon_cpu_too_hot.sh -j ardour3

Voici le contenu du script:
#!/bin/bash
white='\e[1;37m'
NC='\e[0m'

MAX_TEMP="80"

HANDLE_JACKAUDIO=0
export JACK_PLAY_CONNECT_TO="system:playback_%d"

jack_bell() {
  jack.play /usr/share/sounds/ubuntu/stereo/bell.ogg
  jack.play /usr/share/sounds/ubuntu/stereo/bell.ogg
  jack.play /usr/share/sounds/ubuntu/stereo/bell.ogg
}

temp() {
  sensors | grep "Core[ 0-9]*:" | sed -e 's/.*\([+-][0-9.]\+\)°C.*(.*$/\1/' | sort -n -r | head -n 1 | sed -e 's/-[0-9.]\+/0/;s/+//'
}

stop_process_and_childs() {
      kill -STOP $1
      ps -o pid --no-headers --ppid $1 | 
      while read CPID
      do
        kill -STOP $CPID
      done
}

continue_process_and_childs() {
      ps -o pid --no-headers --ppid $1 | 
      while read CPID
      do
        kill -CONT $CPID
      done
      kill -CONT $1
}

jackd_stop() {
  pkill -STOP jackdbus
}

jackd_continue() {
  pkill -CONT jackdbus
}

if [ "$1" == "-j" ]; then
  HANDLE_JACKAUDIO=1
  shift
fi

COMMAND="$1"
shift

"$COMMAND" "$@" &

PID=$!

echo -e "${white}CPU temp max $MAX_TEMP : control PPID $PID ${NC}"

while [ "$(ps -p $PID --no-header)" != "" ]
do
  CURRENT_TEMP=$(temp)
  TOO_HOT=0
  sleep 3
  while [ $(echo "$CURRENT_TEMP > $MAX_TEMP" | bc) = 1 ]; do
    if [ $TOO_HOT == 0 ]; then
       echo -e "${white} CPU temp $CURRENT_TEMP : STOPPING PROCESS $PID and its childs ${NC}"
 #     ogg123 -d pulse -y 3 /usr/share/sounds/ubuntu/stereo/bell.ogg 2> /dev/null
       [ $HANDLE_JACKAUDIO == 1 ] && jack_bell
    fi
    TOO_HOT=1
      [ $HANDLE_JACKAUDIO == 1 ] && jackd_stop
      stop_process_and_childs $PID
      sleep 10
      CURRENT_TEMP=$(temp)
  done

  if [ $TOO_HOT == 1 ]; then
    echo -e "${white} CPU was too hot : ok now, restarting...${NC}"
    continue_process_and_childs $PID
    [ $HANDLE_JACKAUDIO == 1 ] && jackd_continue
  fi
done

Si vous ne voulez rien changer à vos habitudes, vous pouvez créer des alias qui appelleront automatiquement ce script (dans le fichier ~/.bashrc):
alias del='mon_cpu_too_hot.sh /usr/bin/trash-put'
alias rsync='mon_cpu_too_hot.sh /usr/bin/rsync'
alias cp='mon_cpu_too_hot.sh /bin/cp'
alias mv='mon_cpu_too_hot.sh /bin/mv'
alias rm='mon_cpu_too_hot.sh /bin/rm'
alias ardour3='mon_cpu_too_hot.sh -j /usr/local/bin/ardour3'
...

Si vous voulez utiliser ces alias avec la commande sudo, il vous faudra ajouter l'alias suivant pour cela fonctionne:
alias sudo='sudo '

NB: l'espace est important !


Toutes ces opérations seront dorénavant soucieuse de la température de votre CPU ! Notez l'option -j qui arrête également le serveur de son jack lorsque c'est nécessaire.

Attention, ce script ne fonctionne pas avec les commandes en ligne interactive (comme 'rm -i').

Si vous voulez utiliser des interfaces graphiques avec ce script (comme ardour3), démarrez le logiciel à partir d'un terminal comme cela vous pourrez voir les messages de ce script (en gras et blanc).

Si vous avez une carte son avec pulseaudio sur votre ordinateur, vous pourrez émettre un son de votre choix lorsque le CPU est trop chaud et qu'un programme est mis en pause: (décommentez la ligne suivante dans le script ci-dessus)

ogg123 -d pulse -y 3 /usr/share/sounds/ubuntu/stereo/bell.ogg 2> /dev/null

Tuner votre script ...

La variable MAX_TEMP représente la température maximum à ne pas dépasser. Vous pouvez tuner ce paramètre à votre guise. (Prenez une valeur moins élevé que la température critique de votre CPU: Pour la connaître tapez: $ sensors).

La ligne "sleep 10" fait attendre le programme pendant 10s. Si ce n'est pas suffisant pour refroidir le CPU, vous pouvez augmenter le nombre de secondes ...

Les scripts gcc et g++ rendront fatalement la compilation beaucoup plus longue qu'à pleine puissance mais vous arriverez au bout sans problème.

Sinon, sur des programmes nécessitant beaucoup de puissance de calcul (faisant donc chauffer l'ordinateur: traitement audio/vidéo e.g. ardour, ffmpeg; avconv, lame, oggconvert, ...), le troisième script (e.g mon_cpu_too_hot.sh) sera d'une aide précieuse pour éviter l'extinction intempestive de votre ordinateur ...

Enfin, si malgré cela, votre ordinateur continue à s'éteindre rapidement, scrutez les processus consommateur avec la commande top et vérifiez si ils sont pertinents, Sinon, pensez à faire réviser votre ordinateur - souvent un dépoussiérage de l'intérieur suffira (CPU / ventilateur).

Alternative : Limiter l'utilisation du CPU par un process

Vous pouvez aussi utiliser cpulimit qui permet de limiter l'utilisation du CPU à un certain pourcentage de puissance CPU. 

Cette commande utilise aussi les signaux STOP et CONT pour mettre en pause et faire repartir le processus visé par la commande de tel façon à ce qu'il n'utilise pas plus que le pourcentage de puissance CPU indiqué en paramètre.

Pour installer cet outil:
$ sudo apt-get install cpulimit

Lancer le processus et le limiter à 40% de CPU:
$ monprogramme & cpulimit -p $! -l 40

Les pourcentages indiqués ici correspondent aux pourcentages indiqués  par la commande top.

L'avantage de cette commande est que l'on peut attacher et détacher cpulimit d'un processus.

Pour l'utilisation d'un logiciel audio comme ardour3, vous pouvez l'attacher à cpulimit lorsque vous faîtes un traitement lourd (batch) sur de l'audio ou de la vidéo et le détacher lorsque vous mixez ou visionnez le résultat.

pour obtenir le PID d'un programme appelé monprogramme:
$ ps -axf | grep monprogramme

La première colonne donne le PID (un nombre entier).

Limiter un processus et ces processus fils sur Ubuntu 12.04


Enfin, la version de cpulimit sur Ubuntu 12.04 ne gère pas les processus childs. Cependant les dernières versions de cpulimit les gérent.

CPULimit peut être télécharger ici. Il vous faudra le compiler et l'installer.

$ tar xvfz cpulimit-2.2.tar.gz
$ cd cpulimit-2.2
$ make

Puis pour créer un package debian et l'installer:
$ sudo checkinstall -D make install

sinon pour installer directement:
$ sudo make install



Voilà, amusez-vous bien !
Musicalement,


Vous trouverez d'autres astuces pour l'audio et la musique sur Ubuntu par ici.

lundi 28 juillet 2014

Métronome avec ecasound

Pour accéder à la Liste des articles de ce blog c'est par ici

Bonjour,

comme vous l'aurez peut-être remarqué ecasound (2.9.1) ne gère pas le métronome.

Pour ajouter un métronome, il faut:
- soit synchroniser un séquenceur MIDI avec ecasound. Cette méthode est abordé dans un autre article.
- soit synchroniser klick, un métronome qui fait le café ou créer une piste audio à partir de ce logiciel !
- soit ajouter une piste audio avec un click enregistré à partir d'un fichier MIDI ou d'un site internet.

Synchroniser klick en temps réel avec ecasound


klick est un métronome supportant jack qui permet de gérer des changements de tempos, les signatures de mesures ...
Bref, ce petit bijou est souple et simple d'utilisation. Voici le manuel (en anglais) pour vous faire une idée.

Pour installer klick:
$ sudo apt-get install klick
Lorsqu'on utilise klick, les informations de transport jack contiennent la mesure/le temps/la frame ainsi que la position en hh:mm:ss:ddd (à voir dans qjackctl).

Et voici une ligne de commande pour démarrer klick en maître du transport jack:
$ klick -p  system:playback_1,system:playback_2 -t -T -s 3 -f song.tmap
Il vous faudra démarrer ecasound avec l'option -G:jack,ecasound,recv ou -G:jack,ecasound,sendrecv.
song.tmap est un fichier tempo map (fichier texte) simple à écrire et à lire (voir la doc).

Par exemple (song.tmap):
intro:14 110    # 14 mesures 4/4 à 110 bpm
couplet1:24 220 # 24 mesures 4/4 à 220 bpm
refrain1:16 110 # 16 mesures 4/4 à 110 bpm
couplet2:48 220 # 48 mesures 4/4 à 220 bpm
refrain2:16 110 # 16 mesures 4/4 à 110 bpm
solo:74 110     # 74 mesures 4/4 à 110 bpm

Ajouter une piste avec le click (métronome)


Générer un fichier son click.wav à partir de klick

(voir plus haut pour avoir plus d'infos sur ce logiciel).

Vous pouvez aussi avec klick, générer un fichier son dans différents formats:
$ klick -s 3 -f song.tmap -r 48000 -W Click-tmp.wav
ici le sample rate est 48000 Hz et le format de fichier WAV (fichier mono).
Pour le transformer en fichier stéréo 32 bits:
$ sox Click-tmp.wav -c 2 -b 32 -e floating-point Click.wav


Fichier Click en MIDI


ecasound supporte les fichiers MIDI grâce à timidity. Pour cela, installez timidity:
$ sudo apt-get install timidity

Puis utilisez le fichier MIDI avec le click en entrée d'une chaîne:
$ ecasound -i Click.mid -o jack,system

NB: selon le paramètrage de timidity, ce processus peut prendre plus ou moins de charge CPU, mémoire et disque. Cependant, cette solution est rapide à mettre en oeuvre et est simple !


Fichier Click WAV à partir d'un fichier MIDI


Pour cela, vous pouvez transformer le fichier MIDI avec le click en WAV avec timidity.

Installez timidity et sox avec la ligne de commande suivante:
$ sudo apt-get install timidity sox

Puis appliquez la ligne de commande suivante pour transformer votre fichier MIDI (Click.mid) en fichier WAV (Click.wav => 32 bits floating point, 2 canaux - donc stéréo -, 48000 Hz [adaptez l'encodage numérique à vos besoins]):
$ timidity Click.mid -Ow Click-tmp.wav
$ sox Click-tmp.wav -r 48000 -b 32 -c 2 -e floating-point Click.wav
$ rm Click-tmp.wav

ou alors

Fichier Click à partir d'un site internet


allez sur le site metronomer.com qui génère une piste mp3 avec les paramètres que vous avez sélectionnés. il ne reste plus qu'à le transformer en fichier WAV.

Vous aurez besoin d'installer sox. Pour cela, appliquez la ligne de commande suivante:
$ sudo apt-get install sox libsox-fmt-mp3

Puis appliquez la commande suivante pour convertir par exemple votre fichier MP3 (Click.mp3) en fichier WAV (Click.wav => 32 bits floating point, stéréo (2 canaux), 48000 Hz [adaptez l'encodage numérique à vos besoins]):
$ sox Click.mp3 -r 48000 -b 32 -c 2 -e floating-point Click.wav

Articles connexes


Voici d'autres articles sur ecasound qui pourront vous intéresser.
ecasound / nama le multitrack recorder léger !
Synchroniser un séquenceur MIDI avec ecasound


Voilà,
amusez-vous bien,
Musicalement,

Vous trouverez d'autres astuces pour l'audio et la musique sur Ubuntu par ici.

Synchroniser un séquenceur MIDI avec ecasound

Pour accéder à la Liste des articles de ce blog c'est par ici

Bonjour,

Il est difficile aujourd'hui de faire de la musique sans passer par les fichiers MIDI car ils peuvent servir à piloter votre hardware et/ou à jouer de la musique.

Tout cela est bien beau, cependant ecasound ne supporte pas nativement la synchronisation Midi avec le monde extérieur. Il est seulement capable d'envoyer start/stop à un périphérique MIDI.

Pourtant il existe une application qui permet de transformer les informations de transport Jack en Messages Midi Clock si vous utilisez un seul tempo dans votre chanson.

Nous allons voir comment synchroniser midish avec ecasound grâce des messages Midi Clock.

Installation

Dans cet article, l'installation de jack et la configuration de votre Linux pour la MAO n'est pas abordé. Cependant, vous trouverez sur ce blog les articles nécessaires à la réalisation de cette tâche (voir lien en à la fin de cet article).

Pour les besoins de cet article, il vous faudra installer:
$ sudo apt-get install ecasound midish a2jmidid fluidsynth fluid-soundfont-gm

et téléchargez jack_midi_clock et le compiler:
$ bzip2 -d jack_midi_clock-0.4.0-bad61589.tar.bz2
$ tar xvf jack_midi_clock-0.4.0-bad61589.tar
$ cd jack_midi_clock-0.4.0-bad61589
$ sudo make install 

Vous pouvez aussi à la place de la version ci-dessus, utiliser la version suivante d'un autre mainteneur (travail plus récent):
$ git clone git://github.com/x42/jack_midi_clock.git
$ cd jack_midi_clock
$ sudo apt-get install libjack-dev libjack-jackd2-dev
$ make
$ sudo make install

Démarrer les programmes

1/. Démarrer jack avec qjackctl par exemple.

2/ Démarrer le pont entre port MIDI jack et alsa:
$ j2amidi_bridge

3/ Démarrer la traduction du transport jack en évenements MIDI Clock avec le tempo que vous désirez (ici 110 bpm)
$ jack_midi_clock -b 110

4/ Connectez les ports MIDI jack de jack_midi_clock vers j2a_bridge.

5/ Démarrer fluidsynth (synthétiseur logiciel avec banque son pour votre fichier MIDI):
$ fluidsynth -j -a jack -m alsa_seq -p fluidsynth /usr/share/sounds/sf2/FluidR3_GM.sf2

6/ Démarrer rmidish
$ rmidish

Saisissez le script suivant et adaptez le à votre environnement:
# ajoute les périphériques MIDI ALSA
#
# device 0
dnew 0 "131:fluidsynth" wo

# device 1
dnew 1 "134:j2a_bridge" ro

# déclare le device 1 comme master clock
dclkrx 1

# active le métronome
m on

# importe un fichier MIDI
import "batterie.mid"

# convertit le fichier MIDI au clock rate standard
setunit 96

# play (attend les informations de transport jack_midi_clock avant de commencer à jouer
p

NB: les lignes avec dièse devant peuvent être ignorées lors de la saisie ...

7/ Démarrer ecasound. Ce qui est important c'est qu'il soit initiateur du transport (-Gjack,ecasound,send)
$ ecasound -c -s projet.ecs

NB: le fichier projet.ecs est à remplacer par votre fichier projet ou une ligne de commande plus simple du style:
$ ecasound -c -i fichier.wav -o jack,system -G:jack,ecasound,send
une fois dans le mode interactif, saisissez:
 engine-launch
 t

NB: t pour start, s pour stop. ecasound contrôlera midish également. Vous devriez entendre un click de métronome, votre fichier MIDI (grâce à fluidsynth piloté par midish), vos pistes audio dans ecasound et tout ceci synchronisé.

L'idéal serait que midish implémente le support du serveur de son jack pour avoir la possibilité d'utiliser des ports midi jack mais à ma connaissance, ce n'est pas à l'ordre du jour.

Articles connexes


Voici d'autres articles sur ecasound qui pourront vous intéresser.
ecasound / nama le multitrack recorder léger !
Métronome avec ecasound


Voilà,
Amusez-vous bien,
Musicalement,

Vous trouverez d'autres astuces pour l'audio et la musique sur Ubuntu par ici.

ecasound / nama le multitrack recorder léger !

Pour accéder à la Liste des articles de ce blog c'est par ici

Bonjour,

aujourd'hui je vous parle d'un logiciel Linux qui existe depuis longtemps (1999) et qui est réputé pour être stable et très léger. ecasound est un enregistreur multi-pistes (multitrack recorder) en ligne de commande qui inclut des effets mais qui peut aussi utiliser des plugins LADSPA et LV2 (depuis la 2.9.1) . il va réhabiliter votre vielle ordinateur ou vous permettre d'enregistrer avec un netbook et une carte son USB par exemple !

Le but de cet article n'est pas de refaire une doc sur ecasound mais plutôt de fournir quelques astuces et exemples concrets qui vous permettront rapidement d'être opérationnel sur ce logiciel. Dans cet article, j'utiliserai le serveur de son jack avec ecasound mais sachez qu'il est aussi possible d'utiliser ALSA ou d'autres ... J'aborderai également en fin d'article nama qui est une surcouche à ecasound et qui est plus facile à appréhender.

ecasound supporte de nombreux formats de fichiers (utilise la bibliothèque libsndfile) mais dans cet article, on utilisera le format WAV.

Installation d'ecasound

Pour installer ecasound, tapez la ligne de commande suivante:
$ sudo apt-get install ecasound

Obtenir de l'aide sur ecasound:
$ man ecasound

Pour démarrer ...

Voici un exemple qui joue un fichier "musique.wav" sur la sortie du serveur de son jack.
$ ecasound -i musique.wav -o jack,system

Voici un exemple qui enregistre un fichier "micro.wav" à partir de l'entrée jack
$ ecasound -i jack,system -o micro.wav

jusque là, ça va ... Maintenant passons à la défintion de quelques concepts d'ecasound.

Concepts

Voici quelques concepts d'ecasound:
le concept de chainsetup : C'est l'équivalent d'un patch audio
le concept de "chain" qui s'apparente à un jack audio avec toujours une entrée (input) et une sortie (output). On peut appliquer sur un bout de chaîne (entrée ou sortie) des effets et faire des conversions de formats numériques (nombre de bits, nombre de canaux, fréquence d'échantillonage)

ecasound utilise le format de fichier .ecs pour stocker un fichier projet (ecasound chain-setup). Ce type de fichier contient simplement les options en ligne de commande que vous voulez utiliser avec ecasound. C'est beaucoup plus pratique que de saisir des longues ligne de commande.

Exemple de chain-setup

Fichier .ecs


Voici un exemple avancé de projet dans lequel on enregistre deux pistes que l'on monitore avec en plus un mix Basse/batterie/Chant/Click:
########################################################
# GENERAL

# Real time low latency
-B:rtlowlatency 

# frame buffer (determine la latence disponible pour le traitement (voir qjackctl))
-b 128 

# nom du projet 
-n:"lacher_prise" 

# mode update/truncate : update les fichiers en les tronquants
-x 

# s'arrête au premier xrun
-z:xruns 

# mixmode average : mixe en faisant la moyenne
-z:mixmode,avg 

# pour les problèmes de latences :
-z:nointbuf

# envoie les informations de positionnement aux autres process jack connectés
-G:jack,ecasound,send

# format numérique par défaut (32 bits, 2 canaux, à 48000 Hz)
-f:32,2,48000

# MIDI port
-Md:alsaseq,14:0

########################################################
# -f => format numérique
# -i => chain input : entrée de la chaîne
# -o => chain output : sortie de la chaîne
# -a => chain name : nom de la chaîne
#
# par défaut, il ne peut y avoir qu'une entrée et une sortie par chaîne
# avec loop,tag on peut mettre une entrée sur plusieurs sorties et une même sortie sur plusieurs entrées
########################################################
# AUDIO INPUTS 
-a:Capture1 -f:,1, -i:jack,system:capture_1 
-a:Capture2 -f:,1, -i:jack,system:capture_2
-a:RecCapture1,MixCapture1 -f:,1, -i:loop,rec1
-a:RecCapture2,MixCapture2 -f:,1, -i:loop,rec2

# Les deux lignes suivantes transforment le signal mono en stéréo
-a:MixCapture1 -chcopy:1,2 -epp:0
-a:MixCapture2 -chcopy:1,2 -epp:100

# -ea : volume de la piste en pourcentage
# -ea:amplify%
#
# -km : affectation d'un paramètre d'effet à un contrôleur MIDI
# -km:fx-param,start-value,end-value,controller,channel

-a:Basse -i Basse24-48.wav
-a:Basse -ea:100 -km:1,0,100,1,1

-a:Batterie -i Batterie24-48.wav
-a:Batterie -ea:100 -km:1,0,100,2,1

-a:Chant -i Chant24-48.wav
-a:Chant -ea:100 -km:1,0,100,3,1

-a:Metronome -i Click24-48.wav
-a:Metronome -ea:100 -km:1,0,100,4,1

-a:Master -f:,2, -i:loop,all_mix
-a:Master -ea:100 -km:1,0,100,5,1

########################################################
# AUDIO OUTPUTS 
-a:Capture1 -f:,1, -o:loop,rec1
-a:Capture2 -f:,1, -o:loop,rec2
-a:RecCapture1 -f:,1, -o:new_track_capture1.wav
-a:RecCapture2 -f:,1, -o:new_track_capture2.wav
-a:MixCapture1,MixCapture2,Basse,Batterie,Metronome,Chant -f:,2, -o:loop,all_mix
-a:Master -f:,2, -o:jack,system

Petit diagramme excplicatif


Voici un petit graphique simple qui illustre le script ci-dessus:
                            
                                      /--1c--: new_track_capture1.wav
system:capture_1 :--1c--: rec1 :-----+
                          (loopback)  \--2c--: mix_all (loopback) :

                                      /--1c--: new_track_capture2.wav
system:capture_2 :--1c--: rec2 :-----+
                          (loopback)  \--2c--: mix_all (loopback) :


Basse24-48.wav :--2c--: Basse :--2c-------+-: mix_all (loopback) :--: Master :---: system
                                          /
Batterie24-48.wav :-2c: Batterie :-2c----/
                                        /             
Chant24-48.wav :---2c-: Chant :-2c-----/
                                      / 
Click24-48.wav :-2c-: Metronome :-2c-/          
                                    /
rec2 (loopback) :----1c=>2c--------/
                                  /
rec1 (loopback) :----1c=>2c------/

1c = 1 canal : mono
2c = 2 canaux : stereo
loopback : astuce pour connecter une entrée à plusieurs sorties ou plusieurs entrées à une sortie.

Surface de contrôle


ecasound permet de contrôler les paramètres d'effets via un contrôleur MIDI. Celui-ci peut-être hardware ou software (Virtual MIDI Sliders avec wine, Virtual MIDI Piano Keyboard: VMPK ...).

Exemple:
# -km:fx-param,start-value,end-value,controller,channel

-a:Metronome -ea:100 -km:1,0,100,4,1
La combinaison de -km et -ea permet de contrôler le pourcentage du volume (ici 0 à 100) avec le message MIDI CC 4 sur le canal MIDI 1.

La  surcouche à ecasound: Nama


Écrit en Perl, ce module en version 1.114 au moment où j'écris ces lignes sera votre compagnon si vous cherchez un outil de plus haut niveau pour utiliser ecasound mais toujours en ligne de commande. Ce logiciel fournit également une interface graphique épurée pour prendre en main l'outil.

Nama fournit de nombreuses fonctionnalités de haut niveau (punch in/out => track edit, marqueurs, pistes, bus, mixage, mastering, edition non-destructive ...) implémentées avec ecasound. Il évite la surcouche graphique généralement consommatrice en CPU ...  

L'avantage sur ecasound est évident, les chainsetups sont gérés automatiquement par Nama. Les commandes de Nama sont de haut niveau, biens documentées dans le logiciel et faciles à comprendre et à retenir.

Comme tout nouvel outil, il y a un temps d'apprentissage mais selon votre cas d'utilisation, cela peut aller très vite. En tout cas, ça peut valoir le coup si vous avez un ordinateur un peu juste en CPU ou avec un petit écran !





Articles connexes


Voici d'autres articles sur ecasound qui pourront vous intéresser.
Synchroniser un séquenceur MIDI avec ecasound
Métronome avec ecasound


Voilà,
amusez-vous bien,
Musicalement,

Vous trouverez d'autres astuces pour l'audio et la musique sur Ubuntu par ici.

mercredi 23 juillet 2014

Mesurer les performances de votre système Linux

Pour accéder à la Liste des articles de ce blog c'est par ici

Bonjour,

L'article "Configurer Linux pour la MAO" présente de nombreuses astuces afin d'optimiser son système Linux pour la MAO.

Il est évident que la la carte son pro (faible latence), la RAM, la rapidité des disques, la puissance CPU, la carte graphique (si vous utilisez un séquenceur avec interface graphique) sont autant d'éléments dans votre configuration qui influencent les performances audio temps réel de votre système.

Aussi, ici je vous présente quelques outils pour évaluer vos besoins en terme de mémoire, CPU et rapidité disque.

Démarrez votre séquenceur en lecture et/ou enregistrement et lancer les commandes suggérées dans les sections suivantes pour mesurer la RAM, la charge CPU et l'usage de vos disques:

RAM (mémoire vive)


La RAM peut être mesurée grâce à top et à sar.
$ sudo apt-get install sysstat procps


$ top

top donne la mémoire utilisée par chaque processus. Les colonnes VIRT (sur disque, dans le swap), RES (en RAM) et SHR (en RAM) sont à prendre en compte.

sar permet de mesurer sur un temps donné (ici 180 sec) et faire la moyenne:
$ sar -r 1 180

Si votre disque s'affole et que le son est haché, il est fort probable que vous n'avez pas assez de RAM et que le système "swap" sur le disque. Soit le seuil de déclenchement de l'utilisation du swap est trop bas, soit le système n'a définitivement pas assez de RAM.

CPU


La charge CPU peut être mesurée grâce à top et à sar.
$ sudo apt-get install sysstat procps


$ top

top donne la charge CPU (colonne %CPU) utilisée par chaque processus. sar permet de mesurer sur un temps donné et faire la moyenne (idle est le pourcentage de puissance CPU non utilisée par le système):
$ sar 1 180

Si vous avez des xruns et que vous avez appliqué les optimisations conseillées dans ce blog sur votre système Linux MAO , il est probable que la charge CPU soit trop importante.

Vous avez alors deux choix,
- soit vous diminuez la charge CPU nécessaire :
           + en minimisant les fenêtres de votre séquenceur (moins de traitement pour les mises à jour de l'interface graphique)
           + en désactivant des plugins d'effets inutiles
           + en augmentant la période (taille des échantillons) de jack (dans la page réglages de  qjackctl par exemple) mais cela augmentera la latence ...
           + en dernier recours, vous pouvez essayer un multi-pistes en ligne de commande (sans interface graphique : ecasound le multitrack recorder léger !)

- soit vous vous procurez un CPU plus puissant ...

Disques 


Le capacité de votre disque dur déterminera la durée d'enregistrement selon le nombre de pistes, l'échantillonnage et le nombre de bits de définition du son.

Voici un lien vers un site vous permettant de calculer facilement la capacité disque nécessaire en fonction de la durée, du nombre de pistes, de l'échantillonnage et du nombre de bits de définition.

Pour calculer la capacité de transfert disque nécessaire par seconde, calculez l'espace disque pour une minute et divisez par 60.

Souvent, le disque est sollicité en lecture et en écriture en même temps hors les tests de performances des disques font soit de la lecture/soit de l'écriture ... Mais cela vous donnera une idée des besoins en terme de capacité de transfert ...

Ceci dit vous pouvez mesurer l'activité de vos disques grâce à la commande sar, iotop, hdparm et sync:
$ sudo apt-get install iotop sysstat hdparm coreutils

sudo iotop : vous donne les transferts par processus.
sar -b 1 180 : vous donne les transferts de bloc (512 octets) toutes les secondes 180 fois et fait la moyenne voir la page man.

Le temps d'accès au disque est importante. Aussi les disques SSD pulvérisent les disques durs HDD en terme de temps d'accès. Pour les HDD classiques préférez des 7200 rpm à des 5400 rpm.

Mesurer la capacité de votre disque en lecture

Adaptez la ligne de commande ci-dessous à vos besoins: sda pour le premier disque, sdb pour le deuxième disque ...
$ hdparm -t --direct /dev/sda

Mesurer la capacité de votre disque en écriture

Pour le test ci-dessous, vous avez besoin de 4,1Go sur votre disque. Placez-vous sur le disque à tester et exécutez la commande suivante:
$ sync;time bash -c "(dd if=/dev/zero of=bf bs=8k count=500000; sync)"

Une fois le test terminé, effacez le fichier créé:
$ rm bf

Voilà, j'espère que cela vous aidera à diagnostiquer votre système et à mieux cibler vos besoins.

A bientôt,
musicalement,

Vous trouverez d'autres astuces pour l'audio et la musique sur Ubuntu par ici.

mardi 22 juillet 2014

Configurer Ubuntu 12.04/14.04 pour la MAO

Pour accéder à la Liste des articles de ce blog c'est par ici

Bonjour,

afin de tirer le plus partie de votre ordinateur pour la MAO sous Linux, que ce soit une configuration récente ou ancienne, ce blog vous donne un certain nombre d'astuces avancées que vous pouvez mettre en place pas à pas.

En voici une revue et quelques ajouts:

Préparer son système Ubuntu pour la MAO

NB: les étapes 1, 2 et 3 peuvent être remplacées par l'installation d'une distribution dédiée à la MAO (KXStudio, UbuntuStudio, ...). Mais prendre le temps de les appliquer vous permettra de mieux comprendre votre système et son fonctionnement.

1/ Installez le dépôt KXStudio (uniquement pour ubuntu LTS - Long Term Support - en 12.04 et en 14.04) pour avoir accès aux dernières versions de vos logiciels open source favoris:
KXstudio PPA : Le dépôt des dernières versions de logiciels multimedia et audio pour precise (Ubuntu 12.04)

2/ Installation de jack ! Il est important de passer du temps à comprendre le fonctionnement et surtout le paramétrage de ce serveur de son dédié à l'audio faible latence.
- Installer Jack, le faire cohabiter avec pulseaudio et éliminer le message "cannot lock down"

note: n'activez pas la cohabitation de pulseaudio avec jack pendant un enregistrement car cela dégrade les performances ...

3/ Installez un noyau spécialisé dans le traitement audio à faible latence:

4/ Appliquez un certain nombre d'astuces sur votre système pour optimiser ses performances pendant vos sessions audio:

5/ L'un des postes CPU les plus important si vous utilisez un séquenceur avec interface graphique est l'interface graphique. Il existe différents types d'interfaces X11 avec chacune des caractéristiques bien spécifiques. 

L'interface par défaut d'Ubuntu 12.04 est unity. Cependant, cet environnement est gourmand et n'est pas très adapté au traitement audio. Aussi vous pouvez installer XFCE pour libérer un peu de CPU grâce à ces environnements légers et performants.

Pour cela, appliquez la commande suivante:
$ sudo apt-get install xfce4 xfce4-goodies xfce4-whiskermenu-plugins xubuntu-desktop

Une fois terminée, fermez votre session utilisateur et lorsque vous vous retrouvez sur l'écran de login, choisissez votre environnement cible (xfce4). Ce choix peut être changé à chaque ouverture de session. Vous pouvez donc à tout moment, revenir à unity ou autre environnement X11 présent sur votre système.

Conseils 

pour le choix de votre séquenceur et de vos plugins


Avec wine, on peut faire tourner des logiciels comme REAPER, Mixcraft 7 ou des plugins VST windows tel que Guitar Rig 5, Amplitube 3 et bien d'autres ... Cependant, gardez en tête que ces options ne sont pas optimales sur Linux. En effet, ces logiciels n'étant pas natif à Linux, leur utilisation peut entraîner une surcharge en CPU par rapport à des solutions natives ...

- Installer la station de travail audio Reaper et le driver Wineasio sous Linux (qui utilise Jack)
- pour utiliser Mixcraft 7, on peut aussi utiliser wineasio (cf. l'article sur Reaper).
- Démarrer des plugins VST windows sous Linux

L'utilisation de ardour3 ainsi que des plugins calf sont à préférer car ce sont des solutions natives à Linux et opensource.

- L'alternative libre à ProTools : la station de travail audio numérique (DAW) Ardour
- Les plugins audio LV2 indispensables avec Ardour (prise de son, mixage, mastering)


Vous voulez diagnostiquer votre système ?


Si malgré l'optimisation de votre système pour la MAO, vous avez toujours des soucis de performances dans votre cas d'utilisation, vous voudrez peut-être diagnostiquer ce qui manque sur votre système (CPU, mémoire ou disque). Alors je vous conseille la lecture de cet article: Mesurer les performances de votre système Linux

Vous voulez gagner du temps au chargement de vos programmes ?


Si vous voulez que vos programmes se chargent plus rapidement et que votre système démarre rapidement, je vous conseille la lecture de cet article: Optimiser votre système Ubuntu avec un disque SSD et un disque HDD !

Optimisez votre DAW



Les deux options proposées ci-dessous sont courantes dans les DAWs et permettent de gagner un peu de CPU:

- ne pas afficher la forme d'onde pendant l'enregistrement
- ne pas suivre la tête de lecture (éviter le défilement ou scrolling).

Pour commencer votre maquette


Quelques astuces et liens vers des articles utiles pour faire vos premiers pas dans la réalisation d'une maquette:
- Faire une maquette : quelques conseils et astuces pour bien débuter
- S'initier à la prise de son, au mixage et au mastering


Bon courage !
Amusez-vous bien,
Musicalement,



jeudi 8 mai 2014

Comment organiser ses séances d'entraînement à la basse (Échauffement / étude / Improvisation) (liens internet et vidéos utiles)

Bonjour,

aujourd'hui un petit article sur la guitare basse. Comment organiser ses séances quotidiennes ... d'entraînement.

Une séance d'entraînement peut s'organiser de la façon suivante:

  1. Échauffement / Travail technique
  2. Étude : On étudie la partition ou la tablature d'un morceau qui nous plait et qui présente un challenge (mémoire, précision, technique ...) mais il ne doit pas être insurmontable !
    • Vous trouverez sur jellynote.com, un outil idéal et gratuit pour obtenir les partitions et tablatures de vos morceaux préférés. Jellynote.com est une interface permettant aux musiciens d'apprendre à jouer des morceaux facilement (avec player audio et métronome).
    • Sinon, vous avez de nombreux sites qui présentent des tablatures qui peuvent varier d'une version à l'autre.
    • ATTENTION: internet n'est pas une science exacte donc gardez votre libre-arbitre sur les doigtés et les notes que vous jouez ... 
  3. Improvisation ou retranscription : Le travail de l'oreille est important et ne doit pas être dissocié de la pratique instrumentale.
    • Improvisation: Ce blog présente une série d'outils utiles à l'improvisation. Mais le plus simple d'entre eux est sans conteste ChordPulse (payant mais version trial). Rapide à installer et à mettre en route. On rentre une grille d'accords et l'ordinateur nous fait l'arrangement ! Y a plus qu'à jouer ;-).
    • Retranscription: Vous pouvez vous entraîner à écrire des tablatures ou partitions avec Guitar Pro (payant) ou Tux Guitar (open source) puis à les comparer à ce que vous trouvez sur le net. C'est un bon exercice pour l'oreille ! Sinon, quelques logiciels sur le net vous permettent d'éduquer votre oreille de façon studieuse comme ear master.
Tous les logiciels cités ci-dessus sont compatibles avec Ubuntu 12.04 parfois nativement parfois avec l'aide de wine.

Amusez-vous ou travaillez bien ! Voir les deux :-).

Si vous en voulez plus visitez ce blog: La basse tout ce qu'il faut pour progresser (basse 4, 5 et 6 cordes), une mine d'or pour les bassistes ;-).



jeudi 28 novembre 2013

Faire une maquette : quelques conseils et astuces pour bien débuter

Pour accéder à la Liste des articles de ce blog c'est par ici

Bonjour,

nous verrons dans cet article les points suivants:
 - Quelle station de travail audio-numérique pour débuter
 - Comment choisir son matériel d'acquisition audio
 - Quels systèmes d'écoute pour le home studio
 - la latence à  moins de 10 ms pourquoi et comment ?
 - micro statique ou dynamique pour la voix ?
 - la batterie/percussions sur votre maquette

Vous pouvez aussi consulter directement la page consacrée aux Articles et vidéos sur la prise de son, le mixage et le mastering en Home Studio

Quelle station de travail audio-numérique pour débuter ?

Si vous voulez vous initier à la prise de son, au mixage et au mastering et que vous n'avez pas d'à priori sur le système cible, vous pourriez utiliser un système stable de type Linux Audio Pro. Il existe de nombreuses distributions Linux Audio facile à tester (à partir d'un CD ou d'un DVD ou même une clé USB bootable) et facile à installer (en quelques clics) à la place ou à côté de votre système habituel. Pour n'en citer que quelques unes: UbuntuStudio (les releases d'UbuntuStudio suivent celles d'Ubuntu), KXStudio (KXStudio suit les releases LTS - Long Term Support - d'Ubuntu donc moins fréquentes), Tango Studio (basé sur debian).

NB: Les systèmes à base d'Ubuntu disposent d'une forte communauté francophone et biensûr anglophone. Ce qui est un atout pour répondre rapidement à toutes vos questions (si elle n'ont pas déjà été résolues avant vous !).

Les avantages:
  - vous utiliserez un système stable et performant
  - vous utiliserez des logiciels libres (ce qui vous ne dispensera pas forcément de faire un don de temps en temps pour soutenir les logiciels phares de votre sphère)

Les désavantages:
 -  les logiciels sont parfois moins bien documentés dans le commerce sur les supports en français (livres, vidéos ...). Si vous maîtrisez l'anglais, ça ne sera pas une gêne pour vous. Dans le domaine de l'audio, l'anglais est indispensable !
 - il faudra être vigilant sur le matériel que vous achetez et vous assurer sur internet qu'il est compatible Linux.
Pour les cartes PCI et USB: consultez la liste des périphériques audio supportés ar les drivers Linux ALSA,
Pour les cartes Firewire: consultez la liste des périphériques audio supportés par FFADO.

Pour votre maquette dans votre home studio sous Linux, vous serez sûrement intéressé par les articles suivants:
L'alternative libre à ProTools : Découvrir la station de travail audio numérique (DAW) Ardour
Les plugins audio LV2 indispensables avec Ardour (prise de son, mixage, mastering)
- Compiler, installer et configurer ardourvst3 (ardour avec support VST Windows)

Une autre alternative est d'utiliser reaper (logiciel windows) sous Ubuntu avec le driver wineasio. Cette dernière solution est plus viable si vous voulez utiliser des plugins VST windows avec wine sous Linux. Si cette démarche vous intéresse, cet article [Installer la station de travail audio Reaper et le driver Wineasio sous Linux (qui utilise Jack)] est fait pour vous.

Comment choisir son matériel d'acquisition audio ?

Pour répondre à cette question, je vous propose de consulter le blog du technicien du son qui explique de manière illustrée comment fonctionne la numérisation. Cette étape est importante pour connaître les données qu'on traite en audio-numérique, comprendre la façon dont elles réagissent au traitements mais également pour le choix du matériel Home Studio (fréquence d'échantillonnage et résolution - nombre de bits de traitement - de la carte d'acquisition).

Quels systèmes d'écoute pour le Home Studio ?

Casque pour le musicien

Pour les prises de son voix, il vous faudra impérativement un casque fermé pour limiter la quantité de signal s'échappant du casque et se retrouvant dans le micro. Ces bruits parasites sur la voix peuvent également être réduit voir éliminer par la suite grâce à un effet de type Gate.

Casque pour le home studiste

Le travailleur du son aura besoin d'un casque de monitoring pour écouter le rendu sonore avec la plus grande fidélité possible. Il en existe à tous les prix avec une écoute plus ou moins fidèle. Le casque fermé est une bonne option pour s'isoler d'un environnement bruyant mais le casque ouvert est plus adapté (cf. cet article).

Des enceintes, c'est cher !

Pour que la configuration Home Studio soit complète, vous aurez besoin d'enceintes de monitoring pour écouter votre mixage avec la plus grande fidélité possible. Attention, les enceintes multimédia ne sont pas des enceintes de monitoring, elle colore le son et pourrait vous induire en erreur sur votre mixage.

Mixer au casque peut vous induire en erreur: la perception du mix est différente sur des enceintes de monitoring et sur un casque de monitoring ... Cependant les deux approches sont complémentaires.

Vous avez la possibilité d'adopter dans un premier temps un système de monitoring logiciel (au casque) à moindre coût. Si vous consultez les forums vous verrez que ce système, en général, est plutôt décrié ... mais parfois on a pas trop le choix !

La latence à moins de 10 ms, oui mais pourquoi et comment ?

Tout d'abord, une séance d'enregistrement nécessite d'avoir le retour dans un casque. Et de ce fait la latence doit être inférieure à 10ms. La latence est le temps que le signal met pour aller de l'instrument (ou le microphone) à l'ordinateur puis de l'ordinateur au casque. 10 ms est le seuil à partir duquel l'oreille commence à percevoir un décalage entre ce qui est joué et ce qui est entendu. Ce seuil peut être plus important selon les personnes.

D'un point de vue technique, votre serveur de son Jack (pour Linux et MAC OS/X) doit tourner avec moins (strictement) de 512 samples. Moins le buffer contient de samples, plus la charge CPU est importante, plus la latence est faible et peut entraîner du clipping (saute-de-son ou encore "xrun"). Plus le buffer contient de samples, plus la charge CPU est faible, plus la latence est élevée.

Astuces: Pour obtenir un retour rapide du signal, on favorisera l'utilisation de pistes sans plugins d'effets pour atteindre plus facilement un buffer avec moins strictement de 512 samples sinon pour un mixage on pourra augmenter le nombre de samples afin de moins stresser le CPU et pouvoir donc ajouter plus de plugins d'effets.

Pour atteindre votre objectif en terme de performance de votre système audio, vous serez limité par la puissance de votre ordinateur (CPU, RAM, rapidité des disques, et même puissance de votre carte graphique ainsi que le niveau de prise en charge sous Linux) la performance de votre carte d'acquisition audio mais également par votre système d'exploitation qui doit être optimisé à cet effet (Que ce soit MAC OSX, Linux ou même Windows).

Micro statique ou dynamique pour la voix ?


Micro statique



Le mieux pour enregistrer la voix est d'utiliser un micro statique. Il en existe différentes sortes pour la voix (micro à large membrane ou micro à lampe). Il vous faudra un lieu adapté à la prise de son (une cabine de chant, une pièce insonorisée). Les micros statiques ont besoin d'une alimentation fantôme 48V. Ils sont plus sensibles aux bruits ambiants mais donnent un meilleur rendu de la voix. Ils sont spécifiquement conçus pour le studio.

L'utilisation d'un filtre anti-pop permettra de réduire les effets indésirables causés par les plosives (les "b", "p"...) lors d'une prise de voix en studio. Il sert aussi à protéger le micro statique des projections de salive qui pourraient abîmer la membrane.

La distance du chanteur par rapport au micro peut varier selon le type de voix désiré sur l'enregistrement (5cm à 30cm par exemple).

Le pied de micro est indispensable pour éviter les bruits de manipulation du micro.

Pour en savoir plus sur la différence micro dynamique/statique, consultez le blog du technicien du son.

Micro dynamique

Si vous n'avez pas les moyens d'investir, vous pouvez vous rabattre sur un micro dynamique moins cher mais moins fidèle. Ils sont plutôt prévu pour la scène à la base mais vous donnerons entière satisfaction pour une maquette amateur.

Le pied de micro reste indispensable pour éviter les bruits de manipulation du micro.

Le chanteur doit se coller à la capsule du micro ou alors être à quelques centimètres seulement du micro ,pas plus, selon l'effet recherché.

Pour en savoir plus sur la différence micro dynamique/statique, consultez le blog du technicien du son.

La batterie/percussions sur votre maquette ...

La prise de son de la batterie dans un home studio est problématique. Si vous ne disposez pas d'un local insonorisé et des micros nécessaires à la prise de son de la batterie, vous pourrez tout de même la programmer en MIDI avec un séquenceur MIDI ou avec un logiciel de boîte à rythmes et obtenir un rendu tout à fait raisonnable pour une maquette home studio grâce à des plugins VSTi comme MDrummer 4 Small ou Addictive Drums (voir l'article sur les virtual drummer compatibles Linux).

Vous serez peut-être intéressé par la page consacrée aux Articles et vidéos sur la prise de son, le mixage et le mastering en Home Studio.

A bientôt,

Musicalement,

Les plugins audio LV2 indispensables avec Ardour (prise de son, mixage, mastering)

Pour accéder à la Liste des articles de ce blog c'est par ici

Bonjour,

aujourd'hui dans cet article, je vous parle des plugins audio LV2 indispensables sous Linux pour la prise de son, le mixage et le mastering.

Calf plugins

Pour alimenter votre séquenceur en plugins, la suite de plugins Calf est très complète et open source. Ce sont des plugins LV2 (avec interface graphique agréable). La version actuellement dans precise est la 0.0.18-6. Je vous conseille de télécharger la dernière version de Calf et de la compiler car la 0.0.19 ajoute une foultitude de plugins utiles ... et surtout redonne un look agréable aux plugins.

Voici la liste des effets disponibles:
- Instruments and tone generators (Organ, Monosynth)
- Modulation effects (Multi Chorus, Phaser, Flanger, Rotary, Pulsator)
- Delay effects (Reverb, Vintage Delay, Compensation Delay Line)
- Dynamic processors (Compressor, Sidechain Compressor, Multiband Compressor, Deesser, Gate, Sidechain Gate, Multiband Gate, Limiter, Multiband Limiter, Transient Designer)
- Filters and equalizers (Filter, Filterclavier, Equalizer 5 Band, Equalizer 8 Band, Equalizer 12 Band)
- Distortion and enhancement (Saturator, Exciter, Bass Enhancer, Tape Simulator)
- Tools (Mono Input, Stereo Tools, Analyzer).

Pour installer Calf Plugins depuis les dépôts Ubuntu ou pour une version plus récente dans le dépôt kxstudio:
$ apt-get install calf-plugins

Les étapes de compilation sont sur cette page.

Vous pouvez également utiliser checkinstall afin de créer un paquet debian pour pouvoir par la suite installer/désinstaller facilement cette version compilé. Pour installer ce soft:
$ sudo apt-get install checkinstall

Remplacer la commande make install des étapes de compilation et d'installation des plugins calf par la commande suivante:
Donner le nom "calf-plugins" à votre paquet debian.
$ sudo checkinstall -D make install

Cela va créer un paquet debian pour votre Ubuntu qu'il sera plus facile d'installer ou désinstaller: installation:
sudo dpkg -i calf-plugins_0.0.19-1_i386.deb 
Pour désinstaller:
sudo apt-get remove calf-plugins

Zam-plugins

Des plugins LADSPA, LV2 et VST de haute qualité ! Ils sont disponibles dans le dépôt kxstudio. Pour plus d'infos sur ces plugins consultez la homepage.
$ sudo apt-get install zam-plugins


Invada plugins (beaucoup moins récents)

Pour installer Invada Plugins depuis les dépôts Ubuntu:
$ apt-get install invada-studio-plugins-lv2

Égaliseur paramétrique

Pour l'égaliseur paramétrique, vous pourrez télécharger et compiler la dernière version (béta : 12/11/2014) de EQ10Q ou installer la version dans le dépôt Ubuntu (beaucoup moins agréable graphiquement et au niveau de l'interface) ou pour une version plus récente aller dans le dépôt kxstudio.

Pour compiler EQ10Q ici la Beta 5.1 (sur Ubuntu 12.04):
$ tar xvfz eq10q-2-beta5.1.tar.gz
$ cd eq10q-2-beta5.1
$ sudo apt-get install build-essential gcc cmake libgtkmm-2.4-dev checkinstall
$ cmake ./
$ make

Et pour créer un paquet debian et l'installer:
$ sudo checkinstall -D make install

sinon pour l'installer plus simplement:
$ sudo make install

Où alors, vous pouvez investir dans un égaliseur paramétrique du commerce LinuxDSP.



Vous serez peut-être intéressé par les articles suivants;
L'alternative libre à ProTools : Découvrir la station de travail audio numérique (DAW) Ardour (avec playlist youtube)
Quelques conseils et astuces pour enregistrer son groupe (faire une maquette) avec son home studio
- Compiler, installer et configurer ardourvst3 (ardour avec support VST Windows).


A bientôt,
Musicalement,

Vous trouverez d'autres astuces pour l'audio et la musique sur Ubuntu par ici.