Archives de catégorie : Logiciels libres

Contrôleur de mixage Hercules DJ Control MP3 e2 et linux

A l’occasion des soldes et suite à l’insistance de ma fille j’ai acheté une table de contrôle de mixage Hercules DJ Control MP3 e2. C’est une petite table qui permet de mixer 2 morceaux avec des fonctions basiques de DJ pour se prendre pour David Guetta. Je l’ai achetée un peu au hasard en espérant qu’elle fonctionne sous linux. A vrai dire j’ai eu du bol car elle est effectivement compatible linux.

J’ai quand même pas mal galéré pour l’installer, je n’ai pas réussi à installer les drivers qu’on peut trouver sur le site d’Hercules. Bien qu’ayant réussi à compiler laborieusement le module hdjmod, il ne voit pas la table. Du coup j’ai installé la version en développement de mixxx qui est un soft de mixage pour DJ’s et émulateur de vinyls. Pourquoi la version de développement ? Parce qu’elle n’a pas besoin du module, elle est autonome pour pouvoir fonctionner avec la table Hercules.

Pour l’utilisation je n’ai pas réussi à le faire fonctionner avec alsa, je l’utilise avec jack. Et voilà ce que ça donne.

Hercules DJ Control MP3 e2C’est assez simple d’utilisation, d’un côté on charge une chanson, de l’autre une autre et on se sert des boutons et des jogs de la table pour faire des effets ou des transitions entre les chansons à partir de la liste de lecture qu’on se constitue sous mixxx.

 

Incrustation information GPS dans vidéo

Puisque je sors en planche à voile avec ma montre GPS garmin forerunner, je cherchais une astuce pour pouvoir intégrer les informations de temps et de vitesse dans mes vidéos en incrustation. Je pense avoir trouvé le moyen, même si ça reste perfectible et oblige à bien mettre à l’heure la caméra GoPro.

Tout d’abord il faut exporter la trace GPS au format gpx, turtlesport le permet. Par défaut il n’y a que les positions et l’altitude, pour rajouter la vitesse et la route, avec gpsbabel on tape

gpsbabel -t -i gpx -f sortie-30-12-2012.gpx -o unicsv -x track,course,speed -F output.txt

cela va donner un fichier qui ressemble à ça :

3,48.367354,-4.769260,-0.3,0.63,324.0,2012/12/30,10:15:14
4,48.367383,-4.769314,-0.8,2.57,309.2,2012/12/30,10:15:16
5,48.367382,-4.769321,-1.3,0.20,257.2,2012/12/30,10:15:19
6,48.367487,-4.769312,-2.3,0.69,3.2,2012/12/30,10:15:36
7,48.367630,-4.769355,-2.7,4.06,348.9,2012/12/30,10:15:40

on retrouve le numéro du point, la position, l’élévation, la vitesse (en m/s), la route en °, puis la date et l’heure. Maintenant sur le logiciel de montage, on va repérer dans le temps la séquence vidéo sur laquelle on va placer l’incrustation GPS. A partir du fichier output.txt on va créer un nouveau fichier contenant les points qui correspondent à la séquence vidéo, on l’appelle points.txt. J’ai créé un petit script qui va créer autant de fichiers .txt qu’il y a de points dans points.txt , il se lance en mettant en argument le fichier points.txt obtenu ci-dessus

#!/bin/bash
awk -F"," '{
label="label"NR".txt"
print "V:"$5*3.6,"T:"$8 > label;
} ' $1

chaque fichier obtenu se nomme label+numéro de point.txt et contient le champ avec le format suivant V:31.212 T:10:49:57. C’est ce qui apparaîtra ensuite en incrustation dans la vidéo, à cette occasion j’ai converti l’information de vitesse en km/h, mais rien ne vous oblige à appliquer d’autres traitements. Ensuite j’ai fait un deuxième script qui va créer une image gif avec le texte en bleu avec un fond transparent à partir de chaque fichier .txt

