Journal des Conversations excentrées

conversations_excentrees

Installation digitale et visuelle à partir d’un portrait sonore
(Objet Conversationnel)


Conception-création : Guykayser
Réalisation avec Gérard Paresys
Coordination du projet : Thomas Chrétien



2 juin 2020

Guy: Après les hauteurs d’eau: Les piles de livres
datarmor.cotesdarmor.fr - notice_type_doc_bca
datarmor.cotesdarmor.fr - exemplaire_livre_bca
opendata.paris.fr - tous-les-documents-des-bibliotheques-de-pret
 
 

5 juin 2020

cartocentre_modif10_GP
cartocentre_modif10_GP.zip (4Mo)
Lecture d'un son.
Envelope = EnvelopeFollower du son = Détection de l’énergie du son
Affichage de Envelope.
map(LimniHauteur[IndiceLimni], LimniMini, LimniMaxi, 25000, 60000)
remplacé par:
map(Envelope, 0, 1, 25000, 60000)
Envelope compris entre 0 et 1

cartocentre_modif11_GP.zip (4Mo)
Difficile de voir dans cartocentre_modif10_GP les variations dans l'image provoquées par l'Envelope du son.
Avec l’enveloppe, ça bouge + vite.
Un essai de rendre ça + sensible dans cartocentre_modif11_GP
Je contrôle la taille du carré central ...



9 juin 2020

Logiciels payants de transcription:
Happy Scribe
Transcription au format:
Plain Text (.txt)
Microsoft Word (.doc)
PDF (.pdf)
Interactive HTML (.html)
JSON (.json)
MAXQDA
SubRip (.srt)
WebVTT (.vtt)
EBU-format (.stl)
Avid Markers (.txt)
Premiere Markers
Final Cut Pro
AmberScript
Transcription au format:
Word
JSON
SRT
VTT
EBU-STL
Text



10 juin 2020

descentres1.jpgdescentres2.jpgdescentres3.jpgdescentres5.jpg



10 juin 2020

conversationlabo.xml
conversationlabo.json
conversationlabo2.json
speakerthomas.json
 


12 juin 2020

cartocentre_modif12_GP
cartocentre_modif12.zip (4.3Mo)
cartocentre_modif12_GP
Ça intègre la lecture et la détection sonore de cartocentre_modif11_GP & cartocentre_modif10_GP et les ajouts dans cartocentre_modif9_GP.
En plus:
  Suppression limniseul2020_1.pde
  Nettoyage code
  conversationlabo.mp3
  Suppression table qr[i] parce que qr[i] = grosqr toujours quelque soit i
  Touche 7 -> random sur nbdecourbeDivision
Dé-commenter lignes 177 et 178 pour voir agir l’enveloppe du son sur la taille de la zone modifiée de l'image.



14 juin 2020

Le json les locuteurs nettoyé.e.s par Thomas:
datathomas.json



15 juin 2020

De:    Thomas Chrétien
Objet: Rép : Transcription avec Happyscribe
Date:  15 juin 2020 16:07:15 UTC+2
conversationlabo2_v3.txt

Happy Scribe



16 juin 2020

cartocentre_modif14_GP
cartocentre_modif13_GP.zip (4.3Mo)
Avec inversion du sens des déplacements
pour l'instant avec les 4 flèches du clavier
// Taper Fleche Haut    -> Deplacement Haut
// Taper Fleche Bas     -> Deplacement Bas
// Taper Fleche Gauche  -> Deplacement Gauche
// Taper Fleche Droite  -> Deplacement Droit
Il y a 3 états:
Déplacement Haut - Stop - Déplacement Bas
et
Déplacement Gauche - Stop - Déplacement Droit



1 juillet 2020 Pour Olivier Baude

cartocentre_modif14_GP.app.zip (83Mo)

Une application pour MacOSX: cartocentre_modif14_GP.app
avec quelques touches utiles:
   R -> Nouvelle image
   S -> Sauve l’écran
   4 Flèches -> Change le sens de l'effet
   escape -> Quitte
Ne pas oublier de "dé-zipper" avant de lancer.
testée:
  sous MacOSX 10.15 Catalina
  sous MacOSX 10.13 High Sierra
  sous MacOSX 10.11 El Capitan
Au premier lancement, au besoin aller dans:
menu Pomme -> Préférences Systèmes... -> Sécurité et confidentialité -> Général  ->
Autoriser l'application et cliquer "Ouvrir quand même"

J'ai d'abord fait l'App sous MacOS 10.13
Mais l'appli plantait sous MacOS 10.15
J'ai redémarré mon Mac sous MacOS 10.15, installé Processing dernière version 3.5.4 et minim
mais la c'est Processing qui plantait quand j'exportais pour faire l'Appli
c'est un bug du 3.5.4 lié au P3D d’après un forum de discussion.
j'ai installé Processing version 3.5.3 et exporté l'Appli
c'est celle-la qui fonctionne sous les MacOS de 10.11 à 10.15

cartocentre_modif14_GP.zip (4.3Mo)



2 juillet 2020

ConversationsExcentrees ConversationsExcentrees ConversationsExcentrees

Conversations_excentrees_Descriptif_visuel_textuel.pdf
Conversations_excentrees_Descriptif_visuel_textuel


22 juillet 2020
Guy:
Le json c’est plus universel si on veut travailler avec d’autres données
      From TextGrid To JSON
