From: Guillaume Pellerin Date: Tue, 15 Oct 2013 21:20:17 +0000 (+0200) Subject: update sphinx doc & index, parse it to README.rst X-Git-Tag: 0.5.0~18^2~4 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=da2aa332640a8c7c29f427d1aa74e135b39c91ab;p=timeside.git update sphinx doc & index, parse it to README.rst --- diff --git a/README.rst b/README.rst index 9a80d57..a2d7c21 100644 --- a/README.rst +++ b/README.rst @@ -60,7 +60,6 @@ Available plugins - XML - HDF5 - News ===== @@ -84,7 +83,7 @@ News 0.4.4 - * Only minor setup bugfixes + * Only setup bugfixes * Last compatible version with Python 2.6 * Next version 0.5 will integrate serious new analyzer features (aubio, yaafe and more) @@ -139,7 +138,6 @@ News * duration analysis goes to decoder.duration property * bugfixes - Dive in ======== @@ -162,22 +160,34 @@ get the results:: `More examples `_ - Install ======= TimeSide needs some other python modules to run. The following methods explain how to install all dependencies on various Linux based systems. -On Debian, Ubuntu, etc:: +On Debian, Ubuntu, etc: + +.. code-block:: bash $ 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 +On Fedora and Red-Hat: + +.. code-block:: bash + + $ sudo yum install gcc python python-devel gstreamer pygobject2 gstreamer-python \ + gstreamer gstreamer-plugins-bad-free gstreamer-plugins-bad-free-extras \ + gstreamer-plugins-base gstreamer-plugins-good + + $ sudo pip install timeside + On other system, you'll need to install the Gstreamer framework, some librairies and some python modules (see #Dependencies) :: $ sudo pip install timeside + Dependencies ============ @@ -185,6 +195,14 @@ python (>=2.7), python-setuptools, python-gst0.10, gstreamer0.10-plugins-good, g gstreamer0.10-plugins-ugly, python-aubio, python-yaafe, python-simplejson, python-yaml, python-h5py +Platforms +========== + +The TimeSide engine is intended to work on all Unix / Linux platforms. +MacOS X and Windows versions will soon be explorated. +The player should work on any modern HTML5 enabled browser. +Flash is needed for MP3 if the browser doesn't support it. + Extensible HTML5 User Interface ================================ @@ -199,34 +217,12 @@ The detailed documentation to extend the player: * https://github.com/yomguy/TimeSide/wiki/Ui-Guide - -Documentation -============== - -Engine API : http://code.google.com/p/timeside/source/browse/trunk/timeside/api.py - - -Related projects -================= - -TimeSide has emerged in 2010 from the `Telemeta project `_ which develops a free and open source web audio CMS. - -Some decoders and encoders depend on the great `GStreamer framework `_. - - -Platforms -========= - -The TimeSide engine is intended to work on all Unix / Linux platforms. -MacOS X and Windows versions will soon be explorated. -The player should work on any modern HTML5 enabled browser. -Flash is needed for MP3 if the browser doesn't support it. - - Development =========== -For versions >=0.5 on Debian Stable 7.0 Wheezy:: +For versions >=0.5 on Debian Stable 7.0 Wheezy: + +.. code-block:: bash $ 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 @@ -240,16 +236,12 @@ For versions >=0.5 on Debian Stable 7.0 Wheezy:: $ export PYTHONPATH=$PYTHONPATH:`pwd` $ python tests/run_all_tests +Related projects +================= -API / Documentation -==================== - -The *source code*, the API and some slides: - - * https://github.com/yomguy/TimeSide - * http://files.parisson.com/api/timeside/ - * http://files.parisson.com/timeside/timeside/doc/timeside_slides.html +TimeSide has emerged in 2010 from the `Telemeta project `_ which develops a free and open source web audio CMS. +Some decoders and encoders depend on the great `GStreamer framework `_. Copyrights ========== diff --git a/doc/source/copyright.rst b/doc/source/copyright.rst new file mode 100644 index 0000000..738f037 --- /dev/null +++ b/doc/source/copyright.rst @@ -0,0 +1,24 @@ +Copyrights +========== + + * Copyright (c) 2006, 2013 Parisson SARL + * Copyright (c) 2006, 2013 Guillaume Pellerin + * Copyright (c) 2010, 2013 Paul Brossier + * Copyright (c) 2013 Thomas Fillon + * Copyright (c) 2006, 2010 Samalyse SARL + + +License +======= + +TimeSide is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +TimeSide is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +See LICENSE for more details. diff --git a/doc/source/dev.rst b/doc/source/dev.rst new file mode 100644 index 0000000..424d09c --- /dev/null +++ b/doc/source/dev.rst @@ -0,0 +1,19 @@ +Development +=========== + +For versions >=0.5 on Debian Stable 7.0 Wheezy: + +.. code-block:: bash + + $ 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 + $ export PYTHONPATH=$PYTHONPATH:`pwd` + $ python tests/run_all_tests + diff --git a/doc/source/dive_in.rst b/doc/source/dive_in.rst new file mode 100644 index 0000000..4bd8a1c --- /dev/null +++ b/doc/source/dive_in.rst @@ -0,0 +1,22 @@ +Dive in +======== + +Define some processors:: + + >>> import timeside + >>> decoder = timeside.decoder.FileDecoder('sweep.wav') + >>> grapher = timeside.grapher.Waveform() + >>> analyzer = timeside.analyzer.Level() + >>> encoder = timeside.encoder.VorbisEncoder('sweep.ogg') + +then, the *magic* pipeline:: + + >>> (decoder | grapher | analyzer | encoder).run() + +get the results:: + + >>> grapher.render(output='waveform.png') + >>> print 'Level:', analyzer.results + +`More examples `_ + diff --git a/doc/source/index.rst b/doc/source/index.rst index d77038c..8c1f37e 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -16,6 +16,10 @@ Contents: Installation Examples API + ui + Development + related + Copyright Indices and tables diff --git a/doc/source/install.rst b/doc/source/install.rst index 7336eba..50585ef 100644 --- a/doc/source/install.rst +++ b/doc/source/install.rst @@ -1,7 +1,6 @@ Install ======= - TimeSide needs some other python modules to run. The following methods explain how to install all dependencies on various Linux based systems. On Debian, Ubuntu, etc: @@ -12,8 +11,7 @@ On Debian, Ubuntu, etc: $ sudo apt-get update $ sudo apt-get install python-timeside -On other system, you'll need to install the Gstreamer framework and modules, aubio (>=0.4), yaafe (>=0.64) and some more programs. -For example on Fedora and Red-Hat: +On Fedora and Red-Hat: .. code-block:: bash @@ -23,3 +21,23 @@ For example on Fedora and Red-Hat: $ sudo pip install timeside +On other system, you'll need to install the Gstreamer framework, some librairies and some python modules (see #Dependencies) :: + + $ sudo pip install timeside + + +Dependencies +============ + +python (>=2.7), python-setuptools, python-gst0.10, gstreamer0.10-plugins-good, gstreamer0.10-gnonlin, +gstreamer0.10-plugins-ugly, python-aubio, python-yaafe, python-simplejson, python-yaml, python-h5py + + +Platforms +========== + +The TimeSide engine is intended to work on all Unix / Linux platforms. +MacOS X and Windows versions will soon be explorated. +The player should work on any modern HTML5 enabled browser. +Flash is needed for MP3 if the browser doesn't support it. + diff --git a/doc/source/intro.rst b/doc/source/intro.rst index 641f177..5c18871 100644 --- a/doc/source/intro.rst +++ b/doc/source/intro.rst @@ -1,6 +1,9 @@ -============== - Introduction -============== +============================================== +TimeSide : open web audio processing framework +============================================== + +.. image:: https://secure.travis-ci.org/yomguy/TimeSide.png?branch=master + :target: http://travis-ci.org/yomguy/TimeSide/ TimeSide is a set of python components enabling audio analysis, imaging, transcoding and streaming. Its high-level API has been designed to enable complex processing on big media data corpus. Its simple plugin architecture can be adapted to various usecases. @@ -30,16 +33,17 @@ Available plugins ================= * Decoder: - - ALL known media formats thanks to Gstreamer + - Takes ALL known media formats thanks to GStreamer * Analyzers: - MaxLevel, MeanLevel - DC - - any Yaafe data flow - - Aubio BPM, Beats, MFCC, ... + - Yaafe, all data flows + - Aubio BPM, Beats, Pitch, various spectral descriptors + - IRIT 4Hz, Entropy * Graphers: - - WaveForm + - Waveform - Contour - Spectrogram @@ -55,3 +59,4 @@ Available plugins - JSON - XML - HDF5 + diff --git a/doc/source/news.rst b/doc/source/news.rst index 870d3f0..c396c70 100644 --- a/doc/source/news.rst +++ b/doc/source/news.rst @@ -1,6 +1,18 @@ News ===== +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) + * Add new audio feature extraction analyzers thanks to the Yaafe library (NEW dependency) + * EXPERIMENTAL : add new audio feature extraction thanks to the VAMP plugin library (NEW dependency) + * Add new documentation : http://files.parisson.com/timeside/doc/ + * New Debian repository for instant install + * Various bugfixes + * Comptatible with python >=2.7 + 0.4.5 * (re)fix Pillow support (#12) diff --git a/doc/source/related.rst b/doc/source/related.rst new file mode 100644 index 0000000..2005809 --- /dev/null +++ b/doc/source/related.rst @@ -0,0 +1,7 @@ +Related projects +================= + +TimeSide has emerged in 2010 from the `Telemeta project `_ which develops a free and open source web audio CMS. + +Some decoders and encoders depend on the great `GStreamer framework `_. + diff --git a/doc/source/ui.rst b/doc/source/ui.rst new file mode 100644 index 0000000..a33e3c6 --- /dev/null +++ b/doc/source/ui.rst @@ -0,0 +1,14 @@ +Extensible HTML5 User Interface +================================ + +TimeSide comes with a smart HTML5 audio player which can drive the process engine through a web server. + +Some examples of application: + + * http://parisson.telemeta.org/archives/items/PRS_07_01_03/ + * http://archives.crem-cnrs.fr/items/CNRSMH_I_1956_002_001_01/ (player embedded in a Telemeta session) + +The detailed documentation to extend the player: + + * https://github.com/yomguy/TimeSide/wiki/Ui-Guide + diff --git a/timeside/analyzer/core.py b/timeside/analyzer/core.py index 2d50b43..e7c77da 100644 --- a/timeside/analyzer/core.py +++ b/timeside/analyzer/core.py @@ -337,6 +337,8 @@ class DataObject(MetadataObject): raise TypeError( 'Result Data can not accept type %s for %s' % (value.dtype.type, name)) + elif name == 'dataType': + return super(DataObject, self).__setattr__(name, value)