From f21fa5694a63ec59c7b92bff1c3c62bd23d3aa86 Mon Sep 17 00:00:00 2001 From: yomguy Date: Wed, 19 Sep 2012 13:22:01 +0200 Subject: [PATCH] Full update of README, make ts-waveforms script --- INSTALL.rst | 48 ++---- README.rst | 154 +++++++++++------- .../old}/telemeta_preprocess_batch.py | 0 .../old}/telemeta_preprocess_cgi.py | 0 .../old}/waveform_batch_awdio.py | 0 .../waveform_batch.py => scripts/ts-waveforms | 0 setup.py | 1 - 7 files changed, 108 insertions(+), 95 deletions(-) rename {timeside/tools => scripts/old}/telemeta_preprocess_batch.py (100%) rename {timeside/tools => scripts/old}/telemeta_preprocess_cgi.py (100%) rename {timeside/tools => scripts/old}/waveform_batch_awdio.py (100%) rename timeside/tools/waveform_batch.py => scripts/ts-waveforms (100%) mode change 100644 => 100755 diff --git a/INSTALL.rst b/INSTALL.rst index 53502e9..bd56d86 100644 --- a/INSTALL.rst +++ b/INSTALL.rst @@ -5,46 +5,24 @@ Howto Install TimeSide This file describe how to install the TimeSide python package from source. -1. Install dependencies -======================= - -TimeSide needs some other python modules to run. -See README for the full dependency list. - -The following methods explain how to install all dependencies on a Debian based system -and espacially on Debian Squeeze 6.0 (stable). Is it now considered you have install this system correctly. - -Become root. In a terminal or console, run:: - - $ su +INSTALL +======= -Write your root password. -Note : you can paste the full command but without the shell character '$'. -Then:: +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:: - $ aptitude update - $ aptitude install python python-gobject gobject-introspection python-setuptools python-xml python-mutagen \ - python-imaging python-numpy python-scipy python-gst0.10 gstreamer0.10-plugins-base gir1.0-gstreamer-0.10 \ - gstreamer0.10-fluendo-mp3 gstreamer0.10-plugins-good gstreamer0.10-plugins-bad + $ sudo apt-get update + $ sudo apt-get install python python-pip python-setuptools python-gobject \ + python-gst0.10 gstreamer0.10-plugins-base gir1.0-gstreamer-0.10 \ + gstreamer0.10-plugins-good gstreamer0.10-plugins-bad \ + gobject-introspection -Add Debian multimedia repository to the apt sources.list and install Gstreamer MP3 modules:: - - $ echo "deb deb http://www.debian-multimedia.org stable main" | tee -a /etc/apt/sources.list - $ aptitude update - $ aptitude install gstreamer0.10-fluendo-mp3 gstreamer0.10-lame - - -2. Install TimeSide -=================== - -Go into the module directory and then install:: - - $ cd timeside - $ python setup.py install + $ sudo pip install timeside -Or, directly from python package directory:: +To get non-free MP3, MP4 or AAC decoding and encoding features, add Debian Multimedia repository and install the modules:: - $ sudo pip install timeside + $ 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 3. Use TimeSide diff --git a/README.rst b/README.rst index 3914575..5aac764 100644 --- a/README.rst +++ b/README.rst @@ -2,11 +2,11 @@ TimeSide : open and fast web audio components ============================================== -TimeSide is a set of client and server side components for audio-enabling web sites and applications. +TimeSide is a set of python components enabling easy audio processing, transcoding, imaging and streaming. Its simple architecture and high-level API have been design to process serial pipelines -It includes a powerful DHTML-based interactive player, with support for time-marking. -The server side components provide generic APIs for easy transcoding, metadata embedding, -sound visualization and audio analysis. +It includes a powerfull HTM5 interactive player which can be embedded in any web application to provide fancy waveforms, various analyzer results, synced time metadata display during playback and remote indexing. + +The engine (server side) is fully written in Python, the player (client side) in HTML, CSS and JavaScript. News ===== @@ -20,85 +20,109 @@ News * bugfixes -Platforms -========= +Dive in +======== -TimeSide is intended to work on all Unix / Linux platforms. -MacOS X and Windows versions will soon be explorated. +Define some processors:: -It is mostly written in Python and JavaScript / CSS / HTML + >>> import timeside + >>> decoder = timeside.decoder.FileDecoder('source.wav') + >>> grapher = timeside.grapher.Waveform() + >>> analyzer = timeside.analyzer.MaxLevel() + >>> encoder = timeside.encoder.Mp3Encoder('output.mp3') +then, the *magic* pipeline:: -Install and usage -================== + >>> (decoder | grapher | analyzer | encoder).run() -See INSTALL.rst +get the results:: + >>> grapher.render(output='image.png') + >>> print 'Level:', analyzer.result() -Dependencies -============ +finally see image.png and play output.mp3 ;) - * python (>= 2.4) - * python-xml - * python-mutagen - * python-imaging (>= 1.1.6) - * python-numpy - * python-setuptools - * python-gst0.10 - * gstreamer0.10-plugins-base, - * gstreamer0.10-plugins-fluendo-mp3 - * gstreamer0.10-plugins-good +More examples +============= -Provides -========== + * http://code.google.com/p/timeside/ + * http://code.google.com/p/timeside/wiki/PythonApi + * https://github.com/yomguy/TimeSide/tree/master/scripts/batch/ + * http://archives.crem-cnrs.fr/items/CNRSMH_I_1956_002_001_01/ (player embedded in a Telemeta session) - * SoundManager 2 >= 2.91 (http://www.schillmania.com/projects/soundmanager2) - * jQuery => 1.2.6 (http://www.jquery.com) - * jsGraphics => 3.03 (http://www.walterzorn.com/jsgraphics/jsgraphics_e.htm) +Related projects +================= -High level process example -=========================== +TimeSide has emerged in 2010 from the `Telemeta project `_ which develop a free and open-source web audio CMS. -For example:: +The time decoder depends on the `GStreamer framework`_. - >>> import timeside - >>> decoder = timeside.decoder.FileDecoder('source.wav') - >>> grapher = timeside.grapher.Waveform() - >>> analyzer = timeside.analyzer.MaxLevel() - >>> encoder = timeside.encoder.Mp3Encoder('output.mp3') - >>> (decoder | grapher | analyzer | encoder).run() - >>> grapher.render(output='image.png') - >>> print 'Level:', analyzer.result() +APIs +==== -UI Integration -=============== +Engine API : http://code.google.com/p/timeside/source/browse/trunk/timeside/api.py -See TimeSide UI integration guide: http://code.google.com/p/timeside/wiki/UiGuide +Player API and guide : http://code.google.com/p/timeside/wiki/UiGuide -More examples -============== +Platforms +========= - * http://code.google.com/p/timeside/ - * http://archives.crem-cnrs.fr/items/CNRSMH_I_1956_002_001_01/ - * http://demo.telemeta.org (login: demo , pass: demo) +The TimeSide engine is intended to work on all Unix / Linux platforms, but 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. -Related projects -================= -Telemeta : open web audio CMS (http://telemeta.org) +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:: -Copyrights -========== + $ sudo apt-get update + $ sudo apt-get install python python-pip python-setuptools python-gobject \ + python-gst0.10 gstreamer0.10-plugins-base gir1.0-gstreamer-0.10 \ + gstreamer0.10-plugins-good gstreamer0.10-plugins-bad \ + gobject-introspection + + $ sudo pip install timeside + +To get non-free MP3, MP4 or AAC decoding and encoding features, add Debian Multimedia repository and install the modules:: + + $ 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 + + +Batching +========= + +TimeSide provides ts-waveforms : a waveform redering batch script. + +Usage:: + + $ ts-waveforms /path/to/media_dir /path/to/img_dir + +Please use absolute paths. For example:: + + $ ts-waveforms /home/$user/music/mp3/ /home/$USER/images/ + +To change the color scheme or the size of the waveforms, edit the script from the source and change the variables of the GrapherScheme object:: -Copyright (c) 2006, 2011 Parisson SARL. All rights reserved. -Copyright (c) 2006, 2010 Samalyse SARL. -Copyright (c) 2010, 2012, Paul Brossier. + $ git clone git://github.com/yomguy/TimeSide.git + $ cd timeside/scripts/ + $ vi ts-waveforms + $ ./ts-waveforms /home/$user/music/mp3/ /home/$USER/images/ + + +Packages included +================= + + * SoundManager 2 >= 2.91 (http://www.schillmania.com/projects/soundmanager2) + * jQuery => 1.2.6 (http://www.jquery.com) + * jsGraphics => 3.03 (http://www.walterzorn.com/jsgraphics/jsgraphics_e.htm) License @@ -117,7 +141,19 @@ GNU General Public License for more details. See LICENSE for more details. -Contact and Informations -======================== +Development +=========== + + * http://code.google.com/p/timeside/ + * https://github.com/yomguy/TimeSide + + +Copyrights +========== + + * Copyright (c) 2006, 2012 Parisson SARL + * Copyright (c) 2006, 2012 Guillaume Pellerin + * Copyright (c) 2010, 2012 Paul Brossier + * Copyright (c) 2006, 2010 Samalyse SARL + -See http://code.google.com/p/timeside/ diff --git a/timeside/tools/telemeta_preprocess_batch.py b/scripts/old/telemeta_preprocess_batch.py similarity index 100% rename from timeside/tools/telemeta_preprocess_batch.py rename to scripts/old/telemeta_preprocess_batch.py diff --git a/timeside/tools/telemeta_preprocess_cgi.py b/scripts/old/telemeta_preprocess_cgi.py similarity index 100% rename from timeside/tools/telemeta_preprocess_cgi.py rename to scripts/old/telemeta_preprocess_cgi.py diff --git a/timeside/tools/waveform_batch_awdio.py b/scripts/old/waveform_batch_awdio.py similarity index 100% rename from timeside/tools/waveform_batch_awdio.py rename to scripts/old/waveform_batch_awdio.py diff --git a/timeside/tools/waveform_batch.py b/scripts/ts-waveforms old mode 100644 new mode 100755 similarity index 100% rename from timeside/tools/waveform_batch.py rename to scripts/ts-waveforms diff --git a/setup.py b/setup.py index cfbb4cf..e76cf43 100644 --- a/setup.py +++ b/setup.py @@ -1,7 +1,6 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- from setuptools import setup, find_packages -import os CLASSIFIERS = [ 'Intended Audience :: Science/Research', -- 2.39.5