]> git.parisson.com Git - telemeta.git/commitdiff
Changed README and INSTALL
authoryomguy <>
Mon, 28 May 2007 18:13:03 +0000 (18:13 +0000)
committeryomguy <>
Mon, 28 May 2007 18:13:03 +0000 (18:13 +0000)
INSTALL
README
debian/control
telemeta/export/flac.py
telemeta/export/mp3.py
telemeta/export/ogg.py
telemeta/export/wav.py
telemeta/visualization/octave/spectrogram2img.m
telemeta/visualization/octave/waveform2img.m

diff --git a/INSTALL b/INSTALL
index c1a629a9fc070558dbd3e71714fe1bd06421d965..c0e0c8af00c302b4139915a2af82396ebb56601c 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -1,51 +1,43 @@
 INSTALL
 =======
 
-Telemeta is written in python. So it doesn't require any compilation step
-but the installation of some other programs.
+# 1. Requirements
+# ===============
 
-* On debian or Ubuntu just add these lines to your /etc/apt/sources-list:
+python (>= 2.3.5-7), python-xml, python-central (>= 0.5),
+python-mutagen, python-django, sox, vorbis-tools, flac, normalize-audio,
+ecasound, festival, par2, python-mysqldb, sqlite3 | mysql-server, octave2.9,
+octave2.9-forge, python-tk
 
-       deb http://debian.parisson.org/ binary/
-       deb-src http://debian.parisson.org/ source/
 
-       Then,
+# 2. Donwload
+# ===============
 
-       sudo apt-get update
-       sudo apt-get install telemeta
+ * On debian or Ubuntu just add these lines to your /etc/apt/sources-list:
 
-       All the depending packages will be installed.
+    deb http://debian.parisson.org/ binary/
+    deb-src http://debian.parisson.org/ source/
+    deb http://www.debian-multimedia.org etch main
 
-* On other platforms, the first thing to do is then to install
-python for your system with your favorite package manager (Linux
-based distribution) or download and install it (Windows, MacOS) from
-http://www.python.org/download/.
+    Then,
 
-       To access the full power of telemeta's useful features, compile
-       and/or install by the same way (you may find them in your package
-       manager) the following programs :
+    sudo apt-get update
+    sudo apt-get install telemeta
 
