Le but c'est d'analyser un flux sonore en temps reel
afin de determiner le son le plus proche.

* installation
* trouver les exemple utile
* annalyser en temps reel sur un flux (micro)
* distatance / similarite d'un son
* meme operation sur des fichier fix
* communication avec osc

###################################################
Python exemple:
    * Computing features with MusicExtractor
    * Beat detection and BPM histogram
    * Onset detection
    * Melody detection
    * Tonality analysis (HPCP, key and scale)
    * Fingerprinting
    * Using chromaprints to identify segments in an audio track
    * Cover Song Identification
    * Inference with TensorFlow models
    * Auto-tagging
    * Transfer learning classifiers
    * Tempo estimation
    * Embedding extraction
    * Extracting embeddings from other models

##################################################

Bon la j'ai choper un exemple qui marche en mode standar.
Il faudrait que je refasse le meme truc en mode streaming.

Pour ca il faudrait:
    * une version simplifier du code en question (sans les plt et autre affichage)
    * comprendre un peu la logique du streaming avec essentia
    * refaire l'exemple em mode streaming

?? Est-ce que ca va etre rapide a s'execute ??

#################################################

Bon en fait j'ai trouver le code d'exemple don j'ai besoin.
Ca commence part recuperer en mode standar la description d'un fichier sonore.
Puis avec un input en mode stream ca compart la distance avec la chansson.

Ce qu'il reste a faire:
    * avoir un script pour telecharger les musique a tester.
    * avoir un input type micro
    * avoir une entree avec jack (jackd)
    * Faire tourner plusieur processus pour pouvoir annalyser plusieurs track en meme temps.
    * 

1) un scritp qui telecharge les son:

J'ai besoin d'un fichier de config qui telecharge les musique en extrayan le son
et les place dans le bon dossier. Et dans un format que je peut lire avec essentia.

    * avoir un 
    * 
    * 
    * 

Les ellement pour la config:

--config-location PATH               Location of the configuration file;
                                     either the path to the config or its
                                     containing directory.

-a, --batch-file FILE                File containing URLs to download ('-'
                                     for stdin), one URL per line. Lines
                                     starting with '#', ';' or ']' are
                                     considered as comments and ignored.

-c, --continue                       Force resume of partially downloaded
                                     files. By default, youtube-dl will
  

--encoding ENCODING                  Force the specified encoding
                                     (experimental)                                   resume downloads if possible.

-x, --extract-audio                  Convert video files to audio-only files
                                     (requires ffmpeg/avconv and
                                     ffprobe/avprobe)

--audio-format FORMAT                Specify audio format: "best", "aac",
                                     "flac", "mp3", "m4a", "opus", "vorbis",
                                     or "wav"; "best" by default; No effect
                                     without -x

-w, --no-overwrites                  Do not overwrite files


vv -E-X-M-P-L-E- -C-O-N-F-I-G- -F-I-L-E- vv

# Lines starting with # are comments

# Always extract audio
-x

# Do not copy the mtime
--no-mtime

# Use this proxy
--proxy 127.0.0.1:3128

# Save all videos under Movies directory in your home directory
-o ~/Movies/%(title)s.%(ext)s
^^ - - - - - - - - - - - - - - - - - - - ^^

to run download:
$> youtube-dl --config-location config_youtube-dl

Dependance:
youtube-dl: sudo apt-get install -y ffmpeg
