From: Guillaume Pellerin Date: Mon, 14 Oct 2013 06:54:09 +0000 (+0200) Subject: update doc (install, AnalyzerResult example, etc) X-Git-Tag: 0.5.0~28 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=f192058fdc9b04dff44a91dd4db2db782fec69fd;p=timeside.git update doc (install, AnalyzerResult example, etc) --- diff --git a/doc/source/examples/AnalyzerResult.rst b/doc/source/examples/AnalyzerResult.rst index 7470d2d..c8a1527 100644 --- a/doc/source/examples/AnalyzerResult.rst +++ b/doc/source/examples/AnalyzerResult.rst @@ -16,8 +16,8 @@ Default Create a new analyzer result without arguments - >>> import timeside.analyzer.core as coreA - >>> res = coreA.AnalyzerResult() + >>> from timeside.analyzer.core import AnalyzerResult + >>> res = AnalyzerResult() This default result has all the metadata and dataObject attribute @@ -50,7 +50,7 @@ Four different time_mode can be specified : Framewise --------- ->>> res = coreA.AnalyzerResult(time_mode='framewise') +>>> res = AnalyzerResult(time_mode='framewise') >>> res.keys() ['data_mode', 'time_mode', 'id_metadata', 'data', 'audio_metadata', 'frame_metadata', 'label_metadata', 'parameters'] @@ -60,7 +60,7 @@ Global No frame metadata information is needed for these modes. The 'frame_metadata' key/attribute is deleted. ->>> res = coreA.AnalyzerResult(time_mode='global') +>>> res = AnalyzerResult(time_mode='global') >>> res.keys() ['data_mode', 'time_mode', 'id_metadata', 'data', 'audio_metadata', 'label_metadata', 'parameters'] >>> res.data @@ -69,7 +69,7 @@ DataObject(value=None, label=array([], dtype=int64)) Segment ------- ->>> res = coreA.AnalyzerResult(time_mode='segment') +>>> res = AnalyzerResult(time_mode='segment') >>> res.keys() ['data_mode', 'time_mode', 'id_metadata', 'data', 'audio_metadata', 'label_metadata', 'parameters'] >>> res.data @@ -78,7 +78,7 @@ DataObject(value=None, label=array([], dtype=int64), time=array([], dtype=float6 Event ----- ->>> res = coreA.AnalyzerResult(time_mode='event') +>>> res = AnalyzerResult(time_mode='event') >>> res.keys() ['data_mode', 'time_mode', 'id_metadata', 'data', 'audio_metadata', 'label_metadata', 'parameters'] >>> res.data @@ -95,7 +95,7 @@ Value ----- The label_metadata key is deleted. ->>> res = coreA.AnalyzerResult(data_mode='value') +>>> res = AnalyzerResult(data_mode='value') >>> res.keys() ['data_mode', 'time_mode', 'id_metadata', 'data', 'audio_metadata', 'frame_metadata', 'parameters'] @@ -106,7 +106,7 @@ DataObject(value=None, time=array([], dtype=float64), duration=array([], dtype=f Label ----- ->>> res = coreA.AnalyzerResult(data_mode='label') +>>> res = AnalyzerResult(data_mode='label') >>> res.keys() ['data_mode', 'time_mode', 'id_metadata', 'data', 'audio_metadata', 'frame_metadata', 'label_metadata', 'parameters'] diff --git a/doc/source/index.rst b/doc/source/index.rst index 2f65eba..d77038c 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -4,7 +4,7 @@ contain the root `toctree` directive. ============================================== -TimeSide : open and fast web audio components +TimeSide : open web audio processing framework ============================================== Contents: diff --git a/doc/source/install.rst b/doc/source/install.rst index e05bfef..7336eba 100644 --- a/doc/source/install.rst +++ b/doc/source/install.rst @@ -1,26 +1,25 @@ - - - Install ======= -TimeSide needs some other python modules to run. The following methods explain how to install all dependencies on a Debian based system like Debian, Ubuntu, etc.. On Fedora and Red-Hat you might replace 'apt-get by 'yum', on Gentoo by 'emerge', or any other package manager you like : -.. code-block:: bash +TimeSide needs some other python modules to run. The following methods explain how to install all dependencies on various Linux based systems. - $ sudo apt-get update - $ sudo apt-get install python python-pip python-setuptools python-gobject \ - python-gst0.10 gstreamer0.10-plugins-base gir1.2-gstreamer-0.10 \ - gstreamer0.10-plugins-good gstreamer0.10-plugins-bad \ - gstreamer0.10-plugins-ugly gobject-introspection python-mutagen \ - python-scipy python-h5py +On Debian, Ubuntu, etc: - $ sudo pip install timeside +.. 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 -To get non-free (MP3, MP4, AAC, etc) decoding and encoding features, add Debian Multimedia repository and install the modules : +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: .. code-block:: bash - $ echo "deb http://www.deb-multimedia.org stable main non-free" | sudo tee -a /etc/apt/sources.list - $ sudo apt-get update - $ apt-get install gstreamer0.10-lame gstreamer0.10-plugins-really-bad gstreamer0.10-plugins-ugly + $ 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 + diff --git a/doc/source/intro.rst b/doc/source/intro.rst index cc74218..641f177 100644 --- a/doc/source/intro.rst +++ b/doc/source/intro.rst @@ -2,3 +2,56 @@ Introduction ============== +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. + +It also includes a smart HTML5 interactive user interface embeddable in any web application to provide various media format playback, on the fly transcoding and streaming, fancy waveforms and spectrograms, various low and high level audio analyzers, semantic labelling and segmentation. + + +Goals +===== + +We just *need* a python library to: + + * Do asynchronous and fast audio processing with Python, + * Decode audio frames from ANY format into numpy arrays, + * Analyze audio content with some state-of-the-art audio feature extraction libraries, + * Organize, serialize and save analysis metadata through various formats, + * Draw various fancy waveforms, spectrograms and other cool graphers, + * Transcode audio data in various media formats and stream them through web apps, + * Playback and interact *on demand* through a smart high-level HTML5 extensible player, + * Index, tag and organize semantic metadata (see `Telemeta `_ which embed TimeSide). + +Here is a schematic diagram of the TimeSide engine architecture: + +.. image:: http://timeside.googlecode.com/git/doc/img/timeside_schema.png + + +Available plugins +================= + + * Decoder: + - ALL known media formats thanks to Gstreamer + + * Analyzers: + - MaxLevel, MeanLevel + - DC + - any Yaafe data flow + - Aubio BPM, Beats, MFCC, ... + + * Graphers: + - WaveForm + - Contour + - Spectrogram + + * Encoders: + - WAV + - FLAC + - WebM + - OGG Vorbis + - MP3 + + * Serializers: + - YAML + - JSON + - XML + - HDF5 diff --git a/doc/source/news.rst b/doc/source/news.rst index bace789..870d3f0 100644 --- a/doc/source/news.rst +++ b/doc/source/news.rst @@ -1,6 +1,12 @@ News ===== +0.4.5 + + * (re)fix Pillow support (#12) + * fix some python package rules + * add a Debian package directory (thanks to piem, in git repo only) + 0.4.4 * Only setup bugfixes diff --git a/setup.py b/setup.py index 1e0fd59..e0885d3 100644 --- a/setup.py +++ b/setup.py @@ -17,21 +17,24 @@ CLASSIFIERS = [ 'Topic :: Software Development :: Libraries :: Python Modules', ] -KEYWORDS = 'audio analyze transcode graph player metadata' +KEYWORDS = 'audio analysis features extraction transcoding graph plot HTML5 player metadata' setup( name = "TimeSide", - url='http://code.google.com/p/timeside', - description = "open and fast web audio components", + url='https://github.com/yomguy/TimeSide/', + description = "open web audio processing framework", long_description = open('README.rst').read(), - author = "Guillaume Pellerin, Paul Brossier, Riccardo Zaccarelli, Olivier Guilyardi", - author_email = "yomguy@parisson.com, piem@piem.org, riccardo.zaccarelli@gmail.com, olivier@samalyse.com", + author = "Guillaume Pellerin, Paul Brossier, Thomas Fillon, Riccardo Zaccarelli, Olivier Guilyardi", + author_email = "yomguy@parisson.com, piem@piem.org, thomas@parisson.com, riccardo.zaccarelli@gmail.com, olivier@samalyse.com", version = '0.5.0', install_requires = [ 'setuptools', 'numpy', 'mutagen', 'pil', + 'h5py', + 'yaml', + 'simplejson', ], platforms=['OS Independent'], license='Gnu Public License V2',