From: yomguy Date: Fri, 18 Jun 2010 18:14:25 +0000 (+0000) Subject: add INSTALL and few infos X-Git-Tag: 0.3.2~139 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=733a001a6d9cbb927e2dfb79c84e932db22becc8;p=timeside.git add INSTALL and few infos --- diff --git a/INSTALL b/INSTALL new file mode 100644 index 0000000..22aa818 --- /dev/null +++ b/INSTALL @@ -0,0 +1,119 @@ +======= +INSTALL +======= + +This file describe how to install the TimeSide python package from source. + + +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 Lenny 5.x Stable. Is it now considered you have install this system correctly. + +Become root. In a terminal or console, run:: + + $ su + +Write your root password. + +Add backports repository to the apt sources.list:: + + $ echo "deb http://www.backports.org/debian lenny-backports main contrib non-free" | tee -a /etc/apt/sources.list + +Note : you can paste the full command but without the shell character '$'. +Then : + + $ apt-get update + $ apt-get -t lenny-backports upgrade + +Say 'YES' to all questions. Then:: + + $ apt-get install -t lenny-backports vim subversion python python-setuptools python-xml python-mutagen \ + python-imaging python-numpy python-gst0.10, gstreamer0.10-plugins-base \ + gstreamer0.10-plugins-fluendo-mp3 gstreamer0.10-plugins-good + + +Install TimeSide +================ + +Get the code and install:: + + $ svn export http://timeside.googlecode.com/svn/trunk/ timeside + $ cd timeside + $ python setup.py install + +This installs all timeside sub modules as decoders, encoders, analyzers, graphers and +a few scripts. + + +Use TimeSide +============ + +Waveform batching +----------------- +You can use waveform_batch to create some waveforms from a media (audio) directory, type:: + + $ waveform_batch /path/to/media_dir /path/to/img_dir + +Please use absolute paths. For example:: + + $ waveform_batch /home/$user/music/mp3/ /home/$USER/images/ + + +To change the color scheme or the size of the waveforms, edit the waveform_batch script:: + + $ vi timeside/tools/waveform_batch + +And change only the following variables of the GrapherScheme object:: + + self.color_scheme = { + 'waveform': [ # Four (R,G,B) tuples for three main color channels for the spectral centroid method + (50,0,200), (0,220,80), (255,224,0), (255,0,0) + ], + 'spectrogram': [ + (0, 0, 0), (58/4,68/4,65/4), (80/2,100/2,153/2), (90,180,100), (224,224,44), (255,60,30), (255,255,255) + ]} + + # Width of the image + self.width = 2048 + + # Height of the image + self.height = 128 + + # Background color + self.bg_color = (255,255,255) + + # Force computation. By default, the class doesn't overwrite existing image files. + self.force = False + +Save the script and re-run setup:: + + $ python setup.py install + + +Any other pipe processing ! +--------------------------- + +For example, a normalization and a waveform, from a python shell:: + +>>> import timeside + +>>> decoder = timeside.decoder.FileDecoder('source.wav') +>>> grapher = timeside.grapher.Waveform('image.png') +>>> max = timeside.analyzer.MaxLevel() +>>> encoder = timeside.encoder.WavEncoder('normalized.wav') +>>> (decoder | max).run() +>>> gain = max.result() > 0 and (1 / max.result()) or 1 +>>> (decoder | Gain(gain) | grapher | encoder).run() + + +See the website for more examples and information about the TimeSide API: + +http://code.google.com/p/timeside/ +http://code.google.com/p/timeside/wiki/PythonApi +http://code.google.com/p/timeside/source/browse/trunk/timeside/api.py + diff --git a/timeside/tools/waveform_batch b/timeside/tools/waveform_batch index b93d659..618aea7 100644 --- a/timeside/tools/waveform_batch +++ b/timeside/tools/waveform_batch @@ -31,17 +31,24 @@ class GrapherScheme: def __init__(self): self.color_scheme = { - 'waveform': [ + 'waveform': [ # Four (R,G,B) tuples for three main color channels for the spectral centroid method (50,0,200), (0,220,80), (255,224,0), (255,0,0) ], 'spectrogram': [ (0, 0, 0), (58/4,68/4,65/4), (80/2,100/2,153/2), (90,180,100), (224,224,44), (255,60,30), (255,255,255) - ]} + ]} + # Width of the image self.width = 2048 + + # Height of the image self.height = 128 + + # Background color self.bg_color = (255,255,255) - self.force = True + + # Force computation. By default, the class doesn't overwrite existing image files. + self.force = False class Media2Waveform(object):