M9 Docs   Audio Files, Streams And Samples

In MuLab the different terms audio files, audio streams and samples are used. Here is the explanation of the difference:

Audio Files are the pure files on a storage medium (eg harddisk, USB stick, ...) that contain digitally recorded sound.

Now MuLab can play audio files in 2 ways: As an Audio Stream or as a Sample.

An Audio Stream is a project object that streams an AIFF or WAVE audio file at its original pitch, and because it's streamed it can be as long as you want because only the actual portion that is playing is loaded into RAM. An Audio Stream object is not the audio file itself, thus the question "Delete Audio Stream X?" will only delete the streaming object, not the audio file itself.

Because audio files are streamed at the current audio engine's samplerate, an audio file that has a different samplerate than the samplerate of your audio device would sound at higher/lower pitch. For example, imagine you have an audio file with a 440 Hz sine wave recorded at samplerate 44.1 kHz. Now if you would stream it at 96 kHz, that would result in a (96/44.1) x 440 = 957.8 Hz sine wave. To anticipate for this possible problem, the app will resample the audio file so it matches the audio engine's samplerate so it will still sound at its original pitch. The resampled version is saved in the same folder and with the same filename but with extension .MuWave. When you modify the original audio file, the resampled version will be automatically updated too.

A Sample is an AIFF, WAVE, REX, MP3, OGG or FLAC audio file (the 32 bit version also supports .RX2 files (REX)) that is fully loaded into RAM, and so it can be easily pitched up/down using a (Multi) Sample Player module. If the app finds a key name in the sample filename, for example "Trumpet-A4" implicitly tells that it's a Trumpet at A4, the app will set the root key for that sample to A4 and so the sample will play at its original pitch on key A4. You can edit the root key via the sample's context menu -> Properties. When using a sample in the Multi-Sample Player, and if there is no explicit root key set, the Multi Sample Player uses an implicit root key which is in the middle of the zone.

Managing audio files in a project

The recommended way of working is that each of your projects uses a separate folder that collects all data specific for that project. Within each project folder use an "Audio" sub-folder where the audio and sample files for that specific project are stored. If you would have used audio/sample files outside that project's audio sub-folder you can easily move or copy them inside the project's audio sub-folder via Project menu -> Manage Audio/Sample Files.

Sample files that are part of a common sample library can stay in that common library, there is less need to copy them into the project Audio sub-folder. Note however that if you would ever change such referenced sample commonly used by multiple projects then your project will use that latest change, of course.

The bottomline is that all audio files that exclusively belong to a certain project are collected in the project Audio sub-folder. That way it's easy to backup the project folder and/or move it to another system, since MuLab will use relative file references when saving a project and when the audio/sample files are in a sub-folder of the project folder.

An alternative way of storing sample files is to embed them into the project file. This will seriously increase the size of the project file, but the advantage is that all embedded samples will always automatically travel withthe project file and cannot be (accidentally) changed by other projects/apps. Embedding is only possible for samples, not for audio streams. Embedding a sample can be done via its context menu or via the Project Browser -> Samples -> Options -> Embed All.

Audio Positions

At several places in MuLab you can indicate positions within an audio stream or sample. For example in the sampler modules you can define where the sample should start playing.

Audio positions can be defined in 2 ways:

1) Using a straight sample index

  • It displays a vertical line which indicates the relative position in the audio object.
  • The tooltip will show the numeric sample index.
  • Click+drag the value display and drag left/right to move the sample index. Holding Shift for bigger changes, hold Ctrl for sample-accurate changes.
  • The arrow left/right buttons at the right side of the field jump to the previous/next marker's sample index.
  • Alt+clicking these arrow left/right buttons will step to the previous/next zero-cross.
  • Double-click the value display let you edit the sample index numerically.
  • The mousewheel scrolls the sample index by 1 ms. When holding Ctrl it scrolls by 1 sample. When holding Shift it scrolls by 100 ms.
  • Ctrl+mousewheel scrolls the sample index 1 by 1.
  • Click the options button or right-click the value to pop up a context menu, also containing "Attach To Marker" = create a marker at that sample index and switch to marker mode.

2) Using a marker

  • It displays the marker's name.
  • The tooltip will show the marker's name and also, between parentheses, that marker's sample index.
  • Clicking the display let you choose a marker.
  • The arrow left/right buttons jump to the previous/next marker.
  • The mousewheel steps to the previous/next marker. However when holding Ctrl then the marker itself is moved 1 sample backward/forward. This allows for quickly finetuning markers without having to open the audio editor.
  • Click the options button or right-click the value to pop up a context menu, also containing "Detach From Marker" = Switch to sample index mode.

The most important difference is that when using a marker, and lateron changing that marker's position, then all places where that marker is used will be affected. Markers are part of the audio object and so these same markers will be usable wherever you use that audio object.

A sample index however is only used at the place it appears and changing its value will not have any effect elsewhere.

Both ways are interesting and it depends on your use case which one suits best.

Overview (.OVW) Files

When using audio files, an extra .OVW file may be created in the same folder as the audio file. The OVW file is a cache file that contains an overview of the graphic of your waveform, used to speed up working with long audio files. Such OVW files can always be safely deleted. They will be recreated when needed. Whether or not such OVW is created depends on the "Create Audio File Overview Length Threshold" preference.

Table Of Contents