14
Ruby in a music production Ruby in a music production tool-chain tool-chain Sep 6 th 2011 Muriel Salvan X-Aeon Solutions http://x-aeon.com

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

Embed Size (px)

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

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

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

Sep 6th 2011

Muriel SalvanX-Aeon Solutions

http://x-aeon.com

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

Who am I ?

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

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

What is a music production tool-chain ?

Songwriting Recording Mixing Mastering

Distribution Promotion Statistics

Backup

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

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

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

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

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

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

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

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

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

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

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

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/

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

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

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

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

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

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

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

Q/A