* Encoder : transcoded streams where broken. Now fixed with some smart thread controls.
* Analyzer : update VAMP plugin example in sandbox
* Analyzer : new *experimental* plugin : Limsi Speech Activity Detection Systems (limsi_sad)
- * Decoder : process any media in streaming mode giving its URL
+ * Decoder : process any media in streaming mode giving its URL
* Install : fix some setup requirements
-
+
0.5.3
* Make Analyzer rendering more generic and easy to implement
* Grapher : add a generic Class to display Analyzers through their 'render' method. For now, it only support FrameValueResult analyzer
* Core : add a condition to catch signal only if a LiveDecoder source is used
* Various bugfixes
-
+
0.5.2
* Add a general launch script "timeside-launch" (see "Shell interface")
Define some processors::
>>> import timeside
- >>> decoder = timeside.decoder.FileDecoder('sweep.wav')
+ >>> decoder = timeside.decoder.file.FileDecoder('sweep.wav')
>>> grapher = timeside.grapher.Waveform()
>>> analyzer = timeside.analyzer.Level()
>>> encoder = timeside.encoder.VorbisEncoder('sweep.ogg')
# -*- coding: utf-8 -*-
from timeside.core import *
-from timeside.decoder import FileDecoder
+from timeside.decoder.file import FileDecoder
from timeside.encoder import Mp3Encoder
import sys
# -*- coding: utf-8 -*-
from timeside.core import *
-from timeside.decoder import FileDecoder
+from timeside.decoder.file import FileDecoder
from timeside.encoder import Mp3Encoder
import sys
# -*- coding: utf-8 -*-
from timeside.core import *
-from timeside.decoder import FileDecoder
+from timeside.decoder.file import FileDecoder
from timeside.encoder import Mp3Encoder, VorbisEncoder
import sys
#! /usr/bin/env python
from unit_timeside import *
-from timeside.decoder import FileDecoder
+from timeside.decoder.file import FileDecoder
from timeside.analyzer.dc import MeanDCShift
import os
#! /usr/bin/env python
from unit_timeside import *
-from timeside.decoder import FileDecoder
+from timeside.decoder.file import FileDecoder
from timeside.analyzer.level import Level
import os
#! /usr/bin/env python
from __future__ import division
-from timeside.decoder import ArrayDecoder
+from timeside.decoder.array import ArrayDecoder
from unit_timeside import *
import numpy as np
#! /usr/bin/env python
from unit_timeside import *
-from timeside.decoder import FileDecoder
+from timeside.decoder.file import FileDecoder
from timeside.analyzer import WITH_AUBIO
if WITH_AUBIO:
from timeside.analyzer.aubio_melenergy import AubioMelEnergy
#! /usr/bin/env python
from unit_timeside import *
-from timeside.decoder import FileDecoder
+from timeside.decoder.file import FileDecoder
from timeside.analyzer import WITH_AUBIO
if WITH_AUBIO:
from timeside.analyzer.aubio_mfcc import AubioMfcc
#! /usr/bin/env python
from unit_timeside import *
-from timeside.decoder import *
+from timeside.decoder.file import FileDecoder
from timeside.analyzer import WITH_AUBIO
if WITH_AUBIO:
from timeside.analyzer.aubio_pitch import AubioPitch
#! /usr/bin/env python
from unit_timeside import *
-from timeside.decoder import FileDecoder
+from timeside.decoder.file import FileDecoder
from timeside.analyzer import WITH_AUBIO
if WITH_AUBIO:
from timeside.analyzer.aubio_specdesc import AubioSpecdesc
#! /usr/bin/env python
from unit_timeside import *
-from timeside.decoder import FileDecoder
+from timeside.decoder.file import FileDecoder
from timeside.analyzer import WITH_AUBIO
if WITH_AUBIO:
from timeside.analyzer.aubio_temporal import AubioTemporal
from __future__ import division
-from timeside.decoder import FileDecoder
+from timeside.decoder.file import FileDecoder
from timeside.core import ProcessPipe
from unit_timeside import *
expected_totalframes = [self.expected_totalframes, self.expected_totalframes +32] # +32 to handle some issue with ogg
self.assertIn(totalframes, expected_totalframes)
-
+
input_duration = decoder.input_totalframes / decoder.input_samplerate
output_duration = decoder.totalframes() / decoder.output_samplerate
if self.test_exact_duration:
from __future__ import division
-from timeside.decoder import FileDecoder
+from timeside.decoder.file import FileDecoder
from timeside.analyzer import Level
from timeside.core import ProcessPipe
import numpy as np
import numpy as np
from unit_timeside import *
from timeside.decoder.utils import get_uri, get_media_uri_info
-from timeside.decoder import ArrayDecoder
+from timeside.decoder.array import ArrayDecoder
import os
from tools import tmp_file_sink
#! /usr/bin/env python
-from timeside.decoder import FileDecoder
+from timeside.decoder.file import FileDecoder
from unit_timeside import *
import os.path
from __future__ import division
from timeside.core import *
-from timeside.decoder import *
+from timeside.decoder.file import FileDecoder
from timeside.analyzer import *
from timeside.encoder import *
from timeside.component import *
from __future__ import division
-from timeside.core import *
-from timeside.decoder import *
-from timeside.analyzer import *
+#from timeside.core import *
+from timeside.decoder.file import FileDecoder
+#from timeside.analyzer import *
from timeside.encoder import *
-from timeside.component import *
+#from timeside.component import *
from unit_timeside import *
from tools import tmp_file_sink
#! /usr/bin/env python
from unit_timeside import *
-from timeside.decoder import FileDecoder
+from timeside.decoder.file import FileDecoder
from timeside.analyzer import WITH_YAAFE
if WITH_YAAFE:
from timeside.analyzer import Yaafe
__version__ = '0.5.5'
__all__ = ['api', 'core', 'decoder', 'analyzer', 'grapher', 'encoder']
+
+print __file__
+print __name__
+
+def _discover_modules():
+ import sys
+ import pkgutil
+ import importlib
+ pkg = 'timeside'
+ #__import__(pkg)
+ package = sys.modules[pkg]
+ prefix = pkg + "."
+
+ for importer, modname, ispkg in pkgutil.iter_modules(package.__path__,
+ prefix):
+ #print modname
+ if modname.split('.')[1] in ['decoder', 'analyzer', 'encoder', 'grapher']:
+ print modname
+ mod = importlib.import_module(modname)
+
+ del mod
+ del modname
+
+
+_discover_modules()
>>> import timeside
>>> from timeside.analyzer.core import Analyzer
>>> wav_file = 'tests/samples/sweep.mp3' # doctest: +SKIP
- >>> d = timeside.decoder.FileDecoder(wav_file)
+ >>> d = timeside.decoder.file.FileDecoder(wav_file)
>>> a = Analyzer()
>>> (d|a).run()
# -*- coding: utf-8 -*-
-from file import FileDecoder
-from array import ArrayDecoder
-from live import LiveDecoder
-
-__all__ = ['FileDecoder', 'ArrayDecoder', 'LiveDecoder']
+#from file import FileDecoder
+#from array import ArrayDecoder
+#from live import LiveDecoder
+#
+#__all__ = ['FileDecoder', 'ArrayDecoder', 'LiveDecoder']
def id():
return "gst_dec"
- def __init__(self, uri, start=0, duration=None, stack=False):
+ def __init__(self, uri, start=0, duration=None, stack=False, sha1=None):
"""
Construct a new FileDecoder
self.stack = stack
self.uri = get_uri(uri)
- self._sha1 = get_sha1(uri)
+
+ if not sha1:
+ self._sha1 = get_sha1(uri)
+ else:
+ self._sha1 = sha1
self.uri_total_duration = get_media_uri_info(self.uri)['duration']
>>> import timeside
- >>> live = timeside.decoder.LiveDecoder(num_buffers=5)
+ >>> live = timeside.decoder.live.LiveDecoder(num_buffers=5)
>>> a = timeside.analyzer.Waveform()
- >>> e = timeside.encoder.Mp3Encoder('/tmp/test_live.mp3',
+ >>> e = timeside.encoder.mp3.Mp3Encoder('/tmp/test_live.mp3',
... overwrite=True)
>>> pipe = (live | a | e)
>>> pipe.run() # doctest: +SKIP
# -*- coding: utf-8 -*-
-
-from ogg import VorbisEncoder
-from wav import WavEncoder
-from mp3 import Mp3Encoder
-from flac import FlacEncoder
-from m4a import AacEncoder
-from webm import WebMEncoder
-from audiosink import AudioSink
-from opus import OpusEncoder
-
-__all__ = ['VorbisEncoder', 'WavEncoder', 'Mp3Encoder', 'FlacEncoder',
- 'AacEncoder', 'WebMEncoder', 'AudioSink', 'OpusEncoder']
+#
+#from ogg import VorbisEncoder
+#from wav import WavEncoder
+#from mp3 import Mp3Encoder
+#from flac import FlacEncoder
+#from m4a import AacEncoder
+#from webm import WebMEncoder
+#from audiosink import AudioSink
+#from opus import OpusEncoder
+#
+#__all__ = ['VorbisEncoder', 'WavEncoder', 'Mp3Encoder', 'FlacEncoder',
+# 'AacEncoder', 'WebMEncoder', 'AudioSink', 'OpusEncoder']
>>> import timeside
>>> wav_file = 'tests/samples/guitar.wav' # doctest: +SKIP
- >>> d = timeside.decoder.FileDecoder(wav_file)
- >>> e = timeside.encoder.AudioSink()
+ >>> d = timeside.decoder.file.FileDecoder(wav_file)
+ >>> e = timeside.encoder.audiosink.AudioSink()
>>> (d|e).run() # doctest: +SKIP
"""