Compare commits

..
11 Commits
Author SHA1 Message Date
meline.grellier 1a73f7b8db screenshot 2025-06-20 17:09:57 +02:00
meline.grellier ad765dad95 typo, more screenshot 2025-06-20 17:08:41 +02:00
meline.grellier 3aa5ffea14 release candidate 1 2025-06-20 17:04:00 +02:00
meline.grellier 4215ab7f7a randomize 2025-06-19 14:21:13 +02:00
meline.grellier 472262f819 ajustement volume/samples 2025-06-18 17:00:03 +02:00
meline.grellier bfa04b7369 delay+metro+données/volume 2025-06-17 16:06:38 +02:00
meline.grellier 67b813ee44 Integration-donnees+delaystart 2025-06-16 17:17:14 +02:00
meline.grellier 00364cd72d dspauto 2025-06-13 15:59:46 +02:00
Méline Grellier b77abe4ffc real pd patch 2025-06-13 15:16:02 +02:00
bach ddc7446d8c new api IT WORKS ! 2025-06-12 15:56:55 +02:00
bach c2b3f9650b chom api ok but there is to much delais in data 2025-06-12 11:40:54 +02:00
8 changed files with 998 additions and 23 deletions
+3
View File
@@ -172,3 +172,6 @@ cython_debug/
# PyPI configuration file # PyPI configuration file
.pypirc .pypirc
.DS_Store
WAVs
+37
View File
@@ -1,14 +1,51 @@
# maregraphe # maregraphe
# Requierments
- Pure Data
- Python 3
# install
pd doit etre dans le path du system pour que python puisse le lancer
par exemple sur osx il faut faire un alias de pure data:
`sudo ln -s /Applications/Pd-0.55-2.app/Contents/Resources/bin/pd /usr/local/bin/pd`
# install the app
```shell ```shell
git clone https://gitea.esadhar.fr/b.soussi-chiadmi/maregraphe.git git clone https://gitea.esadhar.fr/b.soussi-chiadmi/maregraphe.git
cd maregraphe cd maregraphe
```
# add the sound files
ensuite copier les wav dans les dossier `WAVs`
# install the env and dependencies
puis installer l'environement python (dependences)
```
python -m venv .venv python -m venv .venv
source .venv/bin/activate source .venv/bin/activate
pip install uv pip install uv
uv sync uv sync
````
# launch the app
lancer le programme dans un terminal
```
./main.py ./main.py
# ou
python main.py
# ou
python3 main.py
# etc
``` ```
# leave it running
laisser la fenetre du terminale ouverte (si fermé, ça ferme le programme)
# screenshots
![](maregraphe-main.png)
![](maregraphe_pd.png) ![](maregraphe_pd.png)
View File
+166
View File
@@ -0,0 +1,166 @@
{
"shom_id": "386",
"name": "BALISE_A",
"longitude": 0.110667,
"latitude": 49.431833,
"state": "OK",
"reseau": "REFMAR",
"alertCustom": false,
"delai_alerte": "06:00",
"members": [
{
"individual_name": "HAROPA PORT | Rouen",
"organization_name": "HAROPA PORT | Rouen",
"voice": "",
"delivery_point": "",
"city": "",
"postal_code": "",
"electronic_mail_address": "scan@rouen.port.fr"
}
],
"events": [
{
"id": "1855",
"tide_gauge_id": "386",
"content": "P\u00e9riode d'\u00e9chantillonnage = 1 seconde\nDur\u00e9e d'int\u00e9gration = 61 secondes\nP\u00e9riode d'archivage = 5 minutes\n\nLa p\u00e9riode d'archivage n'est pas centr\u00e9e sur la dur\u00e9e d'int\u00e9gration mais uniquement sur la derni\u00e8re observation.",
"creation_date": "2023-08-30T12:21:06.000Z",
"due_date": "2015-01-01T01:00:00.000Z"
}
],
"organismes": [
{
"nom": "HAROPA PORT | Rouen",
"logo": "https://services.data.shom.fr/static/logo/DDM/logo_GPM_le_havre.png",
"url": "https://www.haropaport.com/fr"
}
],
"verticalRef": {
"nom_ref": "IGN69",
"zero_hydro": "zero_hydrographique",
"zh_ref": "-4.38"
},
"date_prem_obs": "1985-03-31",
"fuseau_horaire": "0",
"gestionnaire": "Grand Port Maritime Rouen",
"id_ram": "PK 364,775 : Balise A",
"info_maregraphe": "https://refmar.shom.fr/donnees/386",
"journal_de_bord": "https://refmar.shom.fr/donnees/386",
"niveau_moyen": "4.91",
"npbma": "0.21",
"nphma": "8.64",
"sect_geographique": "FH",
"spm": "BALISE_A",
"ville_d_hebergement": "Le Havre"
}
2025-04-24 16:11:23,976 - INFO - Hauteur de la marée : -4.38 mètres
print: -4.38
2025-04-24 16:11:34,227 - INFO - {
"shom_id": "386",
"name": "BALISE_A",
"longitude": 0.110667,
"latitude": 49.431833,
"state": "OK",
"reseau": "REFMAR",
"alertCustom": false,
"delai_alerte": "06:00",
"members": [
{
"individual_name": "HAROPA PORT | Rouen",
"organization_name": "HAROPA PORT | Rouen",
"voice": "",
"delivery_point": "",
"city": "",
"postal_code": "",
"electronic_mail_address": "scan@rouen.port.fr"
}
],
"events": [
{
"id": "1855",
"tide_gauge_id": "386",
"content": "P\u00e9riode d'\u00e9chantillonnage = 1 seconde\nDur\u00e9e d'int\u00e9gration = 61 secondes\nP\u00e9riode d'archivage = 5 minutes\n\nLa p\u00e9riode d'archivage n'est pas centr\u00e9e sur la dur\u00e9e d'int\u00e9gration mais uniquement sur la derni\u00e8re observation.",
"creation_date": "2023-08-30T12:21:06.000Z",
"due_date": "2015-01-01T01:00:00.000Z"
}
],
"organismes": [
{
"nom": "HAROPA PORT | Rouen",
"logo": "https://services.data.shom.fr/static/logo/DDM/logo_GPM_le_havre.png",
"url": "https://www.haropaport.com/fr"
}
],
"verticalRef": {
"nom_ref": "IGN69",
"zero_hydro": "zero_hydrographique",
"zh_ref": "-4.38"
},
"date_prem_obs": "1985-03-31",
"fuseau_horaire": "0",
"gestionnaire": "Grand Port Maritime Rouen",
"id_ram": "PK 364,775 : Balise A",
"info_maregraphe": "https://refmar.shom.fr/donnees/386",
"journal_de_bord": "https://refmar.shom.fr/donnees/386",
"niveau_moyen": "4.91",
"npbma": "0.21",
"nphma": "8.64",
"sect_geographique": "FH",
"spm": "BALISE_A",
"ville_d_hebergement": "Le Havre"
}
2025-04-24 16:11:34,227 - INFO - Hauteur de la marée : -4.38 mètres
print: -4.38
2025-04-24 16:11:44,339 - INFO - {
"shom_id": "386",
"name": "BALISE_A",
"longitude": 0.110667,
"latitude": 49.431833,
"state": "OK",
"reseau": "REFMAR",
"alertCustom": false,
"delai_alerte": "06:00",
"members": [
{
"individual_name": "HAROPA PORT | Rouen",
"organization_name": "HAROPA PORT | Rouen",
"voice": "",
"delivery_point": "",
"city": "",
"postal_code": "",
"electronic_mail_address": "scan@rouen.port.fr"
}
],
"events": [
{
"id": "1855",
"tide_gauge_id": "386",
"content": "P\u00e9riode d'\u00e9chantillonnage = 1 seconde\nDur\u00e9e d'int\u00e9gration = 61 secondes\nP\u00e9riode d'archivage = 5 minutes\n\nLa p\u00e9riode d'archivage n'est pas centr\u00e9e sur la dur\u00e9e d'int\u00e9gration mais uniquement sur la derni\u00e8re observation.",
"creation_date": "2023-08-30T12:21:06.000Z",
"due_date": "2015-01-01T01:00:00.000Z"
}
],
"organismes": [
{
"nom": "HAROPA PORT | Rouen",
"logo": "https://services.data.shom.fr/static/logo/DDM/logo_GPM_le_havre.png",
"url": "https://www.haropaport.com/fr"
}
],
"verticalRef": {
"nom_ref": "IGN69",
"zero_hydro": "zero_hydrographique",
"zh_ref": "-4.38"
},
"date_prem_obs": "1985-03-31",
"fuseau_horaire": "0",
"gestionnaire": "Grand Port Maritime Rouen",
"id_ram": "PK 364,775 : Balise A",
"info_maregraphe": "https://refmar.shom.fr/donnees/386",
"journal_de_bord": "https://refmar.shom.fr/donnees/386",
"niveau_moyen": "4.91",
"npbma": "0.21",
"nphma": "8.64",
"sect_geographique": "FH",
"spm": "BALISE_A",
"ville_d_hebergement": "Le Havre"
}
+28 -15
View File
@@ -8,9 +8,13 @@ import json
import subprocess import subprocess
# Configuration de l'API REFMAR # Configuration de l'API REFMAR
API_URL = "https://services.data.shom.fr/maregraphie/service/completetidegauge" # API_URL = "https://services.data.shom.fr/maregraphie/service/completetidegauge"
# API_URL = "https://services.data.shom.fr/maregraphie/observation/json"
# curl -X GET "https://services.data.shom.fr/maregraphie/observation/json/386?sources=1&dtStart=2025-05-22T15%3A56%3A00Z&dtEnd=2025-05-22T15%3A57%3A00Z&interval=1" -H "accept: application/json"
# API_KEY = "votre_cle_api" # Remplacez par votre clé API # API_KEY = "votre_cle_api" # Remplacez par votre clé API
STATION = '386' # Identifiant de la station du Havre # STATION = '386' # Identifiant de la station du Havre
API_URL = "https://data.haropaport.com/sig/capteur/hauteur"
UDP_IP = "127.0.0.1" UDP_IP = "127.0.0.1"
UDP_PORT = 8765 UDP_PORT = 8765
@@ -26,49 +30,58 @@ def fetch_data():
# "Ocp-Apim-Subscription-Key": API_KEY, # "Ocp-Apim-Subscription-Key": API_KEY,
} }
params = { params = {
# "station": STATION, # "sources": 1,
# "time": "current", # Vous pouvez ajuster ce paramètre selon vos besoins # "dtStart": "2025-05-22T10:00:00Z",
# "dtEnd": "2025-05-22T17:00:00Z",
# # "interval": 1
} }
try: try:
response = requests.get(API_URL+"/"+STATION, headers=headers, params=params) response = requests.get(API_URL, headers=headers, params=params)
response.raise_for_status() response.raise_for_status()
return response.json() return response.json()
except requests.RequestException as e: except requests.RequestException as e:
logging.error(f"Erreur lors de la récupération des données de l'API : {e}") logging.error(f"Erreur lors de la récupération des données de l'API : {e}")
return None return None
def process_data(data): def process_data(data):
"""Traite les données récupérées.""" """Traite les données récupérées."""
try: try:
zh_ref = data.get("verticalRef", {}).get("zh_ref", 0) for item in data['items']:
logging.info(f"Hauteur de la marée : {zh_ref} mètres") if item['id'] == "hauteur_shom":
zh_ref_bytes = f"{zh_ref};".encode('utf-8') logging.info(f"{item["capteur"]} Hauteur d'eau : {item["valeur"]} mètres")
sock.sendto(zh_ref_bytes, (UDP_IP, UDP_PORT)) hauteurdeau_bytes = f"{item["valeur"]};".encode('utf-8')
# sock.sendto(float(zh_ref).to_bytes(8, byteorder='big'), (UDP_IP, UDP_PORT)) sock.sendto(hauteurdeau_bytes, (UDP_IP, UDP_PORT))
# sock.sendto(float(zh_ref), (UDP_IP, UDP_PORT)) # else:
# logging.error('error in parsing')
# sock.sendto(f"{0};".encode('utf-8'), (UDP_IP, UDP_PORT))
except Exception as e: except Exception as e:
logging.error(f"Erreur lors du traitement des données : {e}") logging.error(f"Erreur lors du traitement des données : {e}")
sock.sendto(f"{0};".encode('utf-8'), (UDP_IP, UDP_PORT))
def main(): def main():
"""Fonction principale qui exécute la boucle de récupération et de traitement des données.""" """Fonction principale qui exécute la boucle de récupération et de traitement des données."""
logging.info("Démarrage de l'application de traitement des données du marégraphe.") logging.info("Démarrage de l'application de traitement des données du marégraphe.")
# lancement du patch pd # lancement du patch pd
pd_patch = "./maregraphe.pd" # Remplace par le chemin de ton patch pd_patch = "./maregraphe.pd" # Remplace par le chemin de ton patch
pd_process = subprocess.Popen(["pd", "-nogui", "-open", pd_patch]) # pd_process = subprocess.Popen(["pd", "-nogui", "-open", pd_patch])
pd_process = subprocess.Popen(["pd", "-open", pd_patch])
try: try:
while True: while True:
print('/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / /')
data = fetch_data() data = fetch_data()
logging.info(json.dumps(data, indent=2)) # logging.info(json.dumps(data, indent=2))
# print(data)
if data: if data:
process_data(data) process_data(data)
else:
logging.warning('no data')
sock.sendto(f"{0};".encode('utf-8'), (UDP_IP, UDP_PORT))
time.sleep(10) # 300 Attendre 5 minutes time.sleep(10) # 300 Attendre 5 minutes
except KeyboardInterrupt: except KeyboardInterrupt:
print("Arrêt du script, fermeture de Pure Data...") print("Arrêt du script, fermeture de Pure Data...")
pd_process.terminate() pd_process.terminate()
if __name__ == "__main__": if __name__ == "__main__":
main() main()
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 MiB

+756 -8
View File
@@ -1,8 +1,756 @@
#N canvas 960 30 952 485 12; #N canvas 0 25 1440 775 10;
#X obj 118 116 float; #X obj 952 636 bng 15 250 50 0 empty empty empty 17 7 0 10 #c7c6ff #000000 #000000;
#X obj 67 116 print; #X obj 934 847 *~;
#X obj 118 59 netreceive -u -b 8765; #X msg 887 759 start;
#X obj 118 89 list tosymbol; #X obj 940 703 t b b;
#X connect 0 0 1 0; #X obj 934 813 readsf~ 2;
#X connect 2 0 3 0; #X obj 965 848 *~;
#X connect 3 0 0 0; #N canvas 548 231 369 364 faderhelper 0;
#X obj 150 67 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X floatatom 204 68 5 0 0 0 - - - 0;
#X obj 162 266 line~;
#X obj 96 234 pack 0 f;
#X obj 177 124 delay;
#X obj 177 158 pack 1 f;
#X obj 212 237 loadbang;
#X msg 177 236 1 0;
#X text 244 67 fade time;
#X text 42 65 fade out then in;
#X obj 150 39 inlet;
#X obj 193 193 outlet;
#X obj 162 300 outlet~;
#X obj 204 40 inlet;
#X obj 70 188 inlet;
#X connect 0 0 3 0;
#X connect 0 0 4 0;
#X connect 1 0 3 1;
#X connect 1 0 4 1;
#X connect 1 0 5 1;
#X connect 2 0 12 0;
#X connect 3 0 2 0;
#X connect 4 0 5 0;
#X connect 5 0 2 0;
#X connect 5 0 11 0;
#X connect 6 0 7 0;
#X connect 7 0 2 0;
#X connect 10 0 0 0;
#X connect 13 0 1 0;
#X connect 14 0 3 0;
#X restore 912 669 pd faderhelper;
#X obj 994 529 hsl 36 30 0 5000 0 0 empty fader1 empty -2 -8 0 10 #fce0c4 #000000 #000000 0 1;
#X text 867 458 BEGIN;
#X floatatom 999 565 5 0 0 0 - - - 0;
#X obj 967 565 int;
#X text 997 455 FADE;
#X obj 945 488 bng 30 250 50 0 empty empty empty 17 7 0 10 #c6ffc7 #000000 #000000;
#X text 990 465 IN/OUT;
#X text 939 456 SAMPLE;
#X text 944 466 STOP;
#X msg 283 86 1;
#X obj 292 50 t b b;
#X msg 249 87 0;
#X obj 304 128 readsf~ 2;
#X obj 246 128 tgl 16 0 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000 0 1;
#X obj 341 48 bng 16 250 50 0 empty empty empty 0 -8 0 10 #c6ffc7 #000000 #000000;
#X obj 935 917 dac~, f 8;
#X obj 290 199 dac~;
#X obj 11 628 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X obj -7 845 *~;
#X msg -57 757 start;
#X obj -4 701 t b b;
#X obj -10 811 readsf~ 2;
#X obj 24 846 *~;
#N canvas 548 231 369 364 faderhelper 0;
#X obj 150 67 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X floatatom 204 68 5 0 0 0 - - - 0;
#X obj 162 266 line~;
#X obj 96 234 pack 0 f;
#X obj 177 124 delay;
#X obj 177 158 pack 1 f;
#X obj 212 237 loadbang;
#X msg 177 236 1 0;
#X text 244 67 fade time;
#X text 42 65 fade out then in;
#X obj 150 39 inlet;
#X obj 193 193 outlet;
#X obj 162 300 outlet~;
#X obj 204 40 inlet;
#X obj 70 188 inlet;
#X connect 0 0 3 0;
#X connect 0 0 4 0;
#X connect 1 0 3 1;
#X connect 1 0 4 1;
#X connect 1 0 5 1;
#X connect 2 0 12 0;
#X connect 3 0 2 0;
#X connect 4 0 5 0;
#X connect 5 0 2 0;
#X connect 5 0 11 0;
#X connect 6 0 7 0;
#X connect 7 0 2 0;
#X connect 10 0 0 0;
#X connect 13 0 1 0;
#X connect 14 0 3 0;
#X restore -32 667 pd faderhelper;
#X text -56 458 BEGIN;
#X text 54 458 FADE;
#X obj 2 487 bng 30 250 50 0 empty empty empty 17 7 0 10 #c6ffc7 #000000 #000000;
#X text 47 468 IN/OUT;
#X text -2 458 SAMPLE;
#X text 3 468 STOP;
#X obj -7 912 dac~, f 8;
#X msg 24 756 open WAVs/VENT_\$1.wav start;
#X obj 6 600 metro 30000;
#X msg 968 758 open WAVs/OISEAUX_\$1.wav start;
#X obj 304 154 *~ 0.6;
#X obj 362 155 *~ 0.6;
#X obj 573 633 bng 15 250 50 0 empty empty empty 17 7 0 10 #c7c6ff #000000 #000000;
#X obj 559 847 *~;
#X msg 509 759 start;
#X obj 562 703 t b b;
#X obj 556 813 readsf~ 2;
#X obj 590 848 *~;
#N canvas 910 145 361 483 faderhelper 0;
#X obj 150 67 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X floatatom 204 68 5 0 0 0 - - - 0;
#X obj 162 266 line~;
#X obj 96 234 pack 0 f;
#X obj 177 124 delay;
#X obj 177 158 pack 1 f;
#X obj 212 237 loadbang;
#X msg 177 236 1 0;
#X text 244 67 fade time;
#X text 42 65 fade out then in;
#X obj 150 39 inlet;
#X obj 193 193 outlet;
#X obj 162 300 outlet~;
#X obj 204 40 inlet;
#X obj 70 188 inlet;
#X connect 0 0 3 0;
#X connect 0 0 4 0;
#X connect 1 0 3 1;
#X connect 1 0 4 1;
#X connect 1 0 5 1;
#X connect 2 0 12 0;
#X connect 3 0 2 0;
#X connect 4 0 5 0;
#X connect 5 0 2 0;
#X connect 5 0 11 0;
#X connect 6 0 7 0;
#X connect 7 0 2 0;
#X connect 10 0 0 0;
#X connect 13 0 1 0;
#X connect 14 0 3 0;
#X restore 534 669 pd faderhelper;
#X text 509 459 BEGIN;
#X text 608 457 FADE;
#X obj 568 488 bng 30 250 50 0 empty empty empty 17 7 0 10 #c6ffc7 #000000 #000000;
#X text 605 470 IN/OUT;
#X text 557 457 SAMPLE;
#X text 562 467 STOP;
#X obj 560 917 dac~, f 8;
#X msg 590 758 open WAVs/GALETS_\$1.wav start;
#X obj 1751 864 *~;
#X msg 1702 754 start;
#X obj 1755 698 t b b;
#X obj 1749 808 readsf~ 2;
#X obj 1782 865 *~;
#X obj 1750 915 dac~, f 6;
#X msg 1783 753 open WAVs/CLOCHE_\$1.wav start;
#X obj 295 623 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X obj 276 844 *~;
#X msg 229 756 start;
#X obj 282 700 t b b;
#X obj 276 810 readsf~ 2;
#X obj 307 845 *~;
#N canvas 548 231 369 364 faderhelper 0;
#X obj 150 67 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X floatatom 204 68 5 0 0 0 - - - 0;
#X obj 162 266 line~;
#X obj 96 234 pack 0 f;
#X obj 177 124 delay;
#X obj 177 158 pack 1 f;
#X obj 212 237 loadbang;
#X msg 177 236 1 0;
#X text 244 67 fade time;
#X text 42 65 fade out then in;
#X obj 150 39 inlet;
#X obj 193 193 outlet;
#X obj 162 300 outlet~;
#X obj 204 40 inlet;
#X obj 70 188 inlet;
#X connect 0 0 3 0;
#X connect 0 0 4 0;
#X connect 1 0 3 1;
#X connect 1 0 4 1;
#X connect 1 0 5 1;
#X connect 2 0 12 0;
#X connect 3 0 2 0;
#X connect 4 0 5 0;
#X connect 5 0 2 0;
#X connect 5 0 11 0;
#X connect 6 0 7 0;
#X connect 7 0 2 0;
#X connect 10 0 0 0;
#X connect 13 0 1 0;
#X connect 14 0 3 0;
#X restore 254 666 pd faderhelper;
#X text 227 455 BEGIN;
#X text 337 455 FADE;
#X obj 287 485 bng 30 250 50 0 empty empty empty 17 7 0 10 #c6ffc7 #000000 #000000;
#X text 330 465 IN/OUT;
#X text 281 455 SAMPLE;
#X text 286 465 STOP;
#X obj 276 915 dac~, f 8;
#X msg 310 755 open WAVs/FX_\$1.wav start;
#X obj 309 728 random 20;
#X obj 1293 665 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X obj 1289 875 *~;
#X msg 1243 765 start;
#X obj 1296 696 t b b;
#X obj 1290 819 readsf~ 2;
#X obj 1320 876 *~;
#X text 1358 447 FADE;
#X obj 1301 481 bng 30 250 50 0 empty empty empty 17 7 0 10 #c6ffc7 #000000 #000000;
#X text 1351 460 IN/OUT;
#X text 1295 451 SAMPLE;
#X text 1300 461 STOP;
#X obj 1289 912 dac~, f 8;
#X msg 1324 764 open WAVs/BOATKLAX_\$1.wav start;
#X obj 215 486 r toggle1;
#X obj 589 731 random 15;
#X msg 520 80 1;
#X msg 475 77 0;
#X obj 524 126 readsf~ 2;
#X obj 475 106 tgl 16 0 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000 0 1;
#X msg 322 85 open WAVs/MER_1.wav;
#X msg 766 65 1;
#X obj 775 29 t b b;
#X msg 732 66 0;
#X obj 787 126 readsf~ 2;
#X obj 743 119 tgl 16 0 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000 0 1;
#X msg 1030 74 1;
#X obj 1039 38 t b b;
#X msg 996 75 0;
#X obj 1051 116 readsf~ 2;
#X obj 1007 128 tgl 16 0 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000 0 1;
#X msg 811 65 open WAVs/KLAX_2.wav;
#X msg 1075 74 open WAVs/KLAX_3.wav;
#X msg 1296 71 1;
#X obj 1305 35 t b b;
#X msg 1262 72 0;
#X obj 1317 113 readsf~ 2;
#X obj 1273 125 tgl 16 0 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000 0 1;
#X msg 1341 71 open WAVs/KLAX_4.wav;
#X msg 1588 65 1;
#X obj 1597 29 t b b;
#X msg 1554 66 0;
#X obj 1609 107 readsf~ 2;
#X obj 1565 119 tgl 16 0 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000 0 1;
#X msg 1633 65 open WAVs/KLAX_5.wav;
#X msg 1866 72 1;
#X obj 1875 36 t b b;
#X msg 1832 73 0;
#X obj 1887 114 readsf~ 2;
#X obj 1843 126 tgl 16 0 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000 0 1;
#X msg 1911 72 open WAVs/KLAX_6.wav;
#X obj 477 35 bng 16 250 50 0 empty empty empty 0 -8 0 10 #ffc7c6 #000000 #000000;
#X obj 476 10 r toggle2;
#X obj 249 50 bng 16 250 50 0 empty empty empty 0 -8 0 10 #ffc7c6 #000000 #000000;
#X obj 248 10 r toggle2;
#X obj -73 279 tgl 30 0 empty empty STOP 0 -8 0 10 #ffc7c6 #000000 #000000 0 1;
#X obj -73 323 s toggle2;
#X obj 732 31 bng 16 250 50 0 empty empty empty 0 -8 0 10 #ffc7c6 #000000 #000000;
#X obj 731 6 r toggle2;
#X obj 995 37 bng 16 250 50 0 empty empty empty 0 -8 0 10 #ffc7c6 #000000 #000000;
#X obj 994 12 r toggle2;
#X obj 1260 35 bng 16 250 50 0 empty empty empty 0 -8 0 10 #ffc7c6 #000000 #000000;
#X obj 1259 10 r toggle2;
#X obj 1551 33 bng 16 250 50 0 empty empty empty 0 -8 0 10 #ffc7c6 #000000 #000000;
#X obj 1550 8 r toggle2;
#X obj 1830 37 bng 16 250 50 0 empty empty empty 0 -8 0 10 #ffc7c6 #000000 #000000;
#X obj 1829 12 r toggle2;
#X obj 934 877 *~ 0.6;
#X obj 981 878 *~ 0.6;
#X obj 559 889 *~ 0.6;
#X obj 608 888 *~ 0.6;
#X obj -8 876 *~ 0.6;
#X obj 40 876 *~ 0.6;
#X obj 21 29 float;
#X obj 21 -28 netreceive -u -b 8765;
#X obj 21 2 list tosymbol;
#X text 318 -37 MER;
#X text 1175 -35 KLAXONS, f 12;
#X obj -72 142 loadbang;
#X obj -73 213 bng 16 250 50 0 empty empty empty 0 -8 0 10 #c6ffc7 #000000 #000000;
#X obj -73 240 s lancement;
#X obj 341 9 r lancement;
#X obj 490 489 r lancement;
#X obj 846 488 r lancement;
#X obj 1224 481 r lancement;
#X obj -79 487 r lancement;
#X obj 21 88 s water_level;
#X obj 21 62 * 0.1;
#X msg -47 208 \; pd dsp 1;
#X obj 487 354 dac~;
#X obj 488 318 *~;
#X obj 520 319 *~;
#X obj 436 276 line~;
#X floatatom 559 159 5 0 0 0 - - - 0;
#X obj 589 256 vsl 15 128 0 0.6 0 0 empty v1 empty 0 -9 0 10 #c6feff #000000 #000000 0 1;
#X obj 468 158 r water_level;
#X obj 779 356 dac~;
#X obj 779 325 *~;
#X obj 811 326 *~;
#X obj 734 249 line~;
#X floatatom 829 153 5 0 0 0 - - - 0;
#X obj 860 251 vsl 15 128 0 0.5 0 0 empty v1 empty 0 -9 0 10 #c6feff #000000 #000000 0 1;
#X obj 739 153 r water_level;
#X obj 1049 354 dac~;
#X obj 1049 323 *~;
#X obj 1081 324 *~;
#X obj 1004 247 line~;
#X floatatom 1099 152 5 0 0 0 - - - 0;
#X obj 1128 242 vsl 15 128 0 0.5 0 0 empty v1 empty 0 -9 0 10 #c6feff #000000 #000000 0 1;
#X obj 1009 151 r water_level;
#X obj 1316 353 dac~;
#X obj 1316 322 *~;
#X obj 1348 323 *~;
#X obj 1271 246 line~;
#X floatatom 1361 166 5 0 0 0 - - - 0;
#X obj 1397 248 vsl 15 128 0 0.5 0 0 empty v1 empty 0 -9 0 10 #c6feff #000000 #000000 0 1;
#X obj 1271 165 r water_level;
#X obj 1607 357 dac~;
#X obj 1607 326 *~;
#X obj 1639 327 *~;
#X obj 1562 250 line~;
#X floatatom 1655 164 5 0 0 0 - - - 0;
#X obj 1688 244 vsl 15 128 0 0.5 0 0 empty v1 empty 0 -9 0 10 #c6feff #000000 #000000 0 1;
#X obj 1564 164 r water_level;
#X obj 1893 347 dac~;
#X obj 1893 316 *~;
#X obj 1925 317 *~;
#X obj 1848 240 line~;
#X floatatom 1940 169 5 0 0 0 - - - 0;
#X obj 1974 239 vsl 15 128 0 0.5 0 0 empty v1 empty 0 -9 0 10 #c6feff #000000 #000000 0 1;
#X obj 1849 169 r water_level;
#X obj -12 172 delay 10000;
#X obj 520 43 t b b;
#X msg 584 93 open WAVs/KLAX_1.wav;
#X obj 574 42 bng 16 250 50 0 empty empty empty 0 -8 0 10 #c6ffc7 #000000 #000000;
#X obj 573 12 r lancement;
#X obj -85 62 print waterlevel;
#X obj 824 29 bng 16 250 50 0 empty empty empty 0 -8 0 10 #c6ffc7 #000000 #000000;
#X obj 825 4 r lancement;
#X obj 1093 36 bng 16 250 50 0 empty empty empty 0 -8 0 10 #c6ffc7 #000000 #000000;
#X obj 1094 11 r lancement;
#X obj 1369 34 bng 16 250 50 0 empty empty empty 0 -8 0 10 #c6ffc7 #000000 #000000;
#X obj 1370 9 r lancement;
#X obj 1654 35 bng 16 250 50 0 empty empty empty 0 -8 0 10 #c6ffc7 #000000 #000000;
#X obj 1655 10 r lancement;
#X obj 1927 37 bng 16 250 50 0 empty empty empty 0 -8 0 10 #c6ffc7 #000000 #000000;
#X obj 1928 12 r lancement;
#X obj 388 317 print volKLAX1;
#X obj 682 325 print volKLAX2;
#X obj 1507 327 print volKLAX5;
#X obj 1797 316 print volKLAX6;
#X obj 1223 322 print volKLAX4;
#X obj 955 323 print volKLAX3;
#X obj 990 487 loadbang;
#X msg 991 507 3000;
#X obj 614 530 hsl 36 30 0 5000 0 0 empty fader1 empty -2 -8 0 10 #fce0c4 #000000 #000000 0 1;
#X floatatom 619 566 5 0 0 0 - - - 0;
#X obj 587 566 int;
#X obj 610 488 loadbang;
#X msg 611 508 3000;
#X obj 334 527 hsl 36 30 0 5000 0 0 empty fader1 empty -2 -8 0 10 #fce0c4 #000000 #000000 0 1;
#X floatatom 339 563 5 0 0 0 - - - 0;
#X obj 307 563 int;
#X obj 330 485 loadbang;
#X msg 331 505 3000;
#X obj 1349 481 loadbang;
#X obj 47 528 hsl 36 30 0 5000 0 0 empty fader1 empty -2 -8 0 10 #fce0c4 #000000 #000000 0 1;
#X floatatom 52 564 5 0 0 0 - - - 0;
#X obj 20 564 int;
#X obj 43 486 loadbang;
#X msg 44 506 3000;
#X obj 290 595 metro 28000;
#X floatatom 1519 505 5 0 0 0 - - - 0;
#X obj 1468 482 r water_level;
#X obj 1514 564 vsl 15 128 0 0.6 0 0 empty v1 empty 0 -9 0 10 #c6feff #000000 #000000 0 1;
#X obj 572 607 metro;
#X floatatom 719 556 5 0 0 0 - - - 0;
#X obj 668 533 r water_level;
#X floatatom 1094 556 5 0 0 0 - - - 0;
#X obj 1043 533 r water_level;
#X obj 951 609 metro;
#X obj 1291 633 metro 60000;
#X obj 1562 217 expr if($f1 < 0.25 \, 0 \, min($f1 / 0.6 \, 1)*0.5);
#X obj 1853 212 expr if($f1 < 0.3 \, 0 \, min($f1 / 0.7 \, 1)*0.5);
#X obj 275 872 *~ 0.5;
#X obj 323 872 *~ 0.5;
#X obj 1472 598 line~;
#X obj 1350 538 line;
#X obj 1754 668 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X obj 1757 488 bng 30 250 50 0 empty empty empty 17 7 0 10 #c6ffc7 #000000 #000000;
#X text 1751 456 SAMPLE;
#X text 1756 466 STOP;
#X obj 1680 488 r lancement;
#X obj 1799 488 loadbang;
#X floatatom 1975 519 5 0 0 0 - - - 0;
#X obj 1924 496 r water_level;
#X obj 1972 575 vsl 15 128 0 0.5 0 0 empty v1 empty 0 -9 0 10 #c6feff #000000 #000000 0 1;
#X obj 1928 612 line~;
#X obj 1799 547 line;
#X obj 1755 639 metro 50000;
#X obj 669 617 change;
#X obj 1043 625 change;
#X text 7 422 VENT;
#X text 298 424 FX;
#X text 579 423 GALETS;
#X text 973 431 OISEAUX;
#X text 1328 430 DRONE;
#X text 1805 429 CLOCHE;
#X obj 1470 527 expr if($f1 > 0.55 \, 0 \, max(0 \, min((0.6 - $f1) / 0.6 \, 1)* 0.6)), f 36;
#X text 1810 450 FADE;
#X text 1803 463 IN/OUT;
#X msg 1349 505 0 \, 1 2000 \, 0 1000 3000, f 11;
#X msg 1799 512 0 \, 1 2000 \, 0 1000 3000, f 11;
#X obj 23 729 random 18;
#X obj 437 215 expr if($f1 < 0 \, 0 \, min($f1 / 0.2 \, 1)*0.6);
#X obj 734 216 expr if($f1 < 0 \, 0 \, min($f1 / 0.3 \, 1)*0.5);
#X obj 1005 214 expr if($f1 < 0 \, 0 \, min($f1 / 0.4 \, 1)*0.5);
#X obj 1271 213 expr if($f1 < 0.15 \, 0 \, min($f1 / 0.5 \, 1)*0.5);
#X obj 1096 625 hsl 136 16 15000 30000 0 0 empty empty empty -2 -8 0 10 #c7c6ff #000000 #000000 0 1;
#X obj 720 616 hsl 136 16 20000 35000 0 0 empty empty empty -2 -8 0 10 #c7c6ff #000000 #000000 0 1;
#X obj 1928 550 expr if($f1 < 0.4 \, 0 \, min($f1 / 0.8 \, 1)*0.5);
#X text 1238 451 BEGIN;
#X obj 1323 737 random 8;
#X obj 967 731 random 14;
#X obj 1782 726 random 12;
#X obj 1043 588 expr if($f1 >= 0.7 \, 15000 \, 30000 - ($f1 * (20000 / 0.7))), f 31;
#X obj 669 580 expr if($f1 >= 0.7 \, 20000 \, 35000 - ($f1 * (20000 / 0.7))), f 31;
#X connect 0 0 6 1;
#X connect 1 0 147 0;
#X connect 2 0 4 0;
#X connect 3 0 2 0;
#X connect 3 1 303 0;
#X connect 4 0 1 0;
#X connect 4 1 5 0;
#X connect 5 0 148 0;
#X connect 6 0 1 1;
#X connect 6 0 5 1;
#X connect 6 1 3 0;
#X connect 7 0 10 0;
#X connect 9 0 6 2;
#X connect 10 0 9 0;
#X connect 12 0 6 0;
#X connect 16 0 19 0;
#X connect 17 0 16 0;
#X connect 17 1 100 0;
#X connect 18 0 19 0;
#X connect 19 0 41 0;
#X connect 19 1 42 0;
#X connect 19 2 17 0;
#X connect 20 0 19 0;
#X connect 21 0 100 0;
#X connect 21 0 16 0;
#X connect 24 0 30 1;
#X connect 25 0 151 0;
#X connect 26 0 28 0;
#X connect 27 0 26 0;
#X connect 27 1 293 0;
#X connect 28 0 25 0;
#X connect 28 1 29 0;
#X connect 29 0 152 0;
#X connect 30 0 25 1;
#X connect 30 0 29 1;
#X connect 30 1 27 0;
#X connect 33 0 30 0;
#X connect 38 0 28 0;
#X connect 39 0 24 0;
#X connect 40 0 4 0;
#X connect 41 0 23 0;
#X connect 42 0 23 1;
#X connect 43 0 49 1;
#X connect 44 0 149 0;
#X connect 45 0 47 0;
#X connect 46 0 45 0;
#X connect 46 1 95 0;
#X connect 47 0 44 0;
#X connect 47 1 48 0;
#X connect 48 0 150 0;
#X connect 49 0 44 1;
#X connect 49 0 48 1;
#X connect 49 1 46 0;
#X connect 52 0 49 0;
#X connect 57 0 47 0;
#X connect 58 0 63 0;
#X connect 59 0 61 0;
#X connect 60 0 59 0;
#X connect 60 1 304 0;
#X connect 61 0 58 0;
#X connect 61 1 62 0;
#X connect 62 0 63 1;
#X connect 64 0 61 0;
#X connect 65 0 71 1;
#X connect 66 0 264 0;
#X connect 67 0 69 0;
#X connect 68 0 67 0;
#X connect 68 1 80 0;
#X connect 69 0 66 0;
#X connect 69 1 70 0;
#X connect 70 0 265 0;
#X connect 71 0 66 1;
#X connect 71 0 70 1;
#X connect 71 1 68 0;
#X connect 74 0 71 0;
#X connect 79 0 69 0;
#X connect 80 0 79 0;
#X connect 81 0 84 0;
#X connect 82 0 92 0;
#X connect 83 0 85 0;
#X connect 84 0 83 0;
#X connect 84 1 302 0;
#X connect 85 0 82 0;
#X connect 85 1 86 0;
#X connect 86 0 92 1;
#X connect 88 0 261 0;
#X connect 93 0 85 0;
#X connect 94 0 74 0;
#X connect 94 0 251 0;
#X connect 95 0 57 0;
#X connect 96 0 98 0;
#X connect 97 0 98 0;
#X connect 98 0 170 0;
#X connect 98 1 171 0;
#X connect 98 2 212 0;
#X connect 99 0 98 0;
#X connect 100 0 19 0;
#X connect 100 0 16 0;
#X connect 101 0 104 0;
#X connect 102 0 101 0;
#X connect 102 1 111 0;
#X connect 103 0 104 0;
#X connect 104 0 177 0;
#X connect 104 1 178 0;
#X connect 104 2 102 0;
#X connect 105 0 104 0;
#X connect 106 0 109 0;
#X connect 107 0 106 0;
#X connect 107 1 112 0;
#X connect 108 0 109 0;
#X connect 109 0 184 0;
#X connect 109 1 185 0;
#X connect 109 2 107 0;
#X connect 110 0 109 0;
#X connect 111 0 101 0;
#X connect 111 0 104 0;
#X connect 112 0 109 0;
#X connect 112 0 106 0;
#X connect 113 0 116 0;
#X connect 114 0 113 0;
#X connect 114 1 118 0;
#X connect 115 0 116 0;
#X connect 116 0 191 0;
#X connect 116 1 192 0;
#X connect 116 2 114 0;
#X connect 117 0 116 0;
#X connect 118 0 116 0;
#X connect 118 0 113 0;
#X connect 119 0 122 0;
#X connect 120 0 119 0;
#X connect 120 1 124 0;
#X connect 121 0 122 0;
#X connect 122 0 198 0;
#X connect 122 1 199 0;
#X connect 122 2 120 0;
#X connect 123 0 122 0;
#X connect 124 0 122 0;
#X connect 124 0 119 0;
#X connect 125 0 128 0;
#X connect 126 0 125 0;
#X connect 126 1 130 0;
#X connect 127 0 128 0;
#X connect 128 0 205 0;
#X connect 128 1 206 0;
#X connect 128 2 126 0;
#X connect 129 0 128 0;
#X connect 130 0 128 0;
#X connect 130 0 125 0;
#X connect 131 0 97 0;
#X connect 132 0 131 0;
#X connect 133 0 18 0;
#X connect 134 0 133 0;
#X connect 135 0 136 0;
#X connect 137 0 103 0;
#X connect 138 0 137 0;
#X connect 139 0 108 0;
#X connect 140 0 139 0;
#X connect 141 0 115 0;
#X connect 142 0 141 0;
#X connect 143 0 121 0;
#X connect 144 0 143 0;
#X connect 145 0 127 0;
#X connect 146 0 145 0;
#X connect 147 0 22 0;
#X connect 148 0 22 1;
#X connect 149 0 56 0;
#X connect 150 0 56 1;
#X connect 151 0 37 0;
#X connect 152 0 37 1;
#X connect 153 0 167 0;
#X connect 153 0 216 0;
#X connect 154 0 155 0;
#X connect 155 0 153 0;
#X connect 158 0 159 0;
#X connect 159 0 160 0;
#X connect 159 0 168 0;
#X connect 161 0 21 0;
#X connect 162 0 52 0;
#X connect 162 0 255 0;
#X connect 163 0 12 0;
#X connect 163 0 260 0;
#X connect 164 0 88 0;
#X connect 164 0 261 0;
#X connect 165 0 39 0;
#X connect 165 0 33 0;
#X connect 167 0 166 0;
#X connect 170 0 169 0;
#X connect 171 0 169 1;
#X connect 172 0 170 1;
#X connect 172 0 171 1;
#X connect 175 0 173 0;
#X connect 175 0 294 0;
#X connect 177 0 176 0;
#X connect 178 0 176 1;
#X connect 179 0 177 1;
#X connect 179 0 178 1;
#X connect 182 0 180 0;
#X connect 182 0 295 0;
#X connect 184 0 183 0;
#X connect 185 0 183 1;
#X connect 186 0 184 0;
#X connect 186 0 185 0;
#X connect 189 0 187 0;
#X connect 189 0 296 0;
#X connect 191 0 190 0;
#X connect 192 0 190 1;
#X connect 193 0 191 1;
#X connect 193 0 192 1;
#X connect 196 0 194 0;
#X connect 196 0 297 0;
#X connect 198 0 197 0;
#X connect 199 0 197 1;
#X connect 200 0 198 1;
#X connect 200 0 199 1;
#X connect 203 0 201 0;
#X connect 203 0 262 0;
#X connect 205 0 204 0;
#X connect 206 0 204 1;
#X connect 207 0 205 1;
#X connect 207 0 206 1;
#X connect 210 0 208 0;
#X connect 210 0 263 0;
#X connect 211 0 159 0;
#X connect 212 0 96 0;
#X connect 212 1 213 0;
#X connect 213 0 96 0;
#X connect 213 0 98 0;
#X connect 214 0 213 0;
#X connect 214 0 96 0;
#X connect 215 0 214 0;
#X connect 217 0 111 0;
#X connect 217 0 101 0;
#X connect 218 0 217 0;
#X connect 219 0 112 0;
#X connect 219 0 106 0;
#X connect 220 0 219 0;
#X connect 221 0 118 0;
#X connect 221 0 113 0;
#X connect 222 0 221 0;
#X connect 223 0 124 0;
#X connect 223 0 119 0;
#X connect 224 0 223 0;
#X connect 225 0 130 0;
#X connect 225 0 125 0;
#X connect 226 0 225 0;
#X connect 233 0 234 0;
#X connect 234 0 7 0;
#X connect 235 0 237 0;
#X connect 236 0 49 2;
#X connect 237 0 236 0;
#X connect 238 0 239 0;
#X connect 239 0 235 0;
#X connect 240 0 242 0;
#X connect 241 0 71 2;
#X connect 242 0 241 0;
#X connect 243 0 244 0;
#X connect 244 0 240 0;
#X connect 245 0 291 0;
#X connect 246 0 248 0;
#X connect 247 0 30 2;
#X connect 248 0 247 0;
#X connect 249 0 250 0;
#X connect 250 0 246 0;
#X connect 251 0 65 0;
#X connect 253 0 252 0;
#X connect 253 0 288 0;
#X connect 255 0 43 0;
#X connect 257 0 256 0;
#X connect 257 0 306 0;
#X connect 259 0 258 0;
#X connect 259 0 305 0;
#X connect 260 0 0 0;
#X connect 261 0 81 0;
#X connect 262 0 200 0;
#X connect 262 0 202 0;
#X connect 262 0 229 0;
#X connect 263 0 207 0;
#X connect 263 0 209 0;
#X connect 263 0 230 0;
#X connect 264 0 78 0;
#X connect 265 0 78 1;
#X connect 266 0 82 1;
#X connect 266 0 86 1;
#X connect 267 0 288 0;
#X connect 268 0 60 0;
#X connect 269 0 279 0;
#X connect 272 0 269 0;
#X connect 272 0 279 0;
#X connect 273 0 292 0;
#X connect 275 0 274 0;
#X connect 275 0 300 0;
#X connect 277 0 58 1;
#X connect 277 0 62 1;
#X connect 278 0 300 0;
#X connect 279 0 268 0;
#X connect 280 0 255 1;
#X connect 281 0 260 1;
#X connect 288 0 254 0;
#X connect 288 0 266 0;
#X connect 291 0 267 0;
#X connect 292 0 278 0;
#X connect 293 0 38 0;
#X connect 294 0 174 0;
#X connect 294 0 172 0;
#X connect 294 0 227 0;
#X connect 295 0 179 0;
#X connect 295 0 181 0;
#X connect 295 0 228 0;
#X connect 296 0 186 0;
#X connect 296 0 188 0;
#X connect 296 0 232 0;
#X connect 297 0 193 0;
#X connect 297 0 195 0;
#X connect 297 0 231 0;
#X connect 300 0 277 0;
#X connect 300 0 276 0;
#X connect 302 0 93 0;
#X connect 303 0 40 0;
#X connect 304 0 64 0;
#X connect 305 0 281 0;
#X connect 305 0 298 0;
#X connect 306 0 280 0;
#X connect 306 0 299 0;
#X coords 0 0 1 1 425 350 0;
+8
View File
@@ -0,0 +1,8 @@
#N canvas 960 30 952 485 12;
#X obj 118 116 float;
#X obj 67 116 print;
#X obj 118 59 netreceive -u -b 8765;
#X obj 118 89 list tosymbol;
#X connect 0 0 1 0;
#X connect 2 0 3 0;
#X connect 3 0 0 0;