Generating random parameters and phrases based on musically meaningful rules

Video Tutorial

A Factory is a rules-based algorithm that randomly generates new Parameters and Phrases. You can think of a factory as a kind of pre-wired modular synthesizer.

On the Factory tab in a Library you can select a built-in Factory to start a new pool of phrases from scratch. Each factory has a distinct user interface that allows you to influence its output. A generated phrase retains the settings used to generate it, which is indicated by a small factory icon.

Synfire ships with a collection of basic factories suitable for many purposes. These built-in factories are powerful algorithms that you can customize to create new factories for the style and purpose you want. They are merely a starting point for you to grow your own personal collection of phrases and parameters over time. The range of musical expressions a single algorithm can generate is vast and it takes some time to make yourself familiar with its settings.

Important: Every generated phrase retains the settings used to generate it, so you can return to it later and continue to spawn off new variations. A carefully configured generated phrase therefore is a new Factory in its own right. Instead of starting with default settings from scratch, you can select an already generated phrase to recall its original factory settings and continue making new phrases based on that.
Note: Factories are written in the rules-based AI programming language KIM, which was specifically designed and implemented by Cognitone for the purpose of generating musically plausible and natural sounding phrases.
Note: This feature is available with the Pro edition.

Factories are a powerful modular system for generating parameters and phrases. You should make yourself familiar with the concept before you begin.

Factory Types

There are factories for Parameters, Lines and Phrases.

Parameter Factories
These factories generate basic parameter data for Velocity, Flow, Pause, Step, Skip, Harmony and others.
Use as Module: Their main purpose is to provide input to other factories, where you pick them from a menu and configure their settings in order to achieve a desired effect. This is similar to a modular synthesizer, where, for example, you would setup a LFO generator and choose it as input to some other module.
Use Standalone: Add a single parameter to a Phrase Pool, the phrases of which you can drop anywhere you find it useful. Since the data is musically meaningful (i.e. not just random noise), this makes a lot of sense.
Line Factories
These factories generate a Figure parameter of a specific symbol type. There are line factories for Bass, Chords, Arpeggio, Melody, Question & Answer, Left Hand, Right Hand (of a piano phrase) and more.
Use as Module: Pick a factory from a menu and configure its settings in order to add one or more lines to another phrase factory.
Use Standalone: Add a single Figure to a Phrase Pool the phrases of which you can use anywhere you want.
Phrase Factories
These factories generate more complex and structured phrases by merging the outputs of one or more line factories into a mixed-type Figure. There are factories for Counterpoint that generate multiple related melodic lines and factories for Piano that generate phrases with lines for bass, chords and melody combined.

Line Factory Algorithm

Most line factories generate a Figure using the following algorithm. There are other algorithms and there may come additional algorithms in the future.

  1. Spans: Divide the phrase in to spans and assign segment types to them.

  2. Step: Generate a Step parameter with another factory.

  3. Pause: Generate a Pause parameter with another factory.

  4. Segments: Fill the Figure from left to right with symbols moving up and down according to each segment type, while skipping any steps that fall into a pause.

  5. Apply other parameters like Velocity and Flow.

Every parameter can be generated by another factory or provided by an outlet. This way you obtain control over the results of a line factory to a great extent.

How To Use Factories

Despite the somewhat specific name, a Piano Factory can be used for a much wider range of instruments and musical styles. Since it generates lines for bass, chords and melodies from a single algorithm, you basically obtain multiple closely related elements that greatly work together. You can copy either of its lines to any instrument. Most piano phrases make great EDM patterns when you copy their lines to different electronic instruments.

Likewise, the output of a Counterpoint Factory is not limited to organs or piano. Many counterpoint phrases sound fantastic when distributed over multiple instruments, or played with a guitar.