From 29d81c36694191dbcfe22030aa9e566d042c9511 Mon Sep 17 00:00:00 2001 From: Guillaume Pellerin Date: Mon, 6 Oct 2014 17:21:33 +0200 Subject: [PATCH] update README and NEWS --- AUTHORS => AUTHORS.txt | 0 Dockerfile | 6 +- LICENSE => LICENSE.txt | 0 MANIFEST.in | 8 +- NEWS.rst | 86 +++++++++++++++ README.rst | 100 +++--------------- deploy/nginx-app.conf | 4 +- deploy/supervisor-app.conf | 2 +- doc/source/copyright.rst | 2 +- doc/source/dev.rst | 81 +++++++++++--- doc/source/dive_in.rst | 32 +++--- doc/source/install.rst | 31 +++--- doc/source/news.rst | 84 ++------------- doc/source/related.rst | 2 - doc/source/ui.rst | 26 +++-- .../presets}/draw_waveform_contour_white.ts | 0 .../presets}/extract_aubio_bpm.ts | 0 {conf => examples/presets}/transcode_media.ts | 0 18 files changed, 237 insertions(+), 227 deletions(-) rename AUTHORS => AUTHORS.txt (100%) rename LICENSE => LICENSE.txt (100%) create mode 100644 NEWS.rst rename {conf => examples/presets}/draw_waveform_contour_white.ts (100%) rename {conf => examples/presets}/extract_aubio_bpm.ts (100%) rename {conf => examples/presets}/transcode_media.ts (100%) diff --git a/AUTHORS b/AUTHORS.txt similarity index 100% rename from AUTHORS rename to AUTHORS.txt diff --git a/Dockerfile b/Dockerfile index 7c5fea7..b3dbe39 100644 --- a/Dockerfile +++ b/Dockerfile @@ -41,9 +41,9 @@ run ln -s /opt/TimeSide/deploy/supervisor-app.conf /etc/supervisor/conf.d/ run pip install -e /opt/TimeSide # sandbox setup -run /opt/TimeSide/timeside/server/sandbox/manage.py syncdb --noinput -run /opt/TimeSide/timeside/server/sandbox/manage.py migrate --noinput -run /opt/TimeSide/timeside/server/sandbox/manage.py collectstatic --noinput +run /opt/TimeSide/examples/sandbox/manage.py syncdb --noinput +run /opt/TimeSide/examples/sandbox/manage.py migrate --noinput +run /opt/TimeSide/examples/sandbox/manage.py collectstatic --noinput expose 80 cmd ["supervisord", "-n"] diff --git a/LICENSE b/LICENSE.txt similarity index 100% rename from LICENSE rename to LICENSE.txt diff --git a/MANIFEST.in b/MANIFEST.in index d09fa39..e03a86d 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,11 +1,13 @@ -include AUTHORS -include LICENSE +include AUTHORS.txt +include LICENSE.txt include README.rst +include NEWS.rst include requirements.txt recursive-include doc * recursive-include timeside * -recursive-exclude timeside/server/sandbox/media * +recursive-include examples * recursive-include tests * +recursive-exclude examples/sandbox/media * recursive-exclude tests/sandbox * recursive-exclude * *.pyc recursive-exclude * *.swp diff --git a/NEWS.rst b/NEWS.rst new file mode 100644 index 0000000..9f9e7b5 --- /dev/null +++ b/NEWS.rst @@ -0,0 +1,86 @@ +News +===== + +0.5.6 + + * Bugfix release + * Fix analyzer instanciation as parent for some graphers + +0.5.5 + + * All processor folders (decoder, analyzer, grapher, encoder) are now real plugin repositories : you can just drop processors in it and play! + * TimeSide can be installed without Aubio, Yaafe nor Vamp : it should be easier to install on old distributions for which those librairies are difficult or impossible to compile + * Encoder : add an Opus encoder + * Experimental : add a django web server with a REST API (see "Web server") + * AubioPitch: prevent NaN in result by converting them to zero + * Yaafe analyzer: simplify adaptation of process frames from TimeSide to Yaafe + * LimsiSad: add a default value for parameter sad_model + * Fix various NaN and Inf and PEP8 issues also many PyFlake warnings + * Full `Travis integration `_ with tests and test coverage through `coveralls.io `_ + * Thanks to all contributors! + * WARNING: some of the processor paths used in your app could have moved between 0.5.4 and 0.5.5. Check them with timeside.core.processors(). Note that it is now advised to use the timeside.core.get_processor() method to instantiate the processors with their respective id as argument. + * UPGRADING from the sources: please remove all .pyc files from your repository. + +0.5.4 + + * Encoder : transcoded streams where broken. Now fixed with some smart thread controls. + * Analyzer : update VAMP plugin example in sandbox + * Analyzer : new *experimental* plugin : Limsi Speech Activity Detection Systems (limsi_sad) + * Decoder : process any media in streaming mode giving its URL + * Install : fix some setup requirements + +0.5.3 + + * Make Analyzer rendering more generic and easy to implement + * Analyzer : implement rendering capability for event and segment + add some more analyzer graphers + * Analyzer : refactoring the results rendering method. + Capability to use matplotlib in environnement with no display + * Decoder : Add a Live decoder to get data from the soundcard + * Decoder : add support for 96kHz sampling rate + * Encoder: live AudioSink encoder, encoder that plays the audio stream through the soundcard + * Grapher : add a generic Class to display Analyzers through their 'render' method. Add the new grapher file + * Grapher : add a generic Class to display Analyzers through their 'render' method. For now, it only support FrameValueResult analyzer + * Core : add a condition to catch signal only if a LiveDecoder source is used + * Various bugfixes + +0.5.2 + + * Add a general launch script "timeside-launch" (see "Shell interface") + * Add some decorators to filter the inputs of processes (see analyzer.waveform for ex) + * Add a "stack" option to the FileDecoder to accumulate audio data allowing multipass processes + * Add beat confidence to aubio_temporal + * Add AAC encoder (gstreamer voaacenc plugin needed) + * Add UUIDs to the file URI and to all processors + * Add a Debian repository with all dependencies for i386 and amd64 architectures + * Fix buggy WebM encoder + * Fix buggy MP3 muxing + * Fix various minor bugs + +0.5.1 + + * Add *parent* processor list to Processor + * Simplify and optimize the grapher system + * Add Grapher abstract generic class + * Add a UUID property to Processor + * Add a SpectrogramLinear grapher + * Add WaveformTransparent grapher + * Fix some assignment issues regarding immutable type in for Analyzer Result + * Simplify analyzer results implementation by introducing a Factory and multiple classes and subclasses to handle the 8 different kinds of results + * Add doctests and improve the unit tests + * Add a OnsetDetectionFunction analyzer + * Update documentation + * Various cleanups + * Various bugfixes + +0.5.0 + + * Deep refactoring of the analyzer API to handle various new usecases, specifically audio feature extraction + * Add serializable global result container (NEW dependency to h5py, json, yaml) + * Add new audio feature extraction analyzers thanks to the Aubio library providing beat & BPM detection, pitch dectection and other cool stuff (NEW dependency on aubio) + * Add new audio feature extraction analyzers thanks to the Yaafe library (NEW dependency on yaafe) + * Add new IRIT speech detection analyzers (NEW dependency on scipy) + * EXPERIMENTAL : add new audio feature extraction thanks to the VAMP plugin library (NEW dependency on some vamp tools) + * Add new documentation : http://files.parisson.com/timeside/doc/ + * New Debian repository for instant install + * Various bugfixes + * Comptatible with Python >=2.7 + * WARNING : no longer compatible with Telemeta 1.4.5 diff --git a/README.rst b/README.rst index cbdacfb..bc3f31b 100644 --- a/README.rst +++ b/README.rst @@ -111,90 +111,19 @@ IEncoder News ===== +0.5.7 + + * Add a Docker development box + * Add a Vagrant development box + * Add a Debian package installation procedure + * Fix parent and child analyzers both using yaafe (fix #60) + 0.5.6 * Bugfix release * Fix analyzer instanciation as parent for some graphers -0.5.5 - - * All processor folders (decoder, analyzer, grapher, encoder) are now real plugin repositories : you can just drop processors in it and play! - * TimeSide can be installed without Aubio, Yaafe nor Vamp : it should be easier to install on old distributions for which those librairies are difficult or impossible to compile - * Encoder : add an Opus encoder - * Experimental : add a django web server with a REST API (see "Web server") - * AubioPitch: prevent NaN in result by converting them to zero - * Yaafe analyzer: simplify adaptation of process frames from TimeSide to Yaafe - * LimsiSad: add a default value for parameter sad_model - * Fix various NaN and Inf and PEP8 issues also many PyFlake warnings - * Full `Travis integration `_ with tests and test coverage through `coveralls.io `_ - * Thanks to all contributors! - * WARNING: some of the processor paths used in your app could have moved between 0.5.4 and 0.5.5. Check them with timeside.core.processors(). Note that it is now advised to use the timeside.core.get_processor() method to instantiate the processors with their respective id as argument. - * UPGRADING from the sources: please remove all .pyc files from your repository. - -0.5.4 - - * Encoder : transcoded streams where broken. Now fixed with some smart thread controls. - * Analyzer : update VAMP plugin example in sandbox - * Analyzer : new *experimental* plugin : Limsi Speech Activity Detection Systems (limsi_sad) - * Decoder : process any media in streaming mode giving its URL - * Install : fix some setup requirements - -0.5.3 - - * Make Analyzer rendering more generic and easy to implement - * Analyzer : implement rendering capability for event and segment + add some more analyzer graphers - * Analyzer : refactoring the results rendering method. + Capability to use matplotlib in environnement with no display - * Decoder : Add a Live decoder to get data from the soundcard - * Decoder : add support for 96kHz sampling rate - * Encoder: live AudioSink encoder, encoder that plays the audio stream through the soundcard - * Grapher : add a generic Class to display Analyzers through their 'render' method. Add the new grapher file - * Grapher : add a generic Class to display Analyzers through their 'render' method. For now, it only support FrameValueResult analyzer - * Core : add a condition to catch signal only if a LiveDecoder source is used - * Various bugfixes - -0.5.2 - - * Add a general launch script "timeside-launch" (see "Shell interface") - * Add some decorators to filter the inputs of processes (see analyzer.waveform for ex) - * Add a "stack" option to the FileDecoder to accumulate audio data allowing multipass processes - * Add beat confidence to aubio_temporal - * Add AAC encoder (gstreamer voaacenc plugin needed) - * Add UUIDs to the file URI and to all processors - * Add a Debian repository with all dependencies for i386 and amd64 architectures - * Fix buggy WebM encoder - * Fix buggy MP3 muxing - * Fix various minor bugs - -0.5.1 - - * Add *parent* processor list to Processor - * Simplify and optimize the grapher system - * Add Grapher abstract generic class - * Add a UUID property to Processor - * Add a SpectrogramLinear grapher - * Add WaveformTransparent grapher - * Fix some assignment issues regarding immutable type in for Analyzer Result - * Simplify analyzer results implementation by introducing a Factory and multiple classes and subclasses to handle the 8 different kinds of results - * Add doctests and improve the unit tests - * Add a OnsetDetectionFunction analyzer - * Update documentation - * Various cleanups - * Various bugfixes - -0.5.0 - - * Deep refactoring of the analyzer API to handle various new usecases, specifically audio feature extraction - * Add serializable global result container (NEW dependency to h5py, json, yaml) - * Add new audio feature extraction analyzers thanks to the Aubio library providing beat & BPM detection, pitch dectection and other cool stuff (NEW dependency on aubio) - * Add new audio feature extraction analyzers thanks to the Yaafe library (NEW dependency on yaafe) - * Add new IRIT speech detection analyzers (NEW dependency on scipy) - * EXPERIMENTAL : add new audio feature extraction thanks to the VAMP plugin library (NEW dependency on some vamp tools) - * Add new documentation : http://files.parisson.com/timeside/doc/ - * New Debian repository for instant install - * Various bugfixes - * Comptatible with Python >=2.7 - * WARNING : no longer compatible with Telemeta 1.4.5 - +For older news, please visit: https://github.com/yomguy/TimeSide/blob/master/NEWS.rst Dive in ======== @@ -292,7 +221,6 @@ Optional: aubio (>=0.4.1) yaafe python-aubio python-yaafe vamp-examples django (>=1.4) django-south djangorestframework django-extensions - User Interfaces =============== @@ -342,6 +270,10 @@ Of course, TimeSide can be used in any python environment. But, a shell script i -o , --ouput-directory= output directory + +Find some preset examples in examples/presets/ + + Web player ----------- @@ -376,7 +308,7 @@ An EXPERIMENTAL web server based on Django has been added to the package from ve A sandbox is provided in timeside/server/sandbox and you can initialize it and test it like this:: - cd timeside/server/sandbox + cd examples/sandbox ./manage.py syncdb ./manage.py migrate ./manage.py runserver @@ -385,7 +317,6 @@ and browse http://localhost:8000/api/ At the moment, this server is NOT connected to the player using TimeSide alone. Please use Telemeta. - Development =========== @@ -458,7 +389,6 @@ To start a new development, it is advised to checkout the dev branch and build y git checkout dev sudo docker build . - Sponsors and Partners ===================== @@ -478,8 +408,6 @@ Related projects * `Sound archives `_ of the CNRS, CREM and the "Musée de l'Homme" in Paris, France. * The `DIADEMS project `_ sponsored by the ANR. - - Copyrights ========== @@ -489,7 +417,7 @@ Copyrights * Copyright (c) 2013, 2014 Thomas Fillon * Copyright (c) 2013, 2014 Maxime Lecoz * Copyright (c) 2013, 2014 David Doukhan -* Copyright (c) 2006, 2010 Samalyse SARL +* Copyright (c) 2006, 2010 Olivier Guilyardi License diff --git a/deploy/nginx-app.conf b/deploy/nginx-app.conf index fe04fac..20e6ebc 100644 --- a/deploy/nginx-app.conf +++ b/deploy/nginx-app.conf @@ -21,10 +21,10 @@ server { # Django media location /media { - alias /opt/TimeSide/timeside/server/sandbox/media; # your Django project's media files - amend as required + alias /opt/TimeSide/examples/sandbox/media; # your Django project's media files - amend as required } - # Uncomment in production! + # Django static location /static { alias /var/www/static; # your Django project's static files - amend as required } diff --git a/deploy/supervisor-app.conf b/deploy/supervisor-app.conf index 6138d61..4478893 100644 --- a/deploy/supervisor-app.conf +++ b/deploy/supervisor-app.conf @@ -1,5 +1,5 @@ [program:app-uwsgi] -command = /usr/local/bin/uwsgi --ini /opt/TimeSide/timeside/server/sandbox/uwsgi.ini +command = /usr/local/bin/uwsgi --ini /opt/TimeSide/examples/sandbox/uwsgi.ini [program:nginx-app] command = /usr/sbin/nginx diff --git a/doc/source/copyright.rst b/doc/source/copyright.rst index 80d9145..35ecfcc 100644 --- a/doc/source/copyright.rst +++ b/doc/source/copyright.rst @@ -7,7 +7,7 @@ Copyrights * Copyright (c) 2013, 2014 Thomas Fillon * Copyright (c) 2013, 2014 Maxime Lecoz * Copyright (c) 2013, 2014 David Doukhan -* Copyright (c) 2006, 2010 Samalyse SARL +* Copyright (c) 2006, 2010 Olivier Guilyardi License diff --git a/doc/source/dev.rst b/doc/source/dev.rst index 86b93ae..ea836cb 100644 --- a/doc/source/dev.rst +++ b/doc/source/dev.rst @@ -1,17 +1,72 @@ Development =========== -For versions >=0.5 on Debian 7 Wheezy:: - - $ echo "deb http://debian.parisson.com/debian/ stable main" | sudo tee -a /etc/apt/sources.list - $ echo "deb-src http://debian.parisson.com/debian/ stable main" | sudo tee -a /etc/apt/sources.list - $ sudo apt-get update - $ sudo apt-get install git - $ sudo apt-get build-dep python-timeside - - $ git clone https://github.com/yomguy/TimeSide.git - $ cd TimeSide - $ git checkout dev - $ sudo pip install -e . - $ python tests/run_all_tests +On Debian 7 Wheezy +------------------- + +The shell commands to setup the development version on you system:: + + wget -O - http://debian.parisson.com/debian/conf/parisson.gpg.key | sudo apt-key add - + echo "deb http://http.debian.net/debian/ wheezy-backports main" | sudo tee -a /etc/apt/sources.list + echo "deb http://debian.parisson.com/debian/ wheezy main" | sudo tee -a /etc/apt/sources.list + sudo apt-get update + sudo apt-get install git + sudo apt-get build-dep python-timeside + git clone https://github.com/yomguy/TimeSide.git + cd TimeSide + git checkout dev + sudo pip install -e . + tests/run_all_tests + +VirtualBox and Vagrant +----------------------- + +We also provide a vagrant box to install a virtual Debian system including TimeSide and all other dependencies. +First, install Vagrant and VirtualVox:: + + sudo apt-get install vagrant virtualbox + +On other OS, we need to install the packages correponding to your system: + + * Vagrant: https://www.vagrantup.com/downloads.html + * VirtualBox: https://www.virtualbox.org/wiki/Downloads + +Then setup our image box like this in a terminal:: + + vagrant box add parisson/timeside-wheezy64 http://files.parisson.com/vagrant/timeside/parisson-timeside-wheezy64.box + vagrant init parisson/timeside-wheezy64 + vagrant up + vagrant ssh + +To stop the virtual box:: + + exit + vagrant halt + + +Docker +------- + +Docker is a great tool for developping and deploying processing environments! Our docker container includes all the necessary packages and environments for development and production with TimeSide. + +First, install Docker: https://docs.docker.com/installation/ + +Then, simply pull our dev image and run:: + + sudo docker pull yomguy/timeside + sudo docker run -i -t yomguy/timeside bash + +More infos: https://registry.hub.docker.com/u/yomguy/timeside/ + +To start the web server through the container:: + + sudo docker run -p 9000:80 yomguy/timeside supervisord -n + +Finally browse http://localhost:9000/api/ + +To start a new development, it is advised to checkout the dev branch and build your own container:: + + cd TimeSide + git checkout dev + sudo docker build . diff --git a/doc/source/dive_in.rst b/doc/source/dive_in.rst index 03fd193..2fa010c 100644 --- a/doc/source/dive_in.rst +++ b/doc/source/dive_in.rst @@ -3,37 +3,37 @@ Dive in To list all available plugins:: - >>> import timeside - >>> timeside.core.list_processors() + import timeside + timeside.core.list_processors() Define some processors:: - >>> from timeside.core import get_processor - >>> decoder = get_processor('gst_dec')('sweep.wav') - >>> grapher = get_processor('waveform_simple') - >>> analyzer = get_processor('level') - >>> encoder = get_processor('gst_vorbis_enc')('sweep.ogg') + from timeside.core import get_processor + decoder = get_processor('gst_dec')('sweep.wav') + grapher = get_processor('waveform_simple') + analyzer = get_processor('level') + encoder = get_processor('gst_vorbis_enc')('sweep.ogg') Then run the *magic* pipeline:: - >>> (decoder | grapher | analyzer | encoder).run() + (decoder | grapher | analyzer | encoder).run() Render the grapher results:: - >>> grapher.render(output='waveform.png') + grapher.render(output='waveform.png') Show the analyzer results:: - >>> print 'Level:', analyzer.results + print 'Level:', analyzer.results The encoded OGG file should also be there... Note you can also instanciate each processor with its own class:: - - >>> decoder = timeside.decoder.file.FileDecoder('sweep.wav') - >>> grapher = timeside.grapher.waveform_simple.Waveform() - >>> analyzer = timeside.analyzer.level.Level() - >>> encoder = timeside.encoder.ogg.VorbisEncoder('sweep.ogg') - + + decoder = timeside.decoder.file.FileDecoder('sweep.wav') + grapher = timeside.grapher.waveform_simple.Waveform() + analyzer = timeside.analyzer.level.Level() + encoder = timeside.encoder.ogg.VorbisEncoder('sweep.ogg') + For more extensive examples, please see the `full documentation `_. diff --git a/doc/source/install.rst b/doc/source/install.rst index de69ff8..83ac98e 100644 --- a/doc/source/install.rst +++ b/doc/source/install.rst @@ -3,31 +3,25 @@ Install The TimeSide engine is intended to work on all Linux and Unix like platforms. -It depends on several other python modules and compiled librairies like GStreamer. +It depends on several other python modules and compiled librairies like GStreamer. Debian, Ubuntu --------------- -For Debian based distributions, we provide a safe repository which provides all additional dependencies that are not included in Debian yet:: +For Debian based distributions, we provide a safe repository which provides all additional dependencies that are not included in Debian yet. Please follow the instructions on `this page `_. - $ echo "deb http://debian.parisson.com/debian/ stable main" | sudo tee -a /etc/apt/sources.list - $ sudo apt-get update - $ sudo apt-get install python-timeside +Note you can also use pip if you already have *already* satisfied all the dependencies:: -This method is known to be compatible with Debian 7 Wheezy with backports and Ubuntu 14.04 LTS. It will install additional binary packages from several audio feature extraction librairies like Aubio and Yaafe for which TimeSide has some nice processors. - -Note you can also use pip if you already have already satisfied all the dependencies:: - - $ sudo pip install timeside + sudo pip install timeside Other Linux distributions -------------------------- -On other Linux platforms, you need to install all dependencies listed in the paragraph "Dependencies" (find all equivalent package names for your distribution). +On other Linux platforms, you need to install all dependencies listed in the paragraph "Dependencies" (find all equivalent package names for your distribution). Then, use pip:: - - $ sudo pip install timeside + + sudo pip install timeside OSX --- @@ -37,15 +31,14 @@ The installation on OSX platforms is pretty hard at the moment because all depen Dependencies ------------- -Needed:: +Needed: - python (>=2.7) python-setuptools python-numpy python-scipy python-h5py python-matplotlib pillow - python-simplejson python-yaml python-mutagen libhdf5-serial-dev python-gst0.10 - gstreamer0.10-gnonlin gstreamer0.10-plugins-good gstreamer0.10-plugins-bad gstreamer0.10-plugins-ugly + python (>=2.7) python-setuptools python-numpy python-scipy python-h5py python-matplotlib python-imaging + python-simplejson python-yaml python-mutagen libhdf5-serial-dev python-tables python-gst0.10 + gstreamer0.10-gnonlin gstreamer0.10-plugins-good gstreamer0.10-plugins-bad gstreamer0.10-plugins-ugly -Optional:: +Optional: aubio (>=0.4.1) yaafe python-aubio python-yaafe vamp-examples django (>=1.4) django-south djangorestframework django-extensions - diff --git a/doc/source/news.rst b/doc/source/news.rst index d9f45d7..a6477e9 100644 --- a/doc/source/news.rst +++ b/doc/source/news.rst @@ -1,83 +1,17 @@ News ===== -0.5.5 +0.5.7 - * All processor folders (decoder, analyzer, grapher, encoder) are now real plugin repositories : you can just drop processors in it and play! - * TimeSide can be installed without Aubio, Yaafe nor Vamp : it should be easier to install on old distributions for which those librairies are difficult or impossible to compile - * Encoder : add an Opus encoder - * Experimental : add a django web server with a REST API (see "Web server") - * AubioPitch: prevent NaN in result by converting them to zero - * Yaafe analyzer: simplify adaptation of process frames from TimeSide to Yaafe - * LimsiSad: add a default value for parameter sad_model - * Fix various NaN and Inf and PEP8 issues also many PyFlake warnings - * Full `Travis integration `_ with tests and test coverage through `coveralls.io `_ - * Thanks to all contributors! - * WARNING: some of the processor paths used in your app could have moved between 0.5.4 and 0.5.5. Check them with timeside.core.processors(). Note that it is now advised to use the timeside.core.get_processor() method to instantiate the processors with their respective id as argument. - * UPGRADING from the sources: please remove all .pyc files from your repository. + * Add a Docker development box + * Add a Vagrant development box + * Add a Debian package installation procedure + * Fix parent and child analyzers both using yaafe (fix #60) -0.5.4 +0.5.6 - * Encoder : transcoded streams where broken. Now fixed with some smart thread controls. - * Analyzer : update VAMP plugin example in sandbox - * Analyzer : new *experimental* plugin : Limsi Speech Activity Detection Systems (limsi_sad) - * Decoder : process any media in streaming mode giving its URL - * Install : fix some setup requirements - -0.5.3 - - * Make Analyzer rendering more generic and easy to implement - * Analyzer : implement rendering capability for event and segment + add some more analyzer graphers - * Analyzer : refactoring the results rendering method. + Capability to use matplotlib in environnement with no display - * Decoder : Add a Live decoder to get data from the soundcard - * Decoder : add support for 96kHz sampling rate - * Encoder: live AudioSink encoder, encoder that plays the audio stream through the soundcard - * Grapher : add a generic Class to display Analyzers through their 'render' method. Add the new grapher file - * Grapher : add a generic Class to display Analyzers through their 'render' method. For now, it only support FrameValueResult analyzer - * Core : add a condition to catch signal only if a LiveDecoder source is used - * Various bugfixes - -0.5.2 - - * Add a general launch script "timeside-launch" (see "Shell interface") - * Add some decorators to filter the inputs of processes (see analyzer.waveform for ex) - * Add a "stack" option to the FileDecoder to accumulate audio data allowing multipass processes - * Add beat confidence to aubio_temporal - * Add AAC encoder (gstreamer voaacenc plugin needed) - * Add UUIDs to the file URI and to all processors - * Add a Debian repository with all dependencies for i386 and amd64 architectures - * Fix buggy WebM encoder - * Fix buggy MP3 muxing - * Fix various minor bugs - -0.5.1 - - * Add *parent* processor list to Processor - * Simplify and optimize the grapher system - * Add Grapher abstract generic class - * Add a UUID property to Processor - * Add a SpectrogramLinear grapher - * Add WaveformTransparent grapher - * Fix some assignment issues regarding immutable type in for Analyzer Result - * Simplify analyzer results implementation by introducing a Factory and multiple classes and subclasses to handle the 8 different kinds of results - * Add doctests and improve the unit tests - * Add a OnsetDetectionFunction analyzer - * Update documentation - * Various cleanups - * Various bugfixes - -0.5.0 - - * Deep refactoring of the analyzer API to handle various new usecases, specifically audio feature extraction - * Add serializable global result container (NEW dependency to h5py, json, yaml) - * Add new audio feature extraction analyzers thanks to the Aubio library providing beat & BPM detection, pitch dectection and other cool stuff (NEW dependency on aubio) - * Add new audio feature extraction analyzers thanks to the Yaafe library (NEW dependency on yaafe) - * Add new IRIT speech detection analyzers (NEW dependency on scipy) - * EXPERIMENTAL : add new audio feature extraction thanks to the VAMP plugin library (NEW dependency on some vamp toold) - * Add new documentation : http://files.parisson.com/timeside/doc/ - * New Debian repository for instant install - * Various bugfixes - * Comptatible with Python >=2.7 - * WARNING : no longer compatible with Telemeta 1.4.5 + * Bugfix release + * Fix analyzer instanciation as parent for some graphers +For older news, please visit: https://github.com/yomguy/TimeSide/blob/master/NEWS.rst diff --git a/doc/source/related.rst b/doc/source/related.rst index d526808..f0d2154 100644 --- a/doc/source/related.rst +++ b/doc/source/related.rst @@ -17,5 +17,3 @@ Related projects * `Sound archives `_ of the CNRS, CREM and the "Musée de l'Homme" in Paris, France. * The `DIADEMS project `_ sponsored by the ANR. - - diff --git a/doc/source/ui.rst b/doc/source/ui.rst index 3f3ff6f..3f7f6ad 100644 --- a/doc/source/ui.rst +++ b/doc/source/ui.rst @@ -1,12 +1,23 @@ User Interfaces =============== +Python +------- + +Of course all the TimeSide are available in our beloved python envionment. +As IPython is really great for discovering objects with completion, writing notebooks, we strongly advise to install and use it:: + + sudo apt-get install ipython + ipython + >>> import timeside + + Shell ------ Of course, TimeSide can be used in any python environment. But, a shell script is also provided to enable preset based and recursive processing through your command line interface:: - $ timeside-launch -h + timeside-launch -h Usage: scripts/timeside-launch [options] -c file.conf file1.wav [file2.wav ...] help: scripts/timeside-launch -h @@ -36,6 +47,10 @@ Of course, TimeSide can be used in any python environment. But, a shell script i -o , --ouput-directory= output directory + +Find some preset examples in examples/presets/ + + Web player ----------- @@ -70,13 +85,12 @@ An EXPERIMENTAL web server based on Django has been added to the package from ve A sandbox is provided in timeside/server/sandbox and you can initialize it and test it like this:: - $ cd timeside/server/sandbox - $ ./manage.py syncdb - $ ./manage.py migrate - $ ./manage.py runserver + cd examples/sandbox + ./manage.py syncdb + ./manage.py migrate + ./manage.py runserver and browse http://localhost:8000/api/ At the moment, this server is NOT connected to the player using TimeSide alone. Please use Telemeta. - diff --git a/conf/draw_waveform_contour_white.ts b/examples/presets/draw_waveform_contour_white.ts similarity index 100% rename from conf/draw_waveform_contour_white.ts rename to examples/presets/draw_waveform_contour_white.ts diff --git a/conf/extract_aubio_bpm.ts b/examples/presets/extract_aubio_bpm.ts similarity index 100% rename from conf/extract_aubio_bpm.ts rename to examples/presets/extract_aubio_bpm.ts diff --git a/conf/transcode_media.ts b/examples/presets/transcode_media.ts similarity index 100% rename from conf/transcode_media.ts rename to examples/presets/transcode_media.ts -- 2.39.5