Music production tools at the Ruby Drink-up of Sophia, September 2011

Preview:

DESCRIPTION

A complete chain of music production tools making good use of Ruby.Presented at the Ruby Drink-up of Sophia Antipolis on the 6th of September 2011 by Muriel Salvan (@MurielSalvan).http://rivierarb.fr/2011/09/06/BackToSchool-Drinkup/

Citation preview

Ruby in a music production Ruby in a music production tool-chaintool-chain

Sep 6th 2011

Muriel SalvanX-Aeon Solutions

http://x-aeon.com

Who am I ?

Muriel SalvanCreator of X-Aeon SolutionsOpen Source Lead developer and architectFights for software freedom

What is a music production tool-chain ?

Songwriting Recording Mixing Mastering

Distribution Promotion Statistics

Backup

Why new tools?

We want:

Automated tasks

Deterministic and precise processes

Processing power handling high quality audio

Low costs on software

Integrated software with existing applications

=> Software constraints: Free, Simple, Precise, Automated, Extensible, Can be integrated easily

Why new tools?

Existing music software:

Very costly

Lacks precision and determinism

Big complex integrated frameworks

Automation and plug-ins use proprietary protocols

Rarely handles high quality audio

My specifications:

Free => Open Source

Simple => Several independent tools

Easy integration => Command line interface

Automated/Customizable => Configuration files

Why new tools?

Why Ruby?

Easy to implement and test quickly

Easy to interface with C for performance

No need for complex GUI

Quality libraries handling most of the work needed

Recording, Mixing, Mastering

Transform and analyze audio files (remove noise, strip silence, compress, DC offset, synch, mix, amplify, Fourier profile...) => Wave Swiss Knife

1 task = 1 plug-in Simple command line parameters C libraries for performance Handles any type of Wave file

http://waveswissknife.sourceforge.net

Analyze recordings, organize and automate tasks during mixing and mastering, and deliver files with proper formats => Music Master

Handles all processes from recording to producing distribution ready audio files Uses Wave Swiss Knife Can be used to produce complete albums

Recording, Mixing, Mastering

http://musicmaster.sourceforge.net

Distribution

Distribute on a dedicated website => Ruby on Rails

Handle user accounts Provide shopping carts Deliver multimedia content Integrate external forums, blogs, chats, podcast AJAX compliant

http://rubyonrails.org/

StatisticsGet statistics from many websites: web-

scraping, consolidation in a database => Stats Collect

Display statistics => Ruby on Rails

http://statscollect.sourceforge.net

Easily extensible: 1 plug-in per web source Handle batches of collections orders

Organize files to easily work and use tools to backup, clean up generated or temporary ones, and keep track of files dependencies => FSCMS conventions + toolbox

Conventions can be used without toolbox Extensible using plug-ins for processes Handles files generation mechanisms

Songwriting and backup

http://fscms.sourceforge.net

What next?

Contributors welcome! (testers, developers, writers...)

Write tests to get out of Beta status

Port WSK on many platforms

Finish FSCMS toolbox

Complete documentation

Create a generic Rails platform for users maintaining and tracking their social networks (synchronization, statistics...)

Create Rails gems for complete AJAX handling and external websites integration

Q/A