Gerard:
JSON c'est JavaScript.
JavaScript n'a rien à voir avec Java.
Processing c'est Java
L'article ne parle pas de la transformation inverse: .json -> .textgrid
L'article dit: JSON is text mais textgrid aussi! et le textgrid est plus lisible et plus compact.
L'article dit: "Before converting textgrid to JSON we need to convert textgrid into CSV. After that we can convert CSV into JSON."
C'est toujours le même bazar!
et la conversion inverse?
Voir: textgrid-parser
Le "Sample output", le JSON produit est tres eloigné du JSON avec lequel on travaillait avec p5:
{
  "file_type": "ooTextFile",
  "xmin": "0",
  "xmax": "2045.144149659864",
  "size": 2,
  "tiers": [
    {
      "idx": "1",
      "class": "IntervalTier",
      "name": "utterances",
      "xmin": "0",
      "xmax": "2045.144149659864",
      "size": "5",
      "items": [
        {
          "idx": "1",
          "xmin": "0",
          "xmax": "2041.4217474125382",
          "text": ""
        },
        {
          "idx": "2",
          "xmin": "2041.4217474125382",
          "xmax": "2041.968276643991",
          "text": "this"
        },


ONSBJ_alexei.json:
{
   "Trans": [
      {
         "FIELD2": 0,
         "FIELD3": 0.7589333956,
         "FIELD4": "on ne se"
      },
      {
         "FIELD2": 0.7589333956,
         "FIELD3": 1.5899678857,
         "FIELD4": "baigne jamais"
      },
      {
         "FIELD2": 1.5899678857,
         "FIELD3": 2.3090865562,
         "FIELD4": "deux fois"
      },
      {
         "FIELD2": 2.3090865562,
         "FIELD3": 2.8496161529,
         "FIELD4": "dans la même"
      },
      {
         "FIELD2": 2.8496161529,
         "FIELD3": 3.83,
         "FIELD4": "rivière"
      }
   ],
   "Phonetization": [

Il n'y a pas 1 format JSON mais plein de format...
Il y a un seul format .textgrid

ONSBJ_alexei-merge.TextGrid
File type = "ooTextFile"
Object class = "TextGrid"
xmin = 0
xmax = 3.83
tiers? <exists>
size = 5
item []:
    item [1]:
        class = "IntervalTier"
        name = "Trans"
        xmin = 0
        xmax = 3.83
        intervals: size = 5
        intervals [1]:
            xmin = 0
            xmax = 0.7589333956
            text = "on ne se"
        intervals [2]:
            xmin = 0.7589333956
            xmax = 1.5899678857
            text = "baigne jamais"
        intervals [3]:
            xmin = 1.5899678857
            xmax = 2.3090865562
            text = "deux fois"
        intervals [4]:
            xmin = 2.3090865562
            xmax = 2.8496161529
            text = "dans la même"
        intervals [5]:
            xmin = 2.8496161529
            xmax = 3.83
            text = "rivière"
    item [2]:
        class = "IntervalTier"
        name = "Phonetization"
        xmin = 0
        xmax = 3.83
        intervals: size = 5
        intervals [1]:
            xmin = 0
            xmax = 0.7589333956
            text = "o~|o~-n n-eu|n s-eu|s"



23 juillet 2020

Sketch à la Trous de mémoire en Processing 1.5 comme TDM28dGGguy3.zip
Impossible à exécuter en Processing 2 ou 3 parce qu'ils utilisent la library com.nootropic.processing.layers
qui n'a jamais été portée en Processing 2 ou 3.

TDM28dGGguy3 TDM28dGGguy3FS.mov 

Problème également de l'ouverture des fichiers .xml dont la library a totalement changée.

Voir: Chronologie des sketches Processing



25 juillet 2020

TextGrid4: Sketch Processing qui ouvre un fichier .TextGrid et l'affiche en synchro avec la lecture Audio.
TextGrid_file_formats.html
Le fichier .TextGrid doit-être encodé UTF-8.
Bizarre: le fichier 16rondatipica_X.TextGrid de 2012 ne l'était pas.

TextGrid4 TextGrid4.zip

OK Processing 2.2.1 MacOS
OK Processing 3.5.4 MacOS
OK Processing 3.5.3 Raspberry Pi OS (Raspbian 10 buster)
OK Processing 3.5.3 Window
GitHub TextGrid4 sur GitHub


TextGrid2:  Sketch Processing qui ouvre un fichier .TextGrid et affiche les seuls éléments qui sont décryptés.
(pas d'Audio):

TextGrid2 TextGrid2.zip
 

Ces 2 sketches pour s'affranchir de l'xml et du json.



7 août 2020

Je viens de constater que Processing 1.5 est compatible Windows 7.
Sur un PC sous Windows 7, j'ai pu lancer les vieux sketches de Trous de mémoire!
A vérifier sous Windows 10

Voir: Chronologie des sketches Processing



14 octobre 2020

poteauKit

poteauKitinterieur

ONSBJ-Schema-Raspberry4











  Schema-Raspberry4

  pdf Schema-Raspberry4.pdf

  Schema-Raspberry4.odg

  











LABISTSRaspberry Raspberry Pi 4 Model B 4GB RAM Starter Kit chez Labists


Écran LCD 7 Pouces Tactile 1024x600 HDMI Moniteur IPS avec étui en Cuir. Marque: CUQI chez Amazon

ONSBJ-Schema-Raspberry4



Chaque "Totem" est relié à 2 autres par des rallonges secteur.

   3m RS Code 2427520 7,85€ TTC
ou 5m RS Code 2427558 8,24€ TTC




Triplite et une triplite Exemple: Boulanger 5,99€ TTC (x3)



18 octobre 2020

Créer un hotspot Wi-Fi en moins de 10 minutes avec la Raspberry Pi!



19 octobre 2020

Totem-20201019_155727001.jpg



20 octobre 2020

Raspberry
Désactiver la mise en veille de l’écran?
Voir: Empêcher la mise en veille de l'écran après 10 minutes
      Désactiver la mise en veille de l’écran


Transcriptions auto corrigées de Thomas avec Happy Scribe:
?.mp3
conversationlabo3A.json
conversationLabo3A.txt
"Ok Non en bref, parce que Renaud Bonita, qui l'a fait travaillante..."

conversationlabo3part2.mp3  (7'04") renommé conversationlabo3B.mp3
conversationlabo3B.json
conversationlabo3B.txt
"Elle est vite devenue rouge..."

conversationlabo.mp3  (2'07") renommé conversationlabo3C.mp3
conversationlabo3C.json
conversationlabo3C.txt
"Y a un Mic-Mac et ça permet de déréférencer son site..."

Les 3 fichiers .json ont été formatés par JSON Formatter & Validator avec les options:
JSON Template -> 3 Space Tab
JSON Specification -> RCF 8259
Fix JSON -> OK
Thomas Chrétien
Coordination de projet
Laboratoire Mobile des Langues
https://labomobilefr.hypotheses.org/



21 octobre 2020

Processing 3 & JSON:
processing.org/reference/JSONObject.html
processing.org/reference/loadJSONObject_.html
processing.org/reference/saveJSONObject_.html

processing.org/reference/JSONArray.html
processing.org/reference/loadJSONArray_.html
processing.org/reference/saveJSONArray_.html

processing.org/examples/loadsavejson.html



23 octobre 2020

loadJSONArray2.zip
Un premier sketch Processing 3 qui ouvre les fichiers :
conversationlabo3A.json
conversationlabo3B.json
conversationlabo3C.json
et y prélève les temps, les locuteurs, les transcriptions:
0 ------ Speaker: S1,  start_total:0.48  end_total:5.42
Y a un Mic-Mac et   start:0.48  end:0.74
ça  start:0.88  end:1.04
 permet  start:1.14  end:1.38
 de  start:1.38  end:1.56
 déréférencer  start:1.8  end:2.34
 son  start:2.34  end:2.52
 site  start:2.52  end:2.91
 sur  start:3.21  end:3.42
 des  start:3.42  end:3.51
 sites  start:3.51  end:3.84
 qui  start:3.93  end:4.23
 sont  start:4.5  end:4.72
 un  start:4.72  end:4.74
 peu  start:4.74  end:4.89
 bizarres  start:4.89  end:5.19

1 ------ Speaker: S2,  start_total:5.42  end_total:13.02
D'accord ok  start:5.42  end:5.63
 ah mais c'est  start:6.91  end:7.06
 bien  start:7.14  end:7.35
 ça ça doit être vachement bien.   start:7.38  end:7.65
Et  start:8.9  end:9.07
...

Reste à lire l'Audio en synchro.
Et à répartir l'Audio selon le locuteur.



30 octobre 2020

Install Raspberry Pi OS (previously called Raspbian) sur Raspberry Pi 4 Model B ...

Voir site Raspberry: Installing operating system images
"This resource explains how to install a Raspberry Pi operating system image on an SD card. You will need another computer with an SD card reader to install the image."

Raspberry Pi OS (previously called Raspbian)Avec un Mac:
Charger: imager_1.4.dmg (18Mo)
Voir: www.raspberrypi.org/downloads/
Installer imager_1.4 dans le dossier Applications du Mac
Lancer Raspberry Pi Imager.app
- Operating System: Raspberry Pi OS FULL (32-bit) A port of Debian with desktop and recommended applications
- SD Card: Mass Storage device Media... (Carte SD 32GB livrée avec Raspberry)
WRITE
Raspberry Pi OS est installé sur la SD Card

Placer la SD Card dans la Raspberry.

Connecter la Raspberry:
- Clavier USB
- Souris USB
- Alimentation secteur USB C
- Ecran HDMI (Ne pas utiliser pour l'instant l'écran LCD 7 Pouces tactile

Allumer la Raspberry et configurer:
- Country France
- Language French
- Timezone Paris
- Use English language
- Use US keyboard
- p
- ...
- Update Software... Attendre... > 60min
- Restart

Quelle est la version du système installée?
Terminal:
$ lsb_release -a
Description: Raspbian GNU/Linux 10 (buster)

Empêcher la mise en veille de l'écran
Installer un économiseur d'écran:
Terminal:
$ sudo apt-get update
$ sudo apt-get install xscreensaver
Menu Raspberry -> Preferences -> Screensaver -> Display Modes -> Mode: Disable Screen Saver

Installer Processing
Voir: https://pi.processing.org/download/
Terminal:
$ curl https://processing.org/download/install-arm.sh | sudo sh
...
Installing in usr/local...
Processing 3.5.3 est installé dans: usr/local/lib/Processing-3.5.3/processing
Installer library Minim

Installer l'ecran LCD 7 Pouces Tactile 1024x600 HDMI "7.0 inch HDMI Display_A06"
Voir: github.com/goodtft/LCD-show
      www.lcdwiki.com/7inch_HDMI_Display-C
      7inch_HDMI_Display-C_User_Manual(En).pdf
Terminal:
$ sudo rm -rf LCD-show
$ git clone https://github.com/goodtft/LCD-show.git
$ chmod -R 755 LCD-show
$ cd LCD-show/
$ sudo ./LCD7C-show
L'écran hdmi devient noir!
Connecter l'ecran LCD 7 Pouces Tactile 1024x600 HDMI
OK fonctionne
Reboot

1024/600 = 16/9.375 = 15.36/9 = WSVGA = 17.066/10

Petit problème: On ne peut plus connecter un écran "normal" HDMI sur la Raspberry, sur aucune des 2 sorties Video.

Comment revenir en arrière?

How to run two monitors on Raspberry Pi 4 

Audio:
Connection d'un casque sur la prise mini-jack de la Raspberry.
Barre de menu -> Clic droit sur le Haut-parleur "Volume Control" -> Analog -> ok le son fonctionne
  OK avec VLC Media Player
  OK avec Web Browser
  OK avec les 2 en même temps
  OK avec Processing TextGrid4.pde ou /minim/examples/Basics/DrawWaveformAndLevel
     mais pas Processing avec un autre logiciel en même temps
La prise mini-jack de l'écran 7 pouces ne fonctionne pas ("Volume Control" en Analog ou en HDMI)

Configurer la Raspberry:
Terminal:
$ sudo raspi-config
...

Processing
Lancement cartocentre_modif10_GP.pde
* failed to add service - already in use?
Could not run the sketch (Target VM failed to initialize).
For more information, read revisions.txt and Help → Troubleshooting.

cartocentre_modif11_GP.pde 12 13 14 error idem
loadJSONArray2 TextGrid2 TextGrid4 OK
minim/examples/Basics/DrawWaveformAndLevel OK

Cause: size(1024, 600, P3D);
Solution 1: size(1024, 600);
Solution 2: Terminal:
$ sudo raspi-config
  -> Advanced Options
     -> GL Driver
        -> GL (fake KMS) OpenGL desktop driver with fake KMS
(au lieu de Legacy Original non-GL desktop driver)
Redémarrer




4 novembre 2020

totem_S17.png totem_S17.skp (Fichier SketchUp)



15 novembre 2020

Conversation1 Conversation1.zip
 
OK Processing 3.5.4 + library minim + MacOS
OK Processing 3.5.3 + library minim + Raspberry Pi OS (Raspbian 10 buster)

Ouvre un fichier Audio .mp3 et le fichier correspondant de transcription .json
Lit les 2 fichiers synchronisés
Affiche les changements de Speakers
L'affichage du texte permet de s'y retrouver pendant la lecture du fichier.
Le fichier .json a été généré avec Happy Scribe  



20 novembre 2020

Raspberry Pi 4 & Wifi:
"Le Wifi est le successeur de celui du Pi 3. On retrouve l’antenne en forme de triangle dessinée sur le circuit imprimé à proximité du circuit WiFi. Le Raspberry Pi fonctionne sur 2,4GHz et sur 5GHz en 802.11 g/g/n/ac et en Bluetooth 5.0 et BLE."
framboise314.fr



25 novembre 2020

Ecran 10" 1280 x 800 pixels tactile pour Raspberry Pi chez Reichelt:
Display-ReicheltRPI LCD 10.1 IPS HDMI
Livraison prévue à partir du : 01.03.2021



27 novembre 2020 A Chalette

Attention haut-parleur
Les Mini Haut-Parleurs USB D-05A achetés récemment chez Kubii sont mono.
Seul le canal gauche est diffusé dans les 2 hauts-parleurs.
Puissance annoncée: 5W
Bleu
6,95 € TTC
Les Mini Haut-Parleurs USB AL-101 achetés précedemment chez Kubii sont bien Stereo et de meilleure qualité.
Puissance annoncée: 1.25W * 2
Jaune
6,90 € TTC



28 novembre 2020

cartocentre_16.zip = cartocentre_modif13_GP  avec 3 options quand on touche ou clic l'écran:
cartocentre_16

// OK Processing 3.5.4 + MacOS
// OK Processing 3.5.3 + Raspberry Pi OS (Raspbian 10 buster)



4 décembre 2020

cartocentre_17.zip = cartocentre_16.zip avec 4 options quand on touche ou clic l'écran:
cartocentre_17

OK Processing 3.5.3 + Raspberry Pi OS (Raspbian 10 buster)
Le dossier cartocentre_17 doit être placé sur le bureau de la Raspberry

ATTENTION: ShutDown Computer éteint la Raspberry sans message d'alerte!

ShutDown Computer exécute /home/pi/Desktop/cartocentre_17/ScriptShutDownLinux.sh
Le script ScriptShutDownLinux.sh:
#!/bin/bash
shutdown -h now
doit être exécutable:
Terminal:
$ chmod +x /home/pi/Desktop/cartocentre_17/ScriptShutDownLinux.sh

ShutDown Computer ne fonctionne pas sous MacOSX (mot de passe exigé)



10 décembre 2020

Gerard, un texte de présentation:

10 totems, 10 voix, 10 écrans.

La polyphonie sonore des 10 voix diffusées par les 10 totems des "Conversations excentrées" est confrontée à 10 images photographiques mises en mouvement au niveau de leur forme et de leur matière sur 10 écrans.

Le logiciel, imaginé spécifiquement pour cette installation, travaille en temps réel l'image numérique au niveau de chaque pixel. La couleur, la saturation, la luminosité est d'abord analysée, comparée avec celles d'autres pixels proches ou lointains. Puis l'image est transformée par regroupement de pixels, translation haut/bas ou gauche/droite, rotation de pixels etc...
On peut voir des zones de l'image se pulvériser, se fluidifier, s'agiter, se calmer.
Des lignes, des directions qui n'existaient pas, apparaissent.
Des lignes existantes, au contraire, s'accentuent ou se dissolvent.

Tous ces mouvements, leur amplitude, leur vitesse, leur accélération, leur direction évoluent progressivement, durant le déroulement des conversations, en liaison avec la lecture synchronisée d'un fichier de "data".
Les data peuvent être l'enregistrement jour après jour de la hauteur d'eau en cm de la Loire à Saumur pendant un siècle ou l'énergie en décibel des voix seconde après seconde lors d'une conversation animée de 12 minutes.

L'installation contient donc 3 types de données numériques: fichiers audio, fichiers image et fichiers de data.

La déambulation du spectateur dans cette forêt de totems lui fait percevoir de manière toujours changeante la polyphonie sonore des 10 voix et la polyphonie visuelle des 10 images sur les 10 écrans.


5 janvier 2021

SoundFilter de Google
A écouter: les exemples en bas de page:
https://google-research.github.io/seanet/soundfilter/examples/

Audio samples for the paper "One-shot conditional audio filtering of arbitrary sounds"
-> FSD50k dataset:
"an open dataset of human-labeled sound events containing 51,197 Freesound clips distributed in 200 classes drawn from the AudioSet Ontology"
    -> AudioSet Ontology:
       -> Human voice
          -> Speech
             -> 1010480 annotations = 2793.5 hours !!!



6 janvier 2021

Conversation3.png Conversation3.zip

OK Processing 3.5.4 + library minim + MacOS
OK Processing 3.5.3 + library minim + Raspberry Pi OS (Raspbian 10 buster)

Ouvre un fichier Audio .mp3 et le fichier correspondant de transcription .json
Lit les 2 fichiers synchronisés
Le fichier .json a été généré avec Happy Scribe 
Speaker S1 entendu a gauche
Speaker S2 entendu a droite
Speaker S3 & S4 entendu au centre



7 janvier 2021

Alimentation pour Raspberry Pi 1.5m USB type C avec Prise européenne Code RS: 187-3417
Mieux que l'alimentation Labists?

Ociodual Adaptateur Connecteur de Micro USB Femelle a USB 3.1 Type C Mâle Blanc

Ampli + Alim FOSI:
Ampli-Fosi-ZK502C
 - bluetooth-amplifier-board-2-channel-zk-502c
 - 19v-90w-power-adapter-supply-for-tpa3116-tda7498-tda7492-tas5613-class-d-amplifier




17 février 2021

Test haut-parleur

Visaton-FRS5 Visaton FRS 5 8Ohm 5W Diamètre 52mm Code RS 3643363 16,45€ TTC Documentation

Visaton BF 32 8Ohm 2W Diamètre 32mm  Code RS 7560155   Documentation

Test excitateur électrodynamique

Visaton EX 45 S 8Ohm 10W    46x46mm  Code RS 7191954   Documentation



27 mars 2021

J'ai monté dans une mini enceinte un Visaton FRS 5 8Ohm 5W Diamètre 52mm
Code RS 3643363      16,45€ TTC Documentation
toutlehautparleur.com 7.98€ TTC
Thomann               8.50€ TTC

C'est mieux que les Mini Haut-Parleurs USB RA264 Kubii:

ou que les Mini Haut-Parleurs D-05A Kubii:
mais ceux-là ne seront bientôt plus dispo

C'est évidemment beaucoup + cher, mais mieux: les voix sont plus claires, distinctes, il y a moins de distorsion dans le grave.
Ça vaut le prix.

Essais avec Ampli + Alim FOSI:
bluetooth-amplifier-board-2-channel-zk-502c
19v-90w-power-adapter-supply-for-tpa3116-tda7498-tda7492-tas5613-class-d-amplifier 



6 avril 2021

TextGrid5: Sketch Processing qui ouvre un fichier .TextGrid et l'affiche en synchro avec la lecture Audio.
idem TextGrid4 sans utiliser la class Table pour être compatible Processing 1.5

TextGrid4 TextGrid5.zip

OK Processing 1.5.1 Windows 10
OK Processing 2
OK Processing 3 



25 avril 2021

Question: Refaire sketch Processing Conversation3 qui ouvre directement un .TextGrid au lieu d'un .json?



26 avril 2021
Conversations excentrées:
10 x Raspberry
 1 x Borne WIFI Swissonic
 1 x PC INTEL NUC8I5BEK2 i5 117mm x 35mm x 112mm utile?
 


28 avril 2021

Waveshare-10.1inch


Reçu Amazon écran:
Waveshare Raspberry Pi 10.1" HDMI LCD 1024 × 600
IPS Tactile résistif LCD
Connexion directe avec Raspberry Pi 4B/3B+/3A+/3B/2B/1B+/1A+

Site Waveshare -> 10.1inch-hdmi-lcd  -> Doc
10.1inch HDMI LCD (New RTD2660 Version) User Manual
10.1inch_HDMI_LCD_User_Manual_EN.pdf

 



Compatible and Direct-connect with any revision of Raspberry Pi
Raspbian/Ubuntu Drivers are provided (works with your own Raspbian/Ubuntu directly)
OSD menu, supports brightness/contrast ratio adjustable manually.

Hardware Connection
1 Plug the LCD to your Raspberry Pi:
There are 40 pins on Raspberry Pi but only 26 pins on the LCD, so you should pay attention to connecting the pins to your Pi accordingly.
2 Connect the HDMI Connector to both the HDMI interfaces on the LCD and the Pi.
3 Turn on the "backlight" switch on the back of the LCD.

OK l'écran fonctionne mais pas le tactile.
 
You can enable the touch in two ways:
Method 1. install driver to your Raspbian/Ubuntu Mate OS.
Method 2. use the Ready-to-use image file of which LCD driver was pre-installed.
...

C'est une vieille technologie (resistive) qui utilise un stylet.

Il y a 2 autres écrans Waveshare 10.1" 1024 × 600 à technologie capacitive:
10.1inch Capacitive Touch Screen LCD (E)           1024×600 HDMI 90.73€
Wiki    
10.1inch Capacitive Touch Screen LCD (H) with Case 1024×600 HDMI 91.56€
Wiki   User Manual 



18 mai 2021

cartocentre_18

cartocentre_18.zip avec StopEnTouchant 
A partir de cartocentre_modif13_GK_GP et de cartocentre_17
Avec Attente après affichage nouvelle image:
Ligne 60: int Attente = 3000; // ms
Ligne 59 -> variable StopEnTouchant (= true/false) qui affiche ou pas l’écran noir et les 4 options quand on clic ou touche.



21 mai 2021

Présentation à la Médiathèque Gambetta à Orléans. 10h30 à 11h30

Retrouvez la Capsule conversationnelle
Médiathèque Saint Marceau 2, rue des Roses - 45100 Orléans
  Vendredi 28 et samedi 29 mai 14h-18h
Médiathèque Blossières
  Mardi 1er juin 10h-12h et mercredi 2 juin 14h-18h
Médiathèque Madeleine
  Jeudi 3 juin 14-18h et samedi 5 juin 10h-12h et 14h-17h
Médiathèque M-Genevoix
  Jeudi 10, vendredi 11 et samedi 12 juin 14h-18h
Médiathèque Argonne
  Mercredi 16 juin 10h-12h et 14h-18h et jeudi 17 juin 14h-18h

"En entrant dans la Capsule conversationnelle, les habitants livrent des voix uniques et libres qui participeront à composer un riche portait des langues au quotidien. Le coordinateur du projet accueille les participants et leur propose de prolonger dans la capsule la discussion qu’ils avaient entamé à l’extérieur... ou bien sûr d'en démarrer de nouvelles !
Dans le respect des règles sanitaires."

"Associant Arts numériques et recherche en Sciences du langage, les Conversations excentrées s'inscrivent dans le projet national de Laboratoire Mobile des Langues. A partir du portrait sonore des médiathèques de quartier d’Orléans mais aussi de cinq communes du Montargois (dont une partie de Points lecture), Guykayser proposera un dispositif visuel et sonore s’appuyant sur ces lieux de vie et la parole qui y circule. "

"Cela prendra la forme d'une exposition prévue à l'automne 2021 à la médiathèque Gambetta (Orléans centre), la médiathèque Maurice-Genevoix (Orléans La Source) ainsi qu'à celle de Montargis."



28 mai .. 15 juillet 2021

Les 12 arrêts des Conversations Excentrées du 28 mai au 15 juillet 2021



3 août 2021

TextGrid6: Sketch Processing qui ouvre un fichier .TextGrid et l'affiche en synchro avec la lecture Audio.
idem TextGrid5 avec Pause

TextGrid6 TextGrid6.zip

OK Processing 1.5.1 Windows 10
OK Processing 2
OK Processing 3 



4 août 2021

Sketch Processing 3: ConvEx2.zip = cartocentre_18 + Conversation3

// Noms des fichiers (exemples):
//   l1_c3.mp3    Lieu 1   Conversation 3  Audio
//   l12_c1.mp3   Lieu 12  Conversation 1  Audio
//   l12_c1.json  Lieu 12  Conversation 1  json
//   l6_i1.jpg    Lieu 6   Image 1         Image
//   l6_i5.jpg    Lieu 6   Image 5         Image

// 12 Lieux:                  l1 .. l12
//  5 Conversations par Lieu: c1 .. c5 (par exemple)
//  5 Images        par Lieu: i1 .. i5 (par exemple)
// 10 Totems:                 t1 .. t10



5 août 2021

ConvEx3.zip Sketch Processing 3
ConvEx3 ConvEx3Noir


OSCSendOSC.zip 4 sketches Processing 3
OscP5SendString OscP5ReceiveString
pour tester OSC en local ou sur un réseau:
OscP5SendInt
OscP5ReceiveInt
OscP5SendString
OscP5ReceiveString



5 août 2021 A Chalette

Problème du fonctionnement intempestif en Bluetooth de l'ampli Audio Foci avec les smartphones qui sont présents alentours...
How To Block WIFI / Bluetooth / RFID / Cell Signals
https://www.youtube.com/watch?v=8QfbdRhvvkE  
-> Commande écran de blindage

Si l'écran de blindage ne fonctionne pas: remplacer les 10 amplis par:
Fosi 2 Channel Class d Stereo Mini Amplifier for Home Speakers 50W x 2
sans Bluetooth, avec alimentation.

Créer un hotspot Wi-Fi en moins de 10 minutes avec la RaspberryPi!
Install Raspap
Reboot
Navigateur: http://10.3.141.1/
...
Consomme CPU... à voir...

Installation Raspberry:

Changer le password au premier allumage ou sinon:
"default user name is pi, with password raspberry"
$ sudo raspi-config
  -> 1 System Options
     -> S3 Password
        -> g
           -> ok
 

Changer le Hostname
(raspberrypi par défaut) Par exemple pour Totem3: raspberry3
$ sudo raspi-config
  -> 1 System Options
     -> S4 Hostname
        -> raspberry3
           ok
Reboot
Voir: raspberry-pi-change-hostname
Attention: changer le Hostname par: $ sudo hostname raspberry3 ne fonctionne pas...  


Créer un dossier partagé (Samba):
"Totem1"  dans Totem1
...
"Totem2"  dans Totem2
"Totem10" dans Totem10
sur le réseau des 10 Totems, avec tous les droits: Lecture Ecriture... , sur le bureau
par exemple: /home/pi/Desktop/Totem3
Propriétés -> Droits d'accés -> Tout le monde / Tout le monde / Tout le monde
Partage de fichier Samba depuis Raspberry Pi OS ou Armbian
Install Samba
Terminal:
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install samba
Le paquets dhcp-client doit être installé durant l’installation si demandé:
Accepter.
Faire une copie de sécurité de smb.conf avant de le modifier:
$ sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.old
Création d'un nouveau fichier de configuration:
/etc/samba/smb.conf
et partage Samba du dossier:
/home/pi/Desktop/Totem3
$ sudo nano /etc/samba/smb.conf
...
[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = raspberrypi3
security = user
map to guest = bad user
dns proxy = no

[Totem3]
comment = Dossier partage sur le bureau de Raspberry Pi OS
path = /home/pi/Desktop/Totem3
writeable=Yes
create mask=0777
directory mask=0777
public=yes
0777 permet aux utilisateurs Samba de lire, écrire et exécuter les fichiers et les dossiers.
...
Définir le mot de passe Samba:
$ sudo smbpasswd -a pi
New SMB password: g
Retype new SMB password: g
Added user pi.
...
reboot
...
Relancer le service Samba:
$ sudo systemctl restart smbd.service


Installer Processing sous Raspbian
https://pi.processing.org/download/
Terminal:
$ curl https://processing.org/download/install-arm.sh | sudo sh
...
Installing in usr/local...
Processing 3.5.3 est installé
Installer libraries minim, oscP5, Ketai


Fixer l'adresse IP du WIFI:
192.168.1.101 dans Totem1
192.168.1.102 dans Totem2
...
192.168.1.110 dans Totem10
en éditant le fichier: /etc/dhcpcd.conf
$ sudo nano /etc/dhcpcd.conf
Ajouter (pour le Totem3 en 192.168.1.103):
interface wlan0
static ip_address=192.168.1.103/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1
Reboot
Voir: Donner une IP locale fixe à votre Raspberry Pi 


Ajouter un logiciel de clavier virtuel pour éviter le branchement d'un clavier USB
$ sudo apt update
$ sudo apt install matchbox-keyboard
Menu Raspberry -> Accessories -> Keyboard
Voir: https://pimylifeup.com/raspberry-pi-on-screen-keyboard/
Ou Florence Virtual Keyboard? qui disparait automatiquement:
Voir: https://raspberry-pi.fr/clavier-virtuel-raspberry-pi/


Problèmes d'écran: bords noirs, mauvaise résolution, déformation... éditer:
$ sudo nano /boot/config.txt
...
Ou:
$ sudo raspi-config
  -> 2 Display Options
     -> ...
 


Les tailles sont bonnes:
mediateque_centreville



10 août 2021

MacOSX 10.13 Partage (Samba) d'un dossier:
Menu Pomme
   -> Préférences Système...
      -> Partage
         -> Partage de fichiers -> Cocher
         -> Options...
            -> Partager les fichiers et les dossiers via SMB -> Cocher
            -> Partage de fichiers Windows -> Compte xx -> Cocher Activer
         -> Dossiers partagés:
            -> + Nom du dossier...
            -> Utilisateurs
               -> xx -> Lecture/écriture Lecture/écriture Lecture/écriture



11 août 2021

Schema-Raspberry7











  Schema-Raspberry7

  pdf Schema-Raspberry7.pdf

  Schema-Raspberry7.odg

  





...




Ajouter une alim pour l'écran pour soulager la Raspberry?

La Borne WIFI Swissonic connectée câble Ethernet à l'une des 10 Raspberry?



12 août 2021

ConvEx4.zip  Sketch Processing 3
ConvEx4 master envoie des messages OSC vers les autres Convex4 sur le même réseau.



13 août 2021 A Chalette

Test écran électromagnétique (BlueTooth, WIFI...) pour Ampli Audio Fosi Bluetooth zk-502c 
-> ne fonctionne pas
-> Commande: 10 x Fosi [Old Version] 2 Channel Stereo Mini Amplifier 50W x 2


Allumage Borne WIFI Swissonic
Connection en WIFI "Swissonic Router2 2.4G"
192.168.1.1 d'aprés la doc
admin
admin
-> Internet Setting
   WAN Type DHCP Client
http://192.168.1.1


Le partage de fichiers Samba
-> Problème des permissions:
Voir: Permission precedence sur:
how-do-i-set-permissions-to-samba-shares.html


Test ConvEx4.zip


SDCard Rasperry cloné avec balenaEtcher



14 août 2021

Install FileZilla Client



17 août 2021

Raspberry 4: problème d'interférence entre WIFI et HDMI?
Wifi not working when resolution is set too high
La conclusion du "Principal Software Engineer at Raspberry Pi (Trading) Ltd." est:
"I wonder if you HDMI cable is very badly shielded? Have you tried a different one?"
No WiFi AP Unless HDMI Connected  
Raspberry Pi 4 Bug – Wifi stops working after using a high screen resolution "2 years ago"



Problème DHCP avec dynamic (Non static Non fix) IP addressing: DHCP Lease Time
DHCP Lease Time – What is it and How does it work? 


Problème des Raspberry avec IP Address fixée qui change!
Parce que le Router Swissonic est toujours en IP Address dynamique?
"it is clearly a router issue. As long as DHCP is enabled, it pays no attention to the fact that a static IP has been set. Most commercial routers use an old Linux kernel
https://www.raspberrypi.org/forums/viewtopic.php?t=278417"
OUI



18 août 2021

Recu 5 x Amazon DS3231 Real Time Clock RTC


Problème de date & heure d'une Raspberry non connectée à Internet: perdues à chaque redémérrage.
Mettre à l'heure:
$ sudo date -s '2021-17-08 15:36:00'
Installer fake-hwclock:
$ sudo apt-get install fake-hwclock
"This approach can only provide a  crude  approximation  of  what  a  real  hardware  clock provides"
...
Ajout carte horloge (avec pile) Real Time Clock (RTC):
Amazon DS3231 Real Time Clock RTC    az-delivery.de/fr/products/ds3231-real-time-clock 
Lextronic Module RTC DS1307
Commande câbles: 40 x Mâle vers Femelle, 40 x Mâle vers Mâle, 40 x Femelle vers Femelle Longueur 20cm
Jumper-Breadboard-Femelle-Arduino-Raspberry


Commande:
Compteur d'énergie RS PRO (Wattmètre)
Code RS 178-5376

Fil à souder 250g, Plomb 40%, Etain 60%, fusion à 183°C
Code RS 756-8881 1.27mm
Handitronics     1   mm
GPIO-Pinout-Diagram-2Raspberry: GPIO and the 40-pin Header

19 août 2021

ConvEx5.zip  Sketch Processing 3
ConvEx5 ConvEx5Noir
ConvEx5 master envoie des messages OSC vers les autres Convex5 sur le même réseau.
ConvEx5 lit un fichier "Qui.txt" de 3 lignes::
Qui.txt
Totem = 5
Master = 0


Quelle Raspberry?
$ cat /proc/cpuinfo



20 août 2021 A Chalette

Install Horloge:
RTC  Amazon DS3231 Real Time Clock RTC

az-delivery.de/fr/products/ds3231-real-time-clock
   -> Wichtige Downloads & Links
      -> Raspberry Pi Librearies
         -> DS3231_Ras_Pi.zip
            -> Et aprés? rien sur le site az-delivery

Câblage:
Circuit-of-DS3231-Real-Time-Clock-in-Raspberry-Pi
avec les: Amazon câbles: 40 x Mâle vers Femelle, 40 x Mâle vers Mâle, 40 x Femelle vers Femelle Longueur 20cm
Jumper-Breadboard-Femelle-Arduino-Raspberry

Installation du logiciel:
ajout-dun-module-rtc-au-raspberry-pi
$ sudo apt update
...
$ sudo apt upgrade
...
$ sudo raspi-config
-> Interfacing Options
   –> I2C
      –> Enable
         –> OK
Reboot
$ sudo apt install python-smbus i2c-tools
...
$ sudo i2cdetect -y 1
...
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
...
$ sudo nano /boot/config.txt
Ajouter à la fin:
dtoverlay=i2c-rtc,ds3231
Reboot
Vérification:
$ sudo i2cdetect -y 1
...
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- UU -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
...
$ sudo apt -y remove fake-hwclock
$ sudo update-rc.d -f fake-hwclock remove
$ sudo nano /lib/udev/hwclock-set

Commenter les 3 lignes:
if [ -e /run/systemd/system ] ; then
exit 0
fi
Vérification de l’heure du module RTC:
$ sudo hwclock -D -r

Mettre à l'heure la Raspberry en la connectant au Web.
Vérification:
$ date
Ecriture date dans le module RTC:
$ sudo hwclock -w
Vérification:
$ sudo hwclock -r
Reboot



21 août 2021

A essayer pour le problème d'interférence entre WIFI et HDMI: Mise à jour du firmware de la Raspberry
Vérification:
$ sudo rpi-eeprom-update
BOOTLOADER: up to date
...
Pas de update à faire
Sinon:
Comment mettre à jour le firmware d’un Raspberry Pi ?
$ sudo apt update
...
$ sudo apt full-upgrade
...
$ sudo rpi-update
...
Reboot
Vérification:
$ sudo rpi-eeprom-update

NON inutile: la dernière version du firmware était installée



23 août 2021

Install Arcueil Router TP-Link   06435394
http://192.168.0.1/  ...  admin  admin
   -> Network
      -> WAN
         -> Connection Type: Dynamic IP
Modif:
         -> Connection Type: Static IP
         -> IP Address: 192.168.1.1
         -> Subnet Mask: 255.255.255.0
         -> Gateway: 192.168.1.1
         -> Primary DNS Server: 192.168.1.1
         -> Secondary DNS Server: 0.0.0.0 (optional)

Pb:
interface wlan0
static ip_address=192.168.1.103/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1

essai modif:
interface wlan0
static ip_address=192.168.1.103/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1

Connection avec Raspberry:
Pre Shared Key: 06435394  = WirelessPassword/PIN



1 septembre 2021

Happy Scribe:
Transcription 100% Manuelle en français: 2.20€ par minute   99% précis  Délai: 24h
Lignes directrices pour la retranscription française



2 septembre 2021

ConvEx6.zip  Sketch Processing 3
ConvEx6.png ConvEx6Noir.png
Avec l2_c1.json et l2_c1.mp3 à partir de: "troisextraits.wav" (13.8min) et json généré avec Happy Scribe
l2_c1.json
l2_c1.csv
l2_c1.txt



3 septembre 2021

Changement des noms de fichiers:
l1_c3.mp3   ->  Lieu1_conv3.mp3   Lieu 1   Conversation 3  Audio  (ou .wav)
l12_c1.json -> Lieu12_conv1.json  Lieu 12  Conversation 1  json
l6_i1.jpg   ->   Lieu6_img1.jpg   Lieu 6   Image 1         Image

En résumé:
// Noms des fichiers (exemples):
//    Lieu1_conv3.mp3   Lieu 1   Conversation 3  Audio  (ou .wav)
//   Lieu12_conv1.mp3   Lieu 12  Conversation 1  Audio  (ou .wav)
//   Lieu12_conv1.json  Lieu 12  Conversation 1  json
//     Lieu6_img1.jpg   Lieu 6   Image 1         Image
//    Lieu6_img15.jpg   Lieu 6   Image 15        Image

//     12 Lieux:                   Lieu1 .. Lieu12
// 1 .. 8 Conversations par Lieu:  conv1 .. conv8  (par exemple)
// 1 .. 4 Speaker par Conversation:   S1 .. S4     (par exemple)
//     15 Images        par Lieu:   img1 .. img5   Carte
//                                  img6 .. img10  Photo Capsule
//                                 img11 .. img15  Photo Bibliothèque
//     10 Totems:                 totem1 .. totem10

Les 12 Lieux x 15 images = 180 images .jpg

        test3.json ->  renommé -> Lieu2_conv1.json
troisextraits.wav  ->  renommé -> Lieu2_conv1.wav

   Lieu2_conv1.wav -> Audacity -> Lieu2_conv1.mp3

guykayser_septembre_2021_1


15 septembre 2021
 
Guy -> 32 fichiers .wav et 32 .json de 32 conversations dans 6 lieux à Orléans.
(De 2 à 8 conversations par lieu)

Happyscribe -> Format JSON -> Fichier -> Json formatter -> Fichier

A faire: Renommer les fichiers
         Renommer chaque Speaker de chaque fichier .json S1 S2 S3...
                  au lieu de "Femme 1" "Fille 1" "Orateur 1" "Speaker 1" "Intervenant 1" etc...
                  Convention: Thomas = S1 ?
                                 Guy = S2 ?
                              ...
         Lieu6_img3.jpg fait planter ConvEx8.pde pcq 1024 x 599 pixels et pas 1024 x 600

guykayser_septembre_2021_3


23 septembre 2021

ConvEx8.zip 21.9Mo Sketch Processing 3
ConvEx8 ConvEx8

ATTENTION
Le dossier data ne contient que les 17 fichiers de Lieu1 et conv1:
Lieu1_conv1.wav
Lieu1_conv1.json
Lieu1_img1.jpg ... Lieu1_img15.jpg
227 fichiers manquent:
Lieu1_* .. Lieu12_*



24 septembre 2021 A Chalette

Problème Raspberry Pi 8Go
Processing -> pas de son!
OK son avec lecteur audio de Raspbian
Menu Raspberry -> Preferences -> Audio Device Settings n'apparait pas...
Voir:
Raspberry Pi - Sound not playing from Processing
No sound output with my Raspberry Pi 4
How to install sound library so that I can use properly on raspberry pi 4?
Solution:?


How to add Processing shortcut to launch panel

guykayser_septembre_2021_2


25 septembre 2021

guykayser_septembre_2021_6 
Problème sous Raspbian et pas sous MacOS des fichiers Audio qui font planter Convex8:
==== JavaSound Minim Error ====
==== Couldn’t open the line: line with format PCM_SIGNED 44100.0 Hz, 16 bit, stereo, 4 bytes/frame, little-endian not supported.
C'est toujours le 4e fichier ouvert qui fait planter, quelquesoit le fichier.
Voir:
Playing sound with Minim on Pi breaks
Minim problem with loading multiple FilePlayer
Minim audio recording fails after 6 files are recorded
Début de solution: close FilePlayer avant d'en créer un nouveau:
Parole.close();
Parole = new FilePlayer( MonMinim.loadFileStream(NomFichierAudio) );
Maintenant c'est le 7e fichier ouvert qui fait planter, quelquesoit le fichier!
Avec une nouvelle erreur:
==== JavaSound Minim Error ====
==== Unable to return a SourceDataLine: unsupported format - PCM_SIGNED 44100.0 Hz, 16 bit, stereo, 4 bytes/frame, little-endian
A essayer:
(Voir: Playing sound with Minim on Pi breaks)
Parole.close();
Parole.unpatch(Sortie);
Parole = new FilePlayer( MonMinim.loadFileStream(NomFichierAudio) );
delay(100);
Parole.patch(Sortie)
OK OK


Library: PureData
https://pi.processing.org/technical/
The puredatap5 library allows you to write sketches in Processing that control and interact with musical patches prepared in Pure Data. See the accompanying HelloPd example for how it works. This library requires PortAudio to be installed, which seems to be the case for current releases of the Raspbian distribution. This library is not yet available through the Contribution Manager, but support for ARM was merged into its main repository.



5 octobre 2021

Pronomic MAMP-215 amplificateur
puissance (RMS): 2x  8 Watt @ 8 Ohm
                 2x 15 Watt @ 4 Ohm
distorsion (THD): <0,4% @ 1W par canal
boîtier (B x H x P): 95 x 31 x 119 mm



6 octobre 2021

3D: mediateque_lasource.skp -> mediateque_lasource.zip (3.6Mo)
 


7 octobre 2021

ConvEx10Sansdata.zip Sketch Processing 3 + Script



8 octobre 2021   A Chalette

Avec Totem 3 4 5 6

Les 10 Totems en groupes: 1-2-3-4  5-6-7  8-9-10

Regles:
Conversation à 4: Totem 1-2-3-4
Conversation à 3: Totem 1-2-3 ou 2-3-4 ou 5-6-7 ou 8-9-10

Transformer les Conversations à 5 ou 6 en Conversations à 4
Ecrire la liste ordonnée des 59 Conversations avec 1 colonne indiquant son 1er Totem
Eviter 2 Conversations à 4 successives
Départ à l'allumage au hasard dans la liste
Pas + de 2 Conversations simultanées



9 octobre 2021

Médiathèque Orléans La Source
mediateque_lasource


13 octobre 2021

ConvEx11Sansdata.zip Sketch Processing 3 + Script



14 octobre 2021

tableau_convEx_tri.ods ouvert dans  LibreOffice:
   -> Suppression ".wav" et remplacer "conv" par "_conv"
      -> Enregistrer sous...
         -> Text CSV (.csv)
            -> tableau_convEx_tri.csv
               -> Ajout Titres, Colonne PremierTotem
                  -> Renommer -> LieuconvListe.csv
Avec les options:
Jeu de caractères:    Unicode (UTF-8)
Séparateur de champs: ,
Séparateur de texte:  "
Enregistrer le contenu de la cellule comme affiché
Nom,          Duree,        NbrSpeaker, PremierTotem
Lieu1_conv1,  00:02:00.579, 3,          1
Lieu9_conv4,  00:01:55.433, 3,          5
Lieu1_conv2,  00:02:06.822, 4,          1
...
Lieu12_conv3, 00:01:58.385, 3,          1

Du point de vue du MaitreOSC:
23h 55min 56sec
2 Ouverture de: Lieu1_conv1.json
Discussion.size()=34
SpeakerArray[0]=s1
SpeakerArray[1]=t
SpeakerArray[2]=s2
NbrSpeaker=3
Duree=119610ms
PremierTotem=1
Envoi 192.168.1.101:7000 Lieu1_conv1
Envoi 192.168.1.102:7000 Lieu1_conv1
Envoi 192.168.1.103:7000 Lieu1_conv1
Envoi 192.168.1.101:7000 s1
Envoi 192.168.1.102:7000 t
Envoi 192.168.1.103:7000 s2
Envoi 192.168.1.101:7000 Play_
Envoi 192.168.1.102:7000 Play_
Envoi 192.168.1.103:7000 Play_
4 Ouverture de: Lieu1_conv1.wav

23h 57min 59sec
2 Ouverture de: Lieu9_conv4.json
Discussion.size()=48
SpeakerArray[0]=t
SpeakerArray[1]=s1
SpeakerArray[2]=s2
NbrSpeaker=3
Duree=111013ms
PremierTotem=5
Envoi 192.168.1.105:7000 Lieu9_conv4
Envoi 192.168.1.106:7000 Lieu9_conv4
Envoi 192.168.1.107:7000 Lieu9_conv4
Envoi 192.168.1.105:7000 t
Envoi 192.168.1.106:7000 s1
Envoi 192.168.1.107:7000 s2
Envoi 192.168.1.105:7000 Play_
Envoi 192.168.1.106:7000 Play_
Envoi 192.168.1.107:7000 Play_
4 Ouverture de: Lieu9_conv4.wav

23h 59min 55sec
2 Ouverture de: Lieu1_conv2.json
Discussion.size()=35
SpeakerArray[0]=s1
SpeakerArray[1]=s2
SpeakerArray[2]=t
SpeakerArray[3]=s3
NbrSpeaker=4
Duree=126310ms
PremierTotem=1
Envoi 192.168.1.101:7000 Lieu1_conv2
Envoi 192.168.1.102:7000 Lieu1_conv2
Envoi 192.168.1.103:7000 Lieu1_conv2
Envoi 192.168.1.104:7000 Lieu1_conv2
Envoi 192.168.1.101:7000 s1
Envoi 192.168.1.102:7000 s2
Envoi 192.168.1.103:7000 t
Envoi 192.168.1.104:7000 s3
Envoi 192.168.1.101:7000 Play_
Envoi 192.168.1.102:7000 Play_
Envoi 192.168.1.103:7000 Play_
Envoi 192.168.1.104:7000 Play_
4 Ouverture de: Lieu1_conv2.wav

ConvEx12Sansdata.zip Sketch Processing 3



14 octobre 2021 A Chalette

ConvEx13sansdata.zip (13ko)  Sketch Processing 3 + Script



19 octobre 2021

Un texte
L’exposition présentée par l’artiste Guykayser dans les médiathèques d’Orléans et Montargis constitue l’aboutissement du projet « Conversations excentrées ». Sa première phase avait eu lieu en mai et juin 2021 et consistait en une collecte sonore de discussions libres. En livrant leurs voix dans la Capsule conversationnelle, les habitants de cinq quartiers d’Orléans et de 5 villages du Montargois ont participé à composer un riche portait des langues du quotidien. C’est à partir de celui-ci que Guykayser a composé un dispositif visuel et sonore s’appuyant sur ces lieux de vie et la parole qui y circule.

C’est un dispositif composé de dix totems « audiovisuels », permettant une articulation entre les conversations et un ensemble d’images. Celle-ci sont d’une part topographiques (fond de cartes et données de l’IGN) et d’autre part photographiques (intérieur des médiathèques et reportage sur les collectes sonores). Une fois passées entre les mains de l’artiste, toutes ces images voient s’opérer, au rythme des échanges vocaux, une transformation de l'image photographique par le mouvement des pixels dû à la variabilité des données.

Le public chemine entre les conversations initiales, reconstruites aléatoirement par un programme informatique dédié. Au total, ce sont près de soixante extraits de discussions qui sont données à entendre. En développant le programme informatique aux côtés de son partenaire Gérard Parésys, Guykayser a élaboré des boucles de diffusion des voix comprenant trois parties. La première est composée d’extraits non montés des conversations, la suivante de bribes de discussions se mélangeant les unes aux autres et enfin la troisième consiste en une déstructuration des conversations réalisée à l’échelle du mot, devenu alors simple matière sonore.

Associant donc Arts numériques et recherche en Sciences du langage, les Conversations excentrées s'inscrivent dans le projet national de Laboratoire Mobile des Langues.

La restitution du projet "Conversations excentrées" de l'artiste Guykayser prendra la forme d'une installation exposée du 16 au 27 novembre à la médiathèque Maurice Genevoix (La Source), du 30 novembre au 18 décembre à la médiathèque Gambetta (Orléans Centre) et à la médiathèque de l’AME à Montargis du 8 au 29 Janvier 2022.


20 octobre 2021
ConvEx15sansdata.zip (11ko)  Sketch Processing 3 + Script
data-59json.zip      (245ko) Les 59 .json avec 4 locuteurs max
data-180jpg.zip      (41Mo)  Les 12 x 15 = 180 .jpg
Le "MaitreOSC" émet une conversation comme les autres Totems.
Taper L sur le "MaitreOSC" lance la lecture de la liste: LieuconvListe.csv
Taper J ou K sur le "MaitreOSC" recule ou avance dans la liste.
Attenuation = -30; // -80 .. -1 dB ajuste l'attenuation d'un locuteur quand un Totem ne doit pas l'emettre: (-80dB = attenuation max)

Problème aprés plusieurs heures de fonctionnement: Null Pointer Exception:
ligne 423 image(img, 0, 0);



21 octobre 2021

ConvEx16sansdata.zip (11ko)  Sketch Processing 3 + Script



22 octobre 2021

Problème aprés plusieurs heures de fonctionnement: Null Pointer Exception à la ligne:
image(img, 0, 0);
Solution essayée:
if (img != null) image(img, 0, 0);
else {
  println("Erreur img");
  NouvelleImage();
}
NON... ne fonctionne pas...

ConvEx17sansdata.zip (12ko)  Sketch Processing 3 + Script
ConvEx17 ConvEx17-2
- Avec mode Touch sur les principaux contrôles: les touches J K L R P...
- GaindB  -1dB / +1dB contrôlé par le MaitreOSC
- Le bonnes images sont choisies en mode Solo.
- Pour contrôler le choix des images j'ai ajouté la possibilité de superposer le nom à l'image:
J'ai ajouté au début :
boolean AfficheNomImage = true ;
- 3 erreurs corrigées dans: LieuconvListe.csv:
Lieu9_conv2  a 3 Speakers et pas 4
Lieu8_conv1  a 2 Speakers et pas 3
Lieu11_conv4 a 2 Speakers et pas 3
- Il y a toujours le bug "NullPointer Exception" qui plante le sketch sur la ligne 843:
if (img != null) image(img, 0, 0);
après plus de 2h de fonctionnement.
Ça ne se produit jamais sur le même fichier image.
Ce foutu bug me tracasse.
Il passe au travers de:   if (img != null)



23 octobre 2021

Problème: Null Pointer Exception à la ligne:
image(img, 0, 0);
Nouvelle solution essayée:
  try {
    image(img, 0, 0);
  }
  catch (Exception e) {
  }

ConvEx18sansdata.zip (12ko)  Sketch Processing 3 + Script
- Avec nouvelle liste LieuconvListe.csv
- Avec nouveau: Random Solo (pour le MaitreOSC)

OK OK Solution fonctionne


Installation des 10 Totems en résumé:
Dans chacune des 10 Raspberry 4 (4Go ou 8Go) des 10 Totems (exemples avec le Totem3):

Raspbian 10 buster pré-installé sur la carte SD livrée avec les Raspberry 4Go achetées chez Labists.
(et non Raspbian 9 stretch comme indiqué dans la doc Labists.)
$ lsb_release -a
Description: Raspbian GNU/Linux 10 (buster)


Changer le password au premier allumage ou sinon:
"default user name is pi, with password raspberry"
$ sudo raspi-config
  -> 1 System Options
     -> S3 Password
        -> g
           -> ok
 

Changer le Hostname
(raspberrypi par défaut) Par exemple pour Totem3: raspberry3
$ sudo raspi-config
  -> 1 System Options
     -> S4 Hostname
        -> raspberry3
           ok
Reboot
Voir: raspberry-pi-change-hostname
Attention: changer le Hostname par: $ sudo hostname raspberry3 ne fonctionne pas...  


Créer un dossier:
"Totem1"  dans Totem1
...
"Totem2"  dans Totem2
"Totem10" dans Totem10
Avec tous les droits: Lecture Ecriture... , sur le bureau
par exemple: /home/pi/Desktop/Totem3
Ou le logiciel ConvEx (Processing 3) sera installé:
ConvEx
ConvEx.pde
OSC.pde
Qui.txt
LieuconvListe.csv
data folder (1.39Go: 59 xxx.json 59 xxx.wav 180 xxx.jpg = 298 fichiers)
Propriétés / Properties
   -> Droits d'accés / Permissions
      -> Tout le monde Tout le monde Tout le monde / Anyone Anyone Anyone


Installer Processing sous Raspbian
https://pi.processing.org/download/
Terminal:
$ curl https://processing.org/download/install-arm.sh | sudo sh
...
Installing in usr/local...
Processing 3.5.3 est installé dans: usr/local/lib/Processing-3.5.3/processing
Si problème d'installation, installer dans le dossier Totem3 sur le bureau (par exemple)
Installer libraries minim, oscP5, Ketai
Processing -> Preferences -> Augmenter la mémoire vive disponible: 2048MB



Empêcher la mise en veille de l'écran
Installer un économiseur d'écran:
$ sudo apt-get install xscreensaver
Menu Raspberry -> Preferences -> Screensaver -> Display Modes -> Mode: Disable Screen Saver

Autre solution: Wiki Waveshare
$ sudo nano /etc/lightdm/lightdm.conf
Décommenter et modifier la ligne:
xserver-command=X -s 0 -dpms
Reboot


WIFI: adresse IP fixe (statique locale) (Router & 10 Raspberry):
Fixer l'adresse IP du Swissonic Router:
      WAN Type: Static IP
    IP Address: 192.168.1.1
Pre Shared Key: gggggggg  
-> http://192.168.1.1/
Fixer l'adresse IP des 10 Raspberry:
192.168.1.101 dans Totem1
192.168.1.102 dans Totem2
...
192.168.1.110 dans Totem10
en éditant le fichier: /etc/dhcpcd.conf
$ sudo nano /etc/dhcpcd.conf
Ajouter (pour le Totem3 en 192.168.1.103):
interface wlan0
static ip_address=192.168.1.103/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1
Reboot
Vérification (ne fonctionne que si la connection WIFI au router est OK):
$ ip -a address
ou:
$ ifconfig
IP address du router:
$ ip r
Voir: Donner une IP locale fixe à votre Raspberry Pi 
Vérifier (pour le Totem3):
Clic droit Menu Réseau
   -> Wireless & Wired Network Settings -> Network Preferences
      -> wlan0
         -> Disable IPv6
            IPv4 Address 192.168.1.103/24
            Router       192.168.1.1
            DNS Servers  192.168.1.1
En cas de problème de connection WIFI: A essayer...
1 Allumer le router WIFI avant les Raspberry.
2 Changer la connection HDMI de l'écran: prise 0 (près de la prise d'alimentation) ou prise 1.
3 Changer le câble HDMI de l'écran.
(Les Raspberry 4 ont des problèmes d'interférence entre WIFI et HDMI) Voir: 17 août 2021
4 Eteindre puis rallumer le router WIFI
5 Pre Shared Key router Swissonic: gggggggg
  Pre Shared Key router TP-Link  : 06435394
6 Raspberry: Turn Off Wi-Fi -> Turn On Wi-Fi


Ajouter un logiciel de clavier virtuel pour éviter le branchement d'un clavier USB
$ sudo apt update
$ sudo apt install matchbox-keyboard
Menu Raspberry -> Accessories -> Keyboard
Voir: raspberry-pi-on-screen-keyboard
Ou Florence Virtual Keyboard? qui disparait automatiquement:
Voir: clavier-virtuel-raspberry-pi

 
Right click emulation pour éviter le branchement d'une souris
A voir:
7inch_HDMI_LCD#Right_click_emulation
 

Problèmes d'écran: bords noirs, mauvaise résolution, déformation... éditer:
$ sudo nano /boot/config.txt
...
max_usb_current=1
hdmi_group=2
hdmi_mode=87
hdmi_cvt 1023 599 60 6 0 0 0
Ou:
$ sudo raspi-config
  -> 2 Display Options
     -> ...
Si problème Processing en P3D
"* failed to add service - already in use?"
$ sudo raspi-config
  -> Advanced Options
     -> GL Driver
        -> GL (fake KMS) OpenGL desktop driver with fake KMS


Activer SSH - Utiliser FileZilla
Menu Raspberry
   -> Preferences
      -> Raspberry Pi Configuration
         -> Interfaces
            -> SSH -> Enable
            -> OK
Install FileZilla Client sur MacOS ou PC Windows
Connection à la Raspberry Totem3 sur un réseau WIFI OK:
Hôte: sftp://192.168.1.103
Identifiant: pi
Mot de passe: g
Connexion rapide 
Acces SSH au Terminal d'une Raspberry depuis un Mac:
Terminal Mac:
MacBook-Pro-de-g:~ g$ ssh root@192.168.1.103
...
root@192.168.1.103's password:
...
root@raspberry3:~# sudo nano /etc/xdg/lxsession/LXDE-pi/autostart  (par exemple)


Installer une RTC: carte Real Time Clock
Voir: 20 août 2021 A Chalette


Script Shell
Placer un dossier "Script" sur le bureau
Placer dans le dossier "Script":
ScriptShutDownLinux.sh
myScript.sh


Lancement d'un Shell au boot lançant le sketch Processing ConvEx
Voir: processing-raspberry-pi-auto-run-a-sketch-on-boot/ -> autostart
Editer le fichier autostart: /etc/xdg/lxsession/LXDE-pi/autostart
$ sudo nano /etc/xdg/lxsession/LXDE-pi/autostart
@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
@xscreensaver -no-splash
On a new line at the bottom of the file, enter the following text:"
@lxterminal -e bash /home/pi/Desktop/Script/myScript.sh
Le script myScript.sh est placé dans le dossier "Script" placé sur le bureau de la Raspberry:
(Exemple avec Processing installé avec curl donc dans: usr/local/lib/Processing-3.5.3):
#!/bin/bash
echo Lancement de Processing
echo Lancement du sketch ConvEx.pde
usr/local/lib/Processing-3.5.3/processing-java --sketch=/home/pi/Desktop/Totem3/ConvEx --run
(Exemple avec Processing installé dans Desktop/Totem3/processing-3.5.3):
#!/bin/bash
echo Lancement de Processing
echo Ouverture du sketch ConvEx.pde
/home/pi/Desktop/Totem3/processing-3.5.3/processing-java --sketch=/home/pi/Desktop/Totem3/ConvEx --run
ATTENTION le script doit se terminer avec --run sans Retour à la ligne
On peut tester myScript.sh en l'executant depuis le Terminal:
$ sh /home/pi/Desktop/Script/myScript.sh
Voir: TrousDeMemoire/Corpus.html -> 17 octobre 2015 


Qui.txt
Editer le fichier Desktop/Totem3/ConvEx/Qui.txt:
Qui.txt
Totem = 3
Master = 0
ou pour le MaitreOSC:
Qui.txt
Totem = 10
Master = 1


Audio
Raspberry: Régler "Volume Control" dans la barre de menu à 85. Au-delà (maxi 100) il y a saturation.

Problème: Pas de Preferences -> Audio Device Settings
          Pas de Panel Control dans la barre de Menus (Speaker icon)
Solution:
$ sudo apt install pimixer
Redémarrer
Clic droit Barre de menus
   -> Ajouter/Enlever des éléments au tableau de bord
      -> Ajouter
         -> Contrôle du volume

Problème: Aucun son
Solution 1:
   Barre de menus
   -> Clic droit Contrôle du volume
      -> Choisir Sortie "AV Jack" ou Headphones et pas HDMI
Solution 2:
$ sudo raspi-config
1 System Options
   -> S2 Audio
      -> Choose the audio output
         -> 0 Headphones

Problème: Pas de son avec Processing + minim mais son OK avec Processing + sound library ou autre logiciel
Solution: Supprimer pulseaudio
$ apt policy pulseaudio
...
$ sudo apt -y purge "pulseaudio"
Reboot
$ sudo raspi-config
1 System Options
   -> S2 Audio
      -> Choose the audio output
         -> 0 Headphones
Voir: forums.raspberrypi: No audio output from pi 4 at all
      forums.raspberrypi.com: No Sound on New Pi OS
ATTENTION certaines mises à jour de Raspbian réinstallent pulseaudio




24 octobre 2021

ConvEx19sansdata.zip (12ko)  Sketch Processing 3 + Script

2 conversations simultanées avec gestion des Totems libres
"Run Liste" et "Random" et "Random Solo" fonctionnent.
"Liste +1" et "Liste -1" ne fonctionnent plus pour l'instant.

Un déroulé vu du MaitreOSC:
loadImage  Lieu11_img6.jpg
width=1024  height=600
WW=1024  HH=600
1 Ouverture de: Qui.txt  3 lignes:
   0 Qui.txt
   1 Totem = 10
   2 Master = 1
setupOSC()

OscP5 0.9.9 infos, comments, questions at http://www.sojamo.de/oscP5
...

3 Ouverture de: LieuconvListe.csv  60 lignes:
   Nom          NbrSpeaker  PremierTotem
0  Lieu1_conv1  3  1
1  Lieu9_conv4  3  5
2  Lieu1_conv2  4  1
3  Lieu8_conv5  2  9
4  Lieu2_conv1  3  2
5  Lieu5_conv1  2  5
6  Lieu2_conv2  4  1
7  Lieu2_conv3  3  8
8  Lieu2_conv4  4  1
9  Lieu2_conv5  1  5
10  Lieu2_conv6  2  8
11  Lieu9_conv2  3  1
12  Lieu3_conv1  2  5
13  Lieu3_conv2  4  1
14  Lieu3_conv4  2  9
15  Lieu9_conv8  4  1
16  Lieu3_conv5  2  5
17  Lieu11_conv2  3  2
18  Lieu3_conv6  2  6
19  Lieu4_conv1  3  8
20  Lieu4_conv2  4  1
21  Lieu4_conv3  1  5
22  Lieu4_conv5  3  2
23  Lieu4_conv8  3  8
24  Lieu9_conv3  4  1
25  Lieu5_conv2  2  6
26  Lieu5_conv5  3  2
27  Lieu5_conv7  2  9
28  Lieu5_conv8  3  5
29  Lieu6_conv1  3  8
30  Lieu6_conv2  4  1
31  Lieu6_conv3  2  6
32  Lieu6_conv4  3  8
33  Lieu6_conv5  4  1
34  Lieu8_conv3  3  6
35  Lieu6_conv6  4  1
36  Lieu9_conv5  2  7
37  Lieu6_conv7  4  1
38  Lieu7_conv1  2  5
39  Lieu7_conv2  4  1
40  Lieu7_conv3  2  7
41  Lieu8_conv1  2  2
42  Lieu8_conv2  2  5
43  Lieu11_conv3  3  1
44  Lieu8_conv4  3  8
45  Lieu9_conv1  4  1
46  Lieu9_conv6  3  5
47  Lieu9_conv7  4  1
48  Lieu9_conv9  3  8
49  Lieu10_conv1  3  2
50  Lieu10_conv2  2  5
51  Lieu10_conv3  4  1
52  Lieu10_conv4  2  7
53  Lieu4_conv7  2  1
54  Lieu11_conv1  3  5
55  Lieu11_conv4  2  9
56  Lieu12_conv1  4  1
57  Lieu12_conv2  2  5
58  Lieu12_conv3  3  8

TableauTotemOccupe1 = false false false false false false false false false false
TableauTotemOccupe2 = false false false false false false false false false false

------------------------- FIN setup

8h 53min 40sec  NouveauMaitreOSC(1)
2 Ouverture de: Lieu12_conv1.json
Discussion.size()=32
SpeakerArray  [0]=s1  [1]=s2  [2]=s3  [3]=s4
Duree=137400ms
NbrSpeaker=4
PremierTotem=1
Envoi 192.168.1.101:7000 Lieu12_conv1
Envoi 192.168.1.102:7000 Lieu12_conv1
Envoi 192.168.1.103:7000 Lieu12_conv1
Envoi 192.168.1.104:7000 Lieu12_conv1
TableauTotemOccupe1 = true true true true false false false false false false
TableauTotemOccupe2 = false false false false false false false false false false
Envoi 192.168.1.101:7000 speaker_s1
Envoi 192.168.1.102:7000 speaker_s2
Envoi 192.168.1.103:7000 speaker_s3
Envoi 192.168.1.104:7000 speaker_s4
Envoi 192.168.1.101:7000 Play_
Envoi 192.168.1.102:7000 Play_
Envoi 192.168.1.103:7000 Play_
Envoi 192.168.1.104:7000 Play_

8h 53min 44sec  NouveauMaitreOSC(2)
2 Ouverture de: Lieu12_conv2.json
Discussion.size()=28
SpeakerArray  [0]=g  [1]=s2
Duree=121530ms
NbrSpeaker=2
PremierTotem=5
Envoi 192.168.1.105:7000 Lieu12_conv2
Envoi 192.168.1.106:7000 Lieu12_conv2
TableauTotemOccupe1 = true true true true false false false false false false
TableauTotemOccupe2 = false false false false true true false false false false
Envoi 192.168.1.105:7000 speaker_g
Envoi 192.168.1.106:7000 speaker_s2
Envoi 192.168.1.105:7000 Play_
Envoi 192.168.1.106:7000 Play_

8h 55min 50sec  NouveauMaitreOSC(2)
2 Ouverture de: Lieu12_conv3.json
Discussion.size()=26
SpeakerArray  [0]=s1  [1]=s2  [2]=s3
Duree=117780ms
NbrSpeaker=3
PremierTotem=8
Envoi 192.168.1.108:7000 Lieu12_conv3
Envoi 192.168.1.109:7000 Lieu12_conv3
Envoi 192.168.1.110:7000 Lieu12_conv3
TableauTotemOccupe1 = true true true true false false false false false false
TableauTotemOccupe2 = false false false false false false false true true true
Recu: Lieu12_conv3
oscEvent Lieu = Lieu12
oscEvent Conversation = conv3

8h 55min 50sec
NomFichier = Lieu12_conv3
2 Ouverture de: Lieu12_conv3.json
Discussion.size()=26
SpeakerArray  [0]=s1  [1]=s2  [2]=s3
Duree=117780ms
NbrSpeaker=3
4 Ouverture de: Lieu12_conv3.wav
loadImage  Lieu12_img7.jpg
Envoi 192.168.1.108:7000 speaker_s1
Envoi 192.168.1.109:7000 speaker_s2
Envoi 192.168.1.110:7000 speaker_s3
Recu: speaker_s3
oscEvent Speaker = s3
Envoi 192.168.1.108:7000 Play_
Envoi 192.168.1.109:7000 Play_
Envoi 192.168.1.110:7000 Play_
Recu: Play_

8h 56min 2sec  NouveauMaitreOSC(1)
2 Ouverture de: Lieu1_conv1.json
Discussion.size()=34
SpeakerArray  [0]=s1  [1]=t  [2]=s2
Duree=119610ms
NbrSpeaker=3
PremierTotem=1
Envoi 192.168.1.101:7000 Lieu1_conv1
Envoi 192.168.1.102:7000 Lieu1_conv1
Envoi 192.168.1.103:7000 Lieu1_conv1
TableauTotemOccupe1 = true true true false false false false false false false
TableauTotemOccupe2 = false false false false false false false true true true
Envoi 192.168.1.101:7000 speaker_s1
Envoi 192.168.1.102:7000 speaker_t
Envoi 192.168.1.103:7000 speaker_s2
Envoi 192.168.1.101:7000 Play_
Envoi 192.168.1.102:7000 Play_
Envoi 192.168.1.103:7000 Play_
loadImage  Lieu1_img1.jpg
loadImage  Lieu1_img10.jpg
loadImage  Lieu1_img13.jpg
loadImage  Lieu1_img4.jpg

8h 57min 54sec  NouveauMaitreOSC(2)
2 Ouverture de: Lieu9_conv4.json
Discussion.size()=48
SpeakerArray  [0]=t  [1]=s1  [2]=s2
Duree=111013ms
NbrSpeaker=3
PremierTotem=5
Envoi 192.168.1.105:7000 Lieu9_conv4
Envoi 192.168.1.106:7000 Lieu9_conv4
Envoi 192.168.1.107:7000 Lieu9_conv4
TableauTotemOccupe1 = true true true false false false false false false false
TableauTotemOccupe2 = false false false false true true true false false false
Envoi 192.168.1.105:7000 speaker_t
Envoi 192.168.1.106:7000 speaker_s1
Envoi 192.168.1.107:7000 speaker_s2
Envoi 192.168.1.105:7000 Play_
Envoi 192.168.1.106:7000 Play_
Envoi 192.168.1.107:7000 Play_

8h 58min 5sec  NouveauMaitreOSC(1)
2 Ouverture de: Lieu1_conv2.json
Discussion.size()=35
SpeakerArray  [0]=s1  [1]=s2  [2]=t  [3]=s3
Duree=126310ms
NbrSpeaker=4
PremierTotem=1
Envoi 192.168.1.101:7000 Lieu1_conv2
Envoi 192.168.1.102:7000 Lieu1_conv2
Envoi 192.168.1.103:7000 Lieu1_conv2
Envoi 192.168.1.104:7000 Lieu1_conv2
TableauTotemOccupe1 = true true true true false false false false false false
TableauTotemOccupe2 = false false false false true true true false false false
Envoi 192.168.1.101:7000 speaker_s1
Envoi 192.168.1.102:7000 speaker_s2
Envoi 192.168.1.103:7000 speaker_t
Envoi 192.168.1.104:7000 speaker_s3
Envoi 192.168.1.101:7000 Play_
Envoi 192.168.1.102:7000 Play_
Envoi 192.168.1.103:7000 Play_
Envoi 192.168.1.104:7000 Play_
...



27-28 octobre 2021 A la salle des fêtes de Montargis: test de l'installation des 10 Totems

Test-27-10-2021



ConvEx20sansdata.zip (13ko)  Sketch Processing 3 + Script
ConvEx20 ConvEx20-2

A faire avant le lancement "officiel" sur les 10 totems:
fullScreen(P3D, SPAN);
boolean VisuCurseur     = false ;
boolean AfficheNomImage = false ;
int TempsImageFixe = 4000; // ms
int GaindB = -10; // -80 .. +20 dB Niveau au demarrage
Lancement automatique du MaitreOSC
Script de lancement automatique à l'allumage des 10 Raspberry

Faire une petite zone pour afficher l'EcranStopEnTouchant()

Ajouter un anticlic ou antiplop:
shiffman/7603264

Pour Conversations excentriques:
minim/audioplayer_method_position


ConvEx21sansdata.zip
Nouvelle version utilisant AudioPlayer au lieu de FilePlayer de la library minim.
Pour pouvoir utiliser les methodes shiftGain et getGain pour faire des Fade In et des Fade Out pour éviter les clics et les plops.

shiffman/7603264

L'anticlic fonctionne trés bien, mais le son s'arrête sur chaque totem, successivement, au bout de + de 2h de fonctionnement!

Donc INUTILISABLE!

Citation (2015) de l'auteur de la library minim:
I'm loading about 100 files...
"It's probably just a resource availability issue in the Linux JavaSound implementation. AudioPlayer is not a super good option when dealing with a very large number of files. Each AudioPlayer requests an output resource (SourceDataLine) and is continually pushing data to it in its own Thread. I'm not so sure that's intended usage for that JavaSound resource. It's my plan to rewrite how AudioPlayer works so that this does not happen, but in the meantime you could request one AudioOutput from Minim, and then load all of your audio files into FilePlayer objects. You'd then patch the FilePlayers to the output before playing them and unpatch them when they are finished playing.
...
Ok, I was just able to repro this in Ubuntu 14.04 using Processing 3.0b5. All I had to do was load the same file a bunch of times. If I load it 16 times, everything is fine. It's the 17th time and up that the error occurs. What seems strange is that I still get an AudioPlayer back and I can play it. No sound comes out..."
Minim/issues/45



29 octobre 2021

Processing & Command Line:
processing/wiki/Command-Line


Shell au boot qui lance le sketch Processing ConvEx:
Pour savoir ce qui se passe quand le sketch ConvEx est lancé au démarrage:
Remplacer dans /etc/xdg/lxsession/LXDE-pi/autostart:
@bash /home/pi/Desktop/Script/myScript.sh
par:
@lxterminal -e bash /home/pi/Desktop/Script/myScript.sh
Ça ouvre un Terminal (derrière la fenêtre du sketch ConvEx) et ça affiche les infos et erreurs de la console de Processing qui s’exécute...
Attention: ne pas quitter le sketch sinon le Terminal se ferme.
Dans ce cas on peut voir l'enregistrement de la console de Processing dans:
/home/pi/.processing/console/



30 octobre 2021

Fade & FilePlayer
On revient à la version ConvEx20 qui utilise FilePlayer de la library minim.

Line: A UGen that starts at a value and changes linearly to another value over a specified time?

Non + simple: La class AudioOutput utilise les methodes shiftGain et getGain pour faire des Fade In et des Fade Out.
"AudioOutput can also be treated as a UGen for the purposes of patching, but it stands alone, different from the rest."

ConvEx22sansdata.zip (17ko)  Sketch Processing 3 + Script + LieuconvListe.csv sur 4 Totems seulement.

Extrait vu du Maitre OSC en Totem1:
MaitreOSC  13h 36min 37sec  NouveauMaitreOSC(1)
MaitreOSC  2 Ouverture de: Lieu9_conv3.json
MaitreOSC  Discussion.size()=29
MaitreOSC  SpeakerArray  [0]=s1  [1]=s2  [2]=s3  [3]=s4
MaitreOSC  Duree=91360ms
MaitreOSC  NbrSpeaker=4
MaitreOSC  PremierTotem=1
MaitreOSC  Envoi 192.168.1.101:7000 Lieu9_conv3
MaitreOSC  Envoi 192.168.1.102:7000 Lieu9_conv3
MaitreOSC  Envoi 192.168.1.103:7000 Lieu9_conv3
MaitreOSC  Envoi 192.168.1.104:7000 Lieu9_conv3
MaitreOSC  TableauTotemOccupe1 = true true true true false false false false false false
MaitreOSC  TableauTotemOccupe2 = false Recu: Lieu9_conv3
false false false false false false false false false
13h 36min 37sec
NomFichier = Lieu9_conv3
2 Ouverture de: Lieu9_conv3.json
Discussion.size()=29
SpeakerArray  [0]=s1  [1]=s2  [2]=s3  [3]=s4
Duree=91360ms
NbrSpeaker=4
4 Ouverture de: Lieu9_conv3.wav
loadImage  Lieu9_img9.jpg
MaitreOSC  Envoi 192.168.1.101:7000 speaker_s1
MaitreOSC  Envoi 192.168.1.102:7000 speaker_s2
MaitreOSC  Envoi 192.168.1.103:7000 speaker_s3
Recu: speaker_s1
MaitreOSC  Envoi 192.168.1.104:7000 speaker_s4
MaitreOSC  Envoi 192.168.1.101:7000 Play_
MaitreOSC  Envoi 192.168.1.102:7000 Play_
MaitreOSC  Envoi 192.168.1.103:7000 Play_
Recu: Play_
MaitreOSC  Envoi 192.168.1.104:7000 Play_
loadImage  Lieu9_img15.jpg
loadImage  Lieu9_img7.jpg
   ... bizarre comment "Recu: Lieu9_conv3" s'intercale.


Invitation: InvitationConversationsExcentrees



31 octobre 2021

Il y a encore des petits clics avec ConvEx22 et FilePlayer, essayer:
- Augmenter bufferSize de getLineOut (1024 par defaut) ?
Sortie = MonMinim.getLineOut(); -> Sortie = MonMinim.getLineOut(Minim.STEREO, 2048);
- Fade avec shiftVolume et getVolume ?
  Mais getVolume -> === Minim Error === === Volume is not supported.
       setVolume -> === Minim Error === === Volume is not supported.
       shiftVolume OK
  Voir: minim/examples/Controller/shifting
  "The output doesn't have a gain control."
-Doc minim: www.javadoc.io
- Bizarre:
AudioOutput Sortie;
MonMinim = new Minim(this);
Sortie = MonMinim.getLineOut();
Sortie.printControls();
donne:
Available controls are:
  Master Gain, which has a range of 6.0206 to -80.0 and doesn't support shifting.
  Mute
  Balance, which has a range of 1.0 to -1.0 and doesn't support shifting.
  Pan, which has a range of 1.0 to -1.0 and doesn't support shifting.

Vu du MaitreOSC (= Totem1):
...
MaitreOSC  22h 58min 38sec  NouveauMaitreOSC(2)
MaitreOSC  2 Ouverture de: Lieu3_conv2.json
MaitreOSC  Discussion.size()=45
MaitreOSC  SpeakerArray  [0]=s1  [1]=s2  [2]=s3  [3]=s4
MaitreOSC  Duree=203520ms
MaitreOSC  NbrSpeaker=4
MaitreOSC  PremierTotem=1
MaitreOSC  Envoi 192.168.1.101:7000 Lieu3_conv2
MaitreOSC  Envoi 192.168.1.102:7000 Lieu3_conv2
MaitreOSC  Envoi 192.168.1.103:7000 Lieu3_conv2
Recu: Lieu3_conv2
MaitreOSC  Envoi 192.168.1.104:7000 Lieu3_conv2
MaitreOSC  TableauTotemOccupe1 = false false false false false false false false false false
MaitreOSC  TableauTotemOccupe2 = true true true true false false false false false false

22h 58min 38sec
NomFichier = Lieu3_conv2
2 Ouverture de: Lieu3_conv2.json
Discussion.size()=45
SpeakerArray  [0]=s1  [1]=s2  [2]=s3  [3]=s4
Duree=203520ms
NbrSpeaker=4
4 Ouverture de: Lieu3_conv2.wav
loadImage  Lieu3_img11.jpg
MaitreOSC  Envoi 192.168.1.101:7000 speaker_s1
MaitreOSC  Envoi 192.168.1.102:7000 speaker_s2
MaitreOSC  Envoi 192.168.1.103:7000 speaker_s3
Recu: speaker_s1
MaitreOSC  Envoi 192.168.1.104:7000 speaker_s4
MaitreOSC  Envoi 192.168.1.101:7000 Play_
MaitreOSC  Envoi 192.168.1.102:7000 Play_
MaitreOSC  Envoi 192.168.1.103:7000 Play_
Recu: Play_
MaitreOSC  Envoi 192.168.1.104:7000 Play_
loadImage  Lieu3_img10.jpg
loadImage  Lieu3_img12.jpg
loadImage  Lieu3_img15.jpg
loadImage  Lieu3_img13.jpg
loadImage  Lieu3_img14.jpg
loadImage  Lieu3_img15.jpg
loadImage  Lieu3_img9.jpg

MaitreOSC  23h 2min 5sec  NouveauMaitreOSC(2)
MaitreOSC  2 Ouverture de: Lieu3_conv4.json
...



1 novembre 2021

Le déroulé des images:
pour 1 Totem
1
6
11
2
7
12
3
8
13
4
9
14
5
10
15

pour 2 Totems
6   11
7   12
8   13
9   14
10  15
1    6
2    7
3    8
4    9
5   10

pour 3 Totems
1  6   11
2  7   12
3  8   13
4  9   14
5  10  15

pour 4 Totems
1  6   11  10
2  7   12  9
3  8   13  5
4  9   14  7
5  10  15  6

En commençant au hasard

Ca donne:
int[][] OrdreImage = {
  {1, 6, 11, 2, 7, 12, 3, 8, 13, 4, 9, 14, 5, 10, 15}, // 1 Totem
  {6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, // 2 Totems
  {11, 12, 13, 14, 15, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}, // 2 Totems
  {1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5}, // 3 Totems
  {6, 7, 8, 9, 10, 6, 7, 8, 9, 10, 6, 7, 8, 9, 10}, // 3 Totems
  {11, 12, 13, 14, 15, 11, 12, 13, 14, 15, 11, 12, 13, 14, 15},  // 3 Totems
  {1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5}, // 4 Totems
  {6, 7, 8, 9, 10, 6, 7, 8, 9, 10, 6, 7, 8, 9, 10}, // 4 Totems
  {11, 12, 13, 14, 15, 11, 12, 13, 14, 15, 11, 12, 13, 14, 15}, // 4 Totems
  {10, 9, 8, 7, 6, 10, 9, 8, 7, 6, 10, 9, 8, 7, 6}  // 4 Totems
};

ConvEx23sansdata.zip (17ko)  Sketch Processing 3 + Script



3 novembre 2021

- Lieu9_conv6 supprimé -> 58 restants
- Nouveau:
Lieu3_conv5.wav
Lieu3_conv6.wav
Lieu4_conv7.wav
Lieu5_conv7.wav
Lieu6_conv3.wav
Lieu6_conv5.wav
Lieu8_conv2.wav
Lieu8_conv5.wav
- 58 nouveaux json: data-58json.zip (248kO)

-> ConvExdata1.zip (655Mo) + ConvExdata2.zip (558Mo) à placer dans un dossier data dans le dossier ConvEx.



7 novembre 2021

Mesure de la consommation électrique de 4 totems avec le compteur d'énergie RS PRO : 48W
donc 120W pour les 10 totems + consommation router WIFI



9 novembre 2021

Annonce: exposition-conversations-excentrees sur le site des médiathèques d'Orléans


10 novembre 2021

ConvEx25
Zone tactile pour écran de contrôle: 100x100 pixels en haut à gauche.
int ZoneTactile = 100; // 100x100 pixels en haut à gauche

Les conversations excentrées alternent avec les "conversations excentriques".
Choisir les durées:
int DureeConvExcentree   = 1200000; // 1200000ms = 1200s = 20min
int DureeConvExcentrique =  300000; //  300000ms =  300s = 5min

Conversations excentriques:
Courts extraits tirés au hasard sur les 10 totems
Cycle des 10 Totems:
1 -> 8 -> 5 -> 2 -> 9 -> 6 -> 3 -> 10 -> 7 -> 4 -> 1 -> ...
Choisir durée max & min des extraits:
int DureeConvExcentriqueMax = 6000; //  6000ms   =  6s
int DureeConvExcentriqueMin = 3000; //  3000ms   =  3s

Image du lieu correspondant à l'extrait
Affichage du texte de l'extrait pour suivre ce qui se passe...
-> Effet Blur

Les conversations excentrées débutent:
int DebutConvExcentree   =       0; //
les "conversations excentriques" débutent:
int DebutConvExcentrique =   30000; //   30000ms =   30s =
J'ai mis 30sec pour la mise au point, pour ne pas attendre...

Erreur dans LieuconvListe.csv:
Ligne 3: Lieu9_conv4    00:01:55.433     4    1 (et pas 2)

J'ai fait quelques corrections sur le texte et les temps de:
Lieu2_conv5.json
Lieu12_conv1.json
Lieu8_conv4.json
Lieu3_conv5.json
Lieu3_conv4.json
Lieu3_conv2.json
Lieu5_conv7.json
Lieu9_conv1.json
Lieu5_conv5.json
Lieu8_conv1.json
Lieu4_conv8.json
Lieu10_conv2.json
Quand le dernier "data_end" du json est + petit que la durée du fichier wav, l'écoute s’arrête brusquement et il y a un clic -> Modif certains fichiers.

Lieu8_conv5.wav mono



11 novembre 2021

Pb vu:
Ne pas confondre Fin et Duree = Fin - Debut


Conversation Excentrique 2: (En rouge: MaitreOSC)
draw
if (millis() > DebutConvExcentrique) {
  if ((millis() > FinConv1) && (millis() > FinConv2)) {
    if (TypeExcentrique == 2) {
      if (millis() > Finms + Accel) {
        ConvExcentriqueMaster2();
        Accel = Accel - IncrementAccel;
        if (Accel < (-DureeConvExcentriqueMax) + 1000) Accel = (-DureeConvExcentriqueMax) + 1000;
      }
    }
    DebutConvExcentree = DebutConvExcentrique + DureeConvExcentrique;
  }
}
   -> ConvExcentriqueMaster2();
      -> EnvoiOSC(AdresseTotem[TotemAuHasard], "Excentrique1_2");
      -> EnvoiOSC(AdresseTotem[TotemAuHasard], NomFichier);
      -> EnvoiOSC(AdresseTotem[TotemAuHasard], "Discussion_" + Hasar);
      -> Speak = Discussion.getJSONObject(Hasar);
      -> Finms = millis() + min(int((Speak.getFloat("data_end") - Speak.getFloat("data_start")) * 1000), DureeConvExcentriqueMax);

         -> oscEvent(OscMessage theOscMessage)
            -> Recu Message Excentrique1_2
               -> ConvEx2 = true;
            -> Recu Message Lieu3_conv4 par exemple
               -> Nouveau();
                  -> Discussion = loadJSONArray(NomFichierJSON);
                  -> Parole = new FilePlayer(MonMinim. loadFileStream(NomFichierAudio));
                  -> Parole.patch(Sortie); // patch the file player to the output
                  -> ParoleExist =true;
            -> Recu Message Discussion_8 par exemple
               -> NouveauConvExcentrique2(Discut); Discut=8 par exemple
                  -> Speak = Discussion.getJSONObject(Discut);
                  -> Debut = int(Speak.getFloat("data_start") * 1000);
                  -> Fin   = int(Speak.getFloat("data_end")   * 1000);
                  -> TempsFinExcentrique = millis() + min(Fin - Debut, DureeConvExcentriqueMax);
                  -> Sortie.setGain(Attenuation); // Attenuation = -80 .. -1 dB
                  -> Parole.skip(Debut - 200);
                  -> Parole.play();
                  -> Sortie.shiftGain(Sortie.getGain(), GaindB, FadeInExcentrique);  // -80 .. +20 dB
draw
   -> if (millis() > DebutConvExcentrique) {
         if ((millis() > FinConv1) && (millis() > FinConv2)) {
            if (TypeExcentrique == 2) {
               if (millis() > Finms + 1000) ConvExcentriqueMaster2();

   -> if (ConvEx2) ConvExcentrique2();
      -> ConvExcentrique2()
         -> if (millis() > TempsFinExcentrique) {
         ->   Sortie.shiftGain(Sortie.getGain(), Attenuation, FadeOutExcentrique); // Attenuation = -80 .. -1 dB
         -> } else {
         ->   Sortie.shiftGain(Sortie.getGain(), GaindB, FadeInExcentrique);  // -80 .. +20 dB
         -> }


ConvEx29sansdata.zip 67Ko
+ ConvExdata1.zip (655Mo) + ConvExdata2.zip (558Mo) à placer dans un dossier data dans le dossier ConvEx.



12 novembre 2021 A Chalette

ConvEx30sansdata.zip 238Ko
+ ConvExdata1.zip (655Mo) + ConvExdata2.zip (558Mo) à placer dans un dossier data dans le dossier ConvEx.
Avec:
int DureeConvExcentree    = 900000; //  900000ms = 900s = 15min
int DureeConvExcentrique  = 300000; //  300000ms =  300s = 5min
int DureeConvExcentriqueMax = 6000; //  8000ms   =  8s
int DureeConvExcentriqueMin = 3000; //  2000ms   =  2s
int IncrementAccel = 40;
int DebutAccel = 0;


Excentrée    Excentrique                Excentrée                  Excentrique               Excentrée
          <------300------> <--------------900-----------------><------300------><--------------900----------------><---------
               5minutes                 15minutes                    5minutes                15minutes
0 ------ 100 ------------ 400 ------------------------------- 1300 ----------- 1600 ----------------------------- 2500 -------

Lancement ConvEx30 le soir...


13 novembre 2021

ConvEx30 a fonctionné 12h... sans plantage de Processing... mais seuls 2 Totems fonctionnaient encore... Tactile + Quit fonctionnait.
Problème de mémoire?
Processing -> Preferences -> Augmenter la mémoire vive disponible: était décoché donc 256MB?
   -> On met 1024MB
Mais pour l'Appli processing-java ?

Totem 1 2 3 4 5 6 7 -> Preferences -> mémoire vive disponible -> 1024MB
Totem 8 9 10        -> Preferences -> mémoire vive disponible -> Pas coché -> 256MB par defaut?

Lancement ConvEx30 le soir...

AudioTest1.zip 


14 novembre 2021

ConvEx30 a fonctionné + de 8h
   -> Son de tous les Totems arretes avec messages répétés:
### [2021/10/2 16:41:0] ERROR @ OscP5 ERROR. an error occured while forwarding an OscMessage
 to a method in your program. please check your code for any
possible errors that might occur in the method where incoming
 OscMessages are parsed e.g. check for casting errors, possible
 nullpointers, array overflows ... .
method in charge : oscEvent  java.lang.reflect.InvocationTargetException

   -> Totem 7 (1024MB) planté:
java.Lang.OutOfMemoryError: Java heap space
    at java.awt.image.DataBufferInt. <init>(DataBufferInt.java:75)
    at java.awt.image.Raster. createPackedRaster(Raster.java:467)
    ...
OutOfMemoryError: you may need to increase the memory setting in preference
An OutOfMemoryError means that your code is either using up too much memory
because of a bug (e.g. creating an array that's too large, or unintentionally
loading thousands of images), or that your sketch may need more memory to run.
If your sketch uses a lot of memory (for instance if it loads a lot of data files)
you can increase the memory available to your sketch using the Preferences window.


Question: Preferences -> mémoire vive disponible -> 1024MB concerne t'il aussi processing-java ?
Réponse: Oui voir en-dessous maxMemory = 910MB
processing/wiki/Command-Line


Totem 1 2 3 4 5 6 7 -> Preferences -> mémoire vive disponible -> 2048MB
Lancement ConvEx30
... 7h aprés ... un Totem 2048MB planté!!! ... Non.. il était configuré en 1024MB


ConvEx31sansdata.zip 17Ko
+ ConvExdata1.zip (655Mo) + ConvExdata2.zip (558Mo) à placer dans un dossier data dans le dossier ConvEx.
Ajout:
Affichage mémoire (en MB) dans écran de contrôle:
int(Runtime.getRuntime().maxMemory()/1048576) + "MB"
int(Runtime.getRuntime().totalMemory()/1048576) + "MB"
int(Runtime.getRuntime().freeMemory()/1048576) + "MB"
Utilizing maximum amount of memory without going out-of-memory
... déjà en 2008: forum.processing.org !

Curseur visible cursor(ARROW); quand EcranStopEnTouchant

Processing -> Preferences -> Augmenter la mémoire vive disponible: décoché (256MB en grisé)

Screen575.jpg
   -> maxMemory = 910MB

Processing -> Preferences -> Augmenter la mémoire vive disponible: 1024MB:
Screen190.jpg
   -> maxMemory = 910MB

Processing -> Preferences -> Augmenter la mémoire vive disponible: 2048MB:
Screen268
   -> maxMemory = 1820MB

Donc la mémoire vive disponible est 1024MB par défaut et pas 256MB.
Les 3 écrans ont été obtenu aprés Reboot et donc lancement de processing-java.
Donc les Preferences de Processing s'appliquent à processing-java.


Nouvelle version avec 180 images chargées pendant le setup():
ConvEx32sansdata.zip
+ ConvExdata1.zip (655Mo) + ConvExdata2.zip (558Mo) à placer dans un dossier data dans le dossier ConvEx.
aprés 6h30 de fonctionnement:
Screen217537
Les images jpg chargées sont décompressées en mémoire et donc elles prennent plus de place que prévu.
1 image 1024 x 600 pixels RGB a 4 octets par pixel.
Donc 1 image = 1024 x 600 X 4 octets = 600 x 4 koctets = 2.3Mo
Les jpg pèsent entre 76ko et 439ko
Donc 180 x 2.3Mo = 421Mo en mémoire.
Lancement avec 2048Mo de mémoire vive de Totem1(Mac) + Totem2 + Totem3
totalMemory augmente doucement...
Bizarre, aprés plusieurs heures de fonctionnement, certaines images réapparaissent en gardant la transformation faite dans la phase ConvExcentre()...
-> Plantage de Totem1(MaitreOSC) et Totem2 aprés 9h de fonctionnement:
OutOfMemoryError: Java heap space
An OutOfMemoryError means that your code is either using up too much memory
because of a bug (e.g. creating an array that's too large, or unintentionally
loading thousands of images), or that your sketch may need more memory to run.
If your sketch uses a lot of memory (for instance if it loads a lot of data files)
you can increase the memory available to your sketch using the Preferences window.
... après de multiples erreurs:
### [2021/11/15 3:16:57] ERROR @ OscP5 ERROR. an error occured while forwarding an OscMessage
 to a method in your program. please check your code for any
possible errors that might occur in the method where incoming
 OscMessages are parsed e.g. check for casting errors, possible
 nullpointers, array overflows ... .
method in charge : oscEvent  java.lang.reflect.InvocationTargetException
On abandonne cette version ConvEx32 avec 180 images chargées pendant le setup()... pire! Pourquoi?


Lancement de ConvEx31 sur les 10 Totems avec 2048GB le soir...

 

15 novembre 2021

ConvEx31 sur les 10 Totems avec 2048GB fonctionne toujours...
totalMemory augmente doucement, environ:
500MB aprés 5h de fonctionnement
700MB aprés 7h
850MB à 1300MB selon le Totem aprés 13h, pas d'erreur OscP5
aprés 14h de fonctionnement: Totem8 plante avec OutOfMemoryError: Java heap space...
et tous les Totems ont des: OscP5 ERROR. an error occured while forwarding an OscMessage...
Totem8 avait toujours totalMemory > les autres Totems

Bizarre, aprés plusieurs heures de fonctionnement, le texte en rouge (option abandonnée de ConvExcentrique2) est réapparu en gardant la transformation faite dans la phase ConvExcentre()...

Problème audio: le niveau sonore monte brusquement (à 0dB?) alors que le niveau choisi est -10dB ou -27dB...

ConvEx33sansdata.zip
+ ConvExdata1.zip (655Mo) + ConvExdata2.zip (558Mo) à placer dans un dossier data dans le dossier ConvEx.

ConvEx33 = ConvEx31 modifié pour qu'il n'y ait plus de "saute" de son.
  -> C'est pire!!!

Deroule-ConvEx34-Totem2.txt:
...
Recu: GaindB_-27
...
Recu: Excentrique1_2
Recu: Lieu8_conv4
21h 40min 48sec 481274ms Lieu8_conv4
4 Ouverture de: Lieu8_conv4.wav
Recu: Discussion_7
ConvExcentrique2 Debut=32490
ConvExcentrique2 Fin=35390
ConvExcentrique2 Duree=3000
Sortie.getGain()=6.0
Sortie.getGain()=6.0
loadImage  Lieu8_img13.jpg

Recu: Excentrique1_2
Recu: Lieu6_conv1
21h 40min 51sec 484941ms Lieu6_conv1
4 Ouverture de: Lieu6_conv1.wav
Recu: Discussion_20
ConvExcentrique2 Debut=131250
ConvExcentrique2 Fin=134220
ConvExcentrique2 Duree=3000
loadImage  Lieu6_img6.jpg

Recu: Excentrique1_2
Recu: Lieu4_conv5
21h 40min 54sec 487402ms Lieu4_conv5
4 Ouverture de: Lieu4_conv5.wav
Recu: Discussion_10
ConvExcentrique2 Debut=74370
ConvExcentrique2 Fin=103490
ConvExcentrique2 Duree=6000
loadImage  Lieu4_img2.jpg
*************** Erreur img ***************
img.width = 1024   img.height = 600
loadImage  Lieu4_img8.jpg
Sortie.getGain()=6.0
Sortie.getGain()=6.0
Sortie.getGain()=6.0

Recu: Excentrique1_2
Recu: Lieu1_conv2
...
Sortie.getGain()= ne s'affiche que si getGain est > GaindB qui était à -27dB
2 "Sautes" de son (2 frames et 3 frames) à +6dB à 6sec d'intervalle
Aucune ligne du programme ne fixe le gain à +6dB!
Ce doit être un bug de la library minim.
Je remplace partout:
Sortie.shiftGain(Sortie.getGain(), , );
par:
Sortie.shiftGain(min(Sortie.getGain(), GaindB), , );
Le bug: Sortie.getGain() = +6dB est toujours + grand que GaindB
... si le bug est sur getGain()

-> ConvEx34sansdata.zip -> encore des "sautes" Audio...
   + ConvExdata1.zip (655Mo) + ConvExdata2.zip (558Mo) à placer dans un dossier data dans le dossier ConvEx.



16 novembre 2021
 
AudioTest2.zip
AudioTest2
Ca sature à +6dB...



ConvEx34 -> Ajout:
Sortie.setGain(Attenuation); // 16 11 2021
avant:
Parole.close();
et aprés:
Parole.patch(Sortie);
...
-> ConvEx35sansdata.zip
Peut-être un peu mieux...
A écouter...



17 novembre 2021

Convex35 pas utilisé, pas essayé...

Est-ce que je vois Thomas Chrétien réellement pour la 1ère fois? ? ?

Installation à la médiathèque "Maurice-Genevoix" (Orléans La Source) Google Map
ConvEx34sansdata.zip (17Ko) + ConvExdata1.zip (655Mo) + ConvExdata2.zip (558Mo)
installés sur les 10 Totems. Avec:
GaindB = -4; ''           
int DureeConvExcentree    = 900000; //  900000ms = 900s = 15min
int DureeConvExcentrique  = 300000; //  300000ms =  300s = 5min
int DureeConvExcentriqueMax = 6000; //  6000ms   =  6s
int DureeConvExcentriqueMin = 3000; //  3000ms   =  3s
int IncrementAccel = 40;
int DebutAccel = 0;
fullScreen(P3D, SPAN);
Placer les contenus de ConvExdata1 et ConvExdata2 dans un dossier data dans le dossier ConvEx.
(La taille maximale des fichiers déposable sur free.fr est de 1 Go. Le dossier data a donc était divisé en 2)
 
Raspberry: "Volume Control" dans la barre de menu réglé à 85. Au-delà (maxi 100) il y a saturation.

Ajustement des niveaux des 10 amplis des 10 totems "à l'oreille" avec AudioTest1.zip


Si c'était à refaire...
1 Avec library minim
Sans .shiftGain() .getGain() .setGain() qui provoquent des "sautes" de son imprévisibles.
Avec ADSR?
Avec Line?
2 Avec library Sound
Pb: pas de fade
Avec Env: an ASR (Attack Sustain Release) Envelope Generator?
Voir:
libraries/sound/index.html
tutorials/sound
github.com/gerardparesys/Processing-examples/tree/master/Library-Sound
Enregistrer le niveau sonore GaindB dans Qui.txt du MaitreOSC



20 novembre 2021 samedi 14h Vernissage à la médiathèque "Maurice-Genevoix" (Orléans La Source)

Olivier Baude, Gabriel Bergounioux, Thomas Chrétien, Céline Dugua...



27 novembre 2021

La République du Centre: L’exposition à voir ici avant le 1er décembre
LaRep
   



30 novembre 2021 Fin à la médiathèque "Maurice-Genevoix" (Orléans La Source)



1 décembre 2021 Démontage    à la médiathèque "Maurice-Genevoix" (Orléans La Source)
                Installation à la médiathèque "Gambetta"         (Orléans centre)    Google Map

orleans_mediatheque-2048x1150

Logiciels et réglages inchangés. (Voir 17 novembre 2021)



2 décembre 2021 Début à la médiathèque "Gambetta" (Orléans centre)

exposition-conversations-excentrees



6 décembre 2021

Ma participation aux Conversations excentrées

Les Conversations excentrées ont été pour moi l’occasion d’une première vraie collaboration avec Guykayser. J’ai en effet eu la chance de travailler avec lui depuis les étapes fondatrices au cours desquelles il a imaginé ce dispositif artistique jusqu’au montage de l’exposition finale, en passant par les collectes sonores.

Pour les premières étapes, j’ai pu me faire en partie le relai d’Olivier Baude dans la discussion entre arts et sciences. Il s’agissait d’imbriquer l’intérêt de la constitution d’un portrait sonore pour la recherche en linguistique avec la vision artistique de Guy. Cela s’est rapidement matérialisé par des échanges avec les partenaires, au premier chef desquels les réseaux des médiathèques d’Orléans et du Montargois. Du grain à moudre de mon côté concernant la recherche contributive, thème qui m’intéresse particulièrement dans mon travail de thèse. Dossiers à présenter aux financeurs et autres calendriers prévisionnels « légèrement » impactés par les confinements successifs : voilà pour l’envers du décor…

La phase de collecte au printemps et à l’été nous a permis de réunir le matériau sonore que Guy a ensuite traité avec Gérard Paresys pour donner naissance à l’exposition. Mais il s’agissait aussi pour nous, sur l’ensemble d’un projet, de tester le protocole d’écoute, d’enregistrement et de gestion des données et des métadonnées du Laboratoire mobile des langues.
 
Enfin, le montage de l’exposition a été pour moi l’occasion d’appréhender encore un peu mieux de l’intérieur le travail de Guy et Gérard. Et comme pour les collectes sonores, me rendre compte que porter un projet longuement mûri au devant du public apporte une réelle satisfaction.

Thomas Chrétien
 


7 décembre 2021

Ma participation aux Conversations excentrées

En juin 2020 Guy me dit: "Après les hauteurs d’eau: les piles de livres…"
Les hauteurs d’eau c’était l’autoportrait collectif "Trop près du Loing" : des dizaines de voix nous racontaient la crue de 2016. Le travail sur le son de ces voix m’avait passionné: les projeter dans l’espace, les entremêler… Quelle musique!

Les 10 "totems" des conversations excentrées me rappellent les limnimètres : ces règles verticales qui mesurent la hauteur d’eau le long des rivières, sur les ponts, les barrages… Mais les "totems" ne mesurent rien, ils parlent et ils montrent.

Les "totems" nous font entendre 58 conversations "libres", nous font voir 180 images des 12 lieux d’enregistrement.
 
Thomas Chrétien a collecté toutes ces conversations cet été dans la "capsule" dont j’ai participé à la conception depuis 4 ans maintenant.

J’ai fabriqué le logiciel qui fonctionne dans le petit ordinateur contenu dans chacun des 10 totems des Conversations excentrées. Donc 10 logiciels tournent en même temps.

Le son de chacune des conversations est bien complexe : il y a 1,2 ..  jusqu’à 5 locuteurs qui parlent, parfois en même temps! Le pari de cette installation est de restituer ces conversations en distribuant les locuteurs: un par totem. La restitution doit être claire, évidente: le visiteur qui se promène dans l’installation doit avoir l’illusion d’entendre une discussion…

La synchronisation, le choix des conversations, des locuteurs, des totems, des images sont controlés par l’un des totems.

Et puis il y a le moment "excentrique" des Conversations excentrées : après 15 minutes de discussions polies, les 10 totems parlent tous: chacun émettant une bribe d’une des conversations tirée au hasard, ça s‘accélère de plus en plus, ça se superpose, ils parlent tous en même temps, on ne peut plus comprendre que les rares mots qui émergent de cette crue. Et tout s’arrête. Silence. Et les discussions peuvent reprendre dans le calme. J’espère que ce climax de matière sonore pourra être perçu comme musical!

Le logiciel de chaque totem contrôle aussi les images et leur décomposition/recomposition au niveau du pixel. En regardant soigneusement on voit que la direction du mouvement des pixels (comme du sable agité) change avec le locuteur.

Le son est dans l’image et l’image est dans le son.

Gérard Paresys



11 décembre 2021

médiathèque "Gambetta" (Orléans centre)

Matin: Installation éteinte!
Pas de son!
Tous les boutons des amplificateurs avaient été mis à zéro!

10h30 Visite commentée de l'exposition



22 décembre 2021 Démontage à la médiathèque "Gambetta" (Orléans centre)



7 janvier 2022 Installation à la médiathèque de l’AME à Montargis

Un minuteur allume l'installation à 9h30 et l'éteint à 18h chaque jour.

montargis_convex1



8 janvier 2022 Début à la médiathèque de l’AME à Montargis

montargis_convex2



15 janvier 2022 15h "Présentation par l'artiste" à la médiathèque de l’AME à Montargis



29 janvier 2022 Fin à la médiathèque de l’AME à Montargis



24 mars 2022

4 captures écran & Audio du sketch Processing ConvEx34
(MacOS +  QuickTimePlayer 10 + SoundFlower + QuickTimePlayer 7)
CodageMP4
Le sketch est lancé dans l’écran de contrôle en cliquant Random Solo: on entends une conversation complète (tous les locuteurs) sur un seul totem.

Convex34-1 Convex1.mp4

Convex34-2 Convex2.mp4

Convex34-3 Convex3.mp4

Convex34-4 Convex4.mp4




...



Sur le web...

- Hypotheses -> Conversations excentrées : projet préfiguratif du Laboratoire Mobile des Langues
- AGORAME -> Conversations Excentrées - L'Isle de Cepoy - Lombreuil - Chevillon / Huillard - Point-Lecture de Vimory - Point-Lecture de Villemandeur
- Site de Guykayser



Toute personne dont le nom, la photographie, la voix
apparaît sur ce site peut à tout moment demander la suppression ou la modification
des informations la concernant en contactant: gerard.paresys

Ancre page mise à jour 20 9 2023

Paresys Accueil Valid HTML 4.01 Transitional Paresys Home