recorder/README.md

99 lines
2.9 KiB
Markdown
Raw Normal View History

2025-06-18 22:21:07 +02:00
# Projet recorder.
2025-06-18 22:26:28 +02:00
Le but du projet est d'échanger de l'information entre deux PC en utilisant le son.
2025-06-18 22:21:07 +02:00
2025-06-18 22:26:28 +02:00
Une machine génère le son (via minimodem), le joue (via audacity par exemple) puis l'autre l'écoute et décode le message.
2025-06-18 22:21:07 +02:00
2025-06-18 22:26:28 +02:00
***Recorder*** analyse le son et isole les fréquences dominantes puis les traduit en 0 ou 1.
Il en sort un chaine binaire, qui est alors décodé dans le message originel.
2025-06-18 22:21:07 +02:00
```$ ./recorder.py -h
____ __
/ __ \___ _________ _________/ /__ _____
/ /_/ / _ \/ ___/ __ \/ ___/ __ / _ \/ ___/
/ _, _/ __/ /__/ /_/ / / / /_/ / __/ /
/_/ |_|\___/\___/\____/_/ \__,_/\___/_/
Author: Snorky
Version : 0.1
usage: recorder.py [-h] [-s] [-i DEVICE_INDEX] [-r RATE] [-l LENGTH_FRAME] [-p OUTPUT_NAME] [-v]
options:
-h, --help show this help message and exit
-s, --show_devices List of audio devices currently available for use.
-i DEVICE_INDEX, --device_index DEVICE_INDEX
Index of input audio device. (Default: -1)
-r RATE, --rate RATE Rate config. (Default: 16000)
-l LENGTH_FRAME, --length_frame LENGTH_FRAME
Frame size. (Default: 512)
-p OUTPUT_NAME, --output_name OUTPUT_NAME
Name to file to store raw audio. (Default: recorder.wav)
-v, --verbosity Increase logging. (Default: False)
```
## Démo:
### Machine 1:
```
echo "HackThePlanet" | minimodem --tx --ascii --startbits 0 --stopbits 0.0 -f hacktheplanet.wav 8
```
Ouvrez audacity => importer => Audio et selectionner votre fichier
### Machine 2:
```
./recorder.py
```
Une fois le recorder.py en attente, cliquer sur lecture et attendre la fin de la transmission.
2025-06-18 22:26:28 +02:00
2025-06-18 22:21:07 +02:00
Puis Ctrl + c.
Résultat:
```
./recorder.py -v
____ __
/ __ \___ _________ _________/ /__ _____
/ /_/ / _ \/ ___/ __ \/ ___/ __ / _ \/ ___/
/ _, _/ __/ /__/ /_/ / / / /_/ / __/ /
/_/ |_|\___/\___/\____/_/ \__,_/\___/_/
Author: Snorky
Version : 0.1
Args value:
show_devices: False
device_index: -1
rate: 16000
length_frame: 512
output_name: recorder.wav
verbosity: True
Listener is running.
Ctrl + c for quit.
^C
Saving wav file: /home/pierre/.cache/recorder/wave/recorder.wav.
######## INFOS ########
Value recording = [ 0 0 0 ... 2094 2321 1534]
Data shape: 264704
Rate: 16000
length: 16.544s
Path file: recorder.wav
Device Index: -1
Extracting data from wav file:
............000100101000011011000110110101100010101000010110101001100000101000110110100001100111011010100110001011100101000011.......
Decoding message:
...............
Message transmitted is: HackThePlanet
2025-06-18 22:26:28 +02:00
```
## BUG
Il arrive certaines fois que le message ne se déchiffre pas.
Le problème n'est pas necore géré ... :)