Upload
rivierarb
View
842
Download
2
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
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
Links & Credits
Wave Swiss Knife
Music Master
Ruby on Rails
Stats Collect
FSCMSMuriel Salvan's blog, Github, TwitterRiviera.rbX-Aeon Solutions
Some icons designed by:Creative nerdsVisual Pharm
Pixel Mixer
This presentation is available under CC-BY license by Muriel Salvan
Q/A