Main Page

From MusicMaster

Revision as of 13:40, 7 March 2012 by Muriel (Talk | contribs)
(diff) ← Older revision | Current revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Music Master


[edit] Overview

Music Master is a little collection of command line tools that assists a sound engineer when recording, mixing, mastering and delivering tracks.

It cannot replace the expertise of Mixing and Mastering engineers. It is just a tool helping those professionals plan and automate their Mix and Master processes.

[edit] Why MusicMaster can be useful to you ?

  • MusicMaster helps you keep track of any processing you make on your audio files from their recording, through calibration, mixing and delivery. Starting with the same audio files as input and using the same MusicMaster configuration will always give you the same mix at the end.
  • During its processing, MusicMaster creates temporary audio files that are always reused when needed to optimize performance during lengthy operations. You can tune your configuration if you are not happy with your mix, and MusicMaster will do just the minimum processing to re-produce your mix.
  • MusicMaster performs on any WAV PCM audio files, whatever their number of channels (1..infinity), bit depths (8, 16, 24) and sample rate (1..infinity).
  • MusicMaster uses bit-perfect tools to process audio files, so no quality is lost due to averaging or random algorithmic side-effects.
  • MusicMaster uses high-quality audio files (WAV PCM) through all its processes, and keeps the format conversion step to the very last delivery part.
  • Thanks to its simple command-line interface, MusicMaster can be easily integrated in other software.

[edit] Installation

[edit] Using RubyGems

If you have RubyGems installed, you can install using:

=> gem install MusicMaster
Successfully installed MusicMaster-
1 gem installed
Installing ri documentation for MusicMaster-
Installing RDoc documentation for MusicMaster-

It will also eventually install rUtilAnts and WaveSwissKnife gems if they are not already present in your system.

[edit] Dependencies

Music Master uses the following projects:

Each one of these software has to be installed before installing Music Master.

Music Master is written in Ruby language (which should also be installed).

[edit] Limitations

MusicMaster is platform independent as it is written in Ruby language. However its dependency (WaveSwissKnife) is not platform-dependent as some optimized functions are written in C language. If you can't install MusicMaster for your platform due to missing WaveSwissKnife release, please check WaveSwissKnife's page to know how to install and compile WaveSwissKnife from its source code.

[edit] Usage

[edit] Overview

Music Master has 7 commands:

  • Command Record: Record different Tracks and name them correctly for further commands.
  • Command Clean: Clean recorded files (remove noise, DC offset...) based on environmental recordings.
  • Command Calibrate: Calibrate recorded files by comparing 2 recordings made in 2 different environments.
  • Command Process: Apply processing (apply gain, compress, remove silent parts...) to recorded files or any sound file.
  • Command Mix: Mix some audio files or recordings.
  • Command Deliver: Deliver the result of a Mix in several formats (PCM, MP3...).
  • Command DBConvert: A simple conversion tool between ratios and decibels.

Music Master commands use a global configuration files (usually named musicmaster.conf.rb) containing the global configuration of Music Master (paths to external programs, values used in some processes...). See musicmaster.conf.rb to know how to write it.

Each command (except DBConvert) then uses a configuration file describing the project (usually named record.conf.rb). This file describes how tracks are recorded, how the mix will be performed, what processes to apply... See WritingRecordConf to know how to write it.

Each command is invoked directly from the command line (in some environments you need to add a .rb or .rb.bat suffix to the command's name):

> DBConvert
Usage: DBConvert.rb <Value>
  <Value>: Either a ratio (0.43) or a db value (4.1db)

To know each command's parameters and how to use them, see the Commands page.

[edit] Common usage when producing a mix

In order to take full advantage of MusicMaster, you first need to understand how MusicMaster mixes audio files:

  • Static audio files can be specified as input. Processes can be applied to them.
  • Recorded audio files are cleaned and calibrated before being processed. Those steps need also calibration files, or environmental recordings. MusicMaster will always ask you to provide the files it needs as input.
  • A Mix is a tree of sub-mixes and processes: you can specify several sub-mixes, each one mixing from static/recorded audio files and also the result of other sub-mixes. Processes can be applied at any step of the Mix. This way you organize your mix the way you want.
  • A delivered file uses the result of a mix (or sub-mix), and produces different files corresponding to different formats.

Here is a MusicMaster's workflow example:


This explains common steps used to produce a complete mix from scratch.

  1. Write the record.conf.rb file (see WritingRecordConf page to know its structure).
  2. Use the Record command to record all the takes in all your recording environments.
  3. Use the Mix command to mix all recorded and static audio files. This command will also automatically clean, calibrate and process files if not already done.
  4. Check the result of your Mix. Tune the record.conf.rb parameters and go back to step 3. (or 2. if you need recording again) unless you're satisfied with the mix.
  5. Use the Deliver command to get your final files ready.

As those processes can be time-consuming, MusicMaster will store temporary files in the directory you are working in. This way you can check intermediate steps of MusicMaster's processing.

You can always re-invoke a command at any time: MusicMaster is optimized to always reuse temporary files when possible. For example if the complete Mix took 10 minutes to perform, and you decide to change only the last Mix processing, then invoking Mix command will only re-process the last step of the Mix.

[edit] Useful documentation

The following links will help you use MusicMaster:

[edit] Contact

For any suggestion/question/improvement/contribution, please email me.

Muriel Salvan

Personal tools

 MusicMaster Links

Home page
Download v1.0.1 Beta - 27 Aug 2013
User Guide
Bugs tracker
Features tracker
BSD License

 Developer Links

Developer Guide
Source Code
Source Doc.

 Muriel Salvan

Muriel's page
X-Aeon Solutions
Muriel's blog
Muriel tweets
File:T_EMail.png Contact Muriel

 MusicMaster Pages