-       - python (http://www.python.org)
-       - python-xml
-       - python-mutagen
-       - oggenc (http://www.vorbis.com/)
-       - sox (http://sox.sourceforge.net/)
-       - flac (http://flac.sourceforge.net/)
-       - lame (http://lame.sourceforge.net/)
-       - ecasound (http://eca.cx/ecasound/)
-       - wavbreaker (http://huli.org/wavbreaker/)
-       - festival (http://www.cstr.ed.ac.uk/projects/festival/)
-       - par2
-       
-       Get the lastest version with :
+ * On other linux platforms, install all dependencies and get the lastest tar.gz
+   version on :
 
-       svn co http://svn.parisson.org/svn/telemeta/trunk telemeta --username=anonymous
+    http://debian.parisson.org/
 
-       Now, open a shell (console, terminal, etc..), go to the main
-       Telemeta directory and type AS ROOT :
+    Uncompress the archive.
+
+ * You can also get the lastest develoment version with subversion:
+
+    svn co http://svn.parisson.org/svn/telemeta/trunk telemeta
+
+
+See README and http://svn.parisson.org/telemeta for more informations.
 
-       python install.py
 
 
-type telemeta --help for more informations.
 
diff --git a/README b/README
index a8bd803b1dfdbd438ac57abc5b4c03e584af7220..293b8be22ea88235179ac73bae51438a6551e495 100644 (file)
--- a/README
+++ b/README
@@ -7,132 +7,123 @@ Telemeta: backups, transcodes, tags and marks any audio content with metadata
 # 1. Introduction
 # ===============
 
-Telemeta is an audio tool which creates audio transcoded databases fast
-from fresh mastered files. It can be useful to backup digitalized audio
-media from vinyls, old tapes or whatever.
+Telemeta is a global audio archiving program which introduces useful and secure
+indexing methods to backup digitalized audio files and metadata dictionnaries.
+It is dedicated to backup any digitized and documented sound from collections of
+vinyls, magnetic tapes or audio CD over a strong database in accordance with
+many standards. Export functions also encapsulate edited metadata into
+compressed file. The object style architecture will soon provide user-friendly
+interfaces and plugin' style audio processing.
 
-Telemeta first creates a simple structure where original sounds will be
-backuped. The files can be transcoded to WAV, FLAC, MP3 and OGG including
-the corresponding tags.
+Here are the main features of Telemeta: 
 
 Here are some cool functions:
 
-  - XML generation for metadata tags of backuped WAV
-  - Audio marking from a given file or from tags thanks to the Festival 
-    speech systhesis tool
-  - File corruption security with par2 recovery files
-  - Database synchronizing to remote servers (ssh+rsync)
-  - Modify metadata from XML or interactive shell
+    * Secure media editing and archiving over networks.
+    * Easy transcoding
+    * Full tagging and marking methods
+    * XML metadata backup
+    * Web interface introducing WorkFlow.
+    * SQL backend (still in dev from march 2007).
+    * Data anti-corruption security with par2 recovery keys
+    * Data synchronizing over remote servers (rsync)
+    * Auto AudioMarking? from metadata (thanks to Festival and Ecasound) 
+
+The Telemeta concept is based on collections. A collection includes original
+sounds - or albums containing sounds - which will be backuped in a secure way
+with a view of transcoded 'public' formats (WAV, FLAC, MP3, OGG and many more
+soon...) including metadata editing and publishing tools.
 
 
 # 2. Requirements
 # ===============
 
-python (>= 2.3.5-7), python-xml, python-central (>= 0.5), python-mutagen,
-sox, vorbis-tools, flac, lame, normalize-audio, ecasound, festival, par2
+python (>= 2.3.5-7), python-xml, python-central (>= 0.5),
+python-mutagen, python-django, sox, vorbis-tools, flac, normalize-audio,
+ecasound, festival, par2, python-mysqldb, sqlite3 | mysql-server, octave2.9,
+octave2.9-forge, python-tk
 
 
-# 3. Installation
-# ===============
+# 3. Installation and usage
+# =========================
 
-Telemeta is written in python. So it doesn't require any compilation step.
+1 - Checkout Telemeta:
 
-On debian or Ubuntu just add these lines to your /etc/apt/sources-list:
+    $ cd ~/my_apps
+    $ svn co http://svn.yomix.org/svn/telemeta/trunk telemeta 
 
-       deb http://debian.parisson.org/ binary/
-       deb-src http://debian.parisson.org/ source/
+    Compile wav2png in telemeta/telemeta/visualization/wav2png (you will need
+    libgd and libsndfile for that)
 
-Then,
+2 - Install the development version of the Django framework:
 
-       sudo apt-get update
-       sudo apt-get install telemeta
+    Warning: last know revision that works with Telemeta: 5313
+    See http://www.djangoproject.com
 
-On other linux platforms, get the lastest tar.gz version on :
+3 - Create a Django project if you haven't already done it:
 
-       http://debian.parisson.org/
+    $ cd ~/my_projects
+    $ django-admin startproject mysite
 
-and uncompress the archive.
-You can also get the lastest develoment version with subversion:
+4 - Put a link to telemeta into your Django project:
 
-       svn co http://svn.parisson.org/svn/telemeta/trunk telemeta --username=anonymous
+    $ ln -s ~/my_apps/telemeta/telemeta ~/my_projects/mysite/telemeta
 
-Then go into the created directory and just type this with your favorite shell :
+    OR: add the telemeta path to PYTHONPATH
 
-       python install.py
+5 - Create the media and cache directories:
 
-Just press 'enter' for the password.
+    $ cd mysite
+    $ mkdir media cache
 
-See INSTALL file for more informations.
+    You might want to place these somewhere else
+6 - Configure Django (settings.py):
 
+    Modifiy the following variables:
 
-# 4. Usage
-# ========
+    DATABASE_*: your database settings (don't forget to create the database if needed)
+    MEDIA_ROOT: absolute path to the media directory you just created
+    INSTALLED_APPS: add 'mysite.telemeta'
 
-In order to backup all original or transcoded files into a collection,
-telemeta needs first to create his repository. Let's type :
+    Add the following variables:
 
-       telemeta --create COLLECTION
+    TELEMETA_CACHE_DIR: absolute path to the cache directory you just created
 
-Replacing COLLECTION with the name of your collection. Answer to
-the questions. A target directory is then created. All answers
-are saved into YOUR_HOME/.telemeta/default_database.xml and
-YOUR_HOME/.telemeta/COLLECTION.xml
+    Just paste the two lines below:
+    TELEMETA_EXPORT_CACHE_DIR = TELEMETA_CACHE_DIR + "/export"
+    CACHE_BACKEND = "file://" + TELEMETA_CACHE_DIR + "/data"
 
-To backup a wav file, type :
+7 - Initialize the database:
 
-       telemeta --backup COLLECTION FILE.WAV
+    $ python manage.py syncdb
 
-where you have to replace FILE.WAV by the local file of your choice you
-want to add in the database. Then, answer to the questions. All answers
-are saved into YOUR_HOME/.telemeta/default_tags.xml and will be use for
-the next execution. The program will automatically transcode the wav (or
-aiff) file to the types you have defined (for example FLAC, MP3 and/or OGG)
-and place them into each directory of the repository (for example flac/,
-mp3/ and/or ogg/).
+8 - Configure your urls:
 
-To backup an entire directory, type :
+    The simplest case is to have telemeta running at public root. To do so, add 
+    this url in urls.py :
 
-       telemeta --backup COLLECTION --album DIRECTORY
+    (r'^', include('telemeta.urls')),
 
-where you have to replace DIRECTORY by the local directory containing all
-the audio files you want to add in the database.
+9 - Start the project:
 
-Other options:
+    $ python manage.py runserver 
 
-       --from-xml     takes tags and opts in original xml source
-       --force        forces file conversion (no audio test)
-       --par2         forces par2 file creation
-       --all-default  chooses default argument for all question
-       --recover      check an repair the backuped media with the previously 
-                       created "par2" security key
-       --rsync        synchronizes database to a remote server (ssh+rsync)
-       --erase        erases a collection (FLAC, OGG, MP3 only, never WAV !)
-       --help         gives help page
+10 - Go the web page:
 
-# 5. EXAMPLES
-# ===========
+    http://localhost:8000
 
-       telemeta --create my_collection
-       telemeta --backup my_collection file.wav
-       telemeta --backup my_collection --album ./
-       telemeta --backup my_collection --album --par2 --rsync ./
-       telemeta --backup my_collection --album --par2 --rsync --force ./ \n
 
-# 6. TODO
-# =======
+See INSTALL and http://svn.parisson.org/telemeta for more informations.
 
-- HTTP web interface (metadata adding, editing, uploading, searching)
-- debug id3 editing
-- add media types
 
-# 7. Feedback
+# 4. Feedback
 # ===========
 
 Please give me some feedback. Tell me if Telemeta suits you or if you
 would need some other interesting features.  You are welcome to mail me
 at <yomguy@altern.org>
 
-# 8. Contact
+# 5. Contact
 # ==========
 
 Home page : http://svn.parisson.org/telemeta
index 73a267020c8c7877bc9bb3a9dd1b951571d00591..57ee659436a5cd827b630afb5547f4a433d1572e 100644 (file)
@@ -3,15 +3,18 @@ Section: sound
 Priority: optional
 Maintainer: Guillaume Pellerin <yomguy@altern.org>
 Uploaders: Paul Brossier <piem@debian.org>
-Build-Depends: debhelper (>= 5.0.0), docbook-to-man, python (>= 2.3.5-7), python-dev (>= 2.3.5-7), python-central (>= 0.5)
+Build-Depends: debhelper (>= 5.0.0), docbook-to-man, python (>= 2.3.5-7),
+python-dev (>= 2.3.5-7), python-central (>= 0.5)
 Standards-Version: 3.7.2
 XS-Python-Version: >= 2.3
 
 Package: telemeta
 Architecture: any
 Depends: python (>= 2.3.5-7), python-xml, python-central (>= 0.5),
-python-mutagen, python-django, sox, vorbis-tools, flac, lame, normalize-audio,
-ecasound, festival, par2, python-mysqldb, sqlite3 | mysql-server, octave2.9
+python-mutagen, python-django, sox, vorbis-tools, flac, normalize-audio,
+ecasound, festival, par2, python-mysqldb, sqlite3 | mysql-server, octave2.9,
+octave2.9-forge, python-tk
+Suggests: lame
 XB-Python-Version: ${python:Versions}
 Description: backups, transcodes, tags and marks any audio content with metadata
  Telemeta is an audio tool which creates audio transcoded databases fast from
index 77f319dcbdcea97490e7b52dbe07d6b832e16fb5..f50a221ab78d7a498a55dbce08350f27e24a96c9 100644 (file)
@@ -128,7 +128,8 @@ class FlacExporter(ExporterCore):
 
         # Processing (streaming + cache writing)
         stream = self.core_process(self.command, self.buffer_size, self.dest)
-        return stream
+        for chunk in stream:
+            yield chunk
     
         # Post-proccessing
         self.post_process(self.item_id,
index 4ff7d8886c76e5e527aaaa7aa01d3d4082edee4d..c83344c891cfe3a3fed9ab80f250fb5771dcd899 100644 (file)
@@ -142,7 +142,8 @@ class Mp3Exporter(ExporterCore):
 
         # Processing (streaming + cache writing)
         stream = self.core_process(self.command,self.buffer_size,self.dest)
-        return stream
+        for chunk in stream:
+            yield chunk
     
         # Post-proccessing
         self.post_process(self.item_id,
index 152606394883a9e4dfdd690f5a1f1c0c82f43cc4..ea641820c0af35d481f6680de1ba2ed73ee6412b 100644 (file)
@@ -122,7 +122,8 @@ class OggExporter(ExporterCore):
 
         # Processing (streaming + cache writing)
         stream = self.core_process(self.command,self.buffer_size,self.dest)
-        return stream
+        for chunk in stream:
+            yield chunk
     
         # Post-proccessing
         self.post_process(self.item_id,
index c323fa908e1ffa283903e9d2228e6d2cbde5bfaa..576bb87a8f3924c70000c1dd052c5fec4bfcc914 100644 (file)
@@ -111,17 +111,14 @@ class WavExporter(ExporterCore):
                                         self.options)
 
         # Initializing
-        chunk = 0
         file_in = open(self.source,'rb')
         file_out = open(self.dest,'w')
 
-        chunk = file_in.read(self.buffer_size)
-        yield chunk
-        file_out.write(chunk)
-
         # Core Processing
-        while chunk:
+        while True:
             chunk = file_in.read(self.buffer_size)
+            if len(chunk) == 0:
+                break
             yield chunk
             file_out.write(chunk)
 
index 52a1e1f4355d5e4dcef2f8bb3bc9b43e2f772ccc..8d1d8fe4adb07bffef24b0e42ad0e93540d7ed8a 100644 (file)
@@ -12,7 +12,7 @@
 #
 # SpectrogramVisualizer2.m
 #
-# Depends: octave2.9, spectrogram.m, xloadimage, imagemagick
+# Depends: octave2.9, octave2.9-forge, spectrogram.m, xloadimage, imagemagick
 
 clear all;
 close all;
index 4edeb2f4ca6926e137284c6c33c4276c183a773c..69e8f6ce1307522d8d2a271c40afcfbc16f8729b 100644 (file)
@@ -12,7 +12,7 @@
 #
 # SpectrogramVisualizer2.m
 #
-# Depends: octave2.9, spectrogram.m, xloadimage, imagemagick
+# Depends: octave2.9, octave2.9-forge
 
 clear all;
 close all;