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 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.
+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 (time-marking) and remote indexing.
The engine (server side) is fully written in Python, the player (client side) in HTML, CSS and JavaScript.
# You should have received a copy of the GNU General Public License
# along with TimeSide. If not, see <http://www.gnu.org/licenses/>.
+
from timeside.component import Interface
+
class IProcessor(Interface):
"""Common processor interface"""
# implementations should always call the parent method
+
class IEncoder(IProcessor):
"""Encoder driver interface. Each encoder is expected to support a specific
format."""
It isn't required to call this method, but if called, it must be before
process()."""
+
class IDecoder(IProcessor):
"""Decoder driver interface. Decoders are different of encoders in that
a given driver may support several input formats, hence this interface doesn't
"""Return a PIL Image object visually representing all of the data passed
by repeatedly calling process() and write the image to the output if specified"""
+
class IAnalyzer(IProcessor):
"""Media item analyzer driver interface. This interface is abstract, it doesn't
describe a particular type of analyzer but is rather meant to group analyzers.
def unit():
"""Return the unit of the data such as "dB", "seconds", etc... """
+
class IValueAnalyzer(IAnalyzer):
"""Interface for analyzers which return a single numeric value from result()"""
"""Return a human readable string containing both result and unit
('5.30dB', '4.2s', etc...)"""
+
class IEffect(IProcessor):
"""Effect processor interface"""