Python audio processing framework and server made for the web
Python JavaScript HTML CSS Shell Nginx
Latest commit 18b2eda Jun 9, 2016 @yomguy yomguy Merge branch 'dev'
Conflicts:
	setup.py
Permalink
Failed to load latest commit information.
app refactor app, env and script structure, upadete paths and volumes Apr 13, 2016
doc add doc build script Jun 3, 2016
env Add source volume in development composition Apr 26, 2016
etc refactor app, env and script structure, upadete paths and volumes Apr 13, 2016
scripts Fix minor bug in timeside-waveforms Jan 26, 2016
tests goto AGPL v3 Feb 11, 2016
timeside Merge branch 'dev' of github.com:Parisson/TimeSide into dev Apr 13, 2016
.coveralls.yml Add coveralls configuration file Feb 2, 2016
.dockerignore rename media container and folder to data, prefer explicite DB parame… Jan 14, 2016
.gitignore update gitignore Jun 3, 2016
.travis.yml Fix Travis-CI Apr 13, 2016
AUTHORS.txt update README and NEWS Oct 6, 2014
Dockerfile Update base image in Dockerfile Feb 2, 2016
LICENSE.txt goto AGPL v3 Feb 11, 2016
MANIFEST.in update news again Jan 25, 2015
NEWS.rst fix various release infos Jul 10, 2015
README.rst downgrade django-bootstrap3 (TM #103), update doc Apr 13, 2016
conda-requirements.txt Update conda requirements and add Jupyter notebok support Nov 9, 2015
debian-requirements.txt Clean-up Dockerfile & Co Jan 29, 2016
docker-compose.yml refactor app, env and script structure, upadete paths and volumes Apr 13, 2016
environment-pinned.yml Update pinned packages environment Apr 26, 2016
environment.yml Update packages pinned versions Apr 13, 2016
requirements.txt fix drf version Mar 9, 2015
setup.py refactor app, env and script structure, upadete paths and volumes Apr 13, 2016

README.rst

TimeSide : audio processing framework for the web

Version Downloads travis_master coveralls_master

TimeSide is a python framework enabling low and high level audio analysis, imaging, transcoding, streaming and labelling. Its high-level API is designed to enable complex processing on very large datasets of any audio or video assets with a plug-in architecture, a secure scalable backend and an extensible dynamic web frontend.

Use cases

  • Scaled audio computing (filtering, machine learning, etc)
  • Web audio visualization
  • Audio process prototyping
  • Realtime and on-demand transcoding and streaming over the web
  • Automatic segmentation and labelling synchronized with audio events

Goals

  • Do asynchronous and fast audio processing with Python,
  • Decode audio frames from any audio or video media format into numpy arrays,
  • Analyze audio content with some state-of-the-art audio feature extraction libraries like Aubio, Yaafe and VAMP as well as some pure python processors
  • Visualize sounds with various fancy waveforms, spectrograms and other cool graphers,
  • Transcode audio data in various media formats and stream them through web apps,
  • Serialize feature analysis data through various portable formats,
  • Playback and interact on demand through a smart high-level HTML5 extensible player,
  • Index, tag and annotate audio archives with semantic metadata (see Telemeta which embed TimeSide).
  • Deploy and scale your own audio processing engine through any infrastructure

Funding and support

To fund the project and continue our fast development process, we need your explicit support. So if you use TimeSide in production or even in a development or experimental setup, please let us know by:

Thanks for your help!

News

0.8

  • Add Docker support for instant installation. This allows to run TimeSide now on any OS platform!
  • Add Jupyter Notebook support for easy prototyping, experimenting and sharing (see the examples in the doc).
  • Add an experimental web server and REST API based on Django REST Framework, Redis and Celery. This now provides a real web audio processing server with high scaling capabilities thanks to Docker (clustering) and Celery (multiprocessing).
  • Start the development of a new player interface thanks to Angular and WavesJS.
  • Huge cleanup of JS files. Please now use bower to get all JS dependencies as listed in settings.
  • Add metadata export to Elan annotation files.
  • Fix and improve some data structures in analyzer result containers.
  • Many various bugfixes.

0.7.1

  • fix django version to 1.6.10 (sync with Telemeta 1.5)

0.7

  • Code refactoring:

    • Create a new module timeside.plugins and move processors therein: timeside.plugins.decoder,analyzer, timeside.plugins.encoder, timeside.plugins.fx
    • WARNING: to properly manage the namespace packages structure, the TimeSide main module is now timeside.core and code should now be initialized with import timeside.core
    • timeside.plugins is now a namespace package enabling external plugins to be automatically plugged into TimeSide (see for example timeside-diadems). This now makes TimeSide a real plugin host, yeah!
    • A dummy timeside plugin will soon be provided for easy development start.
  • Move all analyzers developped by the partners of the Diadems project to a new repository: timeside-diadems

  • Many fixes for a better processing by Travis-CI

  • Add a dox file to test the docker building continously on various distributions

For older news, please visit: https://github.com/Parisson/TimeSide/blob/master/NEWS.rst

Documentation

Install

Thanks to Docker, TimeSide is now fully available for every platform as a docker image ready to work. The image includes all the necessary applications, modules and volumes to start your project in a few seconds.

Just install, Docker engine then pull the TimeSide image:

docker pull parisson/timeside:latest

That's it! Now please go to the documentation to see how to use it.

For advanced usage (webserver, notebook, etc), you will also need Git and docker-compose.

Note

If you need to user TimeSide outside a docker image please refer to the rules of the Dockerfile which is based on a Debian stable system. But we do not provide any kind of free support in this usercase anymore (the dependency list is now huge). To get commercial support in more various usecases, please reach the Parisson dev team.

Sponsors and Partners

  • Parisson
  • CNRS (National Center of Science Research, France)
  • Huma-Num (big data equipment for digital humanities, ex TGE Adonis)
  • CREM (french National Center of Ethomusicology Research, France)
  • Université Pierre et Marie Curie (UPMC Paris, France)
  • ANR (CONTINT 2012 project : DIADEMS)
  • MNHN : Museum National d'Histoire Naturelle (Paris, France)

Related projects

Copyrights

  • Copyright (c) 2006, 2016 Parisson Sarl
  • Copyright (c) 2006, 2016 Guillaume Pellerin
  • Copyright (c) 2013, 2016 Thomas Fillon
  • Copyright (c) 2010, 2014 Paul Brossier
  • Copyright (c) 2013, 2014 Maxime Lecoz
  • Copyright (c) 2013, 2014 David Doukhan
  • Copyright (c) 2006, 2010 Olivier Guilyardi

License

TimeSide is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

TimeSide is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

Read the LICENSE.txt file for more details.