Tutorial 3: Creating an audio mosaic
A Mosaic
represents a blueprint from which an audio mosaic can be synthesized.
Given an input audio target file path and a Corpus
instance, a virtual representation of
an audio mosaic is built, to be later converted to audio with the to_audio()
method.
By blueprint, it’s meant that a Mosaic
instance generates and stores the necessary
information to synthesize an audio mosaic, but does not automatically generate the mosaic as an audio file.
This allows the user to create different versions, based on the audio parameters passed to the
to_audio()
method, which in turn returns an AudioBuffer
instance.
Here’s a simple script showing how to write a mosaic as a .gamut
file:
from gamut.features import Corpus, Mosaic
# 1) read corpus from a previously created .gamut file
corpus = Corpus()
corpus.read('path/to/my_corpus.gamut')
# 2) create a mosaic for a given an audio target and a corpus
mosaic = Mosaic(target='/path/to/target/audio/file.wav', corpus=corpus)
# 3) write mosaic to disk as a .gamut file
mosaic.write('path/to/my_mosaic.gamut')
Next time we want to use this mosaic, we simply read it from disk:
from gamut.features import Mosaic
mosaic = Mosaic().read('path/to/my_corpus.gamut')