#!/bin/bash
for fichier in $(find . -name "label*.txt"); do
fullfilename=$(basename $fichier)
extension=${fullfilename##*.}
filename=${fullfilename%.*}
label=$(cat $fichier)
convert -background none -fill blue -size x15 -gravity center label:"$label" $filename.gif
done

On le lance simplement en se mettant dans le répertoire où se trouvent les .txt. Et voilà je me retrouve avec tout un stock d’images qui j’intègre en diaporama dans mon logiciel de montage vidéo kdenlive. Seul problème le temps entre 2 points GPS n’est pas constant, du coup je me suis fendu d’un autre script qui va calculer la moyenne entre deux points, on le lance en mettant points.txt en argument

#!/bin/bash
awk 'BEGIN { FS=","}
NR ==1 {
heure=substr($8,1,2)
minute=substr($8,4,2)
seconde=substr($8,7,2)
temps1=heure*3600+minute*60+seconde
delta=0
diff=0
}
NR > 1 {
heure=substr($8,1,2)
minute=substr($8,4,2)
seconde=substr($8,7,2)
temps=heure*3600+minute*60+seconde
delta=temps-temps1
temps1=temps
somme=somme+delta
}
END { print somme/(NR-1) }’ $1

C’est la moyenne qui détermine le temps entre deux images à la création du diaporama avec toutes les images obtenues. Ensuite dans la timeline, il faut faire chevaucher sur 2 pistes différentes le diaporama et la séquence vidéo, rajouter une transition composition, et faire une incrustation dans un coin des informations GPS, et le tour est joué.

Le plus compliqué dans l’affaire est de faire coïncider l’information GPS avec la séquence vidéo, tout est histoire de synchronisation entre le GPS et la caméra à l’avenir, je veillerai à bien mette à l’heure ma GoPro, ça aide grandement ensuite à s’y retrouver.

MAO table de mixage

Pour compléter mon mini studio, j’ai acheté une mini table de mixage Behringer Xenyx 302 USB elle me permet de brancher à la fois une guitare électrique via le boîtier d’effet Behringer V-AMP3,  un micro d’enregistrement et un piano numérique (connexion via RCA et non MIDI).

Behringer xenyx 302 USB

Du coup j’ai continué à découvrir les outils de musique assistée par ordinateur. Je me rends compte que certes Ardour permet d’enregistrer du son et des différents instruments séparément, mais il ne permet pas de créer de toute pièce du son. Pour cela rosegarden va bien plus loin qu’Ardour, puisqu’il dispose d’outils de création musicale. On peut voir ci-dessous l’éditeur de partition.

Éditeur de partition de Rosegarden

J’en ai profité pour mettre à jour la page de MAO sur le site funix.

Rajout d’une galerie photo

Je marque le début de l’année en créant une galerie photo sur ce blog, elle est accessible via la barre de menu ci-dessus. Pour cela j’utilise le plugin nextgen gallery, il permet assez facilement de gérer des lots importants de photos et de les classer en galerie et en album (qui peut contenir plusieurs galeries photo). Pour l’instant, pour me faire la main, je me suis contenté de rajouter des photos d’avion. Je ne suis pas encore pleinement satisfait de l’accessibilité et de la présentation, mais je compte améliorer cela. Par la suite je rajouterai d’autres albums.

A ce propos, je suis assez sensible aux histoires de droit d’auteur, aussi je voulais trouver le moyen d’insérer une information d’auteur, d’autant que mes photos qui sont en pleine définition. Pour cela chaque photo dispose d’informations EXIF, sous linux on dispose d’exiftool qui permet de gérer ces informations. Voilà le genre d’informations que l’on peut obtenir à partir d’une photo prise d’un appareil photo Sony DSC-P73.

ExifTool Version Number : 8.77
File Name : DSC07304.JPG
Directory : .
File Size : 1736 kB
File Modification Date/Time : 2012:11:30 15:49:52+01:00
File Permissions : rw-r--r--
File Type : JPEG
MIME Type : image/jpeg
Exif Byte Order : Little-endian (Intel, II)
Image Description : 
Make : SONY
Camera Model Name : DSC-P73
Orientation : Horizontal (normal)
X Resolution : 72
Y Resolution : 72
Resolution Unit : inches
Modify Date : 2010:05:22 10:33:52
Y Cb Cr Positioning : Co-sited
Exposure Time : 1/100
F Number : 5.2
Exposure Program : Program AE
ISO : 100
Exif Version : 0220
Date/Time Original : 2010:05:22 10:33:52
Create Date : 2010:05:22 10:33:52
Components Configuration : Y, Cb, Cr, -
Compressed Bits Per Pixel : 8
Exposure Compensation : 0
Max Aperture Value : 2.8
Metering Mode : Multi-segment
Light Source : Unknown
Flash : Auto, Did not fire
Focal Length : 18.0 mm
Flashpix Version : 0100
Color Space : sRGB
Exif Image Width : 2304
Exif Image Height : 1728
Interoperability Index : R98 - DCF basic file (sRGB)
Interoperability Version : 0100
File Source : Digital Camera
Scene Type : Directly photographed
Custom Rendered : Normal
Exposure Mode : Auto
White Balance : Auto
Scene Capture Type : Standard
Contrast : Normal
Saturation : Normal
Sharpness : Normal
PrintIM Version : 0250
Compression : JPEG (old-style)
Thumbnail Offset : 2494
Thumbnail Length : 18820
Image Width : 2304
Image Height : 1728
Encoding Process : Baseline DCT, Huffman coding
Bits Per Sample : 8
Color Components : 3
Y Cb Cr Sub Sampling : YCbCr4:2:2 (2 1)
Aperture : 5.2
Image Size : 2304x1728
Shutter Speed : 1/100
Thumbnail Image : (Binary data 18820 bytes, use -b option to extract)
Focal Length : 18.0 mm
Light Value : 11.4

Maintenant pour rajouter des informations de copyright dans un lot de photos qui se trouvent dans un répertoire et sous répertoires, j’ai créé le script bash chg-prop-photo.sh suivant.

#!/bin/bash
[ -z $1 ] && echo "!!! Vous devez fournir un nom de répertoire, . est acceptable" && exit 1
[ ! -d $1 ] && echo "$1 n'est pas un répertoire" && exit 1

exiftool -r -ext JPG -ext jpg -overwrite_original_in_place -copyright='Copyright olivier.hoarau.org' $1

Pour son utilisation, c’est assez simple il suffit de se mettre à la racine où se trouvent toutes vos photos et de taper.

chg-prop-photo.sh .

Cela va aller dans tous les répertoires de manière récursive et rajouter le TAG copyright qui va bien à toutes les photos à l’extension JPG et jpg en prenant soin de garder la date de dernière modification/création, le nom du propriétaire et les droits du fichier. La commande peut prendre un certain temps suivant le volume du lot.

Mise à jour du site FUNIX

J’ai mis à jour mon site funix, j’ai notamment créé une page sur les outils de Musique Assistée par Ordinateur (MAO) qui permettent de faire des compositions musicales sur l’ordinateur. On peut via ces outils interfacer des instruments de musique réels, rajouter de la voix ou mixer avec différents sons d’origines diverses. Dans la page que j’ai créée je présente l’installation de Linux MultiMedia Studio, Ardour, Qtractor et Rosegarden qui sont des outils de MAO majeurs dans le monde des logiciels libres. Pour l’utilisation de ces softs je n’ai pas le recul suffisant, je me contente de donner quelques liens, on verra plus tard pour quelques tutoriels maison. En attendant je me suis monté un mini studio très modeste.

MAO perso

On peut y voir une interface USB Behringer UCA222 qui fait office de carte son sur laquelle est branchée un boîtier d’effet de guitare Behringer V-AMP3. J’ai commandé par ailleurs une mini table de mixage pour pouvoir rajouter un deuxième instrument de musique et un micro pour la voix.

Pour en revenir à la mise à jour de FUNIX, dans le détail j’ai mis à jour les pages suivantes

pages diverses
– page ma config, suite installation de mageia2 et changement de PC

pages multimedia
– rajout d’une page sur les outils de musique assistée par ordinateur avec LMMS, Ardour, Qtractor et Rosegarden
– page outils de base pour la vidéo, passage à x264 xnapshot 20121221-2245, ffmpeg 1.0.1 et les dernières versions des bibliothèques pour la vidéoconférence
– page lecteur vidéo, passage à libdvdread 1.2.0, libdvdnav 1.2.0, live 2012.08.31, MPlayer 1.1 et vlc 2.0.5
– page conteneur vidéo, passage à mkvtoolnix 5.9.0 et wxWidgets 2.9.4
– page transcodage, passage à avidemux 2.6.1
– page webcam, quelques modifications suite au passage à Mageia 2
– page montage vidéo, passage à mlt 0.8.6, openshot 1.4.3, LiVES 1.8.0 et cinelerra 4.4, quelques corrections pour la compilation de synfig studio

Dans la section téléchargement, j’ai mis à jour les documents pdf suivants pour prendre en compte les modifications ci-dessus
– vidéo sous linux
– webcam et outils associés

Sortie windsurf spot des blancs sablons

Pour marquer le jour le plus court de l’année et le report à une date sine die de la fin du monde, j’ai fait une sortie planche à voile du côté du spot des blancs sablons sur la commune du Conquet à l’occasion d’un avis de grand frais. Finalement le vent ne rentrait pas aussi bien qu’espéré, du coup avec les vagues c’était assez chaud pour partir et on manquait cruellement de vent pour pouvoir les exploiter. Gréé en 4.7 avec mon flotteur de vague, je suis quand même resté à l’eau 1h30 malgré les températures plutôt fraiches de l’eau.

J’ai fait des prises de vue avec ma caméra GoPro. Vu les conditions de vent très irrégulier et de vagues qui se sont tassées au fur et à mesure de la marée descendante, il n’y a rien de bien radical, on fera mieux la prochaine fois…

Et voilà la trace GPS

Trace GPS de la session du 22-12-12Au total 25,74km parcouru en 1h32″ avec une pointe faramineuse de 18 noeuds !

C’est la première fois que je fais le montage avec mon nouveau PC, à ce propos il refusait de monter ma GoPro via l’applet de KDE. Dans un shell avec un montage manuel avec udisks j’avais l’erreur Mount failed: Not Authorized. Pour résoudre cela, j’ai du créer le fichier /etc/udev/rules.d/11-media-by-label-auto-mount.rules contenant

KERNEL!="sd[b-z][0-9]", GOTO="media_by_label_auto_mount_end"
# Import FS infos
 IMPORT{program}="/sbin/blkid -o udev -p %N"
 #
 # Get a label if present, otherwise specify one
 ENV{ID_FS_LABEL}!="", ENV{dir_name}="%E{ID_FS_LABEL}"
 ENV{ID_FS_LABEL}=="", ENV{dir_name}="usbhd-%k"
 #
 # Global mount options
 ACTION=="add", ENV{mount_options}="relatime"
 # Filesystem-specific mount options
 ACTION=="add", ENV{ID_FS_TYPE}=="vfat|ntfs", ENV{mount_options}="$env{mount_options},utf8,gid=5000,
 umask=002"
 #
 # Mount the device
 ACTION=="add", RUN+="/bin/mkdir -p /media/%E{dir_name}", RUN+="/bin/mount -o $env{mount_options} /d
 ev/%k /media/%E{dir_name}"
 #
 # Clean up after removal
 ACTION=="remove", ENV{dir_name}!="", RUN+="/bin/umount -l /media/%E{dir_name}", RUN+="/bin/rmdir /m
 edia/%E{dir_name}"
 #
 # Exit
 LABEL="media_by_label_auto_mount_end"

et le tour est joué

[EDIT] il faut veiller au niveau de KERNEL!= »sd[b-z][0-9] » à ne pas faire apparaître les disques locaux (sda pour ce qui me concerne), sinon c’est le bazar, mount cherchera à monter les partitions des disques locaux sous /media et occupera 100% de la CPU.

 

 

Installation d’un nouveau PC

Je voulais quelque chose de plus puissant pour faire du montage vidéo et adoptais un processeur intel i5. Je me rends compte que c’est quasiment le même prix de monter soi même sa machine ou d’acheter une machine de marque déjà préinstallé. Mon dévolu s’est jeté vers une offre de rueducommerce pour un PC de bureautique Lenovo IdeaCentre H430, 449€TTC frais de port compris, je l’ai reçu 2 jours après ma commande.

Lenovo ideacentre H430

Je l’ai complété d’un écran ACER G236HL Bbd LED de 23″ à 108€.

J’ai évidemment décidé d’installer linux/Mageia 2 dessus en essayant de garder une partition sous windows 8. Malheureusement avec toutes les protections mises en place du genre UEFI, secure boot et j’en passe pour vous empêcher d’installer un OS alternatif, je n’y suis pas parvenu. Du coup j’ai viré purement et simplement windows. De toute façon j’ai une autre babasse sous windows seven/Mageia 2 qui permet de lancer les rares jeux qui ne tournent pas sous linux.

J’ai rencontré pas mal de difficultés pour faire fonctionner la fichue carte graphique ATI Radeon HD 7450. Le driver libre radeon me déclenchait des segmentations faults, et le dernier driver propriétaire catalyst ne la prend plus en compte, un comble ! J’ai du installer la version 12.8 manuellement, à ce moment la carte a été correctement reconnue et j’ai pu bénéficier de la résolution max et de l’accélération qui va bien. Sauf que j’avais en surimpression sur mon écran en bas à droite un fichu logo « AMD unsupported hardware ». La méthode classique, décrite ici, n’a pas suffit, grâce à ce site j’ai trouvé une solution radicale, en modifiant directement le binaire du driver graphique. Pour cela il faut créer (où vous voulez) le fichier fixwatermark contenant

#!/bin/sh
 DRIVER=/usr/lib64/xorg/modules/drivers/fglrx_drv.so
 for x in $(objdump -d $DRIVER|awk '/call/&&/EnableLogo/{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6}'); do
         sed -i "s/$x/\x90\x90\x90\x90\x90/g" $DRIVER
 done

on lui donne des droits d’exécution, puis on l’exécute et il va directement modifier dans le binaire l’instruction qui active/désactive le logo. Et le tour est joué.

Parallèlement, j’ai reconfiguré mon imprimante canon PIXMA iP3600 et ma tablette graphique ThinLine XL comme décrit sur cette page. J’ai réinstallé également mon scanner Epson Perfection V30 conformément à cette autre page, il a fallu ensuite rajouter mes utilisateurs dans le groupe usb, et saned pour qu’ils puissent y accéder.

lenovo Thinkpad x200

Je viens de remplacer mon portable IBM Thinkpad X60s par un portable lenovo thinkpad x200, c’est la génération d’après avec un écran et un disque plus grand,  et davantage de puissance. Je reste dans la famille des thinkpad car j’apprécie leur solidité, leur légèreté, leur autonomie et leur faible encombrement même s’ils ne sont pas exempt de défaut.puisque j’ai déjà un X60s qui a lâché. Je l’ai acheté 180€ frais de port compris, quand on pense qu’il coûtait neuf 1650€ il y a 4 ans, je me dis que c’est une bonne affaire d’autant qu’il est encore largement dans le coup niveau puissance et surtout pour l’usage que j’en fais.

J’ai installé mageia 2 (64 bits), malheureusement en réduisant la partition windows vista, ce dernier ne se lance plus, du coup je l’ai complètement supprimé, ce n’est pas une grosse perte, de toute façon je n’utilise quasiment jamais windows. Pour rajouter encore quelques détails au niveau de Mageia, j’ai constaté un petit problème gênant. Quand on utilise l’authentification par LDAP, un utilisateur lambda ne peut plus lancer la petite icône de configuration réseau (net_applet qui lance draknetcenter) qui est parfois utile dans le cas des portables pour relancer une connexion wifi. On a droit à une fenêtre popup avec « mot de passe invalide ». Pour l’instant j’ai désactivé l’authentification par LDAP mais ça me convient moyennement.

Voilà la bête sur laquelle je tape cette article.

Mageia2 complément

Suite à l’installation de Mageia 2, j’ai rencontré quelques problèmes, ça m’a pris un certain temps de les résoudre. Pour vous éviter d’en faire de même, les voici. Tout d’abord k3b ne détectait plus mon graveur de DVD et m’affichait l’erreur suivante

No optical drive found.
K3b did not find any optical device in your system.
Solution : Make sure HAL daemon is running, it is used by K3b for finding devices.

A vrai dire, le message est trompeur ça n’a rien à voir avec le daemon HAL, du coup je suis parti dans une fausse direction pour régler ce problème. En fait il suffit simplement de rajouter vos utilisateurs dans le groupe cdrom et disk et le tour est joué…

Autre problème, plus moyen de télécharger les photos de l’appareil photo. Avec gphoto2 j’ai l’erreur suivante

gphoto2 –get-all-files

*** Erreur ***
Une erreur est intervenue dans la bibliothèque d’entrée-sortie (‘Problème d’E/S’): Impossible d’ouvrir le périphérique USB (Permission non accordée).
*** Erreur (-7 : « Problème d’E/S ») ***

pourtant l’appareil est bien vu (extrait de /var/log/messages)

Nov 24 15:12:17 huahine kernel: [ 8078.924326] usb 1-1.2: new high-speed USB device number 4 using ehci_hcd
Nov 24 15:12:18 huahine kernel: [ 8079.337729] usb 1-1.2: New USB device found, idVendor=04cb, idProduct=01e8
Nov 24 15:12:18 huahine kernel: [ 8079.337734] usb 1-1.2: New USB device strings: Mfr=0, Product=2, SerialNumber=3
Nov 24 15:12:18 huahine kernel: [ 8079.337738] usb 1-1.2: Product: Digital Camera
Nov 24 15:12:18 huahine kernel: [ 8079.337740] usb 1-1.2: SerialNumber: 4C3230302020091020C8E59WJ03202

dolphin et digikam ne marchent pas davantage. Cela marche pourtant bien sous root, cela privilégie la piste des droits utilisateur. Après moultes recherches, j’ai installé le package libgphoto2 puis tapé la ligne suivante

/usr/lib64/libgphoto2/print-camera-list udev-rules version 0.98 mode 0666 version 0.98 group users > /etc/udev/rules.d/90-libgphoto2.rules

mes utilisateurs sont dans le groupe users. En éditant le fichier 90-libgphoto2.rules, on retrouve la ligne qui correspond à mon appareil Fujifilm finepix S2000HD.

SYSFS{idVendor}=="04cb", SYSFS{idProduct}=="01e8", MODE="0666", GROUP="users"

En rallumant l’appareil photo, cela fonctionne enfin.

Lenovo IdeaPad U350

J’ai un de mes thinkpad X60s qui a lâché, je mets ça sur le compte d’une surchauffe, il semblerait que ça soit la carte mère qui soit morte. Il faut que ce type de portable n’est pas très ventilé et que les cœurs du processeur atteignent couramment les 80°, ce qui me paraît assez énorme. Vu l’usage que j’en fais de mes portables je me suis encore tourné vers le marché de l’occasion. Ayant une prédilection pour les thinkpad, je n’en ai pas trouvé, par contre en restant chez le même constructeur, j’ai trouvé un lenovo ideapad u350 dans un état quasi neuf pour un prix de 180€ frais de port compris.

J’ai passé une partie de mon après midi de hier à le configurer en double partition windows seven et mageia 2 (64 bits). C’est maintenant ma troisième install de mageia 2, je n’ai pu personnaliser le partitionnement comme à l’accoutumée car sinon il me supprimait la partition windows existante. J’ai du choisir le partitionnement automatique, j’ai certes conservé windows, mais je me retrouve avec une partition / unique fourre tout. Ce n’est pas vraiment pratique pour pouvoir récupérer ensuite des données (notamment /home) lors d’une future installation. A part ça je n’ai eu aucune difficulté à faire reconnaître les différents composants de ce portable. J’ai enfin résolu ce problème de popup qui m’annonce à tout va que mon mot de passe est invalide, cela vient mgaapplet, il suffit tout simplement de désinstaller le package mgaonline.

Voilà la bête à côté de mon thinkpad X60s restant.

Le thinkpad dispose d’un écran de 12″, alors que l’U350 dispose d’un écran de 13″, à part ça les deux portables sont très différents, le thinkpad fait vraiment dans la solidité avec une super autonomie alors que l’autre fait dans l’esthétisme en négligeant la solidité et avec une bien moindre autonomie. Je m’inquiétais néanmoins des performances au vu des critiques des sites spécialisés, au final en faisant tourner des benchmarks sur les 2 PC, il est globalement plus puissant, le X60s est toutefois au coude à coude voire devant pour l’affichage vidéo. Mais bon comme la plupart du temps, ce portable va servir à surfer sur marmiton.org dans la cuisine, ça devrait faire l’affaire !