Pédale de boucle

De Centre de Ressources Numériques - Labomedia
Aller à : navigation, rechercher

EN COURS...

Étapes envisagées

  • Utiliser une pédale usb DIY pour contrôler SooperLooper en mode Rec/Play
  • Retour d'information via OSC sur tablette ou téléphone
  • Création d'une image simple et fiable d'un linux via buildroot optimisée pour l'audio
  • Créer une Interface midi ou osc via une teensy

Matériel

  • Plateforme : raspberry pi3
  • Carte son : pisound pour raspberry
  • Interface : teensy
  • Logiciel : SooperLooper

Pédale usb DIY

Voilà ce que ça donne : premier test
Via un patch pure data il est assez simple de transférer les informations du pédalier en osc à sooperlooper pour commander l'enregistrement

  • Sources :

des infos pratiques

Retour d'information via OSC sur téléphone ou tablette

Sources

SooperLooper#Communication_via_OSC

  • pure data android

http://www.danieliglesia.com/mobmuplat/
http://droidparty.net/

Raspberry pi3 hotspot wifi

EN COURS....

  • Installation des paquets
sudo apt-get install dnsmasq hostapd

Configuration du DHCP

 sudo nano /etc/dhcpcd.conf

et éditer le fichier en ajoutant à la fin la ligne suivante

denyinterfaces wlan0  

puis taper ctrl+o et cltrl+x pour sauver et quitter

  • Configuration de l'IP statique
sudo nano /etc/network/interfaces

éditer la section wlanO pour quelle ressemble à ça :

allow-hotplug wlan0  
iface wlan0 inet static  
    address 172.24.1.1
    netmask 255.255.255.0
    network 172.24.1.0
    broadcast 172.24.1.255
#    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

puis taper ctrl+o et cltrl+x pour sauver et quitter

  • Redémarrer dhcpd
sudo service dhcpcd restart 
sudo ifdown wlan0; sudo ifup wlan0

Configurer HOSTAPD

sudo nano /etc/hostapd/hostapd.conf

et ajouter ceci :

# This is the name of the WiFi interface we configured above
interface=wlan0

# Use the nl80211 driver with the brcmfmac driver
driver=nl80211

# This is the name of the network
ssid=Pi3-looper

# Use the 2.4GHz band
hw_mode=g

# Use channel 6
channel=6

# Enable 802.11n
ieee80211n=1

# Enable WMM
wmm_enabled=1

# Enable 40MHz channels with 20ns guard interval
ht_capab=[HT40][SHORT-GI-20][DSSS_CCK-40]

# Accept all MAC addresses
macaddr_acl=0

# Use WPA authentication
auth_algs=1

# Require clients to know the network name
ignore_broadcast_ssid=0

# Use WPA2
wpa=2

# Use a pre-shared key
wpa_key_mgmt=WPA-PSK

# The network passphrase
wpa_passphrase=pi-loop

# Use AES, instead of TKIP
rsn_pairwise=CCMP
  • Tester si tout fonctionne
sudo /usr/sbin/hostapd /etc/hostapd/hostapd.conf
  • Configuration au démarrage
sudo nano /etc/default/hostapd

et ajouter

DAEMON_CONF="/etc/hostapd/hostapd.conf"

Configurer DNSMASQ

  • Copier la configuration d'origine
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig 
  • Éditer le nouveau fichier
sudo nano /etc/dnsmasq.conf  

et copier :

interface=wlan0      # Use interface wlan0  
listen-address=172.24.1.1 # Explicitly specify the address to listen on  
bind-interfaces      # Bind to the interface to make sure we aren't sending things elsewhere  
server=8.8.8.8       # Forward DNS requests to Google DNS  
domain-needed        # Don't forward short names  
bogus-priv           # Never forward addresses in the non-routed address spaces.  
dhcp-range=172.24.1.50,172.24.1.50,12h # Assign IP addresses between 172.24.1.50 and 172.24.1.150 with a 12  hour lease time  

Activer la fonction routeur IPV4

sudo nano /etc/sysctl.conf

puis enlever le # à la ligne

net.ipv4.ip_forward=1

puis activer le changement

sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
  • Configurer IPtable
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE  
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT  
sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT 
  • Sauvegarder IPtable pour les démarrages suivants
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
sudo nano /etc/rc.local

puis ajouter la ligne suivante avant exit 0

iptables-restore < /etc/iptables.ipv4.nat 
  • Relancer les services
sudo service hostapd start  
sudo service dnsmasq start 

ou redémarrer

sudo reboot


Sources

https://frillip.com/using-your-raspberry-pi-3-as-a-wifi-access-point-with-hostapd/
https://learn.adafruit.com/setting-up-a-raspberry-pi-as-a-wifi-access-point/overview
http://www.pihomeserver.fr/2014/05/22/raspberry-pi-home-server-creer-hot-spot-wifi-captive-portal/
http://elinux.org/RPI-Wireless-Hotspot
http://www.raspberryconnect.com/network/item/315-rpi3-auto-wifi-hotspot-if-no-internet
http://www.dericbourg.net/2015/07/04/utiliser-un-raspberry-pi-comme-point-dacces-wifi/

  • ad hoc (ne marche avec android)

http://lcdev.dk/2012/11/18/raspberry-pi-tutorial-connect-to-wifi-or-create-an-encrypted-dhcp-enabled-ad-hoc-network-as-fallback/#comment-640
https://www.raspberrypi.org/forums/viewtopic.php?f=65&t=41986
http://slicepi.com/creating-an-ad-hoc-network-for-your-raspberry-pi/
http://raspberrypi.stackexchange.com/questions/9250/how-to-use-android-mobile-as-remote-control-for-wifi-enabled-raspberry-pi-car
http://www.raspberryconnect.com/network/item/315-rpi3-auto-wifi-hotspot-if-no-internet

Osc android

Tenter de recevoir des information de sooperlooper via une application OSC sur android

Mobmuplat

http://danieliglesia.com/mobmuplat/
Une interface en java pour éditer nos contrôleurs graphique et un patch pure data pour la partie communication OSC

  • télécharger et installer l'apk sur son système android
  • télécharger le pack d'édition
  • lancer l'éditeur
cd /MobMuPlatDistribution_1.80iOS_0.30Andro/Editor/CrossPlatformJava$ 
java -jar MobMuPlatEditor.jar 
  • les premier tests sont plutôt prometteurs

DawOSC

Après moultes tentatives avec divers applications seul dawOsc m'a permis de recevoir des messages OSC mais son éditeur est seulement disponible pour windoz...

  • Installation sur linux (ne marche pas sur la pi... X86 vs ARM)

installer wine et winetricks puis lancer la commande

sudo apt-get install wine winetricks

lancer la commande suivante pour installer mfc42.dll

winetricks mfc42

télécharger l'éxecutable Windows Layout Editor ici

puis lancer l'instalation du .exe

  • Édition

l'éditeur permet de créer un layout personnaliser qui sera créer dans l'application, le principe est bon mais j'ai toujours des erreurs lorsque je lance le layout, tout ne s'affiche pas et la syntaxe reçue via OSC est un peu étrange....

Sources

https://github.com/ahmetkizilay/AndrOSC
https://github.com/ahmetkizilay/QuickOSC-as
https://sourceforge.net/projects/goosc/
https://github.com/ahmetkizilay/QuickOSC-as

  • examples

https://github.com/goldfish/slOSC
http://essej.net/slforum/viewtopic.php?f=2&t=3364
http://www.samgreene.com/drupal_samgreene/node/100
https://www.raspberrypi.org/blog/quaver-the-analogue-looping-piano/
http://www.loopers-delight.com/tools/echoplex/echopedals.html
https://github.com/turcofran/omfootctrl
http://journeytounknownsoundscapes.blogspot.fr/2015/05/a-new-looper-in-town-raspberry-pi-with.html

Buildroot/audio/pi

Sources

Buildroot-rpi Raspberry Pi rt-kernel

Interface midi/osc via teensy

Premières recherches (archives)

SooperLooper

Est un logiciel qui reprend les caractéristiques des echoplex Pour plus d'info c'est par là SooperLooper

Contrôleurs

  • midi

Il est possible d'utiliser un contrôleur midi et d'assigner chaque CC à une fonction de sooperlooper.
-Il existe beaucoup de contrôleurs sur le marché dont des pédales ou autres formats.
+ : facilité d'utilisation, souvent un logiciel est fournit avec l'interface pour gérer les messages midi (il faudra alors utiliser wine...)
- : le coûts est souvent important et l'interface n'est pas forcément adapter à l'usage que l'on veut en faire (retour d'information)

-Il existe aussi des cartes permettant de personnaliser son interface : Midi-usb-interface
+ : interface adapter à l'usage, retour d'information
- : nécessite un peu de soudure voir de programation

  • osc

Il est aussi possible d'utiliser l'OSC pour commander SooperLooper

+ : gestion compréhensible des messages, retour d'information
- :

  • clavier usb

Il est possible d'utiliser un clavier usb ou un pad numérique pour contrôler sooperlooper mais il n'y aura pas de possibilité de retour d'informations (allumer une led par exemple) il faudra donc adjoindre une écran à la raspberry pour pouvoir visualiser l'interaction.

+ : coût
- : pas de retour d'information, nécessite du bricolage

un exemple : Guitarix-diy-pedalBoard

  • Gpio

Raspberry Pi GPIOPure Data vs RaspberryPi

+ : coût
- : pas d'entrée analogique sur la pi

Interface audio

L'interface audio de la pi2 (et 3) est médiocre en terme de qualité il faut donc utiliser une carte son externe.

Quelques recherches sur des interfaces existantes : RaspberryPi audio


Raspberry pi 2 ou 3

La puissance du processeur et la ram devraient être suffisantes pour faire tourner sooperlooper, pour diminuer au maximum la latence il faudra utiliser un kernel temps réel.

Infos pratiques

http://www.loopers-delight.com/tools/echoplex/echopedals.html

Problématiques

  • Trouver une interface audio pas trop onéreuse, fiable, de petite taille et compatible avec la pi

ou bien utiliser une autre board avec une interface audio correct et des performances intéressantes,par exemple Olimex

  • interface

liste non exhaustive d'interfaces

{{Fiche Idée Image}} {{Fiche Idée Présentation |Résumé=Faire une pédale de boucle basée sur SooperLooper à partir d'une raspberry pi 2 |Auteur(s)=guillaume |Licence=CC-BY-SA 3 |Date de création=2016/01/06 }} {{Fiche Idée Contenu |Intentions / Contexte=tenter de faire une pédale de loop multipistes pas trop cher, intuitive, autonome |Principe de fonctionnement=créer une interface à sooperlooper |Besoins / Compétences= compilation, électronique, audio<br /> Matériel :<br /> *Plateforme : raspberry pi3 *Carte son : [[Pisound|pisound]] pour raspberry *Interface : teensy *Logiciel : [[SooperLooper|SooperLooper]] }}