Il y a désormais pas mal de documents dédiées au pi sur le site http://puredata.info/ http://puredata.info/search?SearchableText=raspberry
Entre autres un paquet est désormais disponible dans le dépôt officiel apt.puredata.info
From this post (SDL 1.2 with dispmanx backend): http://www.raspberrypi.org/phpBB3/viewtopic.php?t=25146
I was able to get pdp_sdl working in fullscreen with hardware acceleration. It is surprisingly fast. I was able to generate noise (pdp_noise-help.pd) and play video (pdp_qt-help.pd) without an Xwindows right from the console. I did it this way. Make sure you are in the console only (no x window system).
To try it out:
get:
http://megrimm.net/press/wp-content/software/pdp_03.14.13.zip
http://megrimm.net/press/wp-content/software/sdl-dispmanx_03.14.13.zip
http://megrimm.net/press/wp-content/software/pdp-noise_sdl-test.pd
unzip:
/home/pi/pd-externals/pdp /home/pi/Applications/SDL12-kms-dispmanx
copy/move:
/home/pi/Desktop/pdp-noise_sdl-test.pd
then:
export LD_LIBRARY_PATH="/home/pi/Applications/SDL12-kms-dispmanx/build/.libs" pd && pd -nogui -stderr -lib pdp -open /home/pi/Desktop/pdp-noise_sdl-test.pd
ça marche !
arecord -l
pour avoir le nom du micro de la caméra PS3
gst-launch-0.10 oggmux name=mux ! shout2send ip=labomedia.org password=****** mount=variable.ogg alsasrc device="plughw:CameraB304061" ! audio/x-raw-int,rate=8000,channels=1,depth=8 ! queue ! audioconvert ! vorbisenc ! queue ! mux. v4l2src ! 'video/x-raw-yuv,width=320,height=240,framerate=30/1' ! videorate max-rate=4 ! theoraenc ! mux.
rPI 1 nc -l 0.0.0.0 5002 | /opt/vc/src/hello_pi/hello_video/hello_video /dev/stdin # Start video receiving in bought sides first raspivid -t 99999999 -h 740 -w 1180 -fps 31 -b 2000000 -o - | nc -v "rPI 2 IP" 5001
rPI2 nc -l 0.0.0.0 5001 | /opt/vc/src/hello_pi/hello_video/hello_video /dev/stdin # Start video receiving in bought sides first raspivid -t 99999999 -h 740 -w 1180 -fps 31 -b 2000000 -o - | nc -v "rPI 1 IP" 5002
Techniquement, il y a pas mal de solutions qui existent. Les plus courantes sont PPTP et OpenVPN.
et openssl …
microsoft …
Faire un lecteur audio à partir d'une Raspberry Pi qui lise en boucle des fichiers audio contenus dans un répertoire
A partir d'une raspian à installer sur carte SD : https://www.raspberrypi.org/downloads/raspbian/
trouver la raspberry sur son réseau local adapter la classe ip (eg : 192.168.1.0) à votre réseau local
sudo nmap -sP 192.168.1.0/24
ssh pi@ip-de-la-rapsberry
Installer des logiciels complémentaires players audio, utilitaires après mises à jour
sudo apt-get update sudo apt-get upgrade sudo rapsi-config sudo apt-get install sox oggfwd nload htop netcat opus-tools ecasound alsa-utils
on aura ainsi plusieurs players audio à disposition (play, aplay, avplay, omxplayer), de quoi streamer et identifier les cartes sons
Créer le script qui va lire les fichiers audio situés dans le répertoire /home/pi/audiofiles en boucle
nano lecteuraudioboucle.sh
Avec aplay en tant que lecteur audio (pour jouer du wav)
#!/bin/sh # définir le chemin du répertoire contenant vos fichiers audio AUDIOPATH="/home/pi/audiofiles" # définir le lecteur audio SERVICE="aplay" # c'est parti pour la boucle infinie ! while true; do if ps ax | grep -v grep | grep $SERVICE > /dev/null then sleep 1; else for entry in $AUDIOPATH/* do clear $SERVICE $entry done fi done
Pour utiliser avplay qui va lire n'importe quel type de fichier
#!/bin/sh # définir le chemin du répertoire contenant vos fichiers audio AUDIOPATH="/home/pi/audiofiles" # définir le lecteur audio SERVICE="avplay" # c'est parti pour la boucle infinie ! while true; do if ps ax | grep -v grep | grep $SERVICE > /dev/null then sleep 1; else for entry in $AUDIOPATH/* do clear $SERVICE -vn -nodisp -autoexit $entry done fi done
Pour lecture aléatoire du contenu d'un répertoire
#!/bin/sh # définir le chemin du répertoire contenant vos fichiers audio AUDIOPATH="/home/pi/audiofiles" # définir le lecteur audio SERVICE="aplay" # c'est parti pour la boucle infinie ! while true; do if ps ax | grep -v grep | grep $SERVICE > /dev/null then sleep 1; else # for entry in $AUDIOPATH/* # do clear find audiofiles/ -type f -print0 | sort -z -R | xargs -r0 $SERVICE # done fi done
Lecture des fichiers d'un répertoire et diffusion via PiFMRDS
#!/bin/sh # définir le chemin du répertoire contenant vos fichiers audio AUDIOPATH="/home/pi/audiofiles" # définir le lecteur audio SERVICE="sox" # c'est parti pour la boucle infinie ! while true; do if ps ax | grep -v grep | grep $SERVICE > /dev/null then sleep 1; else for entry in $AUDIOPATH/* do clear $SERVICE -t wav $entry -t wav - | sudo ./pi_fm_rds -freq 108.0 -audio - > /dev/null done fi done
rendre le fichier exécutable
chmod +x lecteuraudioboucle.sh
régler le son
alsamixer sudo alsactl store
lancer le script au démarrage en ajoutant à rc.local :
sudo nano /etc/rc.local
./lecteuraudioboucle.sh exit 0
Arrêter la raspberry
sudo halt
Prendre la carte SD et mettre des fichiers audio dans le répertoire audiofiles (à créer), rebooter le tout est c'est parti
Possibilité de s'y connecter en SFTP (via fillezilla avec les mêmes identifiants que pour le ssh : pi raspberry
Ajouter un bouton pour arrêter proprement la raspbery
Utiliser un serveur audio pour gérer et jouer les fichiers
Voir la partie dédiée à la Radio Définie par Logiciel (SDR)
Cette manière de faire utilise VLC, omx étant apparemment obsolète. Pour le moment, testé sur rPi 4 B+ seulement
- Une technique avec autostart
- une autre technique et une autre façon de faire l'autostart
Omx ne fonctionne apparemment plus (n'est plus inclus dans l'OS de base), ce qui risque de rendre obsolètes plusieurs des méthodes ci-dessous
Enfin, il y a désormais un paquet Debian disponible dans les dépôts officiel apt.puredata.info (à tester!)
Pour savoir qui occupe la carte son : http://stray-notes.blogspot.fr/2010/12/aplay-device-or-resource-busy.html
lsof | grep snd
This displayed:
xmms2d 31732 patrick 7u CHR 116,9 0t0 3885 /dev/snd/controlC0
$ sudo apt-get install alsa-utils
Utilisation :
$ arecord <html><params></html>
$ arecord
Information : $ man arecord ◦ -l donne la liste des périphériques ◦ -t type de fichier parmi voc, wav, raw,au ◦ - r débit en Hz ◦ - d durée de l'enregistrement en secondes ◦ -V activation vumètre = ne marche pas.. ◦ -c nombre de canaux 1 par défaut ◦ -f cd (16 bit little endian, 44100, stereo) Exemples :
$ arecord -d 5 test.wav $ arecord -d 5 -r 16000 -f cd test.wav # enregistre 5 secondes en qualité CD à 16000hz dans fichier test.wav
PS : utilisation de -f cd limite les « craquements » de début et fin d'enregistrement… Note technique : par défaut, mon micro de webcam n'était détecté. J'ai créé le fichier .asoundrc avec la commande
$ geany .asoundrc
et copier coller le code suivant qui indique d'utiliser le micro de la webcam hw:1,0 pour la capture par défaut : pcm.!default { type asym playback.pcm { type plug slave.pcm “hw:0,0” } capture.pcm { type plug slave.pcm “hw:1,0” } }
Conversion de fichier son
$ sudo apt-get install sox
Utilisation :
$ sox test.wav fichier.flac rate 16k # convertit le fichier *.wav en fichier *.flac avec échantillonage 16000hz
PocketSphinx est le logiciel libre de reconnaissance vocale le plus abouti, il reste laborieux à installer et à configurer
pocketsphinx_continuous -hmm /usr/local/share/pocketsphinx/model/hmm/fr_FR/french_f0/ -lm /usr/local/share/pocketsphinx/model/lm/fr_FR/french3g62K.lm.dmp -dict /home/b01/ZSofts/TEXTE/MODFR/lium_french_f0/frenchWords62K.dic -inmic yes -adcdev sysdefault
On peut y greffer une couche supplémentaire de commande comme Jasper
Il existe différents services web qui peuvent être sollicités
dont google qui a maintenant verrouillé son système de reconnaissance vocale et limite le nombre de requête par jour
Exécuter les commandes suivantes en parlant après la première : la 3ème commande doit renvoyer le texte correspondant à ce que vous avez dit !
d'après [ X. HINAULT http://mon-club-elec.fr/mes_downloads/doc_raspberrypi/rasperrypi_procedures_audio.pdf]
avec ssh
avec VNC
“L'objectif est de proposer un objet réel comme plateforme évolutive, open source et open hardware, pour la création et le partage de contenus multimédia, automatisant la collecte depuis de multiples sources (caméras, microphones, clés USB, captures d'écran, smartphones, réseaux sociaux, serveurs de fichiers) et la transformation vers de multiples destinations (web, mobiles, papier, conférence).”
Consiste à brancher une Raspberry équipée du serveur Asterix à sa Freebox ou équivalent proposant un service SIP afin de gérer des appels téléphoniques via le serveur et les téléphones branchés à la box.
-adcdev sysdefault
raspi-config
choose locale FR UTF8
raspbx-upgrade
Wifi WPA
sudo apt-get install wireless-tools wpasupplicant
Avec le projet http://www.kiwix.org
wget http://download.kiwix.org/bin/kiwix-server-arm.tar.bz2 mkdir /home/pi/kiwix tar xjf kiwix-server-arm.tar.bz2 -C kiwix cd /home/pi/kiwix
y placer le fichier zim (trouvable ici http://www.kiwix.org/wiki/Content_in_all_languages/fr)
Créer l'index (à faire une seule fois):
./kiwix-index -v vikidia_fr_all_nopic_2015-11.zim vikidia_fr_all_nopic_2015-11.zim.idx
Puis démarrer le serveur:
./kiwix-serve --port=8080 --index=vikidia_fr_all_nopic_2015-11.zim.idx vikidia_fr_all_nopic_2015-11.zim
A partir d'une Raspbian stretch, installer Docker :
curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh
Installer docker-compose
sudo pip install docker-compose
Pour faire marcher CodiMD dans un container https://github.com/hackmdio/codimd-container
git clone https://github.com/hackmdio/codimd-container.git cd codimd-container/ sudo docker-compose up
Wait until see the log HTTP Server listening at port 3000, it will take few minutes based on your internet connection.
Open http://127.0.0.1:3000
!!! Au final ne marche pas car Docker container pas prévu pour l'architecture ARM : “standard_init_linux.go:190: exec user process caused “exec format error”
Voir aussi pour yunohost https://forum.yunohost.org/t/solved-disabling-ssowat-login-for-some-url-fr-desactiver-la-connexion-avec-ssowat-pour-certaines-url/1412
sudo crontab -e
puis ajouter à la fin du fichier
15 20 * * * /sbin/shutdown -h now #heure d'arrêt 20h15
si tout va bien il sera affiché :
crontab: installing new crontab