diff --git a/README.md b/README.md new file mode 100644 index 0000000..24ddf2f --- /dev/null +++ b/README.md @@ -0,0 +1,91 @@ +# Projet recorder. + +Le but du projet est d"échanger de l'infomation entre deux PC en utilisant le son. + +Une machine génère le son (via minimodem), le joue et l'autre l'écoute et décode le message. + +Recorder analyse le son isole les fréquences dominantes et les tradit en 0 ou 1. +Il en sort un chaine binaire, qui est alors décodé dans le message original. + +```$ ./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. +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 +``` \ No newline at end of file diff --git a/recorder.py b/recorder.py index f9fc86c..7c6fe09 100755 --- a/recorder.py +++ b/recorder.py @@ -171,6 +171,7 @@ def recording(dev_index,output_name,rate,len_frame, wave_dir_path): # Start recorder recorder.start() print("Listener is running.") + print("Ctrl + c for quit.") while True: # Read and append data in audio buffer