Wotja X

Wotja 5 Guide  5.12.4 - 8th Oct 2018

Wotja User Guide

Guide  5.12.4 - 8th Oct 2018 |
Wotja for mobile and desktop devices

Generative Music System

Composer Mixer Writer Player

macOS, Windows, iOS, Android

Use Wotja (sounds like "wot-jah") to create your own live ambient & adaptive generative music, reflective music & MIDI and 'text-to-music' melodies & music ideas. Generate 'cut-up text' for creative writing, too.

Ever-evolving Wotja is itself the evolution of SSEYO Koan, Noatikl, Mixtikl, Liptikl & Tiklbox. It uses generative techniques we have been crafting for nearly 30 years.

History: Generative Music is a term coined in 1995 by Brian Eno whilst working with SSEYO Koan Pro.

It is true that Wotja X is a deep app, as is already reflected by the size of this detailed User Guide, but it can also be used very simply - see the short Getting Started section.

If at any time you find you want to deep dive you can, and it can be fun and there is plenty to explore. And, you can also do an enormous amount with it for free.

All versions (Windows, Android, macOS, iOS) have largely the same interface. If you know how to use one, then you know how to use the other and vice versa.

Variants & Versions

Variants

RECOMMENDATION: Unless you specifically need the accessibility features in 'Wotja A', every new customer should consider getting the 'Wotja X' variant.

Wotja is currently available in two 'variants' ('Wotja A' and 'Wotja X').

Wotja started out in 2014 as an app for iOS/macOS and was therefore at the time 'Apple-only'. Being a 'native' version, we were able to gradually include support for some of the Apple accessibility capabilities present in iOS and macOS. To keep things simple we're choosing in the docs to refer to this variant as the 'Accessibility' version and so it is called 'Wotja A' and it has the foregoing icon.

So that we could run Wotja on multiple platforms we've for a good while now been hard at work on a new cross-platform UI variant (i.e. 'X') that we are presently calling 'Wotja X' and has the foregoing icon.

As of Wotja V5.4 these two variants are now major feature equivalent with only a few minor differences between them meaning we now just refer to 'Wotja' (unless we need to refer to a specific variant). In Wotja V6 for 2019 all new development will be on the new UI variant but throughout 2018 we will update both Wotja V 5 variants in tandem and so no paying customer will lose out.

We now have just one User Guide and documentation common to both variants. As the 'Wotja X' UI will be the UI we take forward in future we use screenshots from that.

To get familiar with the new UI, and with one exception, we do now recommend that new customers purchase the 'Wotja X' variant which is what we feature links to on this page. If you are on iOS and specifically need the Apple Watch companion app or accessibility support then you can still get 'Wotja A' from the iTunes App Store.

Versions

Wotja is available in three 'versions' (Annual, Free + Subscription, Free):

Annual version (2018)

OS Versions: macOS, Windows, iOS, Android

Variants/branches: Wotja X / Wotja A (AKA 'Wotja')

  • 'Wotja X 2018' is the 'paid-for' version of 'Wotja' V5. It will only be updated in 2018. Alternative: The corresponding Subscription version with an active 'Unlocked' Subscription has the same Feature Set.
  • Wotja X 2018 for Windows is available only from the Microsoft Store.
  • Wotja X 2018 / Wotja A 2018 (AKA 'Wotja 2018') for macOS are available only from the Mac App Store.
  • Wotja X 2018 / Wotja A 2018 (AKA 'Wotja 2018') for iOS are available only from the iTunes App Store.
  • Wotja X 2018 AZ for Android is available only from the Amazon Appstore.

Subscription Version (free, with In-App Subscriptions)

OS Versions: macOS, iOS

Variants: Wotja X / Wotja A (AKA 'Wotja')

  • A powerful FREE app with an In-App Store. It runs in 'Free Mode' until purchase of the monthly 'Unlocked' auto-renewing In-App Subscription. On lapse of the In-App Subscription Wotja X reverts to the 'Free Mode' of operation.
  • Long Play: The 'Music Play Time Timeout' in Wotja X is set to 8 hours. When this is reached a mix or album will stop playing if it has not already done so and a simple manual restart can start it playing again. For specialist use cases where there is a need for to generate continuous live background music for longer than 8 hours, e.g. for art installations, a small shop etc., the subscription version allows it to be extended by the purchase of one of the specialist 'Long Play' tiers of auto-renewing In-App Subscription. See: FAQ on Wotja X Long Play.
  • Note: It is our intention in the longer term to release subscription versions for Windows and Android but as of yet we have no ETA.
  • For the benefits of In-App Subscriptions read this FAQ entry.

FREE version (locked in Free Mode)

Versions: Windows, Android

Variants: Wotja X

  • These versions are all permanently locked in 'Free Mode'.
  • Get the annual versions above if you want to use it with Free Mode 'Unlocked'.
  • Note: As noted above, in due course we may add In-App Subscriptions to the Windows and AZ versions; at that point they could then be 'Unlocked'.

'Free Mode' & Limitations

There is a way to use Wotja for FREE on every platform it is available for (iOS, macOS, Windows, Android). We call this the 'Free Mode' or 'Free' tier Feature Set.

This is available in a free version that is either permanently locked in the 'Free Mode' Feature Set (Windows, Android versions) or is by default locked in a 'Free Mode' Feature Set until an 'Unlocked' In-App Subscription is in place, purchased from an In-App Store (macOS, iOS versions). When an 'Unlocked' In-App Subscription lapses then Wotja simply reverts to operating in the 'Free Mode' Feature Set - it's as simple as that!

The 'Free Mode' Feature Set does have certain Limitations, of course, but it is powerful in its own right and also a means for testing/trial for those interested in considering a purchase. Alternatively, consider getting the paid-for feature-unlocked 'annual' version instead, e.g. 'Wotja X 2018'.

The benefits of 'Free Mode'

  • For free, use what you create, save & record (do still comply with the EULA and Terms of Service however)!
  • If you have an interest in Generative Music and you are someone who chooses only to use Freeware and/or if you are an Educator or in Education, then Wotja 'Free Mode' means you can explore and work with such things for free. As Wotja is a system that is undergoing continuous development, including being ported to other OS, it should be an app you might well wish to consider using!
  • When you find you want to do more than you can in Free Mode, then there are low cost Subscription and Paid for 'Annual' version options you can purchase.

What can I do in 'Free Mode'?

  • Create and save automatic albums of generative music mixes:
    • Wotja supports making automatic albums, adding mixes to them, and playlisting.
    • You can add mixes to that album, too, and playlist it.
  • Explore generative music composition and sound design:
    • Use the Intemorphic Music Engine (IME) editors to try out all sorts of generative techniques and end up with something totally custom; start with the generative settings in the available templates if you want.
    • Use the Intermorphic Sound Engine (ISE) editors to create totally custom modular synth/fx sound networks, including using your own SoundFonts; start with the sounds in the available templates if you want.
  • Use MIDI Out/In on Channel 1
  • Although in-app support for mixdown recordings is not included, you can make up to 1 minute recordings of Wotja as follows: on iOS using Inter-App Audio or Audiobus (and a suitable audio/MIDI recording app) or on other devices using any app that can record system audio/MIDI.
Wotja Feature Sets
Area/Feature 'Free' tier
(AKA 'Free Mode')
  'Unlocked' tier
(AKA 'Pro')
General
Music Play Time Timeout [MPTT] 1 minute   8 hours
MIDI Out/In Channel 1 only   Multi-Channel
Mixdown Recording capability No   Yes
Openable Files (.wotja, .wotjabox, .wotjalist) All   All
Album Mode
'Automatic Album' Max Mix Durations [or limited by MPTT] 30 seconds   4 hours
Change mix position in an Album No   Yes
Change Item Override Settings No   Yes
Delete mix from an Album No   Yes
Save/export an Album No   Yes
Add saved mix or mix template to an Album No   Yes
Export mix from an Album No   Yes
Playlist Mode
Add to/Edit/Save/Export Playlist No   Yes
Mix Editing Mode
Mix & Cut-Up Save/Export No   Yes

Getting Started

Creating an 'automatic' album of mixes:

With one tap you can randomly generate a collection of mixes (each using randomly generated text and mix icons, as you wish) that you can play straight away. You can later export them if ever you want to customize them in the Editing Modes. The albums and mixes are created from the hundreds of included Templates according to various Randomization Settings.

To create an automatic album of mixes:

  • Mobile / Desktop: Documents > Create New > Album (automatic)
  • Desktop: Wotja > File > New > Album (automatic)

There are three main ways to share Wotja files (mix files created with Wotja or Wotja X):

  1. Send as an Email attachment

    First create save a file as above or export as below and then attach to an email as you would any file.

    • Wotja Box file: Wotja X > Playlist Player > Action menu > Export Wotja Box Album to File; or
    • Wotja file: Wotja X > Playlist Player > Mix Overide menu > Export Item to File.
  2. Share via a cloud service (e.g. Dropbox)

    See this FAQ entry.

  3. Embed in a webpage as a Wotja URL (only loads with Wotja A)
    1. Get Wotja and create and save a Wotja mix file (.wotja) or a Wotja Box file (.wotjabox).
    2. Export it to the clipboard:
      • Wotja file: Wotja > Mix Mode > Action menu > Export Wotja URL to Clipboard; or
      • Wotja Box file: Wotja > Album Player > Action menu > Export to Clipboard as a Wotja Box Album; or
      • Wotja file: Wotja X > Album Player > Mix Overide menu > Export Item to File then open it (or a Wotja Box file) in a text editor, select all (this is the Wotja URL or 'WJURL') and copy the contents to the clipboard.
    3. Open your usual webpage editor, create a weblink (href) in your webpage and then paste the clipboard text into it, e.g. <a href="insert-clipboard-contents-here">Play the Wotja</a>.

    Wotja (.wotja) and Wotja Box (.wotjabox) files are text files that can be opened in a text editor. A Wotja file can be as little as 2Kb and the text always starts with wotja://. A Wotja Box file instead uses the text wotja://wotjabox_.

    The text is in a deep link format so we refer to it as a Wotja URL ('WJURL'). We have adopted this approach so that files can be opened directly from a Web link, making them easy to share.

    The text includes all the IME and ISE settings required by Wotja to play your file and generate its music and any text you include. It can also include your mix icon and even a background image if you have used one (both text encoded) but it does not include any custom audio data such as SF2 or Loops.

    Tip: Wotjas that include background images are much, much larger than those that don't. We recommend that if you want to allow people to download those then you place them on a separate download page - but that is up to you, too.

    Advanced: If content in a Wotja URL references content in an add-on Pak then, provided that Pak is located in your Wotja iCloud Drive folder (iOS/macOS) or "Intermorphic Folder" (macOS), the content will play as expected.

    Wotja URLs - Historical

    Wotja URLs came about through 'vector audio' a technique that we pioneered at SSEYO in 2000.

File | Options | Window | Help

See the Video: Wotja iOS: Quick Start (4m) [the same general principles apply to all versions]

The Wotja X Desktop Titlebar Menu (Windows/macOS) is where you can:

  • Create a new .wotja file (automatic mix) or .wotjabox file (automatic album)
  • Open a file you have previously saved
  • Open any of the supported filetypes (see table below)
  • Show the Wotja data folder
  • Select your Audio Output device

Tip: You can use both the Wotja X 'Documents Window' or Finder / Windows Explorer to carry out normal file related activities e.g. delete/duplicate/rename etc.

Tip: On Desktop use Cmd+W (macOS) or Ctrl+W (Windows) to close a tab.

Note: You may want to use iCloud (if you have it) rather than local storage (if you use local storage the Wotja Data Folder will show you where that is and it will be the Intermorphic Folder). If you use iCloud your files will also appear in the Wotja iCloud Drive folder for all your devices, meaning you can easily sync your Wotja related files between devices that share the same iCloud account. See the iCloud FAQ.

WOTJA BACKUPS: Make these by: A) Using iCloud to store your files, or by B) backing up your device with Time Machine or equivalent; or C) emailing yourself a backup copy of each wotja. Using iCloud is the easiest way to manage your files.

UI Item Description
Menu Bar
Desktop Menu
  • File:
    • New (files are saved to the Wotja data folder)
      • Album (automatic): Creates a new automatic album of mixes and opens in the Album Player.
      • Music Mix (automatic): Creates a new random mix file based on the Randomization Settings (meaning you do not have to make one via the Templates List) and then opens it in Mix Mode.
      • Playlist (Desktop version only at present): Creates a new playlist file (.wotjalist) and then opens it in the Album Player where you can add to it the Wotja files you want to be in it.
    • Open
      • Shows a list of openable files using a standard Finder or Windows Explorer browse dialog.
      • The filetypes that Wotja X can presently open directly are: .wotja, .wotjalist, .wotjabox, .noatikl and .mixtikl.
      • Note: Wotja cannot directly open .zip, .sf2, .midi, .wav or .ogg files but these can be referenced in templates via the relevant editor as follows:
        • .sf2: Wavetable Unit
        • .wav, .ogg, .midi [in correctly formatted Paks]: Content Cell > Template List.
      • See the FAQ: File Management - Where should I put or look for App Files, Zips, SF2, WAVs etc.?.
    • Close: Close the currently open file.
    • Save / Save As:
    • Open Recent (Windows)
      • Shows a list of recently opened files.You can clear this list using the bottom "Clear Menu" menu item.
    • Exit (Windows): Close Wotja X.
  • Options:
    • Show Wotja data folder: This will display in Finder (macOS) / Explorer (Windows) the folder where your Wotja files are saved to.
    • Output Devices: Select the Output audio device to be targeted by the ISE Synth from the list of available detected options e.g. 'Built-In Output' on macOS and 'Speakers' / 'Primary Sound Driver' for Windows.
  • Window:
    • Show Window: Brings the Wotja X window to the front.
  • Help: Various useful weblinks.

Documents Screen

Documents Screen

Documents Screen
Click image for large

When you launch Wotja X the Documents screen is the first screen you see. The only difference in display of this screen in Desktop and Mobile versions is that in the Desktop version you can have multiple files open, each one shown in a different tab at the top of the screen.

Tip: On Desktop use Cmd+W (macOS) or Ctrl+W (Windows) to close a tab.

The Documents screen displays the openable files (see below) that are in the Wotja iCloud folder or present in the Local Wotja data folder on the device (see iCloud/Local below).

The Documents screen is where you can:

  • Create a new "automatic album" .wotjabox file
  • Create a new .wotja file
  • Open a file you have previously saved
  • Open any of the supported filetypes
  • Delete/duplicate/rename files

Filetypes:

Tip: The thumbnail you see for each file in iOS varies according to the file type and whether your file uses TTM.

iOS/macOS Tip: When you first start Wotja X, you're prompted if you want to use iCloud or Local. If you change your mind, go your device's iCloud Settings screen, scroll down that and look for the version of Wotja that you have and go into that screen. You will see a "Use iCloud" toggle. If you turn that off your files are ONLY saved locally to your device. You should back them up regularly. See the File Management FAQ.

iOS/macOS Note: You may want to use iCloud rather than local storage (i.e. saving your files to your device). If you use iCloud your files will also appear in the Wotja iCloud Drive folder for all your devices, meaning you can easily sync your Wotja related files between devices that share the same iCloud account. See the iCloud FAQ.

FILE BACKUPS: Make these by: A) Using iCloud to store your files, or by B) backing up / synching your iOS device (note that a device restore will be needed to recover your wotjas); C) emailing yourself a backup copy of each wotja, or; D) if you have a desktop computer, use iTunes Apps File Sharing to copy your wotjas off your device and to save them to your computer. Using iCloud / iCloud Drive is the easiest way to manage your files, but if you do not want to use that and/or want to manually back up your files see the instructions on the Intermorphic website for File Management - Where should I put or look for App Files, Zips, SF2, WAVs etc.?.

UI Item Description
ActionAction

    Popup Menu:

    • Refresh: Updates the Documents screen. Tip: On iOS/macOS this also acts as a resynch.
    • Cancel: Closes the popup menu.
ActionSettings

Go to Settings screen.

Create NewCreate New
  • Album (automatic): Creates a new random .wotjabox "album" file based on various Randomisation Settings (meaning you can create a lot of mixes with nice icons in just one button press, and do not have to make one via the Templates List) and then open it in Mix Mode.
  • Music Mix (automatic): Creates a new random mix file based on the Randomisation Settings (meaning you do not have to make one via the Templates List) and then open it in Mix Mode.
  • Play List (Desktop Only): Creates a new playlist file (.wotjalist) and then opens it in the Album Player where you can add to it the Wotja files you want to be in it.
ThumbnailSaved File Thumbnail

Saved File: Tap on one of the Saved File document thumbnails to open a previously created file.

How the thumbnail displays depends on a number of factors:

  • When the auto album was created, what Icon Text setting was used: Cut-up, TTM or none
  • What auto-generated icon is in use?
  • Is it a Wotjabox file? Wotjabox files are indicated by a small golden box icon that overlays the bottom right of the thumbnail image.
  • - Is content in one or multiple cells?
  • - Is it an old format Wotja file?
  • - Is it a Noatikl file (template)?
  • - Is it a Mixtikl file?
  • - Is it a Wotja List file (see below)?
  • - Is it a Wotja Box file (see below)?
ThumbnailFilename

Tap on the Filename below the thumbnail for the following popup menu:

  • Delete
  • Rename
  • Duplicate
  • Cancel
ThumbnailPlaylist Thumbnail

Wotja List: Wotja List files (.wotjalist) are played in the List Player.

Wotja List files are indicated by a small purple list icon that overlays the bottom right of the thumbnail image.

If the Play list includes an Album thumbnail then you will see that here, otherwise you will see a list of the included files.

File List Name: Tap on the File Name for a pop up dialog to rename the Wotja List file.

ThumbnailWotjabox Thumbnail

Wotja Box: Wotja Box files (.wotjabox) are played in and exported from the List Player or created in one press via New > Automatic (album).

Wotja Box files are indicated by a small golden box icon that overlays the bottom right of the thumbnail image.

If the Wotja Box includes an Album thumbnail image then you will see that here, otherwise you will see a list of the included files.

File List Name: Tap on the File Name for a pop up dialog to rename the Wotja Box file.

ThumbnailTemplate

Template: A template file is shown with a small IME overlay in the bottom right corner. These are presently .noatikl files, but we may later change the extension. You can save the generative content in a cell as a template from the top toolbar Toolbox icon and selecting "Export to File" where you then see a popup where you can name the file. Once saved, you can find these .noatikl template files in the Template list under "Saved Files".

Player: Album / Playlist

Album Player Screen

Album Player Screen
Click image for large

See: 'Free Mode' & Limitations

The Album / Playlist Player is opened by:

  • Opening a Wotja Box file (.wotjabox)
  • Opening a Wotja List file (.wotjalist)
  • Creating a new Automatic Album (.wotjabox)
    • Documents screen > Create New & Album )(automatic)
    • Titlebar Menu > New & Album (automatic)
  • Creating a new Wotja List file (.wotjalist) (Desktop Only)
    • iOS: Files > Create New > Play List
    • macOS: Wotja Menu > Files > New > Playlist

It is used to:

  • Play Wotja Box (.wotjabox) files (e.g. Automatic or user exported Albums)
  • Play Wotja List (.wotjalist) files
  • Export user created Wotja Box (.wotjabox) files from Wotja List files
  • Add Wotja, Noatikl and Mixtikl files to a Wotjabox album
  • Re-order the files in a playlist
  • Edit List Item Override settings for both Wotja List and Wotja Box files (these values are saved to the .wotjalist or .wotjabox filerespectively)

Album Player File Types

  • Wotja Box (.wotjabox):
    • Container files that can be created directly through creating an Automatic Album or exported from a playlist. They include all parameter settings, text and images for the included Wotja / Noatikl / Mixtikl mixes/pieces - which makes them great for sharing your favourite creations. They do not include additional referenced media such as loops, however. These additional files, if required for your mix, need first to be placed in your iCloud Folder or in the Intermorphic Folder.
  • Wotja List (.wotjalist):
    • Playlists that contain references to Wotja / Noatikl / Mixtikl files saved to your iCloud folder. If you change the file in Wotja, then the playlist just references that changed file.
  • Wotja (.wotja), Noatikl (.noatikl); Mixtikl (.mixtikl):
    • Wotja (.wotja) files include all parameter settings, text and images necessary to play the mix. They do not include, however, any additional referenced media such as loops. These additional files, if required for your mix, need first to be placed in your iCloud Folder or in the Intermorphic Folder.
    • Files created with Noatikl and Mixtikl can also be included in albums/playlists.
UI Item Description
Sleep IndicatorSleep Time

Shows the Wotja X Sleep Time (i.e. how much longer Wotja X can play for before it will stop playing).

This value is also limited by the maximum play time allowed in your IAP tier.

Tap the right hand Settings button to go to the Settings Screen where you can set the Sleep Time.

ActionAction
  • Export to Clipboard as Wotja Box Album: This is for when you want to embed your Album in a webpage as a Wotja URL (See How to wotjafy a webpage).
  • Save Wotja Box Album to File: Allows you to export your Wotja List to a Wotja Box file that is then saved locally. You might choose to do this to if you wish to share your album.
  • Refresh ALL items (.wotjabox only): This will refresh all items in the Wotja Box file with the latest versions that you have saved locally (this is for Wotja Box authors who have the local original files).
  • Help & More: Links to Wotja X User Guide
Album NameAlbum Name

The name of the Album (left of status bar).

File NameFile Name

The name of the currently selected File (middle of status bar).

File Play IndicatorFile Play Time

Shows the Play Time left for the current file (right of status bar).

This value can be adjust in List Overrides.

This value is also limited by the maximum play time allowed in your IAP tier.

Add Item Add Item

Tap to add a file to your album.

Album Thumbnail Album Thumbnail

Tap to add a thumbnail to your album. This image will show as the thumbnail in the Files screen.

Sequential Play Sequential Play
Random Play Random Play

Tap to toggle between sequential and random play.

File Thumbnail

Tap the thumbnail to go to Full Screen display (see below).

List Item

The top line is the file name.

The center line displays "Playing" when the file is playing.

The bottom line displays the minimum and maximum piece time (these values are set in Item Overrides).

Tap the central area to play or stop the file. When the file is playing the item will be a light blue colour.

List Item Overrides button

Tap for a pop-up menu where you are presented with the following options:

  • Edit Item Details (Overrides): See the item below.
  • Random Icon: Allows you to randomly generate a new icon according to the "Random > Albums > Icon Palette and Icon Graphic" settings.
  • Export Item to File: Where availble, this item lets you export your mix so that you can further edit it,
  • Refresh Item from File (only shown if you have exported that mix file): If you have exported a mix, changed it and saved it, this allows you to refresh the file in the album.
  • Move Up: Only shown if you have a subscription enabled or are using the Annual version.
  • Move Down: Only shown if you have a subscription enabled or are using the Annual version.
  • Delete: Only shown if you have a subscription enabled or are using the Annual version.
  • Cancel: Cancel out of the pop-up.
List Overrides ScreenItem Overrides Screen
(click image for large)

These settings override any related settings that may be in the File (these File related Playlist settings are set in the Cell Rules panel in the Mix Tab.

  • Ramp Up: Sets how long it takes for the file volume to ramp up once the file has started to play.
  • Duration: Sets how long the file will play for (Piece time).
  • Range: Sets a range on how long the file can play for.
  • Ramp Down: Sets how long it takes for the file volume to ramp down before play moves to the next file.
Full ScreenFull Screen
(click image for large)

Full Screen play is for when you want to sit back, look at any included image/message and reflect on the music.

Tap the center of the screen to return to the Play List screen.

Editing Modes

Multi Column Display with IME Panel

Multi Column with IME Editor Panel
Click image for large

See: 'Free Mode' & Limitations

See the Video: Wotja iOS: Quick Start (4m)

Wotja is a very powerful creativity tool for creating and sharing generative music mixes and cut-up ideas.

The Wotja mix files it can save contain everything Wotja needs to play and display what you have created (excepting any locally referenced items, e.g. .zip, .sf2, .wav, .ogg, .midi files; these are not saved to mix files).

This means a Wotja mix file contains generative music parameters, sound network configurations and settings, text, display settings and even a background image - what is saved to the file depends on what you have added to it.

In order to edit the different kinds of parameters/settings that are stored in the file we have three distinct editing modes in Wotja X. These modes are refered to as "Mix", "Cut-Up" and "Display". The parameters/settings used in each of these modes are saved to the Wotja file.

Each of these three modes is accessed via a "tab" on the bottom tab bar in Wotja, which is different in Wotja/Wotja X.

Editing Modes

Tabs
Mix | Cut-Up | Play/Stop | Display | Settings

Editing Modes

  • Mix: Where you "design" your wotja, meaning accessing parameters for the Intermorphic Music Engine (IME) and Intermorphic Synth Engine (ISE) to define how the music is generated and what sounds are used, adding TTM (text), mixing voices and templates and setting cell rules for arrangement.

    Note: Displayed via the top toolbar segment control, the Mix mode features 5 different right hand panel views of data (two of the panels are accessed by one of the segments). Each of these provides access to different controls that let you set up much of how your wotja works.

  • Cut-Up: Where you have access to a powerful cut-up text editor to stimulate ideas for creative writing.
  • Display: Where you decide how you want your wotja to look, this being important should you wish to share it.

Common Controls

In addition, and so they are accessible throughout the app, we include two other controls:

  • Play/Stop button: [bottom tab bar] Tap to stop or start your the generative mix (if any) in your wotja. There is an indicator beneath the button that shows how long your mix has been playing for.
  • Settings: [bottom tab bar] Takes you to the Settings screen where you can change Mix and Randomisation related settings (including Template selection).

Mix : UI Overview

DISPLAY MODES

Multi Column Display

Multi Column
Click image for large

Single Column Display

Single Column
Click image for large

Single Cell Display

Single Cell
Click image for large

Single Column Display with Editor Panel

Single Column with IME Editor Panel
Click image for large

See: 'Free Mode' & Limitations

See the Video: Wotja iOS: Quick Start (4m)

This section gives you a quick overview of the interface related to creation of Wotja mixes in the Mix Mode, accessed via the bottom Mix Tab.

The Mix Mode has the most involved UI in Wotja X as it concerns the mixing and editing of generative music.

Right Side Display

Toolbar View Panel

Use the top toolbar 4 way segment control to show either the Network, TTM, Mixer or Rules data in the Wotja mix file.


Left Side Display - One Cell/One Column/Grid

Cell/Column/Grid button

Use the top toolbar button to right of the Panel Display segment control above for a pop-up menu to select between Multi Column, Single Column or Single Cell display modes.

See the Central Area of the table below for detailed information on the Wotja Content Cells.

UI Item Description
Menu Bar
Wotja Files iOSSave/Back to Documents

Save / Back to Documents

See: 'Free Mode' & Limitations

Displays the Save Changes popup (see below) before exiting to the Documents Screen.

  • Save & Close: Save the changes you have made to your file and return to the Documents screen.
  • Save & Continue: Save the changes you have made to your file and then continue working on it.
  • Save a Copy: Creates a new file (which you can rename) based on the current state of the open file (a snapshot of where you are if you like), but leaves you in the current open file - meaning if you then exit the file you will see this pop up dialog again letting you choose what to do with the file. Note: This is NOT the same as Save As so please remember to save your file if you want to keep your changes to it.
  • Discard: Lose any changes made to your file since you opened it.
  • Cancel: Dismiss this popup and return to the Display screen.
Randomize buttonRandomize Mix
  • Randomize Mix - Automatic: Replace your current mix with a new randomized mix created in accordance with the Randomization Settings.
  • Randomize Mix - Manual: Takes you to the Templates screen where, prior to randomizing, you can manually decide which Templates are to be used as well as changing the Randomization Settings.
  • Randomize Cell (sticky):Tap any cell (including looping cells) to replace its contents with another randomly selected template. This template is chosen from paks/templates in the Template List that are tagged as available for selection and also uses relevant settings in Randomization Settings (see Edit Randomization Settings). The Randomize button shows as a fuschia colour (to show sticky behaviour). Tap the button again to turn off sticky behaviour.
  • Randomize Column: Tap any cell in a column to randomly replace the contents of all currently populated cells in the column EXCEPT those that are set to be looping (i.e. locked). Tip: By setting a cell to loop (tap/hold = orange bar) you can ensure that the contents of that cell are not changed when randomizing.
  • Randomize Column (ALL): Tap any cell in a column to randomly populate / replace the content of potentially ALL cells in the column (including looping cells). The number of cells randomised is determined by the "Tracks" setting in randomisation settings. Tip: Use carefully.
  • Randomize Track: Tap any cell in a track to randomly replace the contents of all currently populated cells in the track EXCEPT those that are set to be looping (i.e. locked). Tip: By setting a cell to loop (tap/hold = orange bar) you can ensure that the contents of that cell are not changed when randomizing.
  • Randomize Track (ALL): Tap any cell in a track to randomly populate / replace the content of ALL cells in the track (including looping cells). The number of cells randomised is determined by the "Cells" setting in randomisation settings.Tip: Use carefully.
  • Randomization Settings: Provides quick accecss to Randomization Settings.
  • Cancel: Cancel out of the pop-up menu.
Toolbox
Toolbox

See: 'Free Mode' & Limitations

Tap the Toolbox button to pop up a menu where you can select from a number of useful actions. The button will take on a fuschia colour when you have selected a sticky action. Tap the button again to turn off sticky behaviour.

  • Copy/Paste (sticky): Copies the currently selected cell and pastes into the cell(s) you next tap. The Toolbox button shows as green (to show sticky behaviour). Tap the button again to turn off sticky behaviour.
  • Move: Moves the contents of the currently selected cell to replace the contents of the next cell you tap. Use with caution as there is no pop-up warning.
  • Clear (sticky): Tap any cell to clear out the contents. The Toolbox button shows as a fuschia colour (to show sticky behaviour). Tap the button again to turn off sticky behaviour.
  • Export to Clipboard:[displayed only if your IAP level allows export from a Cell] Tap to export the contents of a generative cell (i.e. a [.noatikl] file/template) to the clipboard.
  • Import from Clipboard: Tap to import what is on the clip (i.e. a [.noatikl] file/template) into the currently selected cell. NB: Wotja files cannot be imported to a cell; see Files screen > Action.
  • Export to File: Tap to export the contents of a generative cell (i.e. a [.noatikl] file/template) to a file. This file will then show up in Templates List > Saved Files (shown at the top of the left hand Pak list).
  • Export Mix (legacy format): Tap to export your mix to an old style Mixtikl format so you can open it in Mixtikl. Wotja does not utilise or resave in .wotja files or exported .mixtikl files the following Mixtikl parameters:
    • Any settings, including text, related to the Mixtikl visualiser
    • Store/Recall settings
    • Any Advanced cell settings, i.e. Skip, Silent, Stream, Audio Sample
  • Clear ALL cells: Clears out the contents and arrangement settings for ALL cells.
ActionAction

See: 'Free Mode' & Limitations

  • Import Wotja from Clipboard: [Mix Tab, iOS only] Only shown if you have a Wotja on the clipboard and you will see a message about having to Import a Wotja via the Files screen (Files > Action > Import from Clipoard).
  • Export Wotja URL to Clipboard (with image): Creates a Wotja URL from your mix that includes your a background image (if you have selected one). This is for webpage embedding to create reflective generative background music in Safari (see Wotja Examples).
  • Export Wotja URL to Clipboard (no image): Creates the smallest Wotja URL from your mix. This is for webpage embedding to create reflective generative background music in Safari (see Wotja Examples).
  • Mixdown & Recordings: [Mix Mode only] Takes you to a screen where you can make mixdown recordings and preview them.
  • Help & More:
Status Bar
TTMRoot/Tempo Tap on this indicator to go straight to the corresponding "Mix" controls in the Rules Panel (not yet supported).
Top Toolbar
TTMColumn Lock Tap on this button to lock a column to force the play of all cells in that column; tap again to unlock it. Locking of a column only has effect on cells for a Track with Track Rule of type "Sequence" and where cells are not looped (i.e. no orange band). In single column view, the column number shown at the top is that of the selected Cell.
TTMMix FX This button indicates if there is any Mix level FX applied. When there is no FX applied it is a dull blue colour. Tap the button to go the the ISE FX Network Editor where you can create or edit a FX network.
TTMTTM TTM Panel: For a selected Cell that contains generative content the right hand panel shows a TTM text field for every voice in a cell. Only Fixed Pattern voices (pink) can play TTM, and the Enable toggle will change a voice to that when turned on.
Mix  TrackTrack Mixer (Default)

Mix  VoiceVoice Mixer

Mixer Panel: Once in this panel, tap the button again for a pop-up menu where you can choose between seeing the Voice Mixer and Track Mixer panels.

  • Track Mixer Panel: Right hand panel shows sliders for mixing Track volume and pan levels.
  • Voice Mixer Panel: For a selected Cell that contains generative content, the right hand panel shows sliders for mixing its "Voice" volume and pan levels.
ArrangeCell Rules Cell Rules Panel: Right hand panel shows the paramater values for the selected Cell that determine things such as how long it will play for.
NetworkNetwork Network Panel: For a selected Cell that contains generative content the right hand panel shows the cell's generator network. Tap on the buttons in the network to have quick access to the relevant Voice parameters for the Intermorphic Music Engine (IME), right through to accessing the Intermorphic Synth Engine (ISE) to carry out any sound design you wish to do.
ArrangeMix Display Mode button

A mix always includes a "grid" of 12 tracks of 4 cells. You can populate or leave empty any cells you wish. This button, shown to the right of the panel selectors, has a pop-up menu allowing you to select one of three display modes for the grid:

  • Multi Column: This "Grid" mode shows the whole grid of Cells (i.e. all columns). It is an overview mode that gives you access to the Track Mixer to set the levels/pans for each track as well as seeing how "Cell Sequencing" is working when the Track Rule is set to Sequence. Cell Sequencing can used used to apply a level of arrangement to your mix, allowing spaces for example via empty Cells. It is particularly useful when using loops and if you want to loop different cells that use the same track FX. This mode is also great for "live performance" mixing, too, where you tap/hold a cell to force it to "loop".
  • Single Column: Shows just one column of Cells which always includes the active (selected) Cell. This mode still gives access to the Track Mixer to set the levels/pans for each track and is particularly useful if you want to mix together just one column of Cells without Cell sequencing (i.e. pure generative mix).
  • Single Cell: Shows just the current active (selected) Cell. This is perfect if you just want to focus on editing the contents of just one cell, or even to create a complete piece in one Cell (c.f. Noatikl).
Central Area - Content Cells
Content CellContent Cell

Content Cells are at the heart of Wotja. You can use the bottom toolbar right side "grid" icon to toggle the left hand Content Cell display to show either 1 column of Cells or 4 columns of Cells. There are 3 areas/parts of cell, see below.

Selected CellSelected

TTMGenerative

Selected CellAudio Loop

Selected CellMIDI File

Selected Cell: When a Content Cell is selected the border of the cell takes on a fuschia colour and the top or bottom of the cell takes on a lime green background colour that marries up to the right side panel that has been selected to display.

The top of a Content Cell also displays an icon depending on the kind of content in it:

  • Generative: Blue IME icon
  • Audio Loop: Grey waveform icon
  • MIDI file: Black notes icon
  • No content: Blank
Cell Status:
TTMPlaying

TTMLooping

TTMPlay Empty

The middle of a Content Cell displays the Cell Status band and within that is the name of the file in the Cell. The colour of this band indicates the following:

  • Green: Playing but not looping
  • Orange: Playing and continuously looping
  • Grey: Playing an empty cell (no sound)
  • White: Not playing
Cell Values:
TTMPlaying

TTMStopped

TTMInfinite

TTMMissing Content

The bottom of a Content Cell shows the cell "Arrange" values, and these are presented differently depending on whether the mix is playing or stopped.

The topmost values shown in blue are the Cell's Generative Bar values and the values below those in black or dark grey are the Cell's Cell Repeat values.

  • Mix Playing: The values are shown with syntax #X/Y where X is the calculated minimum and Y is the calculated range value.
  • Mix Stopped: The values are shown with syntax #X+Y where X is the set minimum value and Y is the set range.
  • Infinite: The one exception to the above is that if a cell is playing and the Generative Bars value is infinite, a blue infinite symbol takes up the space of both.
  • Missing: If the content referenced in the cell cannot be found then the bottom area displays red. This can happen, for example, if your mix references a loop on your device which you later delete or you load someone's piece and you have not installed a Pak that it might reference.
Central Area - Track Controls
Track FXTrack FX

Default - None:

Tap this button to go into the ISE Network Editor where you can add Track FX.

Track Rules:
Track Rule SequenceSequence

Track Rule One ShotFXOne Shot

Track FXLoop

Default - Sequence:

Sequence: When the content in the Track's current cell has finished playing, the next Cell in the track will play (unless it has been forced to loop).

One Shot: No Track Cell will play UNTIL it has been triggered (it will display the green "play marker" in the middle of the cell). Once triggered, any content will play through ONCE (like a sting) and then the cell will stop playing.

Loop: No Track Cell will play UNLESS it is forced to loop - either by tap/hold on the cell or by setting the Loop toggle in this panel. Turn off looping the same way. Tip: When using the Toolbox menu "Randomize" menu functions only the item "Randomize Cell (sticky)" will randomize the Cell. Advanced Tip: Cells in Loop tracks containing Audio/MIDI content will play ONCE when the Column lock is first applied to a Column (if a cell is not already looping); cells containing generative content will be set to play for the length of the mix (∞).

TTMTrack Solo Button

Tap to solo the related Track. Gold tint means soloed, grey means not soloed.

This button is in the Track Control grouping to the left of the sliders.

Track MuteTrack Mute Button

Tap to mute the related Track. Dark grey means soloed, grey means not soloed.

This button is in the Track Control grouping to the left of the sliders.

Central Area - Right Side Panel
Right PanelGenerator Network

What shows in this area depends on which panel you are in:

Toolbar View Panel

See in order:

Mix : Panel - Network

Mix - Network Panel with IME Edit Panel

Network Panel with IME Edit panel
Click image for large

See the Video: Wotja iOS: Quick Start (4m)

The right side "Network" panel is where you can marry IME voices (note generators) to MIDI channels, ISE synth sounds and FX. The buttons in the network and associated ISE network all provide quick links to the underlying paramaters and editors.

Tap the top Voices button for quick access to the IME parameter editors. Go to the Cell Rules panel to set Cell and Mix level settings such as Cell Rules and Mix Tempo.

Tap/hold on a voice and you can drag it up/down to change the voice order. If you drag from a Voice button to a MIDI channel box that will tell the system that the Voice will play through the defined MIDI channel. If a new voice is added to a piece, the voice won't be assigned to a specific MIDI channel; if you haven't yet hooked-up a Voice to a MIDI channel, the IME will decide on a free MIDI channel to hook-up the Voice to when it starts playing.

For full information on the Intermorphic Music Engine (IME) parameters refer to the IME section of this guide.

For full information on the Intermorphic Sounds Engine (ISE) parameters refer to the ISE section of this guide.

UI Item Description
IME Edit buttonIME Edit / Voices button

Wotja X Tip: See last item in the pop-up menu (below) for IME Edit panel show/hide option .

Wotja A: 'Voices' button - Tapping it takes you directly to the Voice Editor screen.

Wotja X: 'IME Edit' button - Tap on this IME Edit button (and/or right click in the Desktop version) and it will display the pop up menu below.

  • Edit {Selected Voice}: Go to that Voice in the full-screen Voice Editor screen where you can edit the generative music parameters for the voice.
  • Browse Templates...: Go to the Templates list where you can select a Template to add.
  • Add Voice of Type...: Add a voice of one of the IME Voicetypes.
  • Copy: Copy the voice.
  • Paste: Paste the voice.
  • Mute: Mute the voice.
  • Solo: Solo the voice.
  • Delete: Delete the voice.
  • Show/Hide IME Panel [Wotja X ONLY]:

      (Default: On) This toggle governs the display or hiding of an optional editor panel in the Mix Mode Network view in Wotja X (it is not available in Wotja A). The panel allows in-screen editing of a Voice's IME parameters.

      Layout:

      • Landscape: The panel is shown to the right of the Mix Mode Network view.
      • Portrait: The panel is shown below the Mix Mode Network view.

      Operation:

      Simply tap/click a Voice button/icon in the Network view to update what is shown in the parameter panel.

      • Clicking the Voice button in the network view on an unfocused voice will give focus to that Voice and update the panel but doesn’t show the pop-up Voice menu.
      • Clicking on previously focused voice does show the menu.

See also the Intermorphic Music Engine (IME) section of the guide for details on what the parameters do.

Pan SliderPiece FX

Tap set the piece level FX in the ISE FX editor.

TTMVoice button

Tap/hold on a Voice button (and/or right click in Desktop version) to get a Voice Action pop-up menu (see the IME Edit button menu above).

Note: To Paste a voice (once copied) you must tap an existing voice and then select Paste.

MIDI ChannelMIDI channel

The Voice "IME Patch" parameter (see Voices screen) defines which MIDI Patch command to send for each MIDI channel.

The MIDI channel box is an indicator and not a button. However, you can tap/hold a voice button and drag it to a MIDI channel box.

In general, you should only hook-up multiple Voices to the same MIDI channel if they all share the same Patch parameter.

MIDI Channel 10 is reserved for the Drum instrument. Every voice with a Drum Patch, should generally be attached to MIDI Channel 10.

Synth buttonSynth button

If the "ISE for Sounds & FX" toggle is checked in the Settings screen, then MIDI events are routed for each channel through a ISE Synth configuration defined by the associated Synth button, which by default will use ISE's built-in MIDI Wavetable synth (using the Patch defined by the Voice's Patch parameter). If you want to use a custom sound, click the Synth button to invoke the ISE Synth editor.

Track FX buttonTrack FX button

The output from every Synth box can be passed through a custom FX Network. If you want to use an FX, click the FX button to invoke the ISE FX editor.

Mix : Panel - TTM

Mix - TTM Panel

TTM Panel (Mix tab)
Click image for large

See the Video: Wotja iOS: Quick Start (4m)

The "Text to Music" (TTM) panel is where you see which TTM players are active and it provides a quick route to adding text into them.

Tap on a coloured voice button to take you to that Voice's parameters in the Voice Tab.

Tap on the Text area to go into the Text Editor screen (see table below) where you can add your text.

You can use any text, and in can be in any language. In general it takes 2 characters to generate a note.

UI Item Description
TTM Panel
TTMVoice button Tap to take you to the parameters for this voice in the Voices tab. In that screen tap the LHS "Text Pattern" item to scroll to all the TTM related parameters.
TTMText This is your TTM text. Tap this to go to the Text Editor screen below.
TTMEnable toggle

Turn this on to enable the TTM voice, meaning your text will be used to generate a pattern. If the voice type is not already Fixed Pattern turning on this toggle on will change it to one.

The pattern generated by your text will then overide any pattern that may already be in the Fixed Pattern voice.

Text Editor Screen

Accessed via the Mix Mode > TTM Panel > Voice TTM button or via the Mix Mode > Network Panel > Voices Button > Text to Music > Text parameter, this is the screen where you enter your TTM text.

Tip: Using the Randomise button in this screen is a quick and easy way to create some cut-up text!

UI Item Description
Text EditorText Editor
(click image for large)

Where you enter your TTM text.

TTM ActionAction

    Popup Menu:

  • "Clear Text": Clears the text in the text area.
  • "Export to Clipboard": Allows you to export the TTM text e.g. randomisations you have made (there are some restrictions prior to an IAP tier being active).
  • "Import from Clipboard": Import text to be used for your TTM.
TTM Display ToggleDisplay Text? When this toggle is on and you use in a TTM voice, your TTM text will show in full screen mode.
TTM Randomise OptionRandomise Option Tap the button for a Popup menu where you can set what happens when you press the Randomise button (dice icon to the right of this button).

    Popup Menu:

  • "Shuffle Words": Existing TTM words in this text area will be randomly shuffled.
  • "Shuffle Text": All characters in existing TTM words in this text area will be randomly shuffled.
  • "Random Words": Allows the creation of a simple cut-up derived from words in your word pool. How many words are used is governed by the TTM Min Words and TTM Max Words settings in Randomisation Settings.
TTM Randomise ButtonRandomise Button

Carries out the action set in Randomise Option.

TTM NotesNotes Tells you the number of notes your text generates.

Mix : Panel - Voice Mixer

Mix - Voice Mix Panel

Voice Mixer Panel (Mix tab)
Click image for large

See the Video: Wotja iOS: Quick Start (4m)

Tip: To swap between Voice Mixer and Track Mixer panels, first select this segment in the top toolbar. Tap the segment again for a pop-up menu which allows you to change between them.

The right side "Voice Mixer" panel is where you can easily change the volume and pan balance of the Voices (generators) used within the cell.

Tip: To mix tracks against each other use the Track Mixer panel.

Tap on a slider to change the volume or pan.

Tap the Mute or Solo button to mute or solo the Voice. These buttons do not at present change colour like those in the Track Mix panel.

UI Item Description
Voice Mix Panel
TTMVoice button Tap to take you to the Voice in the Voices tab so that you can edit its composition parameters.
TTMVolume Slider

Tap to change the volume for the related Voice.

Tip: This slider changes the volume value for the MIDI channel that this Voice is on. You may have multiple Voices all on one MIDI channel. In that instance, try changing the Voice's Velocity parameters instead.

TTMPan Slider

Tap to change the pan position for the related Voice.

Tip: This slider changes the pan value for the MIDI channel that this Voice is on. You may have multiple Voices all on one MIDI channel.

TTMVoice Mute/Solo Buttons

Tap to mute or solo the related Voice.

Tip: The Voice button will turn light grey when it is muted. These buttons do not at present change colour like those in the Track Mix panel.

Mix : Panel - Track Mixer

Mix - Track Mix Panel

Track Mixer Panel (Mix tab)
Click image for large

See the Video: Wotja iOS: Quick Start (4m)

Tip: To swap between Track Mixer and Voice Mixer panels, first select this segment in the top toolbar. Tap the segment again for a pop-up menu which allows you to change between them.

The right side "Track Mix" panel is where you can easily change the volume and pan balance of each of the tracks used in the mix.

Tip: To mix the internals of a cell use the Voice Mix panel.

Tap on a slider to change the volume or pan.

Tap the Mute or Solo button to mute or solo the Voice. These buttons change colour to indicate their status.

UI Item Description
Track Mix Panel
Voume SliderVolume Slider

Tap to change the volume for the related Track.

Pan SliderPan Slider

Tap to change the pan position for the related Track.

Mix : Panel - Cell & Mix Rules

Mix - Cell Rules Panel

Cell & Mix Rules Panel (Mix tab)
Click image for large

See the Video: Wotja iOS: Quick Start (4m)

The right side "Rules" panel is where, amongst other things, you can easily set the parameters that define how a Cell will play, as well as the rules used for the Piece in that Cell AND some general values that apply to the whole Mix (such as Tempo, Root, Ramp Up/Down as well as Playlist Duration settings, all shown at the bottom of the panel).

Tip: The values of some of these cell settings are shown overlaid on the relevant Cell.

Tip: Access the "Mix" section controls by tapping on the Root/Tempo indicator in the top Status bar.

Mix section: The Mix Tempo, Mix Root and Ramp Up/Down settings apply to both a mix and/or that mix in a Playlist, but the Playlist Duration/Playlist Duration Range/Playlist Ramp Down are specific to that mix only in Playlists.

Important: We do not support Mix level rules that override those in all cells, but it is something we may consider later.

Noatikl Tip: When exporting a piece for use as a template, it is best to use a maximum piece length (32,000 seconds).

Tip: If you are going to be making your mix or piece available for others to use, you may well wish to include your own copyright statement for each piece in the mix. Each voice within the piece can also have its own copyright statement.

For full information on the Intermorphic Music Engine (IME) parameters refer to the IME section of this guide.

UI Item Description
Generative Cell
Gen Bars

Default: ∞ [0 - 1000] - The minimum number of bars for which a cell will play generative content. Special Value: If this value is set far left to ∞ [0] then once play in a Track reaches such a cell the generative content in that cell will continue to play either for as long as the mix plays or until you manually select another cell in that Track to play.

This value is the first of a pair of numbers shown in blue in the top line of text at the bottom of the cell.

The value in brackets next to the Gen Bars value shows what this represents in terms of h:m:s and takes into account the mix tempo.

Gen Bars Range Default: 0 [0 - 1000] - A value that is added to the Gen Bars value to define the maximum number of bar for which a cell will play generative content.

This value is the second of a pair of numbers shown in blue in the top line of text at the bottom of the cell. If the first value (above) is ∞ then this value is not shown.

Harmonize with Me

Default - ON: This determines if Wotja needs to take the notes played by this Cell into account when composing/playing other Cells.

Harmonize with Others

Default - ON: This determines if Wotja needs to take the notes played by other Cells into account when composing/playing notes for this Cell.

Generative Piece Rules
Scale Rules

Default - Default Rule: When the cell is playing any active rule element will flash; the colour is that of the Voicetype of the playing voice. To edit or change the Piece Level Scale Rule (which can be overridden at Voice level), tap on it to go to the Rule Editor screen. For information on Scale Rules refer to IME Rule Object. For information on Piece Level rules refer to IME Piece Rules.

Harmony Rules

Default - Default Rule: When the cell is playing any active rule element will flash; the colour is that of the Voicetype of the playing voice. To edit or change the Piece Level Harmony Rule (which can be overridden at Voice level), tap on it to go to the Rule Editor screen. For information on Harmony Rules refer to IME Rule Object. For information on Piece Level rules refer to IME Piece Rules.

Next Note Rules

Default - Default Rule: When the cell is playing any active rule element will flash; the colour is that of the Voicetype of the playing voice. To edit or change the Piece Level Next Note Rule (which can be overridden at Voice level), tap on it to go to the Rule Editor screen. For information on Next Note Rules refer to IME Rule Object. For information on Piece Level rules refer to IME Piece Rules.

Generative Piece Info
Title

Displays the Title of the Piece/Template, if it is defined. For information on Piece Title refer to IME File.

Author

Displays the Author of the Piece/Template, if it is defined. For information on Piece Author refer to IME File.

Notes

Displays any Notes in the Notes field the Piece/Template, if defined. For information on Piece Notes refer to IME File.

Cell Rules
Cell Repeats

Default - 1: The minimum base value for the number of times a cell will repeat after it has played through once and to which the range value (below) is added. For a generative template each bar counts as one repeat; for audio or MIDI content this is the length of the content rounded up to the end of a bar). Note: If the cell contains generative content and the Generative Bar Min is value is set to ∞ then this setting takes no effect as the cell never repeats!

This value is the first of a pair of numbers shown in black in the bottom line of text at the bottom of the cell.

Cell Repeats Range

Default - 0: Sets the range that applies to the above base value.

This value is the second of a pair of numbers shown in black in the bottom line of text at the bottom of the cell.

Loop (Toggle)

Default - Off: Turn this on to force the Cell to loop continuously. Only once Cell per Track can be looped. Turning on Looping for another Cell will turn off Looping for this Cell.

Cell Root Offset: Mix Root + Semitones

Default - Template Root: Choose the Root you want to apply to the Cell. Its value is a Semitone offset from the Mix Root.

Track Rule
Sequence/One Shot/Loop

Default - Sequence:

Sequence: When the content in the Track's current cell has finished playing, the next Cell in the track will play (unless it has been forced to loop).

One Shot: No Track Cell will play UNTIL it has been triggered (it will display the green "play marker" in the middle of the cell). Once triggered, any content will play through ONCE (like a sting) and then the cell will stop playing.

Loop: No Track Cell will play UNLESS it is forced to loop - either by tap/hold on the cell or by setting the LoopToolbox menu "Randomize" menu functions only the item "Randomize Cell (sticky)" will randomize the Cell. Advanced Tip: Cells in Loop tracks containing Audio/MIDI content will play ONCE when the Column lock is first applied to a Column (if a cell is not already looping); cells containing generative content will be set to play for the length of the mix (∞).

File Info
Name

File name: This displays the name of the audio/MIDI file or original template used in the Cell.

Path

Pak Name: This displays the name of the zip file that includes the template.

Duration

Content length (secs): This displays the play length of the content in the cell.

Mix
Mix Root:

Random root is chosen for an automatic mix or from the template if created manually: Choose the Root you want to apply to the whole Mix.

Tempo:

Default - Template Tempo: Choose the Root you want to apply to the Cell. Its value is a Semitone offset from the Mix Root.

Ramp Up: Seconds

0-20: This applies when the mix starts to play (also in a Playlist).

Playlist Duration: Seconds

10-7200: This is how long the mix will play for in a Playlist (overridden by Music Play Time). Double tap for a pop-up menu where you can edit the value via on-screen keyboard.

Playlist Duration Range: Seconds

0-7200: A range value added to the Playlist Duration value (overridden by Music Play Time). Double tap for a pop-up menu where you can edit the value via on-screen keyboard.

Ramp Down: Seconds

0-20: This applies when the mix stops playing in a Playlist.

Mix : Param Editor - Voices

Voices Screen

Voice Editor Screen
Click image for large

The Voice Editor screen is where you can fullscreen edit all the parameter values for each of the voices in the piece in the cell. You get to it from the Network panel by tapping on a Voice button (or IME Edit button [Wotja X only]) and selecting Edit from the pop-up menu.

Simply select the Parameter Group on the left hand side, and then edit the parameters on the right.

For full information on the Intermorphic Music Engine (IME) parameters refer to the IME section of this guide.

UI Item Description
Undo/Redo

Undo or Redo your last parameter change.

Central area
Voice selectorVoice Selector Bar

The Voice selector bar shows the number of voices in the piece (in the selected cell). Tap in the left or right side of this bar to move to another.

Parameter ListParameter Group List

Tap the item you are interested in the left hand Parameter Group list for the right panel to scroll to that section.

Tip: Tap "Basics" to scroll the Parameter Values panel to the top so you can see the Voice name.

For full information on the Intermorphic Music Engine (IME) parameters refer to the IME section of this guide.

Parameter ListSelected Parameter Group

The selected Parameter Group.

Parameter ListParameter Values Panel

The Parameter Values panel is where you change the values for parameters in the group. Swipe up / down in this panel to scroll up or down.

For full information on the Intermorphic Music Engine (IME) parameters refer to the IME section of this guide.

Mix : Param Editor - Rule

Rule Editor

Rule Editor
Click image for large

This view is where you select and (real-time) edit the Rules used in your voice or piece - be they Scale, Harmony, Next Note or Rhythm rules.

UI Item Description
Top area
Parameter ListRule Element

This control lets you change the rule elements. Tap on a rule element to change its value. The composition engine accomodates all rule changes in real-time - which can be a lot of fun!

So that you can tell when a voice using the currently selected rule composes using it, it flashes the colour of the voice type used by that voice. This is primarily to remind you that other voices rely on that rule, so if you are going to change it then the way other voices compose may change, too. It can be useful to have the same rule used by all voices, but if you want to, then each voice can have its own rule!

For full information on the Intermorphic Music Engine (IME) parameters refer to the IME section of this guide.

List area
Parameter ListRules List

Below the Rule Edit area is a scrollable list contains all of the defined rules. Tap a rule to select it so that you can edit it in the Rule Edit area above.

Toolbar
Rule Add Rule Edit Rule Cut Rule Copy Rule Paste Rule Delete

The toolbar contains the Add Rule button, as well as a the Edit Rule Name, Cut, Copy and Paste buttons and the Delete button.

When you select the Add Rule button you are presented with a set of included default rules. For Scale rules these may include Major, Minor, Dorian, Hypodorian, Hypolydian, Hypomixolydian, Hypophyrgian, Lydian, Mixolydian, Pentatonic, Phrygian.

Mix : Param Editor - Pattern

Pattern Editor

Pattern Editor
Click image for large

This view is where you edit all the Pattern parameters. Patterns are a little tricky to use because of limited string editing, so be aware. We suggest instead to use TTM Patterns.

UI Item Description
Top area
Parameter ListPattern Edit field

Tap in the field to edit the IME Pattern or Sub-pattern. The IME Pattern Syntax can take a bit of getting used to and you will need to study it carefully if you want to use patterns.

List area
Pattern ListPattern List

Below the Pattern Edit field is is a scrollable list contains all of the defined patterns or sub-patterns. Tap a pattern to select it so that you can edit it in the Pattern Edit field above.

Toolbar
Pattern Add Pattern Up Pattern Down Pattern Delete Pattern Preset

The toolbar contains the Add Pattern button, as well as a the Up and Down buttons to move patterns up and down, the Delete pattern button and the Presets button. Select the Presets button display a list of preset included patterns to choose from.

IMPORTANT: The pattern you select in the presets list OVERWRITES your current selected pattern.

Tip: Patterns are a way that can be used to create hidden structure in a piece. Set up a voice to be of Voice Type Pattern, set its volume to be zero (e.g. in the Blend view), but do not mute it (or it will not count in terms of composition). Then, follow that Fixed Pattern voice with another voice. Set up the following voice with Chords Strategy set to Chordal Harmony and you will never hear the pattern but it will be used as an invisible skeleton around which to compose! If you want to hear the pattern, set Follows Strategy to Semitone Shift.

Mix : Param Editor - Envelope

Envelope Editor

Envelope Editor
Click image for large

Voice Envelopes are supported for the following parameters:

  • Volume
  • Pan
  • Velocity
  • Velocity Range
  • Velocity Change
  • Velocity Change Range

Envelopes work in the same way for all of these. This view is where you edit the Voice Envelopes.

Each envelope is a collection of up to 100 data points. A piece starts with the value at the left side of the envelope, and as it progresses, eventually ends up with the value from the far right of the envelope.

UI Item Description
Parameter ListEnvelope Mode

Draw: Select this if yoi want to draw direct on to the envelope with your finger to change the values.

Macro: Select this to use one of the various macro envelope editing tools.

Parameter ListEnvelope Editor
  • Draw Mode: Tap/drag to select the range using your finger...
  • Macro Mode: Select the option you want. e.g. random, curve up etc.
  • Select top Draw button to return to the normal click-to-paint mode.

Cut-Up : UI Overview

Words Tab

UI Elements
(Create Screen)
Click image for large

See: 'Free Mode' & Limitations

The powerful "cut-up technique" allows you to quickly generate ("Create") random word associations ("Cut-up") from a pool of words. This pool can include words from up to 5 user entered text fields ("Sources"), a user word library ("Word Library"), the customisable Wotja Word Bank ("Word Bank") and a non-editable Wotja Word Database ("Word Database").

You can lock down ("Lock") any words you want or, for just a selected word, choose one of the alternative cut-up words presented. You can use Rules ("Rules") to constrain your cut-up by lines, words and syllables.

Keep iterating until you find the interesting, inspiring or serendipitous combinations of words you are looking for. Save the the best Cut-ups ("Saved") and then use in real-world lyrics, poems, haikus, tweets etc.

For your cut-up you get to choose how many lines and how many words per line you want in it and whether you want Wotja to attempt End of Line (EOL) rhyming.

Tip: You can also also quickly generate cut-up in the Text Editor screen.

In Wotja for macOS there are 3 main panels in the display.

Words Segments

In Wotja for iOS these are selected by the control at the top (shown above):

  • Sources: - Where you input and store all the text you want to be used as a source for your cut-up. The sources are saved in the your Wotja file and you can have up to 5 of them.
  • Create: - Where you create your cut-ups. The created cut-up, locks and associated Rules are saved in your Wotja file.
  • Saved: - Where you can see all the cut-ups you have chosen to save. These cut-ups are saved in your Wotja file.

Important: We respect copyright and strongly encourage you to do the same. That means if you use Wotja to come up with a lyric you like, make sure that it does not infringe the copyright of any of your source material. Wotja is pretty good at creating random "cut-ups", but it is just a tool for you to use to generate ideas. It is ultimately your responsibility to make sure you are not infringing anyone elses copyright.

Cut-Up : Sources

Cut-Up Sources Screen

iOS - Sources Screen
Click image for large

The Sources screen is the first of the three Cut-Up related screens.

It is where you input and store all the text you want to be used as a source for your cut-up. The sources are saved in the your Wotja file and you can have up to 5 of them.

Each source field is plain text only and you can type the data in directly, or paste-in some text from the clipboard.

macOS: There are also various other options you can use, which are on a pop-up menu that you can get at either by either right clicking or control clicking.

The Sources text boxes are all editable, which means you can move words around by cutting and pasting, or even edit or manually add in new words.

Tip 1: The more interesting the source material you use, the more interesting the cut-up suggestions generated. You can think of your favourite source materials like spices or ingredients, and then build up a collection of your favourites to add when you want. You can then add as little or as much as you like!

Tip 2: Why not try using text from some current news item as a Source - that way you can make sure you use words that are current, and some interesting themes can seemingly come out of nothing!

Tip 3: The more words there are in your Sources the more options for cut-ups.

Tip 4: To use the "Sources Only" cut-up mode requires that you have at least one source defined.

UI Item Description / Menu Items
ActionAction

Popup Action menu.

  • Export Source to Clipboard: - Exports the currently selected source.
  • Export all Sources to Clipboard: - Exports all 5 source fields to the clipboard.
  • Import Source from Clipboard: - Imports what is on the clipboard to the currently selected source.
TextText Area

This text area displays your source. It supports standard iOS text copy/paste etc controls.

There is no formatting of text in a source.

Wotja for macOS:

In Wotja for macOS you can access a pop-up context sensitive menu by either right clicking (Windows) or right clicking/control clicking on one of the text fields in the Sources area, or a word in this area.

Right/Ctrl click on a word

NB: You can click on a word, or, specifically in respect of the search option, select (highlight) single or multiple words.

  • Thesaurus: Searches for the selected word via an online thesaurus engine.
  • Dictionary: Searches for the selected word via an online dictionary engine.
  • Search: Searches for the selected word via an online search engine.
  • Look Up: Loads the integral macOS dictionary your selected word.
  • Share: Displays the list of standard macOS options that are available for sharing.
  • Rhyme: Searches for words (via Rhymebox.com) that rhyme with the selected word. The menu options are:
    • Normal
    • Phonetic
    • Consonants
    • German
      • Normal
      • Phonetic
      • Consonants
  • Edit...: Displays the list of standard macOS options for copy/paste etc.
  • Services...: Displays the list of standard macOS options for copy/paste etc.

Click on the background

  • This presents a slightly different pop-up menu, similar to that from "Edit..." above.
BackgroundPage Control

Either tap a dot or swipe the screen left or right to move between sources.

Cut-Up : Create

Cut-Up - Create Section

Cut-Up - Create Screen
Click image for large

The Create screen is the second of the three Cut-Up related screens.

It is where Where you create your cut-ups. The created cut-up, locks and associated Rules are saved in your Wotja file.

Tapping a word will lock/unlock it (a locked word is shown in red and will not be changed when you press the Create Cut-up button).

UI Item Description / Menu Items
ActionAction

Popup Action menu.

  • Export to Clipboard: - Exports the current cut-up to clipboard.
  • Email: - Exports the current cut-up and inserts into the body of an Email.
  • Tweet: - Select to copy your cut-up to a Tweet (only displays if you have an active Twitter account altready set up).
  • Tweet: - Select to copy your cut-up to a Facebook post (only displays if you have an active Facebook account altready set up).
  • Import from Clipboard: - Select this to replace your cut-up with the text on the clipboard. This can be useful of you want to create a new Rule from e.g. an existing poem, lyric etc.
SaveSave

Saves this cut-up to Saved.

If this is the first one you save you see no pop-up. If you already have a saved cut-up in Saved, you see a pop-up with two options:

  • Replace: Replaces a saved cut-up in your Saved list, with the new one.
  • Append New Cut-up: Saves the cut-up to the end of the Saved list.
EditEdit

Select to be able to edit the text in the cut-up area as plain text e.g. perhaps to change a word or even add new words (in which case a suitable new matching Rule will be generated).

When in Edit mode, click in a word to place the cursor and press the Esc key to see a drop list of words; or double click a word to select it (once selected if you wait a second and click/hold the word again you can drag it).

Press "Done" when finished to revert back to standard cut-up screen behaviour where tapping a word will lock/unlock it.

Rules Rules

This top left button shows you the rule being used to create your cut-ups. If the rule has a title you will see it here, otherwise you will see the rule syntax.

Tap on the Rules button to go to the Rules List where you can select a rule.

Tap on the Rules button to go to the Rules List where you can select a rule.

EOL EOL (End of Line) toggle

Setting determines whether Wotja attempts to rhyme the ends of lines with other lines. For true, random, cut-up, then you would leave this set to EOL - OFF.

EOL Character Count

Displays the number of characters in your cut-up (useful to know if you plan on tweeting your cut-up) and number of syllables in each line.

TextText Area

Lines are alternatedly coloured with black and dark grey so that if your text wraps you can easily see which line the words are in.

Tap a word to lock or unlock it (it shows in red when locked). When you select a word (locked or unlocked) it also underlines it to show that it is the selected word (e.g. "inspiring" in the screenshot above). To select a word without changing its lock state tap on it and then drag away from it and release. Even though the word does not display an underline, it is now selected.

Background Word Alternatives Bar

This is displayed just above the bottom toolbar. If you tap on one of the four alternative words (e.g. "creative" in the screenshot above) then that word will replace the selected word (e.g. "inspiring" in the screenshot above). To refresh the alternative words shown, either tap a blank part of the cut-up area or tap the Create Cut-up button.

Library Button Library Button

Library ScreenLibrary Screen
(click image for large)

Library ScreenLibrary Screen
(click image for large)

Wotja Word BankWotja Word Bank
(click image for large)

Located to the left of the Blend slider, tap this to view the User Word Library which where you can add your own favourite words ("spices") that you can mix with words from your sources. In the User Library click the Show button to view the Wotja Word Bank (containing over 650 selected words). Both are editable/customisable and operate as standard text fields.

The User Word Library and Wotja Word Bank are both stored outside of the Wotja file, so these words are available to use in cut-ups for any file.

Blend slider Blend Slider

The position of the blend slider determines what proportion of words are selected from your Sources or from the User Library and/or Wotja Word Bank.

Left means use words only from Sources, and right means use words only from your Word Library. Any where in between is a blend!

Cut-Up Mode selector Cut-Up Mode Selector

Tap the Mode Selector to choose how your cut-up is created.

Word Lock: In this classic mode, words can be locked, and the non-locked words are changed using the active rule (including syllables), and are sourced from Sources text, User Library and any Word Bank data you might have defined. This mode is very useful for fine-tuning a cut-up.

Sources Only: This new cut-up mode analyses the structure of the Sources text and lets you create cut-up with a more natural feel; in this mode the cut-up is created from Sources ONLY and it uses the active rule (ignoring syllables) but EOL rhyming and word locks are ignored.

BackgroundCreate Cut-up Button

This button looks like a dice and is located on the right of the tools panel. Provided you have first added some words to at least one of the Sources text boxes above (or you have some words in your User Library or the Wotja Word Bank toggle is on AND the Library slider is not hard over to the right) when you click this you'll see a Cut-up appear in the text area above it. Each time you click this button all non-locked words will be replaced by words selected at random from your word pool and/or Library/Word Bank.

Rules List
Rules ListRules List
(click image for large)

In the Rules List you will see the available Rules and can select the rule you want to have used for your cut-up.

If there isn't one there you want to use then you can easily create and use any rule you want - see the Rule Editor.

Tip: Rules are stored in a Wotja file. When you create a new cut-up then the Rules List is populated with the default rules. The cut-up uses only the rule you select and you can delete any of these rules you don't want to be used for cut-up.

Edit:

  • Delete a rule: Tap the left had red icon to delete a saved cut-up.
  • Re-arrange Rule list: Select the right hand list icon and drag it up or down.

Actions:

  • Export to Clipboard: Select to export all rules to the clipboard.
  • Import from Clipboard: Select to import rules that are on the clipboard. Wotja ensures there are no duplicates.
  • Prune: Remove all rules from the list that are not actually used in this Wotja file.
  • Use Default Rules: Replace all the rules in your Wotja file with the default rules (use carefully!).

Rule List item:

  • Rule: Tap to use it for your cut-up.
  • Cogs icon: Tap to take you to the Rule Editor.
Rule Editor
Rules ListRule Editor
(click image for large)

See: 'Free Mode' & Limitations

The Rule Editor provides an easy, graphical way to create rules.

If there isn't a rule you want to use in the Rules List, or you want to edit it, then you can do that easily. There are 3 ways to edit or create Rules. Either:

  • A) Use the Rules Editor, or;
  • B) Create a rule in a text editor and copy it (e.g. 3 5 6 6) and then paste it into the Rules field (or, from the top right Rules Action button in the in the Rules List select "Import All from Clipboard" to import it) or;
  • C) In the Create screen, tap the top right Edit button and type into the textarea any old text for the kind of rule you want (where any single letter counts as a word, you do not have to type full words), e.g.:
      A A A A A 
    A A
    A A A
    			  
    would be a "5 2 3" rule.

Editor Controls:

  • Edit button (top right):
    • Delete rule: - Tap the left hand red icon to delete the rule.
    • Re-arrange rules: - Select the right hand list icon and drag it up or down.
  • Rules Field: This is editable.
  • Title Field: This is editable.
  • Line Summary: This displays the word and syllable count for the line. Tap the line to expand it so you can use the sliders to change the rule values.
  • Slider controls:
    • Words Minimum: The minimum number of words in the line of cut-up.
    • Words Maximum: The maximum number of words in the line of cut-up.
    • Syllables Minimum: The minimum number of syllables in the line of cut-up.
    • Syllables Maximum: The maximum number of words in the line of cut-up.
Rule Syntax

The most basic Rule consists of a series of numbers. Each number stands for the number of words to put in a particular line of the cut-up. For example, the numbers "3 4 5 6" would represent four lines of cut-up as there are four numbers. The first line would have three words, the second would have four words, the third would have five words, and the fourth would have six words.

There is a lot more you can do if you want to, and it then helps to understand the Rule syntax.

Line Rule Syntax

Tip: Items in [ ] are optional.

LineWordsMin [- LineWordsMax[:SyllablesMin [-SyllablesMax]]]

Composite Syntax
LineRule1 LineRule2 LineRule1 [title:"Name"]

Using the above syntax it is easy to create a Haiku rule with 3 lines of words within a range and and fixed number of syllables of 5,7,5 for those lines. e.g.:

1-5:s5 2-7:s7 1-5:s5 title:"Haiku"

Cut-Up : Saved

Cut-Up - Saved Screen

iOS - Saved Screen
Click image for large

The Saved section is the third of the three Cut-Up related screens / sections.

It is where you can see all the cut-ups you have chosen to save. These cut-ups are saved in your Wotja file.

UI Item Description / Menu Items
ActionAction

Popup Action menu.

  • Cut-ups to Email: - Select to copy your saved cut-ups and paste them into a new email.
  • Cut-ups to Clipboard: - Select to copy your cut-ups and paste them to the clipboard.
EditEdit

Popup menu.

  • Delete saved cut-up: - Tap the left hand red icon to delete a saved cut-up.
  • Re-arrange cut-up list: - Select the right hand list icon and drag it up or down.
Saved Cut-upSaved Cut-up

Tap a saved Cut-Up to select it.

Export Saved Cut-Up: Right click a saved Cut-Up for a pop-up menu with options to copy it to the Clipboard or share it via standard Apple services.

Action menuAction
Edit menuEdit

Add: Copy the current Cut-Up to the saved Cut-Ups.

Replace: Replace the selected saved Cut-Up with the current Cut-Up.

Up/Down: Use these buttons to change the order of saved Cut-Ups.

Edit: Copy the selected saved Cut-Up to the Cut-up screen for editing.

Delete: Delete the selected saved Cut-Up.

Export All: Tap the right hand Actions button for a pop-up menu with options to copy all saved Cut-Ups to the Clipboard or share them via standard Apple services.

Cut-up ListCut-up

Edit saved cut-up: Tap on a saved cut-up and in the pop up message select OK to copy it to the Cut-up screen for editing.

Delete saved cut-up: Swipe left on a cut-up and select Delete.

Export one cut-up: Swipe left on a cut-up and select Export.

Display

Display Tab

Display Tab
Click image for large

See the Video: Wotja iOS: Playlists (8m)

The Display Tab (also referred to as Display Screen) is where you access the screens that let you set up how your wotja looks, i.e. for Fullscreen display when someone loads it.

If you want to add text to your wotja you can do that in the TTM view in the Design screen.

UI Item Description / Menu Items
FilesFiles

Back to Files screen.

For details on the Save Changes popup displayed when you press this button see the description of this button in the UI Elements section.

TextText

Displays a pop-up menu where you can select:

  • Show Text from Cut-Up [Default]: The icon thumbnail in Files screen and that exported for a tweet shows this text overlaying the image.
  • Show Text from TTM Voices: The icon thumbnail in Files screen and that exported for a tweet shows this text overlaying the image. Tip: To prevent TTM text displaying, in the TTM Text Edit screen set the "Display?" toggle to off.
  • Text Hide: When selected then no text is shown in the Thumbnail - this can be quite nice!
  • Change Text Colour: Goes to a screen where you can set the text colour via RGB sliders or a HSB colour wheel.
BackgroundBackground

Go to a screen where you can set the background colour via RGB sliders or a HSB colour wheel.

BackgroundPicture

iOS: The toggle is only shown ONCE a picture has been selected. Tap on the text otherwise displays a popup menu with the following items:

  • Browse: Goes to the Photos app screen where you can select a picture to use as a background image to your wotja. Turn off the toggle to remove the image from the wotja when you next save it. macOS: Select an image using Finder.
  • Random: Creates a random icon/thumbnail to use for the mix as according to the "Random > Albums > Icon Palette and Icon Graphic" settings.
  • Clear: Removes any icon or picture icon associated with the mix so you can use the Background colour setting.

Tip: If you want to export an imageless (i.e. small) wotja to clipboard for embedding in a webpage, then from the Action menu select "Export Wotja URL to Clipboard (no image)".

BackgroundFull Screen
(click image for large)

Wotja A iOS Only: Tap anywhere in the center area to go Full Screen mode; when in Full Screen mode, tap anywhere to return to the Display screen.

In Full Screen mode the background picture, if attached, will slowly auto-pan around the screen.

Mixdown & Recordings

Mix -Mixdown & Recordings Screen

Mixdown & Recordings Screen (Mix tab)
Click image for large

See: 'Free Mode' & Limitations

The Mixdown & Recordings screen is where you can create and preview recordings: WAV (stereo 48KHz/44Khz hardware dependent), MIDI and Video (iOS, macOS only).

These recordings are all saved to the "Wotja Folder", the location of which depends on the OS and/or whether iCloud is enabled for Wotja.

Note: When making a Video recording Wotja creates an audio recording (that you will find in the Audio segment when you next look there) and creates a video based on that recording, using the current "Display Mode" settings to provide a still image for use in the video.

This screen is presently only accessed from the "Mixdown & Recordings" Action menu item in Mix Mode:

Tip: For audio/video recordings you can set the music Ramp in and Ramp down times (from 0 - 20 seconds) in the Mix section of the Cell & Mix Rules panel.

Tip: Use the following apps to locate and then export/share a mixdown recording:

  • iOS: iCloud enabled - Use the Apple Files app (See also this FAQ)
  • iOS: iCloud not enabled - From the Wotja Mixdown & Recordings screen > Actions button > Open With... and try sharing via the options presented there; alternatively use App File Sharing (See also this FAQ)
  • macOS: Finder
  • Windows: Explorer
  • Android: Files app (or other File Manager app); Once you have selected the file(s) you want to export/share (e.g. recordings), use the Share Menu in the Files app to do what you want (alternatively use USB to copy files off your device)

Usage:

  • Set recording length: Using the top Record Bars slider control you can set the number of bars you want to record (up to 100 bars maximum by default, but extendable via the Max Bars slider control in the mix segment of Settings).
  • Start the mixdown: Tap the left "Record" bottom in the bottom toolbar.
  • Recording progress: The title bar will show the recording progress (e.g. 34% - 1.75 Mb) and you will see a % Recording progress popup in the middle of the screen (e.g 35%).
  • Recording complete: The popup will disappear and you will see your recording show up in the list below (if you are using iCloud it might take some time depending on how long your recording is).
  • Preview recording: Audio/MIDI recording: Tap it to start and stop it playing (but there is no visual indication), or use the right side tools button and select Open With; Video recording: Tap it or tap the right side Action button (tools icon) and select Open With.
Notes:

Recordings you make are saved to the Wotja iCloud folder or Wotja folder depending on the "Use iCloud" setting (iOS > Settings > Wotja > Use iCloud).

Mixdown recordings are not live recordings and they are made as fast as your device allows. To be made they require sufficient device memory to be available.

When a recording is made it is held in memory before iOS flushes it to the file system.

Bytes per second = 48000 x 2 x 2 =192,000. 100 bars of 4:4 at 60 bpm is 400 seconds of recording (just over 6 minutes). In terms of bytes this is 192000 * 400 = 77 MB. At 30 bpm, that is 154 MB.

For every 100 MB recording, you need to have space in the file system. 10 recordings will be 1 GB.

If you're using iCloud, e.g. 10 files totalling 1 GB, remember that those files are synced with the cloud.

UI Item Description
Voices buttonMix button

Tap to go to back to the Mix Mode screen.

Recording status indicatorTitle

When a recording is being made this will change to indicate the progress of the mixdown.

Audio/MIDI selectorAudio/MIDI/Video selector (Video is iOS, macOS only)

Tap to select which file type you want to record do. The supported mixdown recording formats are:

  • 48Khz/44Khz (hardware dependent) Stereo WAV file, or;
  • Type 1 MIDI file; or
  • .mv4 (newer devices) or .mov (older devices) file
Bars selectorBars selector

To change the bars value either tap the "-" or "+" buttons, drag your finger along the slider or double tap it for a pop up to manually enter a value.

You can increase the default value in Settings > Mix.

Bars selectorRecording

Audio iconAudio file

MIDI iconMIDI file
Video iconVideo file

The recording item uses an icon to indicate the file type and the description shows the name, bars, tempo and date/time.

Tap the recording to preview it (tapping audio/MIDI recordings can start/stop them playing, but there is no visual indication; tapping a video recording shows the Actions popup), or use the right side Action button (tools icon) and select Open With.

ActionActions

Tap the tools button shown to the right of the recording to present a pop-up action sheet with the following options:

  • Show in Finder (macOS only):
    Opens a Finder window with the file selected.
  • Open With... (iOS only):
    Opens an action sheet where you can choose how to export/share your recording to e.g. to iCloud Drive, Facebook, Dropbox etc. depending on what you have installed. See also this FAQ.
  • Delete (Wotja X only):
    In Wotja X this is how you delete your recording; in Wotja A (iOS), use the top Edit button or swipe left on the recording and press the red delete button.
  • Preview (iOS/macOS Video segment only):
    This allows you to preview your video.
  • Create Video (iOS/macOS Audio segment only):
    Wotja will create a video from your selected recording, using the current "Display Mode" settings to provide a still image for use in the video, and present it in the Video segment. This approach allows you to take a "finessed" recording of your generative mix, and create videos from it at your leisure.
  • Recording buttonRecord button

    Tap this to start a recording. Once a recording is being made it changes to "Stop". You can press that to stop the recording being made.

    As the recording is being made you will see the recording progress is displayed at the top of the screen instead of the screen title.

    Recording ProgressRecording Progress

    Shows the % progress of the mixdown recording, e.g. 34% done.

    Settings: Mix

    Settings Screen

    Settings Screen - Mix
    Click image for large

    The Mix "segment" is where you set the Sleep timer if required, where you configure how you want Wotja X to play its sounds and, amongst other things, how it is used with Audiobus / Inter-app Audio [both iOS only] and MIDI Out/In.

    This screen is accessible from the Cog item which is shown in most screens.

    Item Description
    StoreStore

    Go to the Store screen.

    InfoInfo

    Select for a popup with links to further information, such as version number and links to this user guide etc. Also shown are links to where to find more Paks and more Wotjas.

    User Interface
    Colour Scheme: Light/Dark

    (Default: Light) This where you choose whether you want the app to use a Light or Dark scheme to suit your preference. This User Guide uses the Light scheme.

    Select the Light or Dark option to change theme - it is that simple!

    Sleep Timer
    Timer Slider

    (Default: Infinite) The sleep timer can take values 1m to 60 mins. Use it to set how long you want to Wotja X to play before fading out over the last 30 seconds of play time.

    The timer is off when the slider is in the near left position. You will then see the value shown as ∞.

    If you are running in 'Free Mode' then Wotja X will always stop playing after 3 minutes, whatever the value of the slider.

    If the setting is ∞ then it means there is no sleep timer active and the only timer in operation is the Music Play Time Timeout. See Wotja X Store.

    Audio Output
    ISE for Sounds & FX

    (Default: On) Enables ISE sounds, which all voices use as this is the sound generator for Wotaj. Turn this to off when you want to play through an external synth(s) and you do not want to hear the ISE sounds as well. NOTE: When this is set to OFF you will not hear anything from Wotja unless you have a MIDI device connected (and you will hear sounds through that instead).

    Note: Inter-App Audio and Audiobus are on by default. To use either of these you need to route Wotja via an Inter-App Audio or Audiobus enabled app (e.g. AUM).

    IMPORTANT: For Wotja for iOS to work with such apps it requires that you MUST have set in those apps the Buffer Size to be 1024 samples or Latency Control to 1024 frames (different apps refer to the same thing in different ways). With any setting other than that you will get a lot of glitches and noises.

    Audio Rate [Wotja A iOS only]

    (Default: 48 kHz or 44 kHz; auto selected depending on device capabilities). If you experience noise with Wotja A in AudioBus, consider changing the sample rate between 48000 and 44100 Hz. If, after changing sample rate, you get occasional audio break-up, consider experimenting with the Audio Latency value, below.

    Audio Latency [Wotja A iOS only]

    (Default: 120 ms). This setting is of particular use if you are using Wotja routed via Audiobus or Inter-App Audio - higher values minimise audio artifacts which also depend on device power and mix/sound/fx complexity.

    If you are using Wotja A to drive external MIDI synths you may need to tweak the values both here and for MIDI Latency. Example: You're driving an external synth via MIDI and want to sync the audio output of that with audio output from Wotja (ISE). First, make the Wotja audio latency as low as you are happy with. Then, change the MIDI latency (below) until the output from 3rd party synth is in sync. Many dependencies are outside control of Wotja, however.

    MIDI Output
    MIDI Out

    (Default: Off) When enabled, tells Wotja to send-out MIDI events to whichever device you have selected in the MIDI Output Device List of detected outputs.

    Virtual MIDI (iOS/macOS)

    Default: Off

    Note: Available for iOS/macOS only.

    When enabled, causes Wotja to present a number of Virtual MIDI ports - one Omni (all channels) and 16 per-channel virtual MIDI ports - and Wotja sends MIDI events as Virtual MIDI ports over Core MIDI.

    MIDI Clock

    (Default: Off) When enabled, tells Wotja to send-out MIDI Clock events over Core MIDI / Omni channel.

    • Important Note: The iOS version can emit MIDI clock but it doesn’t support MIDI transport controls.
    Send Patch Change Events

    (Default: On) When enabled, tells Wotja to send-out MIDI Patch Change Events. Turn this off if you want ONLY MIDI Note Event information to be sent.

    Latency

    (Default: 100ms) Sets Latency (milliseconds) to apply to MIDI events sent-out to Core MIDI / Virtual MIDI by Wotja. Use to help remove jitter if using e.g. Network MIDI.

    MIDI Input
    Devices button

    Notes: MIDI Input is only used by Listening Voices and MIDI Input Devices is now called simply "Devices".

    Tap the Devices button to go to the MIDI Input Devices screen where you will see toggles for all MIDI Input Devices detected by Wotja.

    • Network Session:
      • This is used for detecting MIDI sent via a network (e.g. from a Mac over WiFi).
    • Wotja + Channels:
      • These allow Wotja to detect MIDI it sends out over Virtual MIDI (see below). As it is a kind of MIDI feedback it is for specialist use and unlikely you will need to use it.
    • App / MIDI Device + Channels:
      • All 3rd party MIDI emitting Apps or MIDI devices Wotja detects (e.g. Thumbjam, MIDIKeys etc.) will be shown here; toggle on the ones you want Wotja to recieve MIDI input from.
      • Note: Each of those apps have created virtual MIDI ports named after themselves (e.g. Thumbjam, MIDIKeys etc.). You'll only get their output (sent on those ports) into Wotja, if you enable those input ports. For Wotja to see these ports, however, you need to first load the app you want to generate MIDI, e.g. MIDIKeys or Thumbjam and then load Wotja.
      • Tip: When MIDI input triggers notes in Wotja then, as the audio will be playing in Wotja via the ISE, in Settings make sure "ISE for Sounds & FX" is toggled on, and you set the Audio Latency to be some low value. If that is set to 850ms (the default) then your notes will take about 1 second to play!
    MIDI Transport Control
    External Clock Sync

    Wotja's MIDI Input Transport Control / External Clock Sync features allow it to be able to sync to e.g. a DAW.

    How to use MIDI Transport Control / External Clock Sync:

    • Sequencer:
      • Configure your sequencer (e.g. Reaper/Logic, or whatever) to send Transport commands (MMC) and/or MIDI clock to a specific MIDI port
        • Note for iOS: You can route via Network MIDI
      • Make sure your piece in the sequencer is long enough; sequencers will stop sending clock events when they reach the end of their content, and they’ll also automatically emit a stop event.
    • Wotja:
      • Activate the MIDI input port/device that you have configured your sequencer to send Transport (MMC)/Clock to (in the previous step)
      • Set tick for MIDI Transport Control
      • Set tick for External Clock Sync
      • Open a Wotja mix, press Play
      • Wotja will say "MIDI: Wait" under the play/stop button rather than elapsed time, and won’t (immediately) show tempo
        • Note that for WJ macOS (native), this text is displayed in the “Time” area in the top panel, rather than under the play/stop button
      • Start your sequencer playing (e.g. Reaper/Logic):
        • Wotja will now start playing
        • The Elapsed time will now display/update
        • The calculated tempo (from the sequencer’s MIDI clock) will display (rather than the internal Wotja tempo)

    NOTE: There is an oustanding issue that can be revealed if you sync to the incoming MIDI clock using a different tempo.

    Recording
    Max Recording Bars

    (Default: 100 bars) This setting lets you increase the number of bars you can use to make mixdown recordings in the Mixdown Recording screen.

    IMPORTANT: Use with care as recordings are large and your device must have sufficient free memory available. If you try to change this value take note of the pop up message warning before you change it. Also be aware that these the recordings are stored in iCloud (if you are using that), so that could hit your bandwidth.

    Settings: Randomization

    Settings - Randomization settings

    Settings Screen - Randomization Settings
    Click image for large

    See the Video: Wotja iOS: Mix Randomization Settings (12m)

    The Randomization "segment" in the Settings screen is a very powerful screen. It is where you select the Randomization values that determine both how the mixes in Automatic Albums are created and how mix Cells are populated with templates when using the Random function in Wotja as well as how TTM voice text randomisation is applied in the Text Editor screen.

    The Random / Randomize function is mannually available in two places in Wotja:

    • Documents > Create New - Album (automatic)
    • Mix Mode > Menu bar Randomize button (dice icon)
    Parameter Description
    Templates
    Templates for Randomization Templates screen: This easy access to the templates screen means you can always easily change the pool of templates you want to randomize from.
    Albums
    Icon Palette Default - Random: Select from one of 35 includes palettes for auto-icon generation in Albums or Mixes.
    Icon Graphic Default - Blobs: Select from 2 different kinds of icon graphic styles for auto-icon generation in Albums or Mixes. The choices are: Blobs or Geometric.
    Icon Text Default - TTM: Select what text, if any, you want to display in your icon. They choices are: TTM, Cut-Up or none.
    Mixes in Album Default - 8: The minimum number of mixes in an automatically generated album.
    Max (Mixes in Album) Default - 8: The maximum number of mixes in an automatically generated album.
    Duration Default - 5 m (300 s): The minimum time a mix is configured to play for in an automatically generated album.
    Max (Duration) Default - 5 m (300 s): The maximum time a mix is configured to play for in an automatically generated album.
    Duration Range Default - 0 s: The minimum duration that is added to a mix's Duration above when the album is created.
    Max (Duration Range) Default - 0 s: The maximum duration that is added to a mix's Duration above when the album is created.
    Tempo Default - 30 BPM: The minimum tempo of a mix.
    Max (Tempo) Default - 60 BPM: The maximum tempo of a mix.
    Ramp Up Default - 5 s: How long a mix takes to ramp up to its full volume.
    Ramp Down Default - 5 s: How long a mix takes to ramp down to zero volume.
    General / Mix
    TTM Cells/Column (min) Default - 1: The minimum number of TTM Players that will be in a column, assuming you have a TTM Pak available for selection when randomizing.
    TTM Cells/Column (max) Default - 1: The maximum number of TTM Players that will be in a column, assuming you have a TTM Pak available for selection when randomizing.
    TTM Words (min) Default - 2: The minimum number of words that will be added to a TTM Text field on creating a new random mix or in the TTM Text Editor when using the Randomize button with Randomise option selected.
    TTM Words (max) Default - 2: The maximum number of words that will be added to a TTM Text field on creating a new random mix or in the TTM Text Editor when using the Randomize button with Randomise option selected.
    Tracks Default - 2: The number of Tracks that will have their cell contents (below) randomized (starting with Track 1).
    Cells Default - 1: The number of Cells in the Tracks above that will have their contents repopulated from the list of available templates.
    Generative % Default - 100%: - The chance that a randomized will be repopulated with a generative template.
    Blank Cell % Default - 35%: - The chance that a randomized will be empty.
    Tempo Min Default - 30 bpm: - The minimum tempo of a new, random mix.
    Tempo Max Default - 60 bpm: - The maximum tempo of a new, random mix.
    Volume Min Default - 90: - The minimum volume of a track in a new, random mix.
    Volume Max Default - 127: - The maximum volume of a track in a new, random mix.
    Pan +/- Default - 30: - How far away from center that pan can be for a Track in a new, random mix.
    Cells
    Generative Bar Min Default: Infinite - The minimum base value for the number of bars a generative template will play for and to which the range value (below) is added. Special Value: If this value is set far left to ∞ then once play in a Track reaches such a cell the generative content in that cell will continue to play either for as long as the mix plays or until you manually select another cell in that Track to play.
    Generative Bar Max Default - 0: The maximum base value for the above.
    Generative Bar Range Default - 0: Sets the range that applies to the above base value.
    Cell Repeat Min Default - 1: The minimum base value for the number of times a cell will repeat after it has played through once and to which the range value (below) is added. For a generative template each bar counts as one repeat; for audio or MIDI content this is the length of the content rounded up to the end of a bar). Note: If the cell contains generative content and the Generative Bar Min is value is set to ∞ then this setting takes no effect as the cell never repeats!
    Cell Repeat Max Default - 1: The maximum base value for the above
    Cell Repeat Range Default - 1: Sets the range that applies to the above base value.
    Reset
    Reset All Random Settings Resets all values back to their Defaults.

    Settings: Templates

    Templates Screen

    Templates Screen
    Click image for large

    See: 'Free Mode' & Limitations

    See the Video: Wotja iOS: Template List (5m)

    Templates are at the heart of Wotja. They are self contained "generative music and sound presets" - they can vary from being simple to very complex complex generators of notes and sounds. Their use is fundamental to how Wotja works.

    Using randomisation techniques Wotja lets you mix templates together to very quickly create interesting music mixes. Once added to a mix you can edit/customize any of their settings, but you do not have to - they sound great as they are!

    The Templates screen is where you preview and select templates that you want to base a new mix on (when creating a new Manual mix) or where in Mix mode you add a template to a Content Cell.

    On the left of the top panel is a button that takes you back to the screen you came from. Depending on how you accessed this screen, the top right menu items will vary (see below).

    Tip: If you tap on a template or file in the left hand panel you can preview it without having to open it.

    UI Item Description / Menu Items
    Action Back to the Settings screen.
    NewRandom
    (Top right menu)

    Wotja A iOS ONLY

    When adding a template to a Content Cell (Mix mode):
    • "Load": Shown when content cell is empty.
    • "Merge": Shown when generative content is already in a cell. Lets you merge the selected file with what is already in the cell.
    • "Replace": Shown when content is already in a cell. Lets you replace it with the selected content.
    When accessing the list via Randomization Settings:
    • No top right menu item is shown at all because in this use case you are only setting the content to be available for randomization when you do randomize.
    PaksPaks
    (left list)

    The list of Paks you can select a Template from.

    Saved Files: Always shown at the top for easy accesss, this is list of wotjas or generative templates that you have already created and saved.

    WJ18/WJ5 Paks: These include templates optimised for Wotja 5.

    WJ4 Paks: These include templates optimised for Wotja 4.

    IME VoiceTypes: Simple templates that let you start a cell with just one VoiceType.

    IME Others: Older sundry templates.

    IM3 Paks: The Paks that were available for Noatikl 3 and Mixtikl 7

    IM2 Paks: (Shown in dark grey, and only if "Show Old?" toggle is on). These include generative templates that came with Noatikl 2 and Mixtikl 6.

    IM1 Paks: (Shown in dark grey, and only if "Show Old?" toggle is on). These include generative templates that came with Noatikl 1 and Mixtikl 1-5.

    3rd Party Paks: If you have them installed, older IM Paks (e.g. MDB or the AL Collections) are shown in dark grey, italic. Other third party paks are shown in black, italic.

    TemplatesTemplates
    (right list)

    The list of Templates in the selected Pak. Tap to preview a Template; tap again to stop the preview.

    ActionShow Older?
    (Left)
    Toggle this on to see generative templates that were included in precursors to Wotja X, e.g. Noatikl and Mixtikl.

    Settings: iCloud

    iCloud Settings Screen

    iCloud Settings Screen (iOS)
    Click image for large


    iCloud Drive Settings Screen

    iCloud Drive Settings Screen (iOS)
    Click image for large


    iCloud Settings Screen

    iCloud Drive Settings Screen (macOS)
    Click image for large


    iCloud Drive Settings Screen

    iCloud Drive App Screen (Windows)
    Click image for large

    See also Apple's iCloud Help resource.

    Using Wotja with iCloud / iCloud Drive enabled makes it easy to edit/use Wotja files across multiple devices, be they iPhones, iPads, Macs or Windows PCs. When it is enabled then all Wotja files in the iCloud Drive folder are all stored in the cloud, also a great form of backup!

    Tip: Wotja for iOS needs the iCloud/iCloud Drive settings to be both on or both off otherwise it can get confused and may not save files to where you are expecting.

    Wotja iCloud Settings screen (iOS):

    This screen is where you set whether Wotja can use Mobile Data and whether or not it uses iCloud for file saving.

    This screen is accessed from the iOS Settings Screen. Scroll down that screen to find the version of Wotja that you have installed and then turn the toggle on.

    Wotja iCloud Drive Settings screen (iOS):

    This screen is where you set whether Wotja can use iCloud Drive for file saving.

    This screen is accessed as follows: From the iOS Settings Screen > Accounts & Passwords > iCloud > iCloud Drive > ensure iCloud Drive is toggled on and scroll down the screen to find the version of Wotja that you have installed and then turn the toggle on.

    Wotja iCloud Drive Settings screen (macOS):

    This screen is where you set whether Wotja for macOS can use iCloud Drive for file saving. From the macOS System Preferences screen > iCloud Drive (ensure iCloud Drive is toggled on) > Options button > scroll down the screen to find the version of Wotja that you have installed and then turn the toggle on.

    Wotja iCloud Drive App screen (Windows):

    The Windows iCloud Drive app is required to enable/synch iCloud files on your Windows PC (and thus the Wotja iCloud Drive folder). To set it up find/load the Windows iCloud Drive app and ensure iCloud Drive is toggled on.

    Important Note: Wotja for Windows will by default save Wotja files to the Wotja Folder (you can however choose to save to the Wotja iCloud Drive folder using File Save As). All mixdown recordings are always saved to the Wotja Folder. The Wotja Documents screen will, however, only display/load files from the Wotja Folder. If you have saved Wotja files to the Wotja iCloud Drive folder then to see them in the Documents screen simply move them to the Wotja Folder and then press the Action button in the Documents screen and select refresh.

    In-App Store

    Store Screen

    In-App Store Screen
    Click image for large

    The subscription versions of Wotja contain an In-App Store where you can purchase an In-App Subscription. The image shows the current In-App Subscription tiers. See the 'Long Play' Tier FAQ for further details on what those tiers are for.

    Tip: When the 'Unlocked' In-App Subscription expires then the limitations in 'Free Mode' are re-instated.

    For Apple information on managing subscriptions please refer to : https://support.apple.com/en-us/HT202039

    Note: There is no In-App Store in the non-subscription 'annual' version of Wotja X (e.g. Wotja X 2018) because it does not include any auto-renewing In-App Subscriptions. Nor at present does it have any one-off In-App Purchases.

    Item Description
    RestoreSettings Returns you to the Settings Screen.
    RestoreRestore

    Tap this button and you will be asked if you want to check for and restore any previous purchases.

    IAP ItemIAP Item
    IAP ItemPrice
    IAP ItemSubscribed

    If you have purchased an In-App Subscription, and it is active, then "Subscribed" will show instead of the price.

    MiscellaneousManage Subscriptions

    The "Manage Subscriptions" button in the Miscellaneous" section takes you straight to the Wotja subscription page in the relevant Apple App Store where you can manage your subscription. See also the FAQ entry on in-app subscriptions.

    Generator Network

    IME Generator Network

    IME Generator Network

    The Intermorphic Music Engine 5 (IME 5) "Generator Network" defines how all the generators/voice objects in a piece are associated with MIDI channels and how these generators/voices are linked to each other (e.g. Following voices [below], where one voice follows the output of another).

    These objects can in turn be associated with Intermorphic Sound Engine 5 (ISE 5) Sound Networks and FX Networks.

    In the Generator Network you can:

    • Drag Generator/Voice to MIDI Channel (or vice-versa) for easy MIDI channel mapping
    • Drag Generator/Voice to Generator/Voice for easy Follow/Repeat voice networks
    • Tap Synth/FX buttons to display the built-in PSE Synth/FX Network Editors
    • Drag Generators/Voices around for easy re-ordering (Desktop version)

    If you drag from a Voice box to a MIDI channel box that will tell the system that the Generator/Voice will play through the defined MIDI channel. If a new voice is added to a piece, the voice won't be assigned to a specific MIDI channel; if you haven't yet hooked-up a Generator/Voice to a MIDI channel, the IME will decide on a free MIDI channel to hook-up the Voice to when it starts playing.

    Voice Objects

    Every IME piece/template (which currently uses the file extension of .noatikl) includes one or more Voice Objects ("Voices"). These are MIDI generators and are the things that actually generate the MIDI notes and MIDI events according to various parameter values used by it. They're called Voices for historical reasons, but are equally well referred to as a "Generators".

    Each Voice Object composes according to its defined Voice Type of which are 6 (TTM are a subset of the Patterns Voice Type), and each Voice Type has a corresponding associated colour:

    Tip: Where the interface displays the Voice's name (e.g. Fred), that element will flash when the Voice plays.

    Voice Types (VT)

    • Rhythmic

      Rhythmic Voices are the default Voice Type and compose according to the parameters in the Rhythmic / Basics parameter set. Notes have their durations composed according to the Rhythm Rules you define for your voice, to fit as well as possible within the bar structure of your piece.

    • Ambient

      Ambient Voices have notes composed such that their durations are defined by the parameters in the Ambient parameter set. Rhythm rules are not used for Ambient Voices. An Ambient Voice plays its notes without any respect for tempo or bar timings! Ambient Voices are wonderful for creating drifting, floating sounds for either background or foreground use as drones or for musical texture.

    • Follow

      Following Voices are fascinating. They are used to create Voices which work in a call-response manner, following the behaviour of other Voices in a variety of exciting ways according to parameters in the Following parameter set.

    • Repeat

      Repeat Voices are like Rhythmic Voices, with the added feature that they can be defined to repeat work that they have composed in previous bars, according to rules defined in the Repeat parameter set. When not repeating previous bars, Repeat Voices work in exactly the same way as Rhythmic Voices.

    • Patterns

      Patterns Voices are Voices that play in accordance with various fixed MIDI-like patterns. These patterns have a specific syntax and are able to follow generative sequencing rules, and can adapt automatically to changes in Scale Rules. They are great for bringing some structure to your composition. Fixed Pattern Voices can also be capable of mutating their patterns while playing, according to parameters defined in the Fixed Pattern parameter set. When not following a pattern (e.g. when mutating), Fixed Pattern Voices compose as Rhythmic Voices.

    • Text to Music

      "Text to Music" is not a Voice Type per se, but is a sub type of the Patterns Voice Type with its own special set of parameters that are used to generate a seed melody from text.

    • Listening

      Listening Voices are Voices that detect incoming MIDI note events (monophonic, not polyphonic) and present them as a virtual composed note which can be followed by a Follows Voice, allowing you to create simple hyperinstruments (something that generates music that can respond in some way to external events which we also sometimes now refer to as adaptive generative music [AGM]).

      Listening voices do not require any use of scripting (something we supported in the NME3 as used in Noatikl).

    Rule Object

    Rule Object

    Rule Object - Scale Rules

    Every Voice composes notes according to the settings of 4 types of Rule Objects it has associated with it.

    The four Rule Objects are Scale Rule, Harmony Rule, Next Note Rule, Rhythm Rule. Each Rule Object contains one or more "Rules", such as "Major" or "Minor".

    Each Rule is an array of the values of the elements for that Rule Object (such as the values of 12 scale intervals). These values represent the relative probability (from 0% to 100%) (the "weighting") of that Rules' element being chosen by a Voice for a note to be composed. An element with a value of 0 will not be chosen for composition.

    Important: When the Pitch Range for a Voice is wide enough, Scale Rules will "wrap around" to accomodate the extra range in notes available.

    Changes to the values in these Rules, as with changes to any other IME parameter, allows an instant change in the music generated.

    Tip: Where the interface displays the Rule elements, tap or click one one at the appropriate position to change the value of that element; the IME will attempt to make that element flash when it has been selected to play a note.

    Scale Rule

    • The Scale Rule selected for a Voice defines the notes in the musical scale that are available for use by that Voice. You may create as many Scale Rules as you want. You typically give a Scale Rule a name that tells you what it represents (such as Major or Minor).
    • 12 Elements

      Each with % weighting values

      These elements represent the semitone distance from the Root note defined for this Piece, these being: 0ve (root), m2, M2, m3, M3, 4, b5, 5, m6, M6, m7, M7

    Harmony Rule

    • The Harmony Rule selected for a Voice defines how likely it is that a note for that Voice will harmonize at a given musical interval in semitones with any note already composed (and in use by) by any *other* Voice. You may create as many Harmony Rules as you want.
    • 12 Elements

      Each with % weighting values

      These elements represent in semitones the possible harmonies available, these being: 0ve (root), m2, M2, m3, M3, 4, b5, 5, m6, M6, m7, M7

    • Example

      Imagine that you have three Voices, called X, Y and Z.

      Imagine that at some time in the piece, the IME has already chosen to play note C for Voice X, and note G for Voice Y. At that time, the IME thinks about composing a note for Voice Z. It looks at the notes available for it to compose, and adjusts the probabilities of choosing each of those notes, by applying the Harmony Rule element values for each of those two composed notes which are active at time (i.e. notes C and G).

      Harmonies are always calculated based on a rising direction up from the Piece Root. So, if the Piece Root is B and the IME is considering if it can compose note D for Voice Z, and it looks at the note it needs to harmonize with which is note C for Voice X; then Noatikl figures-out the Harmony Rule values for Voice Z from the C of Voice X, up and through the Octave (i.e. E, F, F#, G, G# etc.).

    Next Note Rule

    • The Next Note Rule selected for a Voice defines the distances in semitones available to be used between each note composed for that Voice. You may create as many Next Note Rules as you want.
    • 12 Elements

      Each with % weighting values

      These elements represent in semitones the distance a new note will be from the last composed note, these being: 0ve (root), m2, M2, m3, M3, 4, b5, 5, m6, M6, m7, M7

    Rhythm Rule

    • The Rhythm Rule selected for a Voice defines the note durations available for notes played by that Voice. This rule is combined with other factors, including the remaining length of time a Voice has left in the current bar (the IME tries to avoid having notes from non-Ambient voices drifting across bar boundaries). You may create as many Rhythm Rules as you want.
    • 9 Elements

      Each with % weighting values

      These elements represent the permitted note durations, these being: 1, 1/2., 1/2, 1/4., 1/4, 1/8., 1/8, Triplet, 1/16

    Voice - Rhythmic

    Voice Type - Rhythmic & "Basics" parameters.

    The "Voice Rhythmic" parameters encompass the main parameters of every Voice and also govern those of the default Voice Type, which is the Rhythmic Voice.

    Name

    Every voice in a Noatikl file has a unique name. You can use any name you want, provided it is not empty, and provided it is not a single question mark (which has a reserved meaning for use with Rules, which you will find out about later).

    Mute

    Toggle this setting (Yes/No) to mute or unmute the voice. Certain Voice Types might take some time to respond, depending on how far in advance their notes are composed.

    When the keyboard focus is on the Mute cell, you have various extra menu options available to you in the "Control" Menu. These are as follows:

    • Solo Voice
    • Unmute All Voices
    • Mute All Voices

    If you hold down the ctrl key when you click on the mute cell, you will toggle all other voice's mute states, without changing the mute state of the voice that you ctrl-click on. This can be very handy.

    Patch

    Every Voice is assigned a given Patch. This specifies the sound that you will hear whenever the Voice plays a note. The exact sound you hear depends on the sound source you have associated with the Voice; this could be the ISE or you might be driving an external MIDI synth.

    In general, the IME does not emit any MIDI bank select CC information for a Vvoice before it emits the Patch Change MIDI event. However, you can force the IME to emit such information, by typing-in a special format patch value; where you type-in the patch in the format: patch.msb.lsb, for example:

    98.53.4

    In this example, the IME will emit bank select CCs for both MSB and LSB according to the settings you supply (53 and 4 respectively, in this case). If you don't specify a value for the lsb, then the IME will only emit a Bank Select MSB CC (CC number 0). If you supply the lsb, then the IME will also emit a Bank Select MSB CC (CC number 32).

    Send MIDI Bank/Patch?

    Not all software synthesizers for your favourite sequencer like having Patch data supplied to them via a Patch Change MIDI event. If this is the case, simply change the Send MIDI Bank/Patch? parameter to No (unchecked), and the IME won't send any MIDI patch change events.

    MIDI Channel

    A Voice emits data on a MIDI Channel. MIDI channels are numbered from 1 to 16. The default MIDI channel for a Voice is actually MIDI channel 0 – which tells the IME to assign a free channel from 1 to 16 automatically, as best it can. MIDI channel 10 is always reserved for percussion sounds, such as drum sounds or other untuned sound.

    Voice Type

    Every Voice composes according to its Voice Type.

    Pitch

    Set the Pitch to be the minimum pitch for which you want your Voice to compose. The IME will ensure that it composes no notes less than this pitch value.

    Phrase Length

    Set this to define the shortest possible sequence of notes that your Voice will compose in sequence. The Voice composes a sequence of notes, followed by a sequence of rests. The length of each sequence of notes is governed by this and the Phrase Length Range parameter.

    Phrase Length Range

    This value defines the upper limit to the number of notes that your Voice will compose in sequence. For example, if the Phrase Length is 3, and the Phrase Length Range is 25, then the minimum phrase will be 3 notes, and the maximum phrase length will be (3+25) = 28 notes.

    Phrase Gaps

    Set this to define the shortest possible sequence of rests that your Voice will compose. Your Voice composes a sequence of notes, followed by a sequence of rests. The length of each sequence of rests is governed by this and the Phrase Gaps Range parameter.

    Phrase Gaps Range

    This value defines the upper limit to the number of rests that your Voice will compose in sequence. For example, if the Phrase Gaps is 3, and the Phrase Gaps Range is 25, then the minimum phrase will be 3 rests, and the maximum phrase length will be (3+25) = 30 rests.

    Note Rest %

    This value defaults to zero. If not zero, then the defined percentage of notes that would otherwise be played by your Voice will instead be treated as a rests of the same duration. This is very useful for making any Voice sound sparser. Give it a go: this parameter is very powerful, and applies to all Voice Types.

    Voice - Ambient

    Voice - Type Ambient

    Units

    You define the Unit of Measure for which the other Ambient Voice parameters are interpreted. This may be one of the following values:

    • Seconds (thousandths of a)

      The parameters including Duration are all interpreted as being in thousandths of a second (i.e. Milliseconds). So, a Duration value of 1000 means one second.

    • Beats (60ths of a)

      The parameters including Duration are all interpreted as being in 60ths of a beat. In the IME a Beat is defined as being one crotchet; you get 4 beats in a bar of 4:4 music. So, a Duration value of 60 means one beat. A Duration value of 30 means a quaver. A Duration value of 20 means a triplet.  A Duration value of 15 means a semi-quaver.  A Duration value of 240 means 4 beats (which is a full bar if the Piece Meter is 4:4).

    • Full seconds

      The parameters including Duration are all interpreted as being in seconds. So, a Duration value of 10 means ten seconds.

    Duration

    The Ambient Voice parameters govern how Ambient Voices work.

    This defines the minimum duration for which the Ambient Voice will play when it composes a note. The actual value chosen for each note is a value between Duration, and Duration plus the Duration Range. Each and every note composed for this Ambient Voice will have a note whose duration is separately calculated.

    Duration Range

    This is combined with the Duration parameter, to determine the duration for which the Ambient Voice will play when it composes a note. The actual value chosen for each note is a value between Duration, and Duration plus the Duration Range. Each and every note composed for this Ambient Voice will have a note whose duration is separately calculated.

    Gap Minimum

    This defines the minimum duration for which the Ambient Voice will play when it composes a rest. The actual value chosen for each rest is a value between Gap Minimum, and Gap Minimum plus the Gap Range. Each and every rest composed for this Ambient Voice will have a rest whose duration is separately calculated.

    Tip: This is the Duration used for the Phrase Gaps / Phrase Gaps Range parameters i.e. it allows the duration of gaps to be different to that of the notes.

    Gap Range

    This is combined with the Gap Minimum parameter, to determine the duration for which the Ambient Voice will play when it composes a rest. The actual value chosen for each rest is a value between Gap Minimum, and Gap Minimum plus the Gap Range. Each and every note composed for this Ambient Voice will have a note whose duration is separately calculated.

    Tip: This is the Duration Range used for the Phrase Gaps / Phrase Gaps Range parameters i.e. it allows the duration of gaps to be different to that of the notes.

    Phrase Length

    Set this to define the shortest possible sequence of notes that your Voice will compose in sequence. The Voice composes a sequence of notes, followed by a sequence of rests. The length of each sequence of notes is governed by this and the Phrase Length Range parameter.

    Phrase Length Range

    This value defines the upper limit to the number of notes that your Voice will compose in sequence. For example, if the Phrase Length is 3, and the Phrase Length Range is 25, then the minimum phrase will be 3 notes, and the maximum phrase length will be (3+25) = 28 notes.

    Phrase Gaps

    Set this to define the shortest possible sequence of rests that your Voice will compose. Your Voice composes a sequence of notes, followed by a sequence of rests. The length of each sequence of rests is governed by this and the Phrase Gaps Range parameter.

    Phrase Gaps Range

    This value defines the upper limit to the number of rests that your Voice will compose in sequence. For example, if the Phrase Gaps is 3, and the Phrase Gaps Range is 25, then the minimum phrase will be 3 rests, and the maximum phrase length will be (3+25) = 30 rests.

    Note Rest %

    This value defaults to zero. If not zero, then the defined percentage of notes that would otherwise be played by your Voice will instead be treated as a rests of the same duration. This is very useful for making any Voice sound sparser. Give it a go: this parameter is very powerful, and applies to all Voice Types.

    Voice - Follow

    Voice - Type Follow

    The Follow Voice parameters govern how Following Voices work.

    Select the Voice which you want your Voice to follow. If you don't specify a Voice to follow, then the following Voice won't play. You may follow any Voice in the piece you want, of any type. You may even follow a Voice that is following another Voice that is following another Voice... provided that you don't try to define a cyclic dependency which loops back to the current Voice!

    Percent

    This parameter sets the percentage of notes that the Followed Voice responds to so as to emit a note. Set to 100 if you want the Following Voice to emit a note for every note played by the Followed Voice. Set to a smaller value if you want to thin-out the notes played by the Following Voice. This is also useful for building networks of chords,  where if you have a number of Following Voices all following either each other or one main Voice, and if those Following Voices have the Percent Parameter to less than 100, then sometimes you will hear dense chords, and sometimes you will hear thinner chords.

    Strategy

    This parameter defines the pitch to use for a note generated by the Following Voice. The available values are:

    • Chordal Harmony

      This causes the Following Voice to choose notes which respect the currently defined Scale, Harmony and Next Note Rules.

    • Interval Within Scale Rule

      This causes the Following Voice to choose notes which are offset from the followed note, such they are at an interval within the Scale Rule, defined as a value randomly selected between the Shift / Interval and Shift / Interval plus Shift / Interval Range values.

      For example, if these values are 1 and 2 respectively, then each time a note is chosen, it will be between 1 and (1+2)=3 Scale Rule intervals up from the Followed Voice's note. It is important to understand that this refers to the non-zeroed elements in the current Scale Rule, in other words only those notes that are available within the Scale Rule.

      So, in our example, if we were using a Major Scale Rule, and if the followed note were C4 (Middle C), and if Noatikl chose a value of 2 as its random value; then the played note would be E4 (Middle C), which is the second note up from Middle C within the Major Scale Rule.

    • Semitone Shift

      This causes the Following Voice to choose notes which are offset up from the followed note, such they offset from the followed note by a number of semitones which is a value randomly selected between the Shift / Interval and Shift / Interval plus Shift / Interval Range values. A note chosen in this way ignores the current Scale Rule.

      For example, if these values are 1 and 2 respectively, then each time a note is chosen, it will be between 1 and (1+2)=3 semitones up from the Followed Voice's note.

      So, in our example, if we were using a Major Scale Rule, and if the followed note were C4 (Middle C), and if Noatikl chose a value of 3 as its random value; then the played note would be D#4 (Middle D#), which is the third semitone note up from Middle C. This value is used even though it is not in the current scale rule.

    Units

    You define the Unit of Measure by which the Delay and Delay Range parameters are interpreted. This may be one of the following values:

    • Seconds (thousandths of a)

      The parameters including Duration are all interpreted as being in thousandths of a second (i.e. Milliseconds). So, a Duration value of 1000 means one second.

    • Beats (60ths of a)

      The parameters including Duration are all interpreted as being in 60ths of a beat. In Noatikl a Beat is defined as being one crotchet; you get 3 beats in a bar of 4:4 music. So, a Duration value of 60 means one beat. A Duration value of 30 means a quaver. A Duration value of 20 means a triplet. A Duration value of 15 means a semi-quaver. A Duration value of 240 means 4 beats (which is a full bar if the Piece Meter is 4:4).

    • Full seconds

      The parameters including Duration are all interpreted as being in seconds. So, a Duration value of 10 means ten seconds.

    Delay

    This defines the minimum delay after which the Following Voice will play a followed note. The actual value chosen for each note is a value between Delay, and Delay plus the Delay Range. Each and every note composed for this Following Voice will have a note whose delay is separately calculated.

    Delay Range

    This is combined with the Delay parameter, to determine the delay after which the Following Voice will play a followed note. The actual value chosen for each note is a value between Delay, and Delay plus the Delay Range. Each and every note composed for this Following Voice will have a note whose delay is separately calculated.

    Shift / Interval

    Used when the Strategy is either Interval Within Scale Rule or Semitone Shift.

    This causes the Following Voice to choose notes which are offset in some way from the followed note, according to the Strategy; where the offset is defined as a value randomly selected between the Shift / Interval and Shift / Interval plus Shift / Interval Range values.

    S/I Range

    This represents the "Shift/Interval Range", and is used when the Strategy is either Interval Within Scale Rule or Semitone Shift.

    This causes the Following Voice to choose notes which are offset in some way from the followed note, according to the Strategy; where the offset is defined as a value randomly selected between the Shift / Interval and Shift / Interval plus Shift / Interval Range values.

    Voice - Repeat

    Voice - Type Repeat

    The Repeat parameters govern how Repeat Voices work. Repeat Voices compose as if they were of Rhythmic Voice Type.

    Voice

    You define the name of the Voice from which you would like, from time-to-time, to repeat past bars of music. If you simply want to repeat bars played in the past for the current Voice, simply select the magic value of '?', which is also the default value.

    Percent

    When the Voice starts composing a new bar, it takes a look at this parameter value. This defines for what percent of the time the Voice should repeat previously-composed music. Set this parameter to 100 if you always want past composed music to be repeated (where available!); set to 0 if you never want past music repeated by this Voice. When the Voice doesn't choose to repeat past data it composes a new bar of music were it to be of Rhythmic Voice Type.

    Bars

    Defines the number of bars for which the Voice should repeat a past-composed chunk of music. The actual value chosen is somewhere between Bars and Bars + Bars Range.

    Bars Range

    Defines the upper limit of the number of bars for which the Voice should repeat a past-composed chunk of music. The actual value chosen is somewhere between Bars and Bars + Bars Range.

    History

    Defines the number of bars in the past, from which the Voice will choose the past-composed music to repeat. The actual value chosen is somewhere between History and History + History Range.

    History Range

    Defines the upper limit of the number of bars in the past, from which the Voice will choose the past-composed music to repeat. The actual value chosen is somewhere between History and History + History Range.

    Voice - Patterns

    Voice - Type Patterns

    The Patterns parameters govern how Patterns Voices work. Patterns Voices compose as if they were of Rhythmic Voice Type. Voices using TTM (Text to Music) Voices still use the Patterns Voice Type, as TTM is a subtype of that.

    See the also the IME Pattern Syntax section.

    Use Percent

    When the Voice starts a new sub-pattern at the start of a bar, it consults the value you have defined for Use Percent. This parameter determines the probably of the Voice using the Pattern for the bar; or alternatively, compose a completely new bar (that you will hear only once!) were it to be of Rhythmic Voice Type.

    If Use Percent is 100, then the Voice will always use the pattern. If Use Percent is 50, then teh Voice will instead compose a new bar every other bar or so. Note that the Voice will never interrupt a sub-pattern that it is playing; the Use Percent parameter is considered only on a sub-pattern boundary, at the start of a new bar.

    Mutation Factor

    The mutation factor is used when a bar is considered for mutation (which can happen only if Bars Between is not zero! The Mutation Factor determines the level of mutation to apply. If set to 10.0%, then when playing from a sub-pattern, this means that each note that would be played from the pattern, has a 10% chance of having a different one composed, with subsequence pattern playbacks keeping that mutation. Note that if Mutate Rhythm? is set to Yes, then if the composed note is longer than the composed-over pattern note, this might overlap and cancel-out some other notes in the sub-pattern.

    Bars Between

    This parameter defines the number of bars that the Voice waits between, before trying to mutate a bar in a pattern according to the Mutation Factor. If Bars Between is set to zero, the Voice can never mutate. Set to 1 if you want mutation every bar, 2 if you want mutation every other bar, etc. ...

    The actual number of bars used is selected randomly each time, somewhere in the range from Bars Between, to Bars Between plus Bars Range.

    Bars Range

    This parameter is used to help define the number of bars between attempts by the Voice to mutate the current pattern. The actual number of bars used is selected randomly each time, somewhere in the range from Bars Between, to Bars Between plus Bars Range.

    Mutate Rhythm?

    If set to No, then the timing of the sub-pattern is preserved perfectly; only the frequency of the pattern notes will be changed when the pattern is mutated. Otherwise, the duration of each note is chosen from the rhythm rules and phrase/phrase gap rules for the Voice.

    Meter

    Defines the Meter to be used by the Voice, such 4:4 or 3:4 or 6:8. A value of ?, which is the default, means to use the Meter defined for the Piece. A different value allows the Voice to work with a completely different meter, which can be used for interesting polyphonic effects.

    Patterns

    Defines the Pattern to be used by a Fixed Pattern Voice.

    Select the Patterns parameter to display any Pattern Editor Dialog that is available. Information on the syntax to use is detailed below.

    Pattern Syntax Overview

    The pattern syntax is somewhat complicated, and, until such time as we have created a pattern editor for the IME, will require a bit of effort to get to grips with.

    A pattern is a text string in a specific format, surrounded by < and > symbols. Patterns can be grouped together as list of patterns. Because of this we refer to patterns as a "Pattern" when there is only one, or as "Sub-Patterns" when there are many in the list of patterns. We know it is a bit confusing, so we'll say it again in another way: each Pattern is made-up of a number of Sub-Patterns.

    There are 4 types of Sub-Pattern:

    • Note
      • R - Rhythm only: Defines note durations to use, but leaves selection of the note pitches to use up to the Voice acting as a Rhythmic Voice. A negation duration represents a rest.
        • Important Note: This is the only pattern type in a Noatikl file that can be imported into Wotja.
      • B - Both: i.e. "Melodic" pattern using scale rule intervals. Includes a series of both paired note durations and scale rule interval values. A scale rule interval value of 1 represents the 0ve scale interval used by the Voice and a value of 0 represents a rest.
      • F – Forced Frequency: i.e. "Melodic" pattern using fixed MIDI pitches. Defines the root pitch (60 is Middle C) to use for the pattern and a series of both paired note durations and relative pitches. The pitch values are relative to the root pitch and are independent of scale rule. A pitch value of 0 represents the root pitch and a value of -1 means treat this note as a rest note. These patterns can be useful for drum riffs, e.g. with MIDI drums.
    • Sequence
      • S – Sequence: Sequenced patterns allow the IME to use generative rules to select which sub patterns to use while playing a pattern as a generative sequence of sub-patterns.

    The IME employs an underlying "time unit" that is 1/60th of a crotchet/quarter note. IME note Duration values map onto standard music notation in the following way (irrespective of meter) [# IME time units - Composed note length]:

    • 240 - whole note (i.e. one bar of 4:4)
    • 120 - minim/half note
    • 60 - crotchet/quarter note
    • 30 - quaver/eighth note
    • 20 - triplet/twelfth note
    • 15 - semi-quaver/sixteenth note

    So by way of example:

    • one bar of 4:4 is 4 * 60 = 240 IME time units.
    • one bar of 3:4 is 3 * 60 = 180 IME time units.
    • one bar of 2:4 is 2 * 60 = 120 IME time units.
    • one bar of 1:4 is 1 * 60 = 60 IME time units.
    • one bar of 6:8 is 6 * 30 = 180 IME time units.
    • one bar of 9:8 is 9 * 30 = 270 IME time units.

    You are of course free to experiment using other time unit values, which will mean different things. E.g. 10 time units is a 24th note etc.

    Note Sub-Pattern Syntax:

    Tip: To aid understanding and visual clarity, we use the following color coding: durations, velocity values and scale intervals.

    <[prob][.M] pattype {[dur][.vff[-vffr]] [scaleint]}*>

    Where:

    • prob : the relative probability that this sub-pattern is selected; relevant only where there is more than one sub-pattern! The default value is 100%.
    • M : Flag indicating that the sub-pattern is to be "muted", i.e. not allowed to be selected. This can be useful for testing of individual sub patterns; where you might want to "solo" a sub-pattern by muting out all the others.
    • pattype : One of:
      • R: Rhythm pattern
      • B: Both pattern
      • F: Forced Frequency pattern type, followed by the root note in MIDIpitch.  e.g. F60.
    • dur : Note Duration / IME time units.
      • See above for note duration values.

        In R patterns a negative duration indicates a rest for that time; in F patterns a pitch of -1 indicates a rest for the note duration.

        If a note sub-pattern is not an exact even number of bars (e.g. 2 and and half bars at the current meter!) then the engine will pad to silence to the end of the nearest bar boundary.

      • vff: Velocity Force Factor (optional, any integer value)
      • vffr: Velocity Force Factor Range (optional, any integer value and used in conjunction with the above).
      • Note: Velocity Force Factor is an INTEGER % SCALE FACTOR applied to the velocity, where the velocity is first determined from the velocity envelopes. For example, in a pattern [dur][.vff[-vffr]] 60.50 means a note of length 60 Noatikl time units with 50% VFF scaling, 30.15 means a note of length 30 Noatikl time units with 15% VFF scaling, and 120.100-20 means a note of length 120 Noatikl time units and with 100% VFF scaling with a range of 20%.
        • The scaled pattern note velocity can never be any less than 1.
        • The scaled pattern note velocity can never be any greater than 127.
        • Note that a pattern note velocity scaling factor of 0 always returns minimum MIDI velocity, which is 1. You cannot use a factor of 0 to "completely mute" a note.
        • Example: A Voice's velocity (min) envelope has a value of 100, with a velocity range envelope vallue of 20 - the velocity for a given note is selected randomly in that range, to be (say) 104. Where defined, the pattern note's Velocity Force Factor is used to scale that velocity, to a final value from 1 to 127. e.g. if the Velocity Force Factor is 50 (%), in this example we'd chose a final velocity value of: 104 * 50 (%) = 52. The Velocity Force Factor Range value, if defined, applies a range to the scaling factor.
    • scaleint: Scale interval (not present for Rhythm patterns).
      • B rule: interpreted as being the first valid note in current Voice's Scale Rule; i.e. the first element in the Voice's Current Scale Rule which does not have a zero value. "1" is therefore usually the root note (c.f. the Pitch parameter). "0" has the special meaning of indicating a "REST" for the note duration.
      • F rule: distance in semitones up from the root note (so "0" means the root note). E.g. if F60 (Middle C), then a pitch value of 5 means MIDI pitch 65.

    Sequence Sub-Patterns Syntax

    <S100 R 1.20 2.1 1-2.1-4 2.1>

    Syntax

    <[S][prob][.M] R {[seqnum[-seqnumrange].[repeattimes[-repeattimesrange]] [seqnum[-seqnumrange].[repeattimes[-repeattimesrange]]}* >

    Where:

    • S : identifies a sequence sub-pattern
    • prob : relative probability of being chosen when there is more than one sequence sub-pattern.
    • M: Mute the sub-pattern (i.e. prevent it being selected!). If none can be selected, then a non-sequence sub-pattern is chosen to play at random as usual each time.
    • R: Rhythm pattern type (always required)
    • seqnum: Sequence Number.
      • The index of the non-sequence sub-pattern to play. Default is 1. The sub-patterns are numbered from 1 up.
      • seqnumrange : Sequence Number Range. Default is 0.
    • repeattimes: Repeat Times Minimum.
      • The number of times to repeat this sub-pattern, when selected. A value of "0", will cause the sub-pattern (when selected) to keep playing forever until the end of the piece! Default is 1.
      • repeattimesrange : Repeat Times Range. Default is 0.

    Which sub-pattern is chosen by the Voice depends on a few things:

    If there is at least one sequenced sub pattern, then a sequence is used to drive the sub-pattern. Which sequence to use, is based on the Voice making a weighted random selection from the available sub-patterns. When (if!) the sequenced sub-pattern end is reached, the Voice will make another selection as to which sequenced sub-pattern to use.

    Otherwise, a sub-pattern is chosen, based on the Voice making a weighted random selection from the available sub-patterns. This sub-pattern is played through to the end, at which point the Voice will make another selection as to which sub-pattern to play.

    A Note Sub-Pattern that is less than a whole number of bars at the Voice's current Meter, will be padded automatically with silence to ensure that it remains bar synchronised.

    Patterns: Examples

    The IME has its own pattern format, which allows it to play specified notes and rests in different ways. Patterns are affected by the various Rules being used by the Voice.

    Tip: To aid understanding and visual clarity in the examples, we use the following color coding: durations, velocity values and scale intervals.

    Below are a number of example patterns. Copy and paste these into Noatikl to try them out.

    Rhythm:   <100 R 60 60 60.127 60>

    Both:     <100 B 60.15-30 1 60 2 60.127 3 15 7>

    Forced Frequency:   <100 F60 60.127 1 60 4 30 5 15.70-120 7>

    Sequence: <S100.M R 1.1 2-0.1-0 3-0.1-0 >

     

    Two patterns. Select randomly from these two each time!

       <100 B 60 1 60 2 60 3 60 4>

      <100 B 30 9 30 8 30 7 30 6 30 5 30 4 30 3 30 2>

     

    Forced Frequency pattern. Plays note with pitch 58 (or MIDI patch 59 on Ch10): note on, note off, note on, note off etc.

      <100 F58 15 1 45 -1 15 1 45 -1 15 1 45 -1>

     

    Forced Frequency pattern: Plays a series of notes for a whole bar (or patches in the drum kit on Ch10) starting at base pitch 40, each one a 16th note...

      <100 F40 15 1 15 7 15 6 15 13 15 2 15 8 15 4 15 11 15 13 15 2 15 8 15 2 15 2 15 8 15 4 15 14>

     

    Two sequenced sub-patterns.  Play 1 once, then 2 once...

       <S100 R 1.1 2.1>

      <100 B 60 1 60 2 60 3 60 4>

      <100 B 30 9 30 8 30 7 30 6 30 5 30 4 30 3 30 2>

     

    Two sequenced sub-patterns. Play 1 twice, then 2 twice...

       <S100 R 1.2 2.2>

      <100 B 60 1 60 2 60 3 60 4>

      <100 B 30 9 30 8 30 7 30 6 30 5 30 4 30 3 30 2>

     

    Two sequenced sub-patterns. Play 1 or 2 twice, then 1 or 2 twice...

       <S100 R 1-1.2 1-1.2>

      <100 B 60 1 60 2 60 3 60 4>

      <100 B 30 9 30 8 30 7 30 6 30 5 30 4 30 3 30 2>

     

    Two sequenced sub-patterns. Play 1 once, then 2 twice, the one or 2 once, then 2 once...

       <S100 R 1.1 2.2 1-1.1 2.1>

      <100 B 60 1 60 2 60 3 60 4>

      <100 B 30 9 30 8 30 7 30 6 30 5 30 4 30 3 30 2>

     

    Two sequenced sub-patterns. Play 1 once, then 2 forever...

       <S100 R 1.1 2.0>

      <100 B 60 1 60 2 60 3 60 4>

      <100 B 30 9 30 8 30 7 30 6 30 5 30 4 30 3 30 2>

    Voice - Text to Music (TTM)

    Voice - Type Patterns

    Text to Music Voices are a special kind of Patterns Voice Type. They use text in any language to generate a seed melody which, even though not visible, is in a Patterns syntax. Use English, Chinese, Japanese, Russian, German, French - whatever language takes your fancy, you will always get a melody!

    • Text: This is the text in any language used to generate your TTM seed melody. In general it takes 2 characters to generate a note. In Wotja, tap on this field to go to the TTM Text Editor screen.
    • Display?: The Display? toggle determines if your TTM text will display in Fullscreen mode.
    • Enabled? (Notes): The Enabled? toggle determines if pattern in your Fixed Pattern voice is to generated via TTM. The number notes your text has generated for use in the tune (or tune variations) is shown next to it.
    • Repeats: The total number of times the original melody or a variation of it is played. This also applies to improvised melodies (see Improvise toggle).
    • Repeat Range: Sets the range above the minimum. Also applies to improvised melodies (see Improvise toggle).
    • Tune Start at Index: From the notes composed, set the first note you want your tune to start playing at. Maximum value is Notes - 1
    • Tune Length Override: From the notes composed, set how many notes will play. Maximum value is Notes - Tune Start at Index
    • Phrase Length: Defines the minimum number of notes there are in a "phrase" (and you can see in the indicator above how many notes your text has generated - all of these notes get put into phrases to make the "tune").
    • Phrase Range: Sets the range above the minimum.
    • Gaps: Defines the minimum number of rests between each phrase (allows a tune to breathe). Rests are measured in terms of 16th notes.
    • Gaps Range: Sets the range above the minimum.
    • Interval: Defines the minimum number of rests between each play of the tune (allows a tune to breathe). Rests are measured in terms of 16th notes.
    • Interval Range: Sets the range above the minimum.
    • Improvise after Tune: Turn this on to let Wotja continuously generate tune variations after the FIRST complete play (and repeats) of the tune. When this is on, Wotja can "noodle" for ever (well, until you turn it off or the Sleep Timer kicks in, if set!).
    • Variation: Selects how much variation is applied to the previous melody when improvising.

    Voice - Listening

    Voice - Type Listening

    The monophonic "Listening Voice" listens out on its MIDI channel for incoming MIDI notes. It is silent (it does not generate or emit MIDI notes). When a note is detected, e.g. C60, it echoes a virtual note that can be "heard" only by a Following Voice which is then used to create an actual note. It will only detect a subsequent note if it first receives a note off for the previous note.

    The virtual note created by a Listening Voice is pitch shifted, if necessary, to fit within the band of pitch values set by its Pitch and Pitch Range parameters (see Rhythmic Voice).

    Playing with a Listening Voice:

    • Ensure Wotja has been setup, as below.
    • Ensure your Listening Voice is on the MIDI channel you are expecting to detect MIDI notes, and follow that voice with a Following Voice and suitable patch (ISE Sound). Tip: Use the Chording parameters to play chords!
    • Press play in Wotja app to start your piece and for the Listening Voice to detect the MIDI notes fed into it (and remember that the Listening Voice will only detect a subsequent note if it first receives a note off for the previous note!).

    Wotja Setup:

    MIDI emitting app or MIDI Device feeding MIDI notes into the Wotja app
    • Load the MIDI app (e.g. for iOS MIDIKeys or for macOS MIDI Mock or Live Performer) and ensure you have it set up to send MIDI notes on the Virtual MIDI channel you want, e.g. MIDI Channel 1 or Omni etc.
    • In Wotja > Settings, select the MIDI Input button which takes you to the MIDI Input Devices screen:
      • Toggle on the relevant Channels for your desired MIDI Input Device(s).
      • Ensure that the "Enable MIDI Input" toggle at the bottom is set to on.
    • To hear sound in Wotja, ensure you have the "ISE for Sounds & FX" setting toggled on in Settings.

    Voice - Chords

    The Chord parameters let you configure any Voice Type to generate chords automatically.

    In outline, use the Depth and Depth Range values to define the "Chord Depth"; which is the number of notes that will play at any one time for a given Voice. The first note in any chord is composed according to the normal mechanism for the Voice Type; additional notes that cause a chord to be built-up may be generated automatically according to the Chord parameters.

    Depth

    Specify the minimum Depth of chord that you want your Voice to play with. A value of 1 will mean that the Voice will not chord (unless the Depth Range parameter is greater than zero).

    The Depth defines the number of notes that are played by the voice at any one time.

    Depth Range

    Specify the relative maximum Depth of chord that you want your Voice to play with. A value of 0 means that whenever the Voice is played, it will play a number of notes equal to the Depth. A value of one or more means that whenever the Voice is played, it will play a number of notes equal to a randomly selected value between the Depth and the Depth plus the Depth Range.

    Percent

    This parameter tells the Voice the percentage chance that it should actually emit any given note in the chord (after the first note, of course!). Set to 100 if you want the Chording Voice to always emit a note for every note played by the Voice. Set to a smaller value if you want to thin-out the notes played within the chord. This allows you to create chords of varying depth; sometimes dense, sometimes thin.

    Strategy

    This parameter tells the Voice what it should do when it decides the pitch to use for a note generated within a chord. The available values are:

    • Chordal Harmony

      This causes the Voice's chord notes to be selected according to the currently defined Scale, Harmony and Next Note Rules.

    • Interval Within Scale Rule

      This causes the Voice's chord note to be selected offset from the followed note, such they it is at an interval within the Scale Rule beyond the previous note in the chord, defined as a value randomly selected between the Shift / Interval and Shift / Interval plus Shift / Interval Range values.

      For example, if these values are 1 and 2 respectively, then each time a note is chosen within the chord, it will be between 1 and (1+2)=3 Scale Rule intervals up from the previous note in the chord. It is important to understand that this refers to the non-zeroed elements in the current Scale Rule, in other words only those notes that are available within the Scale Rule.

      So, in our example, if we were using a Major Scale Rule, and if the first note in the chord were C4 (Middle C), and if the Voice chose a value of 2 as its random value; then the played note would be E4 (Middle C), which is the second note up from Middle C within the Major Scale Rule.

    • Semitone Shift

      This causes the the Voice's chord note to be selected offset up from the previous note in the chord, such it is offset from the previous chord note by a number of semitones which is a value randomly selected between the Shift / Interval and Shift / Interval plus Shift / Interval Range values. A note chosen in this way ignores the current Scale Rule.

      For example, if these values are 1 and 2 respectively, then each time a note is chosen, it will be between 1 and (1+2)=3 semitones up from the previous note in the chord.

      So, in our example, if we were using a Major Scale Rule, and if the previous note in the chord were C4 (Middle C), and if the Voice chose a value of 3 as its random value; then the played note would be D#4 (Middle D#), which is the third semitone note up from Middle C. This value is used even though it is not in the current Scale Rule.

    Units

    You define the Unit of Measure by which the Delay and Delay Range parameters are interpreted. This may be one of the following values:

    • Seconds (thousandths of a)

      The parameters including Duration are all interpreted as being in thousandths of a second (i.e. Milliseconds). So, a Duration value of 1000 means one second.

    • Beats (60ths of a)

      The parameters including Duration are all interpreted as being in 60ths of a beat. In the IME a Beat is defined as being one crotchet; you get 3 beats in a bar of 4:4 music. So, a Duration value of 60 means one beat. A Duration value of 30 means a quaver. A Duration value of 20 means a triplet.  A Duration value of 15 means a semi-quaver.  A Duration value of 240 means 4 beats (which is a full bar if the Piece Meter is 4:4).

    • Quantized Beats (60ths of a)

      This works the same way as Beats (60ths of a) except that where the Delay has a special value of 10, 15 or 20; the delay is interpreted in a special way that is very useful for some breakbeat-based music. Specifically, in this case, the calculated value for the delay is rounded to the nearest sub-multiple of the Delay value. So, for example, if the engine calculates a value of 43, and if Delay is 20, the used value for the delay is actually 40 (which is the nearest multiple of 20).

    Delay

    This defines the minimum delay after which the Chording Voice will play a followed note. The actual value chosen for each note is a value between Delay, and Delay plus the Delay Range. Each and every note composed for this Chording Voice will have a note whose delay is separately calculated.

    Delay Range

    This is combined with the Delay parameter, to determine the delay after which the Chording Voice will play a followed note. The actual value chosen for each note is a value between Delay, and Delay plus the Delay Range. Each and every note composed for this Chording Voice will have a note whose delay is separately calculated.

    Shift / Interval

    Used when the Strategy is either Interval Within Scale Rule or Semitone Shift.

    This causes the Chording Voice to choose notes which are offset in some way from the followed note, according to the Strategy; where the offset is defined as a value randomly selected between the Shift / Interval and Shift / Interval plus Shift / Interval Range values.

    S/I Range

    This represents the "Shift/Interval Range", and is used when the Strategy is either Interval Within Scale Rule or Semitone Shift.

    This causes the Chording Voice to choose notes which are offset in some way from the followed note, according to the Strategy; where the offset is defined as a value randomly selected between the Shift / Interval and Shift / Interval plus Shift / Interval Range values.

    Pitch Offset

    This parameter defines the amount that the pitch of each note in the chord should be offset, in semitones, from the previous note in the chord; the actual value selected might be overridden according to the various rules that apply to the Voice, but in general, this parameter allows you to "shape" a chord to have a given range of pitch values. In combination with the Delay-related parameters, this allows you to create some very interesting arpeggiation effects.

    For example, a value of +12 would tend to space each note in the chord by a range of 12 semitones (which is one octave), with each subsequent value in the chord being higher in pitch that the previous.

    For example, a value of -12 would tend to space each note in the chord by a range of 12 semitones (which is one octave), with each subsequent value in the chord being lower in pitch that the previous.

    Velocity Factor

    This parameter allows you to specify the range of relative velocities for the notes in a chord. Each subsequent note in the chord is the defined percentage louder (for a positive value) or quieter (for a negative value) than the previous note in the chord. A value of zero means that all notes in the chord are played with the same velocity.

    The Voice velocity envelope values are ignored when this parameter is applied.

    For example, a value of -30 would tell the Voice to generate its chords such that each auto-chorded note is 30% quieter than each preceding note in the chord; giving a noticeable tailing-off effect.

    Voice - Rules

    The Voice Rule parameters let you select the various rules that govern how your Voice works. The Rules themselves are edited in the relevant Rule Object. See Rule Objects.

    Harmony Rules

    Select the Harmony Rule that you want your Voice to use. If you select the value labelled ?, this tells the Voice to use the value defined in the Piece Object. If that value is in turn the ? value, then your Voice will choose a rule to use at random when it starts playing. See Rule Objects.

    Next Note Rules

    Select the Next Note Rule that you want your Voice to use. If you select the value labelled ?, this tells the Voice to use the value defined in the Piece Object. If that value is in turn the ? value, then your Voice will choose a  rule to use at random when it starts playing. See Rule Objects.

    Rhythm Rules

    Select the Rhythm Rule that you want your Voice to use. If you select the value labelled ?, then your Voice will choose a rule to use at random when it starts playing. See Rule Objects.

    Scale Rules

    Select the Scale Rule that you want your Voice to use. If you select the value labelled ?, this tells the Voice to use the value defined in the Piece Object. If that value is in turn the ? value, then your Voice will choose a rule to use at random when it starts playing. See Rule Objects.

    Harmonise?

    The default value for this parameter is "Yes", which means that the Voice will be considered for harmonisation with other voices. Set to "No" if for some reason you do not want other voices to harmonize with this voice.

    Voice Root

    Normally, you want your Voice to use the Piece Root. This is represented by the value ? However, sometimes you really want to force your Voice to use a different Root note; in which case, set the Voice Root to be whatever value suits.

    This allows you to work-around the following sort of problem:

    Imagine that you have a sampler, wher you load-up a variety of loops against MIDI note C3 up to D3. To have your piece drive this from a Rhythmic Voice such that the sounds you hear are not affected by changes to the Piece Root, you should set the Voice Root to e.g. C3 and your Voice will then be unaffected by changes to the Piece Root. Note that in this specific example, it would probably be a good idea to set the Harmonize? Flag to No.

    Voice - Comments

    This Voice Comments parameters allow you to store comments in your Voice, in the form of copyright information and any notes you might want to make for future reference.

    Copyright

    Enter the Copyright information you might want to record for the Voice. In the case of a Voice from a template pack, this might contain a copyright notice associated with that template.

    Notes

    Enter any detailed notes you might want to make about this Voice for future reference.

    Voice - Articulation

    The Voice Articulation parameters define the percentage of the duration of composed note, i.e. they determine how long a composed note actually plays for. The IME used to always compose notes to be played "Legato" (no gap between one note and the next) - this allows you to play them staccato.

    Articulation (min)

    1 is very staccato and 100 is legato (the new default).

    Articulation range

    Max articulation is the value of Articulation (min) + Articulation range, and is used in combination with the variation values (below).

    Articulation variation (min)

    The minimum variation in staccato between notes, c.f. other parameters that adopt the min + range approach.

    Articulation variation range

    The range in variation of stacatto between the notes (in addition to the min).

    Voice - Articulation

    The Voice Controllers parameters define some of the key MIDI controller values that are emitted by the Voice.

    Damper/Hold (64)

    Set this value to other than the default of "-1", if you want to emit a Damper/Hold MIDI controller (MIDI CC 64) at the specified value on this Voice's MIDI line. This is a funny MIDI controller, with only two states; in that a value of 64 or greater activates Damper/Hold, and any value of 63 or less means to turn it off! Leave this value at the default of "-1" if you don't want the Voice to emit any information for this MIDI controller.

    Harmonic Content (71)

    Set this value to other than the default of "-1", if you want to emit a Harmonic Content MIDI controller (MIDI CC 71) at the specified value on this Voice's MIDI line. Leave this value at the default of "-1" if you don't want the Voice to emit any information for this MIDI controller.

    Reverb (91)

    Set this value to other than the default of "-1", if you want to emit a Reverb MIDI controller (MIDI CC 91) at the specified value on this Voice's MIDI line. Leave this value at the default of "-1" if you don't want the Voice to emit any information for this MIDI controller.

    Chorus (93)

    Set this value to other than the default of "-1", if you want to emit a Chorus MIDI controller (MIDI CC 93) at the specified value on this Voice's MIDI line. Leave this value at the default of "-1" if you don't want the Voice to emit any information for this MIDI controller.

    Damper Release

    If you are using Damper/Hold (64), then you will find that your notes can start building-up and never decay! In which case, set the Damper Release parameter to "Yes", which tells the Voice to momentarily release the damper just before the end of every bar. This prevents build-up of notes and generally sounds wonderful.

    Portamento (65)

    Set this value to other than the default of "-1", if you want to emit a Portamento MIDI controller (MIDI CC 65) at the specified value on this Voice's MIDI line. Leave this value at the default of "-1" if you don't want the Voice to emit any information for this MIDI controller.

    MIDI Channel Sharing

    The default value of "Yes" means that this Voice can share its MIDI channel with other Voices. This is only considered if you have defined the MIDI Channel parameter for a Voice to be 0.

    Voice - MicroCtrl

    The Voice Microcontroller parameters (there are two) allow you to define very powerful Microcontrollers to be associated with your Voice.

    Microcontrollers are very powerful and you can think of them as built-in, highly configurable MIDI event generators. They can either synchronise to the tempo of your piece, or you can let them run free-floating. Experiment with them – they can do a huge amount to make your music interesting and dynamic.

    Tip: if you want to synchronise your Microcontroller to the time-base, so that your MIDI controller is synchronised to bar boundaries in your music, you'll need to use the Beat Cycle Length parameter.

    MIDI CC

    This tells your Voice which MIDI controller (also referred to as the MIDI CC) to emit for this microcontroller. When the Microcontroller is active, the Voice will emit values for this MIDI controller that change at various times, with behaviour that you define using the various parameters in this Parameter.

    Mode

    The Mode defines the shape of the waveform that the Voice will use to shape this waveform.

    The Mode may be one of the following values:

    • -1 – Off

      The microcontroller is off. This is the default value.

    • 0 - Random Drift

      The microcontroller will drift between the Minimum and Minimum plus Range, changing at times specified by the Update and Update Range parameters, by an amount between the Change and Change plus Change Range parameters.

    • 1 - LFO (Min-Max-Min)

      A triangular waveform, that starts at the minimum value, works up to the maximum value, and works back to the minimum value.

    • 2 - LFO (Max-Min-Max)

      A triangular waveform, that starts at the maximum value, works down to the minimum value, and works back to the maximum value.

    • 3 - Sawtooth (Min-Max)

      A sawtooth waveform, that starts at the minimum value, works up to the maximum value, and then starts again from the minimum value.

    • 4 - Sawtooth (Max-Min)

      A sawtooth waveform, that starts at the maximum value, works down to the minimum value, and then starts again from the maximum value.

    Minimum

    Defines the minimum value that may be emitted by the Microcontroller.

    Range

    The microcontroller will emit a value between the Minimum and Minimum plus Range values.

    So for example, if you define Minimum to be 20, and Range to be 100, the value that is emitted will be in the range 20 to 120 inclusive.

    Change

    Defines the amount by which the microcontroller will change, every time it is allowed to change. Typically set to a value of 1. If this value is set to 0, the Microcontroller will change only if the Change Range is greater than or equal to 1.

    Change Range

    Defines the upper limit to the amount by which the microcontroller will change, every time it is allowed to change. Typically set to a value of 1. If this value is set to 0, the Microcontroller will change only if the Change Range is greater than or equal to 1.

    For example, if you define Change to be 1, and Change Range to be 3, the value that is emitted will vary by a value between 1 and (3+1)=4 each time.

    Update

    Defines the minimum time in milliseconds between changes in the emitted Microcontroller value. The system might not be able to emit changes as quickly as you want, if you set a very small value! If you don't want changes to happen very often, then use a large value.

    Ignored if Beat Cycle Length is non-zero.

    Update Range

    Defines the upper limit in the time in milliseconds between changes in the emitted Microcontroller value. Use this parameter to apply some uncertainty in when the changes will occur.

    For example, if you define Update to be 1000, and Update Range to be 500, the value that is emitted will change every 1000 to 1500 milliseconds (or in other words, every 1 to 1.5 seconds).

    Ignored if Beat Cycle Length is non-zero.

    Update Units

    You define the Unit of Measure by which the Update and Update Range parameters are interpreted. This may be one of the following values:

    • Seconds (thousandths of a)

      The Update and Update Range are interpreted as being in thousandths of a second (i.e. Milliseconds). So, a Update value of 1000 means one second.

    • Full seconds

      The Update and Update Range are interpreted as being in seconds. So, a Update value of 10 means ten seconds.

    Beat Cycle Length

    This parameter is critical for generating effects which synchronise with the bar timing of your Voice. If you want to achieve an effect like a filter-sweep that synchronises to your bar boundary, then this is the parameter to use.

    Here are some of the values you could use.

    Note in the IME a Beat is defined as being one crotchet; you get 4 beats in a bar of 4:4 music. So, a Duration value of 60 means one beat. A Duration value of 30 means a quaver. A Duration value of 20 means a triplet. A Duration value of 15 means a semi-quaver. A Duration value of 240 means 4 beats (which is a full bar if the Piece Meter is 4:4).

    Phase Shift%

    Use this parameter if you want to start the microcontroller from a start-point other than at the very start of its cycle.

    Voice - Micro Delay

    The Voice Micro Note Delay parameters provide fine variation in the times of Note events generated by a Voice. This can be used to give a Voice more “human” feel.

    Delay Range

    The maximum amount of delay generated by micro note delay changes, that may be applied to note events. Zero means off (which is the default).

    Delay Change

    The amount of change in the micro delay that is applied by Wotja between note on/off events. The value drifts between zero (off) and the Delay Range, changing by plus or minus the Delay Change value each time.

    Delay Offset

    Fixed amount of offset note delay to apply, used only when the Micro Note Delay controller is in use. The default value is zero.

    Voice - Micro Pitch

    The Voice Micro Pitch parameters provide fine variation through use of the MIDI Pitch Wheel controller.

    Tip: This is not normally used on MIDI line 10, which is the drum/percussion line!

    Bend Sensitivity

    A value from 0 to 24, meaning how many semitones are controlled by the full available range of Micro Pitch parameters. The default value is 2, which represents two semitones.

    Pitch Bend Offset

    Fixed amount of pitch-bend to apply on this MIDI line, used to tune/de-tune an instrument.

    The default value is zero, which means to apply no offset pitch bend.

    From -8192 to +8191; which covers a range of pitch bend defined by the Bend Sensitivity parameter.

    Pitch Range

    The maximum amount of micro pitch change that can be applied. Zero means off (which is the default). The maximum value allowed is 8191. The value chosen is added to the pitch bend offset.

    Pitch Change

    The amount of change in Micro Pitch that is applied by Wotja between “update” periods. The value drifts between zero (off) and the Pitch Range, changing by plus or minus the Pitch Change value each time.

    Pitch Update

    The time in milliseconds between updates to the pitch controller. The actual value chosen is selected randomly each time, to be a value somewhere between Pitch Update and Update Range.

    Update Range

    The upper limit of time between updates to the pitch controller. The actual value chosen is betwen Pitch Update and Update Range.

    Voice - Note > MIDI

    Normally, Voices compose and emit MIDI note events. The Voice Note to MIDI CC Mapping parameters allow you to tell a Voice to emit MIDI controller data instead of MIDI note events.

    Why would you want to do this? Well, it lets you use a Voice as a very powerful generative MIDI event generator with a huge range of potential applications.

    CC for Note On?

    If you want this Voice to emit a MIDI CC instead of note on/off events, set this parameter to Yes.

    Note On CC

    If you have set CC for Note On? to Yes, then instead of emitting a note on event, the Voice will emit the specified MIDI CC, with a value equal to the composed pitch.

    CC For Velocity?

    If you want this Voice to emit a MIDI CC proportionate to the Velocity of the composed note (in addition to any controller defined for Note On CC), then set this parameter to Yes.

    Velocity CC

    If you have set CC for Velocity? to Yes, then the Voice will (in addition to the Note On CC value) emit the specified MIDI CC, with a value equal to the composed velocity.

    CC for Note Off?

    If you want this Voice to emit a MIDI CC when a note off occurs, set this parameter to Yes. This applies only if CC for Note On? Is set to Yes.

    Note On CC

    If you have set CC for Note Off? to Yes, then instead of emitting a note off event, the Voice will emit the specified MIDI CC, with a value equal to the composed pitch of the stopped note.

    Voice - Envelopes

    Voice Envelopes are supported for a number of parameters. Envelopes work in the same way for all of these, so they are all grouped here.

    Each envelope is a collection of up to 100 data points. A piece starts with the value at the left side of the envelope, and as it progresses, eventually ends up with the value from the far right of the envelope.

    You can draw direct on to the envelope with your mouse.

    Alternatively, you may use one of the various powerful envelope editing tools that we have made available to you.

    To use the envelope editing tools:
    - Right-click (win) or ctrl-click (mac) on the envelope tool
    - Select the option you want. e.g. random, curve up etc.
    - Select the range using the mouse...
    - Then: either press space or enter, or select pop-up envelope tool to apply to the selected range.
    - Select freehand mode to return to the normal click-to-paint mode.

    Velocity Envelope

    This allows you to define how the Velocity level is changed automatically for your Voice throughout playback of the piece. The velocity defines relatively how loud each note is.

    The actual Velocity value used at any point in the piece is calculated as being a value somewhere in the range from Velocity, to Velocity plus the value of the Velocity Range envelope.

    Velocity Range Envelope

    The value in this envelope is added to the value in the Velocity Envelope.

    Velocity Change Envelope

    The velocity for any composed note can change by a value between Velocity Change Envelope value (VCE) and the VCE plus the Velocity Change Range Envelope value.

    Velocity Change Range Envelope

    The value in this envelope is added to the value in the Velocity Change Envelope.

    User Envelope 1 (Volume)

    This allows you to define an envelope that is used to emit a MIDI CC of your choice. The default value for this MIDI CC is 7, which is the Volume controller.

    • MIDI CC

      Use this to define the MIDI CC that you want to be emitted by this envelope. The default value is 7, which is the Volume controller.

    • Enabled?

      Use this to turn your envelope on or off.

    • Envelope

    Micro User (Envelope 1)

    This provides fine variation in the values generated by the User Envelope 1. Any value generated by this micro controller is added to the Micro User Envelope 1 value, to give fine variation in any such envelope.

    • Range

      The maximum amount of micro change in the User Envelope 1 that can be applied. Zero means off (which is the default).

    • Change

      The amount of micro change in the User Envelope that is applied by Wotja between “update” periods. The value drifts between zero (off) and the Range, changing by plus or minus the Change value each time.

    • Update

      The time in milliseconds between updates to the Micro User Envelope value. The actual value chosen is selected randomly each time, to be a value somewhere between Update and Update Range.

    • Update Range

      The upper limit of time between updates to the Micro User Envelope value. The actual value chosen is betwen Update and Update Range.

    User Envelope 2 (Pan)

    This allows you to define an envelope that is used to emit a MIDI CC of your choice. The default value for this MIDI CC is 10, which is the Pan controller.

    • MIDI CC

      Use this to define the MIDI CC that you want to be emitted by this envelope. The default value is 10, which is the Pan controller.

    • Enabled?

      Use this to turn your envelope on or off.

    • Envelope

    Mix Settings

    Mix Tempo

    The Mix Tempo allows you to define the tempo for your mix.

    Mix Root

    The Mix Root parameter allows you to define the Root Pitch to use for the mix. For example, if you are using a Major Scale Rule, then set this value to be C for your Piece to play in the key of C Major.

    Ramp Up

    Sets how long it takes for the file volume to ramp up once the file has started to play.

    Playlist Duration

    Sets how long the file will play for (Piece time) in the Playlist.

    Playlist Duration Range

    Sets a range on how long the file will play for (Piece time) in the Playlist.

    Playlist Ramp Down

    Sets how long it takes for the file volume to ramp down before play moves to the next file in the Playlist.

    Piece - Rules

    The Piece Rules parameters allow you to define the default Rules used by the piece in the selected Cell. Each Cell can have different Piece Rules.

    Scale Rules

    Set this to define the default Scale Rule to use when the piece plays. Individual Voices are allowed to override this setting if they so wish.

    Harmony Rules

    Set this to define the default Harmony Rule to use when the piece plays. Individual Voices are allowed to override this setting if they so wish.

    Next Note Rules

    Set this to define the default Next Note Rule to use when the piece plays. Individual Voices are allowed to override this setting if they so wish.

    Piece - Time

    The Piece Time parameters allow you to define some of the key parameters that govern your composition at the Piece level.

    Length Units

    The duration time units for which the piece should play. The default value is Seconds, but you can set to Bars if you so wish.

    Piece Length

    The minimum duration, in seconds / bars, for which to play this piece before restarting. The duration chosen is somewhere in the range of Piece Length, to Piece Length plus Piece Length Range. If Length Units is Seconds, then the chosen duration is rounded-up to the nearest bar boundary.

    Piece Length Range

    Defines an upper range in values, for which to play this piece before restarting

    Meter

    Defines the Meter to be used by this Piece, such 4:4 or 3:4 or 6:8. A Voice will generally use this Meter, but the Meter value to be used for each Voice may actually override this setting. This approach allows Voices to be configured to work with a completely different Meter, which can be used for interesting polyphonic effects.

    File

    The File Object allows you to define some book-keeping parameters for your piece (and each cell in a mix can use a different piece). None of these parameters affect the way that you piece sounds.

    Title

    The title of your Piece.

    Author

    The author of your Piece.

    Notes

    Any notes you want to include for your Piece.

    Network Editor

    The Intermorphic Sound Engine 5 (ISE 5) "Network Editor" is used to design / view and edit both Synth Networks or FX Networks.

    Whether you are viewing/editing a Synth or FX Network depends on which button you tapped on in the Wotja Generator Network screen used to access it. You can tell which network you are editing as the screen title will refer either to "Network Synth" or "Network FX". The Editor is quite easy to use one you understand how it works and how everything fits together.

    Top Tip (Wotja X only): Use the top "Presets" button to open the Preset Selector where you can select from a range of Sounds (.tg) or FX (.fxm) presets. What is shown depends on whether you are in sound or fx network.

    Top Tip: To build a stereo synth network, use a Sound Unit's pan parameter to spatially position its sound. You can have as many Sound and FX Units, Controllers and Junctions in your network as you want (device capability permitting).

    The Network

    Network Editor

    Network Editor (tap for large)

    Important: Only Wotja X shows the in-screen bottom panel for ISE Unit editing. Wotja A instead displays full screen the network and controller editors (as relevent).

    Network Design:

    This screen shows a visual representation of the network design.

    The currently selected unit is highlighted with a black surround. Audio-rate units are shown in the top row of the network and control-rate units are shown in the bottom row. Units are always numbered from left to right and from 1 upwards; they are automatically renumbered if you ever delete a unit.

    If there are no units shown then it means there is no Network defined.

    Add Unit: Tap on an empty/blank part in the top half of this network design area to display the Unit Add menu (below). Audio-rate units are listed first: Tone Generator (Tone), FX; followed by Control Rate units (Ctrl-). Note if you are designing a Synth Network, then at least one of your units should be a Sound Unit! Sound Units all have a "Tone:" prefix.

    Some units do not have editors (Random, Junction) as they just sum the inputs of anything feeding, so nothing happens when you tap on them.

    Select / Edit Units: How you do this depends on whether you are using Wotja X or Wotja A.

    • Wotja X: Just tap the unit whose settings you want to edit in the ISE Edit Panel below. Alternatively, tap/hold an Unit button for a pop-up menu where the first item in it lets you edit the unit full screen (should you wish).
    • Wotja A: What happens when you tap on a unit depends on the Tap Edit checkbox/toggle setting (not shown).
      • Off: Double tap a unit to edit it, or tap it to select it (useful on mobile to display the controllers panel for a unit that has contollers) and then tap on it again to open it.
      • On: Tap on a unit to edit it immediately.

    Network Controls

    Top buttons:

    Note: In Wotja A, the '?', 'Poly' and 'Action' buttons are shown in a bottom toolbar.

    • Mix - Select to commit your changes and exit the screen.
    • Preset (Wotja X only): Opens the Preset Selector.
    • ?: Goes to the relevant webpage in the online user guide (internet connection required).
    • Poly (Synth Networks only): Tap to display a pop up list where you select the polyphony level used by the generators in your network. The default value is 4; set this too high, and your computer/device might slow down; set it too low, and you likely won't hear as many notes playing in chords or when notes have long decays (due to note stealing).
    • Action:
      • Open - Select to load either a Synth Network "Tone Generator" (XML file with extension .tg) or FX Network (XML file with extension .fxm), depending on what kind you are editing.
      • Save - Select to save your Synth Network "Tone Generator" (XML file with extension .tg) or FX Network (XML file with extension .fxm), depending on what kind you are editing.
      • Export - Select to export to clipboard your Synth Network or FX Network, depending on what kind you are editing.
      • Import - Select to import from clipboard a Synth Network or FX Network.
    • Cancel - Select to undo your changes and exit the screen.

    Connectors & Controllers Area:

    • In Wotja X this is shown to the left of the bottom area but in Wotja A it is just at the bottom.

    Unit Action / List Menus

    Network Editor Unit Action Menu

    Unit Action Menu (tap for large)

    Network Editor Unit Liast Menu

    Unit List Menu (tap for large)

    Tap/hold a unit to see the pop-up Action Menu and tap anywhere in the Network Design area to see the pop-up List Menu.

    What each of these menu items do is pretty self explanatory but they let you Edit, Add, duplicate (Copy/Paste) and Delete units and even clear out the entire network (Reset: use with care!). In Wotja X there is a top item "Edit Full Screen".

    Select Add Unit Before or Add Unit After to see the Unit List menu.

    Connnector/Controllers

    Network Editor Connnector/Controllers

    Connnector/Controllers (tap for large)

    All Units (i.e. both audio-rate and control-rate), except Junction Units (below), have some parameters that can be controlled (modulated) by control-rate Units (LFO, Envelope, Amp). Each Unit you want to control can have as many Connectors (lines) as you like, and these are separately numbered for each Unit. This allows all kinds of fun and clever sound design stuff to be done in the ISE. The Connectors and Controllers are displayed / selected at the bottom of the screen (and/or on the bottom left in Wotja X).

    You can tell if a Unit (audio-rate or control-rate) has been set up to be modulated by a Controller as you will see a blue or red line attached that is connnected to control-rate unit to the left of it.

    Junctions (audio-rate or control-rate): These units are coloured grey, have no interfaces, and are used only to sum together the outputs of a number of Units of the same audio-rate or control-rate type, meaning the units they sum are always on the same line.

    Controller Editing:

    The KEY to understand how the Connector/Controller controls work is to understand that:

    1. Select the Unit you want to be modulated (e.g. Osc 2);
    2. Select one of the existing Connectors defined for that Unit (the slider list is sorted on controller number, even though you don't see it), then;
    3. For that Connector, select the Controller Unit you want to be applying the modulation (e.g. 1 LFO), then;
    4. Tap the button to the right of it (non-Junctions only) to see a drop list of parameters that can be modulated for the Unit selected in step 1 (e.g. Frequency); tap the one you want to be modulated;
    5. Finally, use the scale/slider to change the Scale Value applied to the modulation (+/-2). Setting this to 0 means no modulation is applied. For Junctions the Scale Value is a way to balance how much of the output of each Unit is blended together. Note: If more than one control-rate unit feeds a specific parameter on a target unit, they will get added together automatically (including the appropriate scaling factor).

    Have a look at Osc 2 in the image above (the 2 signifies the unit number). It is shown as selected (bold black line around it) and has a red line (Connector) going to a red Control-Rate Unit below (Controller). This connector links 1 LFO unit with the 2 Osc 2 unit.

    Controller Adding:

    1. Select the Unit you want to be modulated (e.g. 2 Osc);
    2. Tap on an empty/blank part in the top half of the network design area to display the Unit Add menu and then select a control-rate unit (e.g. Envelope Unit);
    3. Press the Controller Add button to add a Connector;
    4. For that Connector, you then select the Controller Unit you want to be applying the modulation (e.g. Envelope Unit);
    5. Non-Junctions Only: You will see to the right a drop list of parameters (if any) that can be modulated for the Unit selected in step 1 (e.g. Attack); tap the one you want to be modulated;
    6. Finally, use the scale/slider to change the Scale Value applied to the modulation (+/-2) before it is passed to the parameter of the Unit selected in step 1. Setting this to 0 means no modulation is applied. For Junctions the Scale Value is a way to balance how much of the output of each Unit is blended together. Note: If more than one control-rate unit feeds a specific parameter on a target unit, they will get added together automatically (including the appropriate scaling factor).

    Preset Selector

    ISE Network Preset Selector

    ISE Network Preset Selector (tap for large)

    Wotja X Only: The ISE Network Preset Selector is launched from the "Presets" button at the top of the Network Editor. Using presets is a very easy way to quickly change the sounds and fx used in a mix.

    Whether you see sound presets (.tg) or fx presets (.fxm) depends on whether you are in a sound or fx network (i.e. accessed via the Synth or FX buttons in the Wotja X Generator Network Panel).

    To preview the preset first make sure you have your mix playing and then just tap on it. If you want to use it tap the top left < button to exit the list; if you want to discard it then press the top right Cancel button to exit the list.

    Any custom presets you have saved can be found in the Saved Files grouping at the top on the left.

    You can easily zip up your custom presets into a zip with the following paths being used for sounds and fx for your own folders:

    /sounds/tg-preset-group-name/xxx.tg
    /fx/fx-preset-group-name/xxx.fxm

    Tip: The zip file just needs to be placed in the Wotja iCloud folder or the Intermorphic Folder.

    Tip 2: The zip file can be called anything except wj_tgfxm.zip.

    TG DSynth

    ISE DSynth Tone Generator

    Tone Generator - DSynth (Audio-rate) (tap for large)

    The "DSynth" tone generator unit can be used either as a melodic tone generator or as a Drum/Percussion Synthesizer for a range of drum/percussion related sounds. You can shift the pitch of the generated sound away from the notes that would otherwise be played, using the Tuning controls.

    The unit works by combining two Oscillators which cross-modulate each other's oscillation frequency. Each oscillator has its own ADSR envelope which is used primarily to modulate the volume of the oscillator, but which can also be used to modulate the frequency of the oscillator!

    The output of the two oscillators is merged with the output from a filtered noise generator (the bottom block of parameters) which also has its own ADSR envelope. The net effect is a unit which can create a wide array of percussive and melodic sounds. You can use the Export and Import buttons at the top of the unit to export and import DSynth settings to/ from the clipboard.

    Tip: Use an audio junction unit to add together sounds from multiple tone generators to make even richer sounds!

    Main Controls

    • Level: Sets the unit's output level.
    • Pan: Sets the unit's stereo position.
    • Notes?: This toggle determines whether the unit will actually use the composed note frequency to override the frequency of Oscillator 1. The default is that the checkbox is clear : i.e. the system will not use the composed note frequency for the unit. Tip : for percussive sounds, you might like to try clearing this checkbox!
    • Click?: Use this toggle to add an initial transient when the notes are triggered; very useful for percussive sounds.

    Oscillator 1 and Oscillator 2 Parameters

    • Frequency: The frequency of oscillator 1 or 2.
    • OMod: "Oscillator Modulation" - The amount of modulation provided by the other oscillator, for oscillator 1 or 2.
    • EMod: "Envelope Modulation" - the amount of the envelope which should also be used to modulate the frequency of oscillator 1 or 2. If this is set to 0, then the ADSR envelope is used purely to modulate the volume of the oscillator.
    • Delay: The length of time it takes after a note event occurs for the voice, before the envelope starts to rise-up from zero to its Attack level.
    • Attack: The length of time it takes after the delay time has passed for the voice, for the envelope to rise-up from zero to its Attack level.
    • A Level: The target Attack Level for the attack stage of the envelope, as the envelope rises from its initial value of zero.
    • Decay: The length of time it takes for the envelope to decay down from the Attack Level, down to the Sustain Level of zero.
    • Rate: A measure of the curvature of the Decay, down to the sustain level of zero. A value of 0 gives a linear decay, and increasing values giving an increasing level of curvature - resulting in a sound that is more "plucked" in nature.

    Filter/Q Parameters

    • Type List: The filter type to use: includes Low Pass, High Pass and Band Pass.
    • Frequency: The frequency of the filter.
    • Q: the amount of accentuation of the filter, 1.0 is high, 0.0 is no effect at all.
    • EMod: "Envelope Modulation" - the amount of the envelope which should also be used to modulate the filter frequency. If this is set to 0, then the ADSR envelope is used purely to modulate the volume of the filtered noise..
    • Delay: The length of time it takes after a note event occurs for the voice, before the envelope starts to rise-up from zero to its Attack level.
    • Attack: The length of time it takes after the delay time has passed for the voice, for the envelope to rise-up from zero to its Attack level.
    • A Level: The target Attack Level for the attack stage of the envelope, as the envelope rises from its initial value of zero. Tip: A value of zero is very good for melodic sounds; set to a higher value for more percussive sounds.
    • Decay : The length of time it takes for the envelope to decay down from the Attack Level, down to the Sustain Level of zero.
    • Rate: A measure of the curvature of the Decay, down to the sustain level of zero. A value of 0 gives a linear decay, and increasing values giving an increasing level of curvature - resulting in a sound that is more "plucked" in nature.

    Tuning

    • Octave offset: This allows you to specify the the octave offset from the voice's pitch.
    • Semitone: This allows you to select the semitone offset from the voice's pitch (taking into account the octave offset above).
    • Micro: This allows you to specify the microtonal offset in order to 'detune' the tone. -100 is the equivalent to a semitone down, and +100 is a semitone up.

    TG Oscillator

    ISE Osc Tone Generator

    Tone Generator - Osc (Audio-rate) (tap for large)

    This unit lets you create a range of waveforms, which are driven by MIDI pitch (via the "Pitch" checkbox); in which case, they are flexible, efficient MIDI tone generators.

    Tip: You can use an audio junction unit to add together sounds from multiple tone generators to make even richer sounds!

    Tip: The bottom linked Envelope Unit is there to help you shape your sound.

    Main Controls

    • Amplitude: Sets the amplitude of the generated waveform.
    • Pan: Sets the unit's stereo position.
    • Frequency: This controls the frequency of the unit, in Hertz (Hz, cycles per second).
    • Portamento: This defines the amount of "pitch slide" (Portamento) from one note to the next; used when "Use Midi Pitch?" is selected. Basically a measure of the exponential approach to the pitch of the next note. Measured from 0 (minimum effect, an instantaneous change to the next note pitch) to 100 (maximum exponential approach to the target pitch).

    Type

    • Oscillator Type: This list includes Sine, Saw left, Saw right, Triangle, Square, STS (Saw, Triangle, Square) and Random. Change the Oscillator Type to dramatically change the sound of your Tone Generator.
      • Sine produces a smooth waveform with no other harmonics.
      • Saw Left and Saw Right produce waves that look like a saw-tooth close up. The either slope to the left or to the right, but sound identical (they are both provided, as combining these with other waveforms provide interesting effects due to their different phasing!).
      • Triangle sounds not quite as harsh as the saw-tooth but has more harmonics than the sine.
      • Square produces a 'square' looking wave and sounds rougher than either the sine or saw-tooth waves. With the square wave you have the option of specifying the ratio of the up portion of the wave to the down portion. At either extreme, the square wave becomes more like a pulse wave, giving a 'pulsing' sound at lower pitches.
      • STS stands for 'Saw, Triangle, Square' because it is a hybrid between these three wave types. By varying the three parameters associated with it, the wave shape can be 'morphed' between the above three extremes. In effect, this waves covers all the preceding wave shapes, with the exception of the sine wave.
      • Random produces white noise between Min and Max, also affected by the Amplitude. These values are produced irrespective of the pitch of the tone generator; and do not use the envelope of the tone generator. Random signals are particularly interesting when fed into filter effect units!
    • Min: This defines the minimum value that the generated LFO waveform can have.
    • Max: This defines the maximum value that the generated LFO waveform can have.
    • Phase: useful for slow oscillators (e.g. 0.2 Hz) - determines the start point of the oscillator.
    • Pitch: Select this checkbox if you want the MIDI pitch to determine the frequency of this tone generator. Use only for audio-rate units.
    • Sync: Select this checkbox if you want the LFO to use the envelope to modulate the amplitude of the tone generator, or your own specific envelope settings that you can edit by pressing the "Edit Envelope" button. This only has any effect in Modular Synth networks, of course!
    • Ring:TBA.

    STS

    ISE STS Waveform ratios

    The STS Waveform and its ratios

    • U/D: Only for the Square and STS wave types. Defines the ratio of "Up" to "Down" (or "On" to "Off") values (for STS waveforms, this is the ratio of u to d in the diagram below).
    • Sqr: Only for the STS wave type. Defines the "squareness" of the waveform (the ratio of s to u in the diagram below).
    • Slant: Only for the STS wave type. Defines the skew of the waveform (the ratio of a to a + b in the diagram below)
      • With the Up Down Ratio at 100.0%, the Squareness Ratio at 0.0% and the Slant Ratio at 50.0%, the shape is a triangle.
      • With the Up Down Ratio at 100.0%, the Squareness Ratio at 0.0% and the Slant Ratio at 0.0% or 100.0%, the shape is a Saw Right or Saw Left respectively.
      • Lastly, with the Up Down Ratio at 100.0%, the Squareness Ratio at 100.0% and the Slant Ratio at anything you please, the shape is a Square wave.

    Tuning

    • Octave offset: This allows you to specify the the octave offset from the voice's pitch.
    • Semitone: This allows you to select the semitone offset from the voice's pitch (taking into account the octave offset above).
    • Micro: This allows you to specify the microtonal offset in order to 'detune' the tone. -100 is the equivalent to a semitone down, and +100 is a semitone up.

    Bottom Toolbar

    • Edit Envelope: Press to display a pop-up the Envelope Unit that allows you to specify your own specific envelope settings for MIDI note on and note off events.

    TG Particle

    ISE Particle Tone Generator

    Tone Generator - Particle (Audio-rate) (tap for large)

    This effect unit is an example of Granular Synthesis, which although is often used to do time-stretching of samples, is used for a completely different purpose here - that of creating rich layered sounds ranging from ambient forms to plopping sounds and twinkling chimes. The particle system incorporates octave, semitone and micro tonal offsets. It also has a checkbox that allows it to use the default volume envelope for amplitude shaping.

    The Particle System synthesizes tones from a number of sine waves. This is really granular "additive synthesis". The unit works by streaming-out grains up to a maximum of 20 at any one time. These are randomly offset from each other to blend well. When the effect decides to generate a new grain, it takes its information from the dialog values. If the grains are reasonably large then the harmonics come in and out giving a full sound.

    Tip: You can use an audio junction unit to add together sounds from multiple tone generators to make even richer sounds!

    Main Controls

    • Frequency: This controls the frequency of the internal high-frequency LFO, which is is used to modulate the "harmonics", giving a tone that is rich with harmonic information. Only used if "Use Notes?" is not set.
    • Harmonics: Defines the range of multiples of the selected frequency present in the Particle System's output. What this means in plain English :) is that if you (say) have a frequency of 400Hz, and you define the Harmonic to be 3, then you may find grains with frequencies of 400, 800, and 1200 Hz in the generated waveform. The higher this value, the richer the harmonic output!
    • Velocity: this scrollbar controls the change of frequency within any one grain. Try moving this a small bit and you will find the tones start to dive or soar - good for creating horror effects!
    • Elements: The "number of elements" - the maximum number of grains present at any one time. The higher this value, the richer the output!

    Envelope

    • Amplitude: Defines the overall amplitude of the generated waveform.
    • Attack / Sustain / Decay / Pause: Changing these settings modifies an internal envelope generator, which is used to alter the shape and duration of the grains. It is easy to get twinkling effects just by making the attack small (say 1) and the decay longer (say 200). The pause determines the gap between grains. Modulating harmonic, attack, and pan position gives a nice full sound that alternates between twinkling and blending.

    TG Wavetable

    ISE Wavetable Tone Generator

    Tone Generator - Wavetable (Audio-rate) (tap for large)

    When added to a Synth Network, a Wavetable Unit defaults to use the integral "General MIDI" (GM) Wavetable and plays Patch "001-Acoustic Grand Piano". To change the Patch select another one in the Patch list.

    It is easy to use the other IM-included SF2 wavetables (IM Drums, IM E-Perc, IM Guitar, IM E-Piano, IM Piano, IM Synths).

    Simply use the left list control to select the Wavetable from the list of those shown and then use the right hand list control to select the Patch (all patches available in the Wavetable are listed; they are listed in standard patch bank/patch order).

    To use your own or 3rd party SF2, they just first need to be put in the right place (see: Copy Content In/Out).

    Note: If a Wavetable Unit is used in a Synth Network for a MIDI line, its Wavetable and selected patch will override the underlying piece's IME General MIDI Patch parameter (which always uses that patch in the GM Wavetable). If you DO want to use the piece's IME General MIDI Patch parameter setting, you must DELETE all units in the Synth Network and select the OK button to accept that. If you then re-enter the Synth Network you see a Wavetable Unit looks to have been added. It is a placeholder but it is not used - unless you enter the Wavetable unit in which case the sound will default to a GM Piano sound until you change it.

    Top Tip: There are 4 parameters in the Wavetable unit that can be modulated: Frequency, Portamento, Amp and Pan. Try using a LFO Unit to modulate the Wavetable Unit's frequency paramater to apply a vibrato effect. To change how that vibrato is applied over time, try shaping the output of the LFO with an Envelope Unit before feeding into the Wavetable Unit.

    Tip: You can use an audio junction unit to add together sounds from multiple tone generators to make even richer sounds.

    Main Controls

    iOS: This top area is scrollable (swipe to scroll).

    macOS: The top area and selector list area below is separated by a horizontal draggable splitter bar.

    • Amp: Used to set the unit's output level.
    • Pan: Used to set the unit output's pan position.
    • Ove: This allows you to specify the the octave offset from the voice's pitch. NB: To see this control you need to scroll down the top area.
    • Semi: This allows you to select the semitone offset from the voice's pitch (taking into account the octave offset above). NB: To see this control you need to scroll down the top area.
    • Micro: This allows you to specify the microtonal offset in order to 'detune' the tone. -100 is the equivalent to a semitone down, and +100 is a semitone up.

    Selector List

    • SF2/DLS List (left): Used to select the Wavetable.
    • Patches List (right): Used to select the Patch in the Wavetable.

    Bottom Toolbar

    • Envelope Toggle: If on, the settings of the integral Envelope are applied. If off, the envelope values are ignored.
    • Envelope: The Wavetable unit has an integrated Envelope Unit which can be used to shape it's sounds. This is a very powerful feature that can be used for sound design (e.g. long attack and post release sounds).

    FX Amplifier

    ISE Amplifier FX

    FX - Amp (Audio-rate) (tap for large)

    If you have a weak signal, e.g. coming out from a Filter Unit or an Wavetable Unit, then pump it into an amplifier. The Amplifier can multiply the input by a factor of up to 10. If you want more than this, feed it into another amplifier!

    Main Controls

    • Level: Determines the amount of amplification to be done by this amplifier unit. The default value is 1.00 (0dB - i.e. no amplification) and values can range from 0, 0.10 (-19dB) to 10.00 (20dB)
    • Pan: Determines the pan position of the signal. The default value is 64 (center).
    • Phase Invert?: When on, the phase of the signal will be inverted.
    • Pan Invert?: When on, the pan of the signal will inverted.

    FX Chorus

    ISE Chorus FX

    FX - Chorus (Audio-rate) (tap for large)

    Sums the input and duplicates it at varying delay rates with the effect of "thickening" the audio. The delay time and frequency should be tweaked to give the right feel.

    Main Controls

    • Wet: Adjust this value to alter the amount of "wet" (processed) signal in the mix.
    • Dry: Adjust this value to alter the amount of "dry" (unprocessed) signal in the mix.
    • Preset: Use this to apply a "macro" setting of chorus parameters.
    • Rate: A measure of the chorus modulation rate, in Hertz.
    • Depth: A measure of the chorus modulation depth, in milliseconds.
    • Feedback: The amount of Chorus Modulation Feedback to apply, as a percentage from 0 to 100 (which is the maximum).

    FX Compressor

    ISE Compressor FX

    FX - Compressor (Audio-rate) (tap for large)

    Used to help compress the signal in the DSP chain.

    If you view the compressor behaviour as a function of Output (measured in decibels [dB]) against Input (measured in decibels [dB]), the compressor displays three distinct regions of behaviour:

    • Linear with a slope of 1 up to the Compression Threshold (CT)
    • Compressor with a slope of 1/CR (where CR is the Compression Ratio) up to the Limit Threshold (lT)
    • Limiter with a slope of 0 from the Limit Threshold (lT) and beyond

    Main Controls

    • Gain In: Input gain setting; defaults to 0 dB.
    • Threshold: This is the input/output level where the compressor becomes active. Below this level input = output.
    • Gain Out: Output gain setting; defaults to 0 dB.
    • Attack: This determines how quickly the envelope will respond to a positive change in the signal level. The value indicates the time it takes the envelope to rise 50% of the change.
    • Ratio: Determines the compression ratio. If this value is < 1 it will in effect work as an expander.
    • Release: This determines how quickly the envelope will respond to a negative change in the signal level. The value indicates the time it takes the envelope to fall 50% of the change.
    • Level Detect Mode: This has one of two values, which determines whether the signal is compressed/limited according to the peak or RMS level of the signal.
    • Limiter: The output is limited to this level. If this value is lower than dBCompThreshold, the compressor will not be in operation.

    Mode

    • Peak: Use Peak signal
    • RMS: Use RMS signal

    FX Delay

    ISE Delay FX

    FX - Delay (Audio-rate) (tap for large)

    Used to add interesting delay effects to an audio signal.

    Main Controls

    • Wet: Adjust this value to alter the amount of "wet" (processed) signal in the mix.
    • Dry: Adjust this value to alter the amount of "dry" (unprocessed) signal in the mix.
    • Time Fine: This parameter quickly determines the gross delay time in multiples of two. Increasing this parameter by one stop doubles the delay time, decreasing it halves it.
    • Time Multiplier: This parameter allows the user to fine tune the delay time in between the multiples specified by the parameter above.
    • Decay: This determines the amplitude attenuation with each passing delay tap.
    • Taps: The number of "taps" in the delay system : the greater this number, the greater is the "thickness" of the delay effect.
    • Ping Pong Freq: Frequency (Ping Pong) is the movement across the stereo field with each passing delay tap. A high Ping-Pong frequency ensures a 'Ping-Pong' type of effect from one channel to the other. A low frequency results in a type of drift from one channel to the other. Only applies if the Delay is applied to a stereo signal pipeline.
    • Phase: This simply determines where in the stereo field the Ping-Pong starts. Only applies if the Delay is applied to a stereo signal pipeline.
    • BPM Sync: Default (non-tempo synched option) and various BPM values, e.g. BPM/4 which means generate the waveform selected in the above list at a tempo of the mix tempo (BPM)/4. This control allows for tempo-synched control of the Delay unit, for great effect.

    FX Distortion

    ISE Distortion FX

    FX - Distortion (Audio-rate) (tap for large)

    Distorts the sum of your incoming signals. Take cutoff X right down to about 0.02 to get a really distorted sound - it sounds great on a particle system! Cutoff Y acts like an amp and Cutoff Max determines the position of the output wave when the input is at 1.0 or -1.0.

    The combination of Cutoff X, Y and Cutoff Max contribute to reshaping the input signal.

    Graph of the Distortion Cutoff parameters

    Main Controls

    • Wet: Adjust this value to alter the amount of "wet" (processed) signal in the mix.
    • Dry: Adjust this value to alter the amount of "dry" (unprocessed) signal in the mix.
    • Cutoff X: This determines the input value which will be scaled to the output value of 'y'.
    • Cutoff Y: As above, i.e. at input 'x', 'y' is the output.
    • Cutoff Max: At input value of 1.0, the output is 'Max'. Max may even be set to be lower than Cutoff Y

    FX Equaliser

    ISE Equaliser FX

    FX - Equaliser (Audio-rate) (tap for large)

    Use the Equaliser Unit to modify the frequency response of your audio signal. Depending on how you configure the unit, it can operate as either a 5-band or a 10-band equaliser. Note that the 5-band equaliser takes less CPU power.

    Main Controls

    • Preset: Select from a range of presets.
    • Amplifier: Specifies the amount of pre-amplification applied to the equaliser input signal. Adjusts from -20 dB to +20 dB.
    • Base Freq: This slider adjusts the frequency of the lowest EQ band. All other sliders will automatically follow to maintain the frequency ratio between bands.
    • EQ bands: Specify the gain for the indvidual frequency bands. Adjust from -14 dB to +14 dB. Unused frequency bands will display "N/A" in case of 5-band EQ mode, or if band frequencies are close to or above half the sample frequency.

    Toolbar

    • Lock checkbox: Use to allow all sliders to move together at the same time when you change any one of the individual slider values.
    • On/Off checkbox: Use this to enable or disable the EQ

    FX Filter

    ISE Filter FX

    FX - Filter (Audio-rate) (tap for large)

    The Filter Unit can work in a variety of different ways depending on how you configure it:

    • Using a fixed filter frequency
    • Using a built-in frequency sweep
    • Using a filter frequency that is adjusted dynamically such that it tracks currently playing note pitches.

    Main Controls

    • Wet: Adjust this value to alter the amount of "wet" (processed) signal in the mix.
    • Dry: Adjust this value to alter the amount of "dry" (unprocessed) signal in the mix.
    • Filter Type: A list that includes Low Pass, High Pass and Band Pass.
    • Cutoff: Determines the minimum frequency for the built-in filter frequency sweep
    • Q: The amount of accentuation (resonance) of the filter, 1.0 is the lowest value, and provides low quality filtering with little resonance, 5.0 provides high quality filtering with high resonance, and 10.0 provides the greatest resonance.
    • Quality: The number of cascaded 12 dB/octave filter sections, defaults to 1. Use a higher value to get sharper cutoff, at the cost of greater CPU consumption.
    • Auto Sweep?: This toggle determines whether or not the built-in filter frequency is in use. When not selected, this checkbox disables automatic filter sweeping.
    • Cutoff min: Determines the cutoff or center frequency for the filter in Hertz.
    • Range: This value, when added to the Filter Cutoff Min determines the upper frequency for the built-in filter frequency sweep
    • Rate: Determines the rate in Hertz at which the filter sweep moves from minimum to maximum value (and back again) [Sweep check box must be checked].
    • Phase: Determines the phase used by the built-in frequency sweep.
    • Sync?: Only relevant when the filter is used with IME part.
    • Freq?: When this toggle is set, the filter frequency actually follows the currently played note pitch, where the note is generated by the IME. Tip: setting this checkbox gives a tonal quality to the Filter effect. In this case, the following parameters apply:
    • Octave Offset: This combo-box allows you to specify the octave offset from the current note pitch
    • Semi: This allows you to select the semitone offset from the current note pitch (taking into account the octave offset above) if Use Notes is set).
    • Micro: This allows you to specify thee microtonal offset in order to 'detune' the filter. The value supplied is in cents (1 cent = 1/100 semitone).

    FX Overdrive

    ISE Overdrive FX

    FX - Overdrive (Audio-rate) (tap for large)

    This unit adds overdrive distortion to the sound source.

    Main Controls

    • Wet: Adjust this value to alter the amount of "wet" (processed) signal in the mix.
    • Dry: Adjust this value to alter the amount of "dry" (unprocessed) signal in the mix.
    • Gain: Determines the amount of overdrive (distortion) applied.

    FX Reverb

    ISE Reverb FX

    FX - Reverb (Audio-rate) (tap for large)

    This unit adds reverberation to the sound. This gives depth to the sound and makes it seem as though the piece is being performed in a room. You can control the 'size' and sound of this room with the parameters below.

    Main Controls

    • Wet: Adjust this value to alter the amount of "wet" (processed) signal in the mix.
    • Dry: Adjust this value to alter the amount of "dry" (unprocessed) signal in the mix.
    • Preset: Select from a range of presets.
    • Time: Determines the duration of the reverb.
    • HF Damp: In most environments high frequencies will attenuate more quickly than low frequencies due to damping caused by carpets, furnishings, etc. Use this control to adjust the amount of high frequency damping.
    • Pre Delay: Delay of reverb relative to the dry (unprocessed) signal.
    • Reverb Type List: Choose the reverb type from a number of musical and environmental presets.
    • Low Cut: Applies a lowpass filter to the reverberated sound. The value is the normalised cutoff frequency of the filter, with "1.00" corresponding to half the sample frequency (at 1.00 no lowpass filtering is applied).
    • High Cut:Applies a highpass filter to the reverberated sound. The value is the normalised cutoff frequency of the filter, with "1.00" corresponding to half the sample frequency (at 0.00 no highpass filtering is applied).
    • Combs: Determines the number of parallel comb filters used in the reverb algorithm. A higher number generates a more dense reverb tail, but is also more CPU intensive.
    • Filters: Determines the number of series allpass filters used in the reverb algorithm. A higher number generates a smoother reverb tail, but is also more CPU intensive.
    • Stereo: Adjust this value to change the perceived "width" of the sound.

    Ctrl-Envelope

    ISE Control Envelope

    Control - Envelope (Control-rate) (tap for large)

    The Envelope Unit is used to edit the "Ctrl-Envelope" control-rate plugin. It is only of use in Modular Synth networks, where it is triggered in response to MIDI note on events for the current MIDI line, and generates no sound of its own. Used in context of the TG Osc it is also triggered in response to MIDI note off events.

    There are a number of values which you can adjust to modify the shape of your envelope. The shape used is shown in this diagram below.

    Main Controls

    • Delay: The length of time it takes after a note on event occurs for the voice, before the volume envelope starts to rise-up from zero to its Attack level.
    • Attack: The length of time it takes after the delay time has passed for the voice, to rise-up from zero to its Attack level.
    • Atk Level (Advanced): The target level for the attack stage of the envelope, as the envelope rises from its initial value of zero.
    • Hold: The length of time it takes after the attack level is reached, before the envelope starts to decay down to the Sustain Level.
    • Decay: The length of time it takes for the envelope to decay down from the Attack Level, down to the Sustain Level.
    • Sustain: The level at which the note will play, once all of the Decay, Attack, and Hold periods have completed.
    • Post Attack (Advanced): The length of time it takes after the note stop event occurs, for the envelope to move from the sustain level to the post-attack level
    • Pst Atk Level (Advanced): The target level for the post-attack stage of the envelope, as the envelope moves from its sustain level.
    • Post Hold (Advanced): The length of time it takes after the post attack level is reached, before the envelope starts to decay down to zero.
    • Release: This time defines the time it takes for the Voice to respond to a note off event, in terms of how long it takes to decay from the Post-Attack Level to a level of zero.

    Toolbar

    • Reset: Sets the envelope back to default values.
    • Linear: This toggle lets you set both Decay and Release stages to either Linear or Exponential.
    • Advanced: When toggled on, you can see some extra controls, indicated above as "Advanced".

    Ctrl-LFO

    ISE Control LFO

    Controller - LFO (Control-rate) (tap for large)

    This unit lets you create a range of control-rate waveforms. The waveforms oscillate at a pitch that you dictate yourself. They are used for modulating the parameters of other effect units; they should only be run below (say) 50Hz or you'll get some odd effects.

    Main Controls

    • Amplitude: Sets the amplitude of the generated LFO waveform.
    • Pan: Sets the unit's stereo position.
    • Frequency: This controls the frequency of the LFO, in Hertz (Hz, cycles per second).
    • Portamento: This defines the amount of "pitch slide" (Portamento) from one note to the next; used when "Use Midi Pitch?" is selected. Basically a measure of the exponential approach to the pitch of the next note. Measured from 0 (minimum effect, an instantaneous change to the next note pitch) to 100 (maximum exponential approach to the target pitch).

    Type

    • LFO Type: This list includes Sine, Saw left, Saw right, Triangle, Square, STS (Saw, Triangle, Square) and Random. Change the LFO Type to dramatically change the sound of your LFO.
      • Sine produces a smooth waveform with no other harmonics.
      • Saw Left and Saw Right produce waves that look like a saw-tooth close up. The either slope to the left or to the right, but sound identical (they are both provided, as combining these with other waveforms provide interesting effects due to their different phasing!).
      • Triangle sounds not quite as harsh as the saw-tooth but has more harmonics than the sine.
      • Square produces a 'square' looking wave and sounds rougher than either the sine or saw-tooth waves. With the square wave you have the option of specifying the ratio of the up portion of the wave to the down portion. At either extreme, the square wave becomes more like a pulse wave, giving a 'pulsing' sound at lower pitches.
      • STS stands for 'Saw, Triangle, Square' because it is a hybrid between these three wave types. By varying the three parameters associated with it, the wave shape can be 'morphed' between the above three extremes. In effect, this waves covers all the preceding wave shapes, with the exception of the sine wave.
      • Random produces white noise between Min and Max, also affected by the Amplitude. These values are produced irrespective of the pitch of the tone generator; and do not use the envelope of the tone generator. Random signals are particularly interesting when fed into filter effect units!
      • Note On Random means that every time a note on event occurs, the random value changes, and sits there until the next note on event occurs. The value then sits there, until the next note on event - when the value is changed again.
    • Min: This defines the minimum value that the generated LFO waveform can have.
    • Max: This defines the maximum value that the generated LFO waveform can have.
    • Phase: Useful for slow oscillators (e.g. 0.2 Hz) - determines the start point of the oscillator.
    • BPM Sync: Default (non-tempo synched option) and various BPM values, e.g. BPM/4 which means generate the waveform selected in the above list at a tempo of the mix tempo (BPM)/4. This control allows for tempo-synched control of e.g. the Filter unit, for great effect.
    • Random Levels?: When checked, creates random control values bounded between the settings of the Min and Mix knobs. If a BPM setting is chosen in the Freq List, then these values will change at that control rate for a "sample and hold" effect.
    • Use MIDI note?: Applies the waveform each time a MIDI note is played.

    STS

    ISE STS Waveform ratios

    The STS Waveform and its ratios

    • U/D: Only for the Square and STS wave types. Defines the ratio of "Up" to "Down" (or "On" to "Off") values (for STS waveforms, this is the ratio of u to d in the diagram below).
    • Sqr: Only for the STS wave type. Defines the "squareness" of the waveform (the ratio of s to u in the diagram below).
    • Slant: Only for the STS wave type. Defines the skew of the waveform (the ratio of a to a + b in the diagram below)
      • With the Up Down Ratio at 100.0%, the Squareness Ratio at 0.0% and the Slant Ratio at 50.0%, the shape is a triangle.
      • With the Up Down Ratio at 100.0%, the Squareness Ratio at 0.0% and the Slant Ratio at 0.0% or 100.0%, the shape is a Saw Right or Saw Left respectively.
      • Lastly, with the Up Down Ratio at 100.0%, the Squareness Ratio at 100.0% and the Slant Ratio at anything you please, the shape is a Square wave.

    Ctrl-Amp

    ISE Control Amplifier

    Controller - Amp (Control-rate) (tap for large)

    If you have a weak control rate signal, coming from a LFO for example, then pump it into an amplifier. The Amplifier can multiply the input by a factor of up to 10. If you want more than this, feed it into another amplifier!

    Main Controls

    • Level: Determines the amount of amplification to be done by this amplifier unit. The default value is 1.00 (0dB - i.e. no amplification) and values can range from 0, 0.10 (-19dB) to 10.00 (20dB)
    • Pan: Determines the pan position of the signal. The default value is 64 (center).
    • Phase Invert?: When on, the phase of the signal will be inverted.
    • Pan Invert?: When on, the pan of the signal will inverted.

    Ctrl-Random

    Main Controls

    This unit simply generates a random value from -1 to +1 at the control rate (it is not an audio unit). There is no Unit interface, but you control the scale factor with the slider at the bottom of the Network Screen.

    • Connector: The "Connector" list lets you select the effects unit (which must be a control-rate unit) that is modulating the parameter for your effects unit. Change the entry here to be the unit number of the control-rate unit that you want to modulate your effects unit.
    • Controller: The "Controller" list shows you a count of all the effects unit inputs that modulate parameters of your currently selected effects unit. The numbers in the list are just always numbered automatically from 1 upwards. Note that if there are no entries shown in the "Param" list, then this effect unit has no available modulators, and therefore you have nothing to control on it from e.g. LFOs or envelopes (in which case, Add etc. will have no effect).
    • Add: Press the "Add" button to add a new entry to your "Controller" list.
    • Delete: Press the "Delete" button to remove the currently selected Controller list item.
    • Scale: The "Scale" slider lets you fine-tune a scaling factor between 0 and 2, by which the modulating input value (from the modulating unit) is multiplied, before being applied to your modulated effect unit's parameter. This allows you to carefully adjust the amount by which a parameter is modulated. Note that if more than one control-rate unit feeds a specific parameter on a target unit, they will get added together automatically (including the appropriate scaling factor); which means that control-rate junctions are not often required.
    • Modulate Parameter: The "Modulate Parameter" list lets you select the effects parameter that you want to be modulated by the specified control-rate unit!

    Junctions

    Audio-rate / Control-rate

    Junction units are what you use whenever you need to add or combine together the output from two or more units in the system. They are added from the Units drop list below the Chain display. They are shown in grey in the network and have no interface of their own.

    There are two types:

    • Junction: Audio-rate junctions for Tone Generators and FX (and available only in Synth networks). Use these when you need to add-together outputs from two or more audio-rate units. They display in the top "audio-rate" line of the network
    • Ctrl-Junction: Control-rate junctions for Controllers (available in both Synth and FX networks). Use these when you need to add-together outputs two or more control-rate units. They display in the bottom "control-rate" line in the network

    When a junction unit is selected in the top "Chain" display area, a "Connector + Unit" section displayes at the bottom of the Network Editor screen and which lets you change junction inputs.

    Main Controls

    Connector + Unit & Scale: These only show if your currently selected unit is a audio-rate [audio] junction ("Junction") or a control-rate junction ("Ctrl-Junction").

    • Connector: The "Connector" list shows you a count of all the effects unit inputs that are fed-in to your junction. The numbers in the list are just always numbered automatically from 1 upwards.
    • Unit: The "Unit" list lets you select the effects unit (which must be a unit at the same rate as the junction!) that is to be added together to help create the output of the junction. Change the entry here to be the unit number of the unit that you want to add with other unit outputs.
    • Add: Press the "Add" button to add a new entry to your "Input" list.
    • Delete: Press the "Delete" button to remove the currently selected Input list item.
    • Scale: The "Scale" slider lets you fine-tune a scaling factor between 0 and 2, by which the output value of your "input" unit is multiplied, before being added together with the other unit values that are feeding this junction. This allows you to carefully adjust the level fed-in by a particular unit. Note that if more than one control-rate unit feeds a specific parameter on a target unit, they will get added together automatically (including the appropriate controller scaling factor); which means that control-rate junctions are not often required.

    Synth Tutorial 1

    Sine Waves

    Sine Wave

    Introducing sound synthesis

    The ISE incorporates a very powerful and flexible software synthesizer. The ISE and its pop-up plugin editors are a new audio application suite, that supports editing of effect plugin settings. The features and flexibility of the ISE are such that, to make the best use of them you will find that a little understanding of the basics of sound synthesis will go a long way.

    If you haven't delved too deeply into programming synthesizers before now, or if you fancy a quick refresher course, then this tutorial is for you. We will not be getting heavy with the physics and number crunching side of things here. We'll keep it practical and, hopefully useful. Let's go.

    The naming of things

    We have to start by establishing the meanings of the terms we will be using from here on in. Creating sound is all about finding new and interesting ways to shove air around. Here is an idealized illustration of what that might look like using a single pure tone.

    Using this graphic we can identify some basic units and concepts in sound generation.

    The waveform

    The waveform is the wiggly line, obviously! This one is a sine wave.

    A cycle

    The area between the vertical blue lines in the graphic is a single cycle of this wave. In this instance it starts at zero, rises to the highest point, drop back down to zero, continues to the lowest point and rises up to zero again. You can start a cycle at any point of the waveform. It doesn't have to start from zero. The main thing to remember is, if you choose any arbitrary point on the waveform to start from, when you reach that point again, so long as you are traveling in the same direction as you were when you left it, you have completed a single cycle.

    If you start the waveform at some other point that the one shown here (say, from the highest point on the graph) you have changed the phase of the waveform. It doesn't make it sound any different if you listen to the tone on its own but there are good reasons for being able to change the phase of a wave if you wish. We'll get to them soon.

    Frequency

    Describes the number of cycles in each second. It is measured in Hertz (Hz), one hertz being one cycle per second. If the frequency is in our hearing range we perceive it as the pitch of a note. The human hearing range falls roughly between 20Hz at the low end and about 20,000 Hz at the upper end. If you can hear much higher than that then your owner needs to get you a dog licence. Human ears aren't very good at detecting pitch at the extremes of our hearing range but can be incredibly acute in the midranges.

    Amplitude

    Describes the range of upward and downward movement the waveform makes. We hear it as volume. Large amplitude values mean loud audio signals. Small ones mean quiet ones. If you reduce the amplitude of a wave you are said to attenuate it, if you increase it you are amplifying the signal. These amounts are typically measured in decibels (dB) which are a total pain to work with, mostly because they work to a negative logarithmic scale where minus infinity is the quietest point and zero is the point of optimal loudness. So we'll move quickly past.

    In a wholly analogue system, like a Stratocaster plus a Marshall stack, amplifying a sound beyond that optimal point gives the desirable sort of distortion sound that has been putting food on guitarists' tables for years. No such luck with a digital system. In the digital world you cannot take the amplitude of a waveform beyond 0 dB. If you try, the wave looks like it hit a brick wall and sounds ghastly!

    We mention this because putting sound into an amplifier is only one way of increasing its amplitude. Adding another sound source also increases the amplitude of the sound we hear. Which is why a full string section is louder that a solo violin.

    In sound synthesis it is not uncommon to use several sound sources to create a single sound. The ISE has a built in limiter that manages sound levels internally for you to keep things out of the clipping zone. However, you will need to take some care of levels yourself if you want the best possible sound quality. A limiter working hard is often quite audible which might not be an effect you want to hear!

    Zero crossing

    If you think about it, moving air around systematically involves both pushing it and pulling it blowing and sucking. This is reflected in the graphic in that there is a line drawn through the centre of the waveform. Amplitudes above the line have a positive value, those below have a negative one. In the jargon, audio signals are usually bipolar.

    The point at which a waveform has an amplitude of zero is particularly important in sampling, something we will cover later. But the location of the zero crossing line has a significance in synthesis also.

    For convenience, we show the zero line in the graphic as bisecting the waveform so there are equal amounts of waveform both above and below the line. Things don't always have to be this way and there are ways for us to move this line up or down. To do so, in the jargon once again, we apply a DC offset to the waveform.

    As moving this line up or down will make no appreciable difference to the sound of the tone, why worry about it? If an audio signal is what you want, in truth it is not worth bothering with. But, if you want to use a waveform for something other than audio, like using one waveshape to control the parameters of a second then it can be very important. As we might find out later!

    And that's about as much as we need to know about the components of a waveform. But there are a couple of other things we need to touch on to help understand how to synthesize sounds.

    Fundamentals, harmonics and the rest.

    If you play a note on any tuned musical instrument you will hear an astonishing complexity of sound. But, despite that complexity you will (hopefully) perceive a pitch. That's the fundamental. In all sounds that we perceive as pitched there is one frequency that stands out from all the other noises in there and this is the one the ear uses as the pitch reference. A piano, violin and oboe sound totally different to each other but, if they all play note A4 you will hear three distinctive sounds all having a common fundamental frequency of 440 Hz or thereabouts.

    If you listen more closely to the sound of a single instrument playing a single note, once you get past hearing the fundamental you will hear a range of other tones. Some of these work in a musical way and sound rather like chordal notes related to the fundamental. Others have a more uneasy relationship to the fundamental or are completely atonal.

    The musical ones are harmonics. They sound musical because they have a very precise mathematical relationship with the fundamental frequency. The frequency of the harmonics are always a whole number (integer) ratio of the fundamental frequency.

    Just to confuse matters slightly, the fundamental is also called the first harmonic. So, a tone with a fundamental frequency of 100Hz will have the second harmonic at 200Hz (an octave), the third at 300Hz (octave plus a fifth), the fourth at 400Hz (two octaves) and so on to the limits of our hearing.

    The other sounds that you can hear are called aharmonics. These are frequencies that have a non integer ratio to the fundamental. When there are a lot of these present we tend to perceive the sound as clangorous or bell like.

    If these three elements were all present in a sound in similar proportions we wouldn't hear a musical note at all. We would hear noise. So, to make musical sounds we need to find some way of establishing a balance between the fundamental, the harmonics and the aharmonics for any given frequency. And that's what synthesis is all about.

    There are three major routes to doing this. One is that we can start off with basic sounds that are very rich in harmonics and then use a filter to reduce or remove the ones we don't want. Oddly enough, that is called subtractive synthesis.

    We can also do the exact opposite. We can take very simple tones and add them together to create complex sound. Additive synthesis, surprisingly hard to do well.

    The third route is a kind of middle way between these two. If the properties of one waveform can be used to vary those of another at audio frequencies, new and complex waveforms can be generated. You could call this synthesis by modulation. The most common methods used are amplitude modulation and frequency modulation.

    In reality we mix and match, using elements from all three main routes as we need them.

    Blocking it out

    The components of most synthesizers can be categorized into four broad groups.

    The first group could be called sources. These are the devices that produce the raw sound you will work with. The ISE allows you to use samples as sources as well as including some very well featured tone generators.

    The next group we can call modifiers. Included here would be envelopes that shape the sound over time and filters that remove or emphasize certain frequencies.

    The third group are modulators. They apply regular, repeated change over time to specific sound parameters. The most common of these is the low frequency oscillator, the LFO.

    Finally there are the effectors. These are signal processing devices, reverberation modules, delays and so on. Usually they act at the end of the synthesis chain.

    It is usual to define the output from modifiers and modulators as control signals; being as their usual job is to control the parameters of other devices in the synthesis chain. In the days of monster analogue modular synths it was considered sensible to use different coloured patch cords for control signals to distinguish them from audio and other signals. When using the ISE it is also important to distinguish control signals from the audio path. We'll explain why in a moment.

    For now, let's have a look at the first three device types in turn.

    The right wave for the right job

    Any self-respecting synthesizer will have a tone generator offering several basic waveforms as a starting point for sound creation. Why? What distinguishes one waveform from another? The answer lies in the harmonics on offer. So lets just quickly run through the more common waveforms and see what distinguishes one from the other.

    Sine wave

    Is a pure tone. It has no harmonics at all so there is not much point in applying a filter to one. Nothing to filter! This purity of tone make it very good for adding low end definition or kick to a bass sound. It is also good for additive synthesis where you don't want harmonics unless you put them there yourself. Put three or four of these waves together for an instant electronic organ type of sound.

    Sawtooth wave

    Is the most harmonically rich waveform in the box. Characteristically bright and buzzy. The starting point for thousands of classic synth sounds. A sawtooth wave has every harmonic present (theoretically) but their amplitude decreases from that of the fundamental by 1/the harmonic number. So the second harmonic is ½ as loud as the fundamental, the third harmonic is 1/3 as loud as the fundamental and so on until you hearing fails.

    Triangle wave

    Really just a sine wave straightened out. It doesn't have many harmonics and those that are present are quite high up. So, if you want hard and aggressive sounds this is not the wave to choose. Nice for flute sounds and soft leads though.

    Square wave

    A bit complex this one. A graph of a true square wave looks rather like a child's drawing of castle battlements. Square wave is a shorthand way of saying "pulse wave that spends as much time at the highest point as it does at the lowest". In this form it has a sound that is usually described as "hollow". The reason is that every second harmonic is missing, there are only odd numbered harmonics present.

    But this absence of even harmonics only holds true if the time between "high" and "low" in the cycle are the same. If the wave spends half of its time at the top the ratio between the high points and the low points of the waveform is 1:2 and, as we already know, every second harmonic is missing. If we change this ratio to 1:3 (i.e. the wave spends 33.3% of its time at the top) some of the missing harmonics return. We now only loose every third harmonic instead. If the ratio was 1:4 (25%) we would only loose every fourth harmonic. And so on.

    If there was a way of shifting this ratio in real-time we would be able to hear these harmonics coming and going. We could call it pulse width modulation and use it to recreate classic synth string sounds, all kinds of shimmery pad like sounds and some unforgettable bass tones. Sounds like a plan!

    Combination waves

    Unsurprisingly, combination waves can have the characteristics of most of the above. The ISE includes one waveform that can be "morphed" from triangle to sawtooth to pulse wave. If you've followed us this far you should have realised that this gives you the option of tailoring the harmonic content of the waveform quite closely; a very powerful option indeed. Similarly, being able to change the shape of a wave in real-time can open the door to a whole new bag of sonic tricks. Pulse width modulation on steroids!

    Envelopes

    Envelopes give us a way of shaping a sound in time. Every synthesizer will always have at least one to control the amplitude of a signal. More sophisticated synthesizers will have several envelope generators which can be assigned to control other important parameters.

    Envelopes are usually "one-shot" devices. An event triggers their start and, once underway, they transmit values that correspond to the envelope shape until they are done. They then do nothing until they are triggered again. Amplitude envelopes are usually triggered by the equivalent of a note being pressed on a keyboard.

    Envelopes can be described by the stages they go through. The ISE amplitude envelope is a multi-stage envelope, having separate stages for Attack (how quickly the envelope moves from zero to maximum), Hold (how long it stays at the final attack level), Decay (how quickly the level falls to the..), Sustain (the lowest possible level during a note event) and Release (how long the sound will take to fall to zero from wherever it was when the note event stopped). There is a set of stages associated with when the note stops.

    The control signals sent by the envelope unit in the ISE can be bipolar; i.e. the control signal value can be positive or negative. This has got some implications if you want to combine control signals from more than one device.

    Say you want to combine the output from an envelope and a LFO to create a LFO that fades up or down. As these could both be bipolar signals, shoving them into an adding unit (a simple mixer) won't work as you expect. Adding a minus value to a positive one is subtraction by another name so doing this will result in periodic signal cancellations and other unexpected behaviour.

    If you recall your basic grade maths, you'll remember that a negative (minus) value multiplied by a positive always gives a negative result. So, if you want to combine bipolar control signals, use a negative scaling factor on one or more of your control-rate junction input scale factors!

    Filters

    Amongst some synth nerds, filters can acquire a mythical status, becoming objects to be worshipped or argued about into the small hours. This is rather off-putting for the rest of us and obscures the fact that, from a users point of view, they are actually rather simple devices.

    There are only four things you need to know about a filter; its shape, its slope, its cutoff point and whether it is resonant.

    The shape is usually what gives the filter its name. So it is a safe bet that a low pass filter will allow low frequencies through and exclude higher ones. Similarly, a high pass filter will do the opposite. A band pass will allow through frequencies that fall into a certain range and a band reject will allow everything through except frequencies in the defined range. Nothing mysterious about that.

    The cutoff point is the frequency at which the filter will start to do its stuff. So a low pass with a cutoff point of 600Hz will start to attenuate anything over 600Hz but leave all the lower frequencies alone.

    The slope of a filter simply determines how sharp the attenuation will be. It is sometimes expressed in dB per octave and sometimes in "poles". The famous Moog filter had a 4 pole slope which equates to a reduction of 24dB per octave. If the earlier example of a 600Hz lowpass cutoff was a 4 pole type it would mean that, by the time we got to frequencies of 1200 Hz they would be attenuated by 24dB compared to the ones at 600Hz. This is quite a steep reduction and would leave very little audible signal by the time we got beyond 1500Hz. Something more gentle, like a 2 pole slope would only attenuate frequencies by 12dB per octave. So you would hear more of the higher harmonics.

    Filter resonance (sometimes called Q for reasons that don't matter) is also pretty straightforward. All this does is emphasize the frequencies around the cutoff point. It is a kind of feedback loop. The higher the Q the more pronounced are the sounds at the cutoff frequency. On some old analogue synths you could crank this up so high that the only thing you could hear was the cutoff frequency so the filter would start to behave like an oscillator. This was called self-resonance. It is not so easy to do in a digital system.

    And that's filters really. If they were fix and forget devices they would be little more than glorified tone controls. But, if we can use envelopes or LFO's to change the cutoff frequency or resonance in a dynamic way, then they are the heart of a subtractive synthesis system. Hence all the attention they get.

    Modulators Part 1 Slow and gentle

    We've made passing reference to it before but it is now time to get into some detail about modulation. It is a huge topic because there are so many possibilities. The skillful use of modulation techniques is probably the single most important factor in getting dynamic, expressive, musical sounds out of a synthesizer.

    We'll start with a definition. In synthesis, modulation is the process of using one signal to apply regular, usually cyclical change to one or more parameters of a second signal. Lets look at a simple practical example.

    A violinist often gives expression to a piece by adding vibrato. When he or she waggles their finger on the fretboard the net result is that they are making small regular changes to the fundamental frequency of the note they are currently playing. We can do exactly the same thing with our instruments.

    To create vibrato on a synthesized voice we simply apply small regular, cyclical changes to the oscillator frequency. We do that by routing the output of one, low frequency (i.e. slow) oscillator to the frequency controls of the main, audio oscillator.

    The change this will make depends upon the properties of the signal sent from the low frequency oscillator (LFO). And, when we use a LFO as a controller of other parameters, some things that are not important to the sound of a waveform become very relevant indeed.

    There are five aspects to a LFO waveform that are important to consider; the actual shape of the wave, its frequency and amplitude, its phase and its DC offset.

    Frequency and amplitude are quite easy to come to terms with. The higher the frequency of the LFO the more changes per second will be made. Amplitude is an interesting one. In our violin example, sending a 100% amplitude sine wave from the LFO to the tone generator frequency control would not give us vibrato. It would give us the sonic equivalent of seasickness. You use the amplitude controls of an LFO to determine how much change is to be applied. For vibrato, very small amplitudes around 3% will do fine.

    It is useful to be able to visualise the wave shape of an LFO. If we are generating a sawtooth wave at audio frequencies then the direction of the sloping part of the wave is irrelevant to the sound. A wave that has a slope to the left sounds the same as one with a slope to the right. However, if we want to use an LFO to make gradual change to one parameter, then fall down to the beginning and start again, we would not want to use a waveform with a left facing slope. Visualise it!

    Phase and DC offset are related to some degree. Lets consider phase first.

    In the vibrato example, for the main oscillator to remain in tune we need the LFO to start from the zero crossing point. If it started at any other place it would automatically add something to the main oscillator and cause it to sound out of tune.

    There might be other occasions when we want the effect that comes with starting the LFO at somewhere other than zero. In those circumstances we would adjust the phase to suit our purpose. Again, the best advice is to try to visualise what you want to achieve, then program it accordingly.

    Finally there is the DC offset for the LFO. To go back to our violinist (for the last time, honest!) a vibrato effect that shifts the fundamental pitch up and down by equal amounts is not very natural sounding. It actually sounds far more realistic if we push the frequency in one predominant direction. The way to do this with an LFO is to shift the DC offset.

    Think about it like this. The LFO is sending numerical values out to be added to the frequency of the main oscillator. As a bipolar signal with no DC offset, half of these values will be positive and half will be negative. Changing the DC offset will shift this balance. If we only want the vibrato to work up from the fundamental we would need to shift the zero crossing point right down so that the LFO sent out only positive values.

    This can be hard to visualise just by applying a numerical offset value so the ISE makes it very easy by giving you an option to set the ratio between positive and negative values transmitted by the LFO using two sliders. Nice!

    There is a catch to doing this though. If you change the DC offset it will obviously have a non-zero value. Less obviously, if you sent this DC offset LFO to the pitch control of another oscillator you will automatically add the DC offset value to it, taking the oscillator out of tune! So, if you are shifting DC offsets in this way you need to retune the destination oscillator to compensate.

    Exactly the same principles apply when using LFO to modulate parameters other than oscillator frequency. We've mentioned how the harmonics present in a pulse wave change depending upon the pulse width ratio. If you route a slow LFO to modulate the width of a pulse wave type oscillator you get a rich shimmering sort of sound as harmonics come and go that has been the basis for synth string patches since forever. It also gives some astonishing bass sounds in the lower registers. Pulse width modulation was actually hardwired into the infamous Moog Taurus bass pedals so beloved by `70's prog-rockers.

    Incidentally, if you are using an LFO to modulate pulse width you will need to attend to its amplitude. Too much modulation and you can get to the stage where there are no harmonics at all - not even the first one! Silence is not always golden.

    Modulation by slow, sub-audio oscillators is not too difficult to get to grips with. But there is no rule that says that modulators always have to be inaudible. However, what happens when you crank the modulator signal up into the audio range can get pretty wild. One option is to use a device called a Ring Modulator.

    With this device you simply take two sound sources and plug 'em into it. In effect what happens after that is that the first audio signal gets spliced with other signal at the frequency of that second signal. What you end up with is a new signal that consists of the sum and the difference of the two incoming signals. Which is OK if the two are pure sine waves. But if they have harmonics attached...:)

    At low modulator speeds a ring modulator just chops up the sound in quite an obvious way. This was how they made the Daleks speak! But at high modulator speeds you can get all manner of crazy, unpredictable effects, especially if the modulator frequency is either fixed or changes in a way not related to the carrier. If you want one of those "car crash in a steel foundry" moments (and who doesn't) head for the ring modulator.

    As we are talking about high speed modulation it is probably worth mentioning something that isn't going to work in the way you might think. At this point we need to get a bit technical about the workings of the ISE. Remember what we said about distinguishing control signals from audio signals? Here's why you need to do it.

    The ISE is a digital synth (obviously!) so everything going on under the hood has to have a sample rate to work to. In order to save resources for the things that matter, the ISE gives absolute priority to rendering the audio signal at a reasonable sample rate, typically 22Khz on a modest PC. To save CPU time, all control signals are rendered at a very low sample rate. The default rate is 100Hz..

    In most circumstances, this low sample rate isn't an issue. You don't need to hear the actual output of an LFO or envelope unit so there is no point in rendering it at CD quality when we can do better things with the resources available. However, it does mean that you can't just stick the output of one tone generator into the frequency control input of another because the (incoming) modulating signal will be interpreted as being a control signal and so will be capped at the control signal sample rate frequency.

    Going granular

    Granular synthesis is a relative newcomer as a synthesis method, mainly because the tools and processing power needed to do it easily haven't been readily available until recent times. As powerful computers tended to be in academic institutions it gathered a reputation for being "something for the boffins". While the underlying maths might be the stuff of nightmares, the concept of granular synthesis is dead easy. Here goes.

    If you take a very small section out of a waveform ( a few milliseconds at most), add an similarly small section of silence and loop play the result at audio frequencies you get an entirely new, and rather complex waveform. The audio content of this waveform will be determined by several different things; the size and content of the original mini sample (the grain), the length of the silence, the nature of the boundary between the two (is it abrupt or does it fade and by how much?) and the playback speed.

    If you think about it, this is not a million miles away in principle from good old amplitude modulation. But then we take it to another level!

    If you move away from using a single grain to using multiple grains, all with different frequencies, or if we modulate the grain size and/or the grain end crossfades it all gets very strange. You very soon start to generate mutated, wholly original sounds that are not easy to achieve by other means. Which is what the buzz about granular synthesis is all about.

    Now we wouldn't be telling you all this if there wasn't a way to do it with the ISE. One of the modules available is a "particle generator" and mainstream this is not! What this module does is generate up to twenty little bits of simple waveforms which are then used as the grains in creating a more complex overall sound. You control a range of the more useful and interesting parameters, most of which can be modulated by other the ISE modules.

    What comes out of the business end of this module is not always predictable. It is very easy to get it to generate complex, untuned warbling or twinkling sounds. With a little more effort you can make some breathtaking, animated, tuned soft lead sounds. As it is hard to describe the indescribable the best way to learn about this little beastie is simply to play with it. Think about it as a hands on introduction to chaos theory!

    A quick word about hybrid synthesis

    The use of "real world" sounds instead of tone generators as the starting point for sound synthesis is hardly a new concept. But it wasn't until the 1980's and the development of affordable digital recording technology that the full potential of this could begin to be realised. The ability to process and manipulate recorded sounds using the familiar shaping and modulating tools is a form of hybrid synthesis.

    The simplest implementation of this can be seen in most samplers which basically slap a subtractive synthesis engine onto a digital sample playback device. You can do this with the ISE, no problem. And we will. Later.

    But that is more than enough background for this tutorial. We can now take this knowledge forward with us and explore the ISE in more practical terms by starting to build our own instruments within the ISE.

    Synth Tutorial 2

    Working with the ISE Modular Synthesizer

    Try launching the ISE. This is the place where you activate and program the ISE ... and where MIDI sound creation for the Intermorphic Sound System (ISS) gets very interesting!

    Note that the audio plugin framework that underpins the ISE is an open framework, and has been designed to allow 3rd party developers to create application UIs into which they can plug in their own or other 3rd party sound processing modules, including support for the Intermorphic modules if so required.

    When you start using the ISE for a MIDI line, what you have is an independent, non-midi, polyphonic synthesizer The sound generation limitations of MIDI pretty much go out of the window.

    The ISE is no lightweight. It has a degree of flexibility that is comparable to the old, monster modular synths. It includes some features that are seldom seen, even on very expensive, "famous name" hardware synths. Inevitably, something so well featured and flexible isn't able to hide its complexity too well so there will be a bit of a learning curve to negotiate if you are going to be able to harness this power in a creative way. This tutorial aims to help you up along that curve.

    We won't be creating full pieces of music in this tutorial; instead, we'll concentrate on programming sounds using the ISE.

    The Path

    To get the best from any synthesizer you really need to have some understanding of the path the various signals take inside it. If you have had some experience of hardware synths you will probably be used to imagining a left to right signal path, with the sound generating oscillators at left hand side and the sound output stage at the far right. The ISE signal path pretty much follows this convention...

    It is here, in the Synth Network Editor, that we design the sound for the selected MIDI line. As you add synth units to your sound design, they appear as boxes in the bottom part of the dialog. We sometimes refer to these units as "slots"; you can have as many "slots" as you want, where you insert the various modules and units that, together, will make your synthesizer module. The sound you eventually hear will come only from the audio-rate unit in the rightmost slot. So, if you were to construct the simplest of synthesizers, using one tone generator and a LFO, you would have to put the tone generator in a slot somewhere to the right of the LFO. Put them the other way round and, if it was fast enough, all you would hear would be the LFO!

    With the proviso that the sound comes out of the right most unit, the signal-flow is pretty strict in terms of left-right ordering. Signals from one module can only ever be passed to modules that are to the right of it in the design. In practice you must put control-rate units (your controllers and shapers, such as envelopes and LFOs) sound BEFORE the sound generating modules (i.e. before your tone generators). So, if you want to use an envelope to control the output from a LFO, you'll have to put the envelope to the left of the LFO. This does of course help you keep a handle on what your signal path is doing. With practice, you won't be confused.

    Control signals are different.

    Says it all really.

    The ISE makes an important distinction between audio signals and control signals. Here's how it works.

    Most signals in the system are "audio-rate" signals; they are rendered at whatever sample rate the platform is running at, for example 22Khz.

    The only signals that can be used to modulate parameters of a synth unit (e.g. to amplitude or wave shape) are control-rate signals, that must come from a control-rate unit. To save CPU resources for the things that matter, control signals are rendered at a very low sample rate; typically 100Hz. So, if you try to modulate a parameters between units at audio frequencies the best you are going to get is 100Hz. This is not going to be good enough for specialised applications such as FM synthesis!

    The reason that we do this, is that it saves a lot of CPU horsepower; to render subsonic waveforms at near CD quality would be pretty pointless. You don't want or need to hear the direct output of an envelope unit or a slow LFO.

    On tuning

    A fixed architecture synthesizer with limited flexibility can hide a lot of things from the end user. Because the ISE has been designed for flexibility it is up to you to take care of some of the details to make sure that the results you get are the results you expect. This is particularly the case when making sure your MIDI line is in tune with the others in a piece.

    The thing that is most likely to catch you out is when you use a LFO to modulate the frequency of a tone generator. If you use the LFO with most of its settings at the default there will not be a problem. However, if you adjust the min or max value sliders you will have a tuning problem that will need correction. Why?

    If you recall in the synthesis tutorial, we said that changing these values was the same as applying a DC offset to the LFO wave, i.e. the zero crossing line has a non-zero value! So, if you route a LFO that has been shifted in this way to the frequency of another oscillator you are, in effect sending two values. One is the LFO amplitude, which will change over time and the other is the DC offset which is a constant. This DC offset will have to be allowed for by adjusting the pitch of the sound generating oscillator to get it back into tune.

    So, if you have an out of tune MIDI line, check what is modulating the frequency!

    Polyphony - a word about resources

    All soft synths are serious processor hogs. A lot of effort has gone into minimising the hit that the ISE will make on your processor but you can't cheat physics. Making complex sounds in realtime means doing hard sums very fast and there will be a limit to the strain your CPU can take.

    Note: The polyphony a synth will play with the Polyphony ("Poly") setting in the Network Editor. Note: This setting does not display in FX Networks which have no concept of polyphony.

    Tips

    • If your piece can use built-in wavetable (e.g. for basic drum sounds), or custom audio samples, then consider using them where possible rather than the modular synth. Remember that sample-based drum sounds can be very effective.
    • Very importantly, use a polyphony value that is as small as your piece can get away with!
    • If you wish any FX to apply to all Cells in a Track, to save processing cycles put them in Track FX (see the Network Editor) rather than directly in your synth module design.
    • Be economical with units. Think about ways in which you can maybe use one unit more than once in a voice.

    Finally, a word about polyphony. With the ISE, each MIDI line can become an independent, polyphonic synthesizer.

    But rather than always thinking of the ISE as a polyphonic synthesizer, you can think also think about it as a synthesizer that can have multiple instances of a Synth Network. If you set the "Poly" parameter to 2 or more, what the ISE does is create the corresponding number of identical synth networks that can operate simultaneously, one for each possible note. So, setting your "Poly" parameter high is an excellent way to use up your processor resources - which you will want to try to conserve. Use it with care.

    OK, enough of the preliminaries. Lets get on with making some sounds. The terminology and concepts we will be using will assume you are up to speed!

    Simple subtractive synthesis

    This is how to set up the ISE as a simple two oscillator synth in the classic style. We'll go through this in some detail because, once you have got the principles of the ISE established, working in more adventurous ways gets much, much easier.

    Firstly, we need to create a piece. From Wotja create an new mix (Menu > New) and from the popup Template list Seed (Pak) > Ambient. You will then have a mix or piece that will play long notes. Save this piece as "MyTest".

    Launch the Synth Network Editor and set the poly to be 1 or more. Once you set a tone generator in your synth module design, this will then override any MIDI patch settings that your piece is using.

    So: we need to design the module that our MIDI line will use. As we are going to make a classic kind of synth we will need two tone generators, a filter and an envelope to control it.

    Add the following by tapping on a blank area in the Synth Network: Unit 1 - "Ctrl-Envelope", Unit 2 - "TG Oscillator"; Unit 3 - "TG Oscillator"; Unit 4 - "Filter".

    Using an Audio-rate Junction

    Hold on - the filter is only fed from the output from the unit immediately before it; and what we really want is to feed the filter with the combined outputs from units 2 and 3! To do this, we need to route the two tone generators into the filter unit. How we do that is fundamental to getting the ISE to work for you!

    Tap/hold Unit 4 (the Filter) and press the "Add Before" button and then select a "Junction"; your Filter is now moved to become unit 5! When the Junction Unit is selected, in the bottom Connector & Controllers area tap the Add button twice. Make sure that the first input item of the two inputs you've just added comes from Unit 2 (the first tone generator), and make sure that the second of the two inputs comes from Unit 3 (the second tone generator). You can set relative scaling factors for the two input units by playing with the scaling factors.

    Here is the text that we get if we now press the "Export" button on the synth module editor window (we could subsequently reimport this if we need to by highlighting the text, copying it and pressing the "Import" button):

    <fxm>
    <unit t="c/envelope" r="c"/> 
    <unit t="tg/osc"/>
    <unit t="tg/osc"/> 
    <unit t="j" i="2,1.;3,1."/> 
    <unit t="filter"/>
    </fxm>

    The audio-rate junction you've just added takes the the signals from the two tone generators, and adds them together. The output from your audio-rate junction automatically feeds the filter unit to its right.

    OK, that's the network built. Now lets fine-tune our settings.

    Tap unit 2 to display the Oscillator Unit. There is a list control where you can select the wave shape for this tone generator. We want a saw wave. The direction of the slope isn't relevant. Close unit 2, then tap unit 3 to display the second Oscillator Unit.

    Select a sawtooth wave for the second tone generator. Please make sure its direction is the same as its twin in unit 2 or else they will cancel each other out and you won't hear much! :)

    To make a big sound, set one of the tone generators to work an octave lower than the other. You can do this with the one in Unit 2 by setting the Octave offset to 1.

    Once you've done all that, tap unit 5 (the filter) to open the Filter Unit. Set the filter type to "low pass" and adjust the cutoff frequency and Q (resonance) to taste. The filter will automatically sweep unless you tell it otherwise.

    Here's what the exported module now looks like:

    <fxm> <unit t="c/envelope" r="c"/> <unit t="tg/osc"p="1280=2;1287=1;1030=1;1031=1;1026=0;1033=0;1034=0;1028=400000;1281=1.;1282=0.;1283=50.;1284=50.;1285=50.;1288=-1.;1289=1.;1035=0.;1040=0;1042=10;1044=10;1046=50;1048=10;1050=0;1052=400;1054=100;1056=50;1058=0;"/><unit t="tg/osc"p="1280=2;1287=1;1030=1;1031=1;1026=0;1033=0;1034=0;1028=400000;1281=1.;1282=0.;1283=50.;1284=50.;1285=50.;1288=-1.;1289=1.;1035=0.;1040=0;1042=10;1044=10;1046=50;1048=10;1050=0;1052=400;1054=100;1056=50;1058=0;"/><unit t="j" i="2,1.;3,1."/> <unit t="filter"/></fxm> 

    Next, lets use the control-rate envelope (unit 1) to modulate the frequency of our first tone generator (unit 2). Select unit 2, and and in the bottom "Connectors & Controllers" area add a controller by pressing the "Add" button. Set the source Unit to be unit 1 (our envelope), and set the Param(eter) to be Frequency. Your envelope will now be modulating the frequency of your LFO! Use the Scale slider to adjust the amount of modulation. Select unit 1 if you want to modify the shape of your envelope.

    Note that the envelope editor display might look a bit complex to start with, but it it's not really. It can be used to send out negative as well as positive values (it is bipolar!).

    For example, you might want an envelope shape that rises slowly to a maximum, falls down to a low level rather slowly and tails off to nothing once the note has ended. So you could set the attack time to around 5 seconds, the decay time to just less than 4, a very low sustain level and a release time of half a second.

    Once you have an envelope shape you like it is then just a matter of playing around with things until you get the exact sound you want. Note that you can also use control-rate LFOs to modulate parameters; and many units have a large range of parameters that you can experiment with modulating.

    Anyways, back to our example: you should hear a more familiar, if rather overused, sound. If you go back to one of the tone generators and tweak the "Micro Offset" value a bit you will find that fattens up the sound nicely.

    For a final touch you might want to add some reverb. This is best done by using it as a global effect for the entire piece because you might have several voices that you want to treat similarly.

    If you close the Synth Network Editor you'll be back to the main application window. Press the "Global FX" button to open the FX Network Editor. This looks and works just like the Synth Network Editor you saw before, but this is now being used to edit global FX for the entire piece. Make sure to add an FX of type "reverb", and change the settings in the unit to get the sound you want. Then, close the Unit.

    And there we have it. One classic, filter swept pad in the traditional subtractive style. Easy!

    Now we have a sound that works it is a good idea to save it for use in other pieces. As noted above, you can export & import data directly via the clipboard and a text editor at various levels of the tool; this makes copying sounds around from piece-to-piece very easy.

    If we export the settings from the Synth Network Editor the text should look something like this (depending on exactly what you did!). We need this by the way for our next tutorial step.

    <fxm><unit t="c/envelope" r="c"/><unit t="tg/osc" p="1280=2;1287=1;1030=1;1031=1;1026=0;1033=0;1034=0;1028=400000;1281=1.;1282=0.;1283=50.;1284=50.;1285=50.;1288=-1.;1289=1.;1035=0.;1040=0;1042=10;1044=10;1046=50;1048=10;1050=0;1052=400;1054=100;1056=50;1058=0;" c="1#1029,.058"/><unit t="tg/osc" p="1280=2;1287=1;1030=1;1031=1;1026=0;1033=0;1034=0;1028=400000;1281=1.;1282=0.;1283=50.;1284=50.;1285=50.;1288=-1.;1289=1.;1035=0.;1040=0;1042=10;1044=10;1046=50;1048=10;1050=0;1052=400;1054=100;1056=50;1058=0;"/><unit t="j" i="2,1.;3,1."/><unit t="filter"/></fxm>

    Waveshaping

    This sounds similar in some ways to Voice 1. But this time, instead of using a filter module to remove harmonics and animate the sound we will use an envelope to change the waveform shape over the duration of each note.

    If you recall some of the things we covered in the previous tutorial you will realise that changing the waveshape will change the harmonic content of the sound. And, if we get it right, we'll end up with something that sounds like a traditional filter sweep without the CPU hit that the filter involves. So, really, we are almost using additive methods to make this sound. And it is more economical. Great!

    Go back your piece above and open it.

    Select the filter unit and press the Delete button to remove it. The last unit is now the audio-rate juntion unit, which just adds the two tone generators together.

    Open up the Editors for the two tone generators. Change the wave type for each of them to STS. You'll notice that you get some interesting control sliders for this wave type.

    Here is the synth module definition at this stage:

    <fxm><unit t="c/envelope" r="c"/><unit t="tg/osc" p="1280=5;1283=41.;1284=32.;1285=36.;1048=10" c="1#1029,.058"/><unit t="tg/osc" p="1280=5;1283=44.;1284=57.;1285=59.;1048=10"/><unit t="j" i="2,1.;3,1."/></fxm>

    It may not sound that interesting so far, but the STS wave is one of the quietly outstanding features of the ISE. If you couple that with modulation, and keep going, you will see why. The three parameters, controlling the up/down ratio, squareness and slope give you the capacity to morph a waveshape.

    It might be a good idea to set up a simple voice just using this waveshape in a single tone generator and play around with the sliders to get the feel for what you can do with this. Basically, if you set the up/down to 100%, squareness to zero and right/left% to either 100% or zero you will hear a sawtooth wave. If you now move the right/left slider towards the centre you will hear the sound mellow until, at 50%, you get a triangle wave. Now move the squareness slider and you hear the sound harden again as the wave become more pulse like. We already know that changing the up/down ratio of a square wave (the duty cycle) will change the harmonic character in other ways. Check it out!

    So, by varying these three parameters in different ways in real time you can generate some excellent harmonic changes without resorting to a filter. Lets do it!

    We don't need to change the current Envelope settings, but you can play with this if you like. But we do want to route the envelope controller (unit 1) to the appropriate destination!

    In the bottom Connectors & Controllers area, for both units 2 and 3, add a controller from unit 1. Ensure that this new controller is used to modulate the Up/Down Ratio parameter. Now do this again, adding new controllers, but this time to use unit 1 to also modulate the Squareness Ratio. Then do this again for the Slant ratio!!

    As this is the "suck it and see" school of synthesis, the next bit is down to you and your ears. Hit play and adjust the settings levels on these parameters, the envelop and the scale factors)until you get a sound you like. You'll find that if you overdo the levels you can flatten the waveshape out and lose the sound altogether.

    Here is the synth module definition at this stage (it is worth a listen):

    <fxm><unit t="c/envelope" r="c" p="1042=0;1044=0;1046=4168"/><unit t="tg/osc" p="1280=5;1283=31.;1284=57.;1285=31.;1048=10" c="1#1029,.016;1#1293,.457;1#1290,1.679;1#1294,-1.251"/><unit t="tg/osc" p="1280=5;1028=5900;1283=28.;1284=41.;1285=35.;1048=10" c="1#1293,.661;1#1294,.533;1#1290,.771"/><unit t="j" i="2,1.;3,1."/></fxm>

    It shouldn't take you too long to find settings that sound like the filter sweep we created in the first example. If you check this sound with the one from the first example with a Filter Unit you'll find that this approach actually gives you a greater range of harmonics than using a simple filter. The sound will tend to be richer and brighter, sitting up in the mix more perhaps.

    Gentle Ring Modulation

    We can use the ring modulator mode of the "osc" unit to give some quite pleasant quality tones that are very similar to those you get from basic amplitude modulation. The key is to make sure that both the tone generators track the pitch of the composed notes.

    A ring modulator has to have two inputs for you to hear anything. If you just load up the ring modulator on its own you'll hear nothing. The ISE oscillator use the internal oscillator as one permanent input. All you need to do is route another source into the ring modulator and off you go.

    Change one of your modules such that it is one "osc" unit followed by another "osc" unit. Be sure to check the "ring-modulate?" checkbox on the second unit; verify that the "Use MIDI Notes?" checkbox is also checked.

    If you play with the various oscillator parameters you'll discover that the harmonic content of the sound generated depends mostly on how far apart the two tones being modulated are.

    Ring Modulated weirdness

    Go back to your Ring Modulating unit. Uncheck the "Use MIDI notes".

    What you get is a weird, metallic noise! The quality of the noise will depend upon the relationship between the frequency coming in from the tone generator and that of the oscillator in the ring modulator. Adjust this frequency until you get a cleaner, bell like tone. It should be somewhere around 700 Hz.

    If you want things to get dafter, add a control-rate LFO "(c/lfo") to modulate the ring modulator's oscillator frequency. Try this. Add a control-rate lfo ("c/lfo") as the first unit. Set the wave type of this LFO to Random and the type to Step. Set the frequency to 2 Hz. Now add this unit as a modulator controller of the ring modulator frequency. Hit play! :)

    What you should be getting now is weird, randomized electronic chime noises that change every half second. Strange, isn't it?

    You can use SF2 samples as the source as well as another ISE module so you can do ring mod sound warping to your own samples in realtime. And who wouldn't want to do that?

    Particles. Making ring modulation look ordinary

    Now if you thought ring modulated noises were strange, check out this option. As an alternative to a comprehensive tone generator module, the ISE includes the Particle generator.

    The concept is based on granular synthesis. This module generates little wavelets of sound punctuated by little sections of silence. With careful control of the comprehensive set of parameters on offer you can generate the most unworldly sounds.

    A little alert before we start. This module does a lot of maths! Don't overuse it in a piece or there won't be much processor time left for anything else.

    We'll use it to create an Sci-fi movie background music sort of thing.

    Open the "MyTest" mix/piece you created above, and delete the Synth Network you made. Add a Particle Unit as your only unit for MIDI line 1. And that's it! :)

    Well, not really. The difficulty now is that this all gets very subjective and rather hard to write about. You just need to hit play and then adjust the many parameters on offer in the Particle module until you get a sound you like. So instead lets just check out the key variables.

    The harmonic parameter is one of the most influential factors on the end sound. Low values will keep the base frequency of wavelets close to each other. Larger values will mean much greater differences between individual wavelets and a much wider harmonic range to the sound.

    Frequency velocity is like a mini pitch envelope applied to each wavelet. Small values give nice detunes and sweeps. Larger values can cause queasiness!

    The attack, sustain and decay parameters are like a mini amplitude envelope for each wavelet. Small values make each wavelet distinct and audible. Larger values will cause a smearing and blending of the sounds which is not unpleasant.

    Pause governs the time between each wavelet.

    The "Number of Elements" value sets the number of wavelets to be generated. Set this lower and reduce the processor hit for this module.

    You will hopefully have noticed that every parameter can be modulated by another unit, so there is plenty of scope to sculpt some quite unique and complex pieces with this little baby!

    This is just one kind of the strange little things you can get out of it (it is worth a listen):

    <fxm><unit t="tg/particle" p="1280=1046;1281=.297;1282=.175;1283=.379;1284=0.;1285=.033;1286=0.;1287=.181;1291=9"/></fxm>

    DSynth - The Drum Synthesizer

    This one is a little bit different because, with this beast, you can achieve so much. So some explanation is in order first.

    To make decent percussive sounds using a modular synthesizer takes quite a few modules, most of which would be rather over specified for the task to hand. Such an approach would waste a lot of computational resources. So we took a different path.

    The drum synth module incorporates just the tools you need to create a huge range of tuned and untuned percussive sounds with no waste. It looks a bit complex at first sight because it packs a lot into a small area of screen but once you get the hang of it you'll love it.

    The module incorporates three tone generators – two generate sine waves, one generates coloured noise. The noise generator has a multi-type resonant filter. Each tone generator has its own simple attack/decay envelope that controls the amplitude. This envelope can also be routed to control pitch in the case of the sine wave generators and the filter cutoff frequency for the noise generator.

    The output of the three generators is added together so you control the mix between them using the envelope level parameter. A word of warning – this module has been designed to kick - it goes loud.

    One sine wave generator is designated the master and can be set to any frequency from the low 40’s to about 900 Hz. The other sine wave generator slaves to this frequency, i.e. its setting is a ratio of the frequency of the first one. We do this mostly to save CPU resources (the slave oscillator’s maths are slightly less taxing)

    One thing worth noting is that the two sine wave generators can cross-modulate the other’s frequency. What’s the point of this?

    Well, using the output of one sine wave generator to modulate the frequency of the other will give some metallic-like tones. It is called frequency modulation synthesis. Exactly how metallic will depend upon the difference between the frequencies of the two generators and on the depth of the modulation.

    If you then take that modulated output and make a loop so it modulates the frequency of the first tone generator (modulate the modulator as it were!) then the results can get even more harsh and chaotic. At high modulation depths this is just what you need to start to create struck metal percussive effects. Lower depth values will dirty up drum sounds for you rather nicely.

    You can force this module to track composed note values. There are loads of possible uses of this feature. The obvious one is to get several percussion instruments for the price of one. If you want to set up an alternating high/low cowbell figure simply load up the relevant preset, enable note tracking on this module and set up a pitched fixed voice type or something similar to take care of the tuning. You can also create a whole battery of tuned percussive instruments; marimbas, bells by using this option.

    Enjoy!

    And that just about concludes this quick jaunt through the practical application of the ISE. We've really just scratched the surface but hopefully you have collected enough pointers from this and the previous tutorial to make your own way from here.

    Glossary

    Tone Generator (TG) Unit : A unit that knows how to generate sound in response to MIDI note events. These are the Wavetable, DSynth, Oscillator and Particle units. You can have as many TG Units in your design as you want, subject to the processing power of your target platform.

    FX Unit : An audio processing stage which can be used to perform a variety of exciting things. You can have as many FX Units in your design as you want, subject to the processing power of your target platform.

    Synth / FX Network: A grouping of all units used by a particular Synth or FX (Global FX or Track FX). Think of it in terms of a row of audio-rate units that work from left-to-right.

    Audio-Rate Unit : An unit that works at the normal audio processing rate of the system, e.g. Wavetable Unit.

    Control-Rate (Ctrl) Unit : A unit that works at a lower rate than the normal audio processing units and is used to control parameters on other units. These are the Ctrl-LFO, Ctrl-Envelope and Ctrl-Amp units.

    LFO: Low Frequency Oscillator. The Ctr-LFO Unit can be used to control other effects unit parameters such as filter cutoff frequency or perform pitch modulation. The audio-rate LFO (Osc) can be used as a direct frequency generator, or to apply Ring Modulation effects if run at a low enough frequency.

    Envelope: A Control-Rate Unit that creates a waveform in direct response to a note on MIDI event; used to modulate various critical parameters within audio-rate or control-rate Units. For example, envelopes are used to shape the volume of a note when it is triggered, and can also be used for all sorts of neat effects such as modulating the pitch of a note while it plays.

    FAQ - Wotja

    See also the General Questions FAQ.

    General comment: The Intermorphic Sound Engine (ISE) Sound Units (Wavetable, Tone, DSynth, Particle) run in stereo. In earlier iterations of our sound engine these units ran in mono, even though the FX Units worked in stereo. Running the Sound Units in stereo does place a higher load on the processor, however, it greatly improves the sounds that the ISE can generate so it was an essential change we had to make.

    If you are getting performance issues then it is highly likely it is because the processor in your device is simply trying to do more that it can handle. In the majority of cases it most likely one of 2 things:

    • Your mix is simultaneously playing too many templates or the templates are too complex (the mix is too complex overall, therefore)
        See 2, 3 below
    • Your mix is using too many FX (Cell, Track or Global)
      • It is not currently possible to change these in Wotja X, so instead reduce the number of templates you are using (see above)

    However, before we look at any of those, there are some general things to check / note first when it comes to conserving processor cycles so that the app can use the maximum processor power available.

    First:

    • Use latest OS version: Ensure your device is using the latest OS update available for it.
    • Power cycle your device: This just ensures there is nothing running you don't expect to be running. Tip: Even if no other app is running, this can sometimes solve problems that seem to have no obvious cause.
    • Other running apps: Although OS are good at managing app usage these days, it might well be worth closing all other running apps.
    • Inter-App Audio / Audiobus (if relevant; see also step 1 below): Use of these takes up processing cycles, so try working without these on (at least until you have found an approach that works for you).
    • AirPlay, WiFi, Bluetooth, Cellular data (as relevant): Use of these takes up processing cycles, so try turning these off. Why not try temporarily putting your device into Airplane mode?
    • Don't run Wotja X backgrounded (mobile): There are less processor cycles available to the app when backgrounded.
    • Cable connection to computer (mobile): If your device syncs, that, too, can use processor cycles, so try using it without a computer connection (but charging it from a USB charging point is fine).

    Try these (in order):

    1. Audiobus/Inter-App Audio [IAA]/AUM etc. [iOS apps]: For Wotja for iOS to work with such apps it requires that you MUST have set in those apps the Buffer Size to be 1024 samples or Latency Control to 1024 frames (different apps refer to the same thing in different ways). With any setting other than that you will get a lot of glitches and noises.
    2. Airplay/BlueTooth/Chromecast/Media Streaming: All these use processing power to stream the audio, so if you are having performance issues please first ensure they are off.
    3. Templates/Content/Tracks: To make the new templates sound really great they take advantage of the stereo sound unit capability (above) in the ISE. Some templates feature synth (and generator) networks are really quite complex, too, meaning they will use more processor cycles. The processor useage therefore greatly depends on the templates/content being used which means that some of the demo mixes will take up more processor cycles than others. Also, how you configure the ISE can also play a part.
      • Templates: Either use fewer templates/tracks in a piece (for Automatic albums see Settings > Random and in the General/Mix section set Tracks to 1 or 2) so there is less sound to generate (in some of the Demo pieces use 3 merged templates but even that can be too much on some devices!), use less complex sound generators (such as templates that have a sound network primarily based on Wavetable units), or look to remove some FX units that are used in a template (you can do this via the ISE Network Editor). Alternatively just turn off the ISE (that is covered in step 7, below).
      • Solution 2 - Note Stealing: When the IME generates a lot of overlapping notes and the ISE is generating the sound then unless the ISE Polyphony setting is sufficient to cover all the notes that may be playing at the same time you can get an effect called "note stealing". This means a newly composed note will play in preference to the a previously generated note, on a First in First Out (FIFO) principle. The last note is instantly "dropped" meaning it can cause a click, especially if you are using FX. See the Polyphony setting in the ISE Network Editor.
    4. Track and Global FX: Our current templates are generally sonically richer than earlier templates (such as those from Noatikl 2 and Mixtikl 6 and earlier) and most use a reverb and other FX in the template itself. If you have a lot of Voices in your piece, then a lot of FX units can be in play at the same time.
      • Solution: If using these new templates in a (merged) piece, try removing FX from the templates themselves (e.g. reverb, as that is a heavy hitter), and then add it back as a Global FX. Example: Copy one template's FX network to the the clipboard (ISE Network Editor > bottom right Action button > Export to clipboard) and then pasting it into the Global FX (ISE FX Network Editor > bottom right Action button > Import from clipboard) and then remove the FX from each Voice's FX Network. This may change how the piece sounds quite a bit, so may require some experimentation.
    5. Merging pieces: Because of the Wotja 4+ template richness (above), you do not need many when creating a piece.
      • Solution: Try merging no more than 3 templates. This should still give you PLENTY of goodness to play with.
    6. Use some older content, too: Because of the Wotja 4+ template richness (above), you do not need many when creating a new piece. However, we still include the older Noatikl templates which in general has less of a processing hit, so you might want to try sprinkling some of those in (they are in the IM1 and IM2 Paks).
    7. Try to isolate the issue: If you have got this far down the list and are still getting issues, such as ocasional clicks, glitches or pops etc., then it may be that the issue is coming from your piece and it might be worth seeing it you can isolate the problem. That means gradually removing IME Voices and ISE Sound Networks from your piece / mix until the problem goes. Then you can work back up again.
      • Optional - MIDI Out: If you are STILL getting audio issues then it may well be worth trying to play the IME MIDI note streams via external/3rd Party synths (using MIDI Out) and seeing if the issues then go... If they do go, then it is likely the issue is something related to the ISE...
      • You can also trying turning OFF the toggle "Use ISE for Sounds & FX" in the Settings > Mix screen and then using MIDI to drive external synths (but don't forget to turn it on again if you want to use sounds interal to Wotja, including using SoundFonts in the Wavetable Unit!).
    8. Your Device....: We put this at the very of this list because we know only too well that money does not grow on trees and powerful desktop/mobile devices are very expensive. :( But, the device you are using is also a factor to keep in mind. How our app sounds is very important and, to keep moving forwards, we have to to take advantage of new capabilities and device power - we do this very carefully though. Unfortunately, sound generation and sound processing is a heavy hitter, and, moving to stereo sound units (see ISE comment, above) is just something we had to do...
      • Solution: If your funds allow, it might be worth at some point checking out a more powerful device.

    See also the FAQ above.

    Audiobus/Inter-App Audio [IAA]/AUM etc. [iOS apps]: For Wotja for iOS to work with such apps it requires that you MUST have set in those apps the Buffer Size to be 1024 samples or Latency Control to 1024 frames (different apps refer to the same thing in different ways). With any setting other than that you will get a lot of glitches and noises.

    Wotja now supports saving to videos (both 'Wotja A' and 'Wotja X' versions; iOS/macOS only) because they are easy to share on virtually every social media platform.

    It is very easy to create a video recording using Wotja. The following assumes you have already created and saved a mix file you want to record and share. NB: We recommend using iCloud.

    Creating the Video

    • Create: Open your mix, go to the Mixdown & Recordings screen and select the Video segment; press the bottom Record button (Mix Mode > Action > Mixdown & Recordings > Video segment > Record button).
      • Tip: You can use the 'Record Bars' slide to set the number of bars you want to record for. The slider text will also indicate how long your recording will be.
      • Tip: If you want to share your Cut-Up, too, first export it to the Clipboard from the Cut-up screen.

    Saving the Video

    • Saving: The video recording that is made is either saved to to the Wotja iCloud folder (if you are using iCloud, recommended) or to the local file system on your device (on iOS this is in the Wotja app sandbox folder. See 'iOS: iCloud NOT used' below). NB: It can also be transferred off the device using iTunes App File Sharing.

    Sharing the Video

    • Tip: Don't forget to paste in your Cut-up text from clipboard!
    • iOS, iCloud - general case: Simply load the Files app, find your recording in the Wotja iCloud folder, tap it to select it, tap the bottom Action button and in the pop up Action sheet select the app you want to share it with (e.g. Facebook, Messages, Instagram, Mail, WhatsApp, Messenger etc). Twitter is a special case, see below.
    • macOS, iCloud - general case: Tap the recording's cog icon and select "Show in Finder". Share the recording as you would normally share any recording on Mac.
    • iOS, iCloud - Twitter app: The Twitter app is a bit special as it can only see files in the Camera Roll. To get your video into that: Go the the Files app; Locate your video in the Wotja folder (which is synched with the Wotja iCloud folder if you are using iCloud); Select the video and tap the bottom Action button; Select "Save Video" (this saves it to the Camera Roll folder). Start a new tweet then add the video (you will see it in your Camera Roll below the tweet).
    • iOS, iCloud NOT used: When you don't use iCloud, video recordings are saved to the Wotja "sandbox". To share your video recording you first need to copy it from there to the Files app from where it can be shared. Tap the recording's Cog Icon, select "Open With" and in the pop-up Action sheet select "Save to Files" which copies it to a Wotja folder that can be accessed by the Files app.

    In the Documents screen, tap on the Document/File name and from the pop up select "Delete". Once it has deleted you might need to press the top Action button and select "Refresh" (this refreshes the screen).

    • We have found that loopMIDI is an easy to use virtual loopback MIDI cable. If you cannot seem to get MIDI Out working with your laptop Windows MIDI drivers, then give this a try!
    • Once you have installed it you may well need to restart Wotja and/or your DAW. Then, in Wotja > Settings > Mix tab select MIDI Out > Devices and ensure that loopMIDI is selected.
    • If you need a Network MIDI driver for Windows you might also wish to check out rptMIDI.

    Intermorphic apps that directly support save to/load from Apple iCloud and Apple iCloud Drive folders:

    • Wotja 4+ (iOS/macOS)
    • Noatikl 3.0+ (iOS), Noatikl 3.1+ (macOS)
    • Liptikl 2.0+ (iOS), Liptikl 2.0+ (macOS)
    • Mixtikl 7.0+ (iOS)
    • Wotja 3.2+ (iOS)
    iCloud Drive Folder:

    The iCloud Drive folder on macOS is found here:

    • ~/iCloud Drive/Wotja/
    • ~/iCloud Drive/Noatikl/
    • ~/iCloud Drive/Mixtikl/
    • ~/iCloud Drive/Liptikl/
    Why use iCloud / iCloud Drive?

    We strongly recommend using iCloud / iCloud Drive wherever you can.

    There are five main reasons for that:

    1. Backups: Files kept in iCloud are always backed up.
    2. File Synchronisation: Lets you easily create and edit on any device. For example, on an iOS device you create a file on device 1 and then edit it further on device 2, and then on macOS work on that file in the desktop version of that app, and vice versa.
    3. File Organisation: You can move files around on iOS with the iCloud Drive app or on desktop PC with Finder.
    4. Single copies of Zip files (Wotja 4+ only): If you Zip up additional content that you want your Wotja file to reference (e.g. SF2, WAV or OGG files) and you put that Zip File in the Wotja iCloud folder then you only need one copy of it (rather than a copy in the Intermorphic Folder of very device you use).
    5. Simplicity: You don't need to understand the intricacies of the "Wotja Folder" or "Intermorphic Folder" or Local Device folder.
    iCloud Drive Subfolders:

    Our iOS apps support "flat" folders meaning they will display all files under the root folder, including files in any subfolders.

    Tip: If you want to limit what files are displayed in the iOS app, you need to move the files you don't want to see out of the main app folder, perhaps into a "Archived" folder under iCloud Drive.

    Apple iCloud Drive FAQ:

    See: iCloud Drive FAQ

    How to display iCloud Drive on your iOS device home screen:

    See: Help using iCloud Drive

    Why can't I see the relevant app folder in my Mac's iCloud Drive folder or in the iCloud Drive on icloud.com?

    Tip: Even if you have Wotja for iOS installed on your device, to see the Wotja iCloud folder on Mac, we strongly suggest installing either Wotja for macOS.

    If you have just installed one of our iCloud Drive supporting apps for the first time, then it seems it can take a while for the iCloud Drive synching to happen and for the folders/files to appear on your Mac. We know not why.... but a couple of suggestions to try are:

    • Sign-in to your iCloud web account (icloud.com) and from the home page select the iCloud Drive icon when you will then be able to see all your iCloud Drive folders. It seems that doing this may cause the relevant app folder to appear soon on the Mac.
    • It may be that the relevent folder is not showing in the above iCloud Drive folder, in which case we have found that if you connect your device to iTunes on your Mac and then perform an iTunes "Sync" for that device, it seems the folders/files then appear straight away under your Mac's iCloud Drive folder and in icloud.com.

    There should be *no reason at all* that you need to delete the Wotja iCloud folder and we strongly recommend that you DO NOT delete it. By all means delete any files in that folder, but just not the folder. The folder itself will take up no storage space.

    If, however, you do delete that folder then what you can do to get it back again is as follows:

    Go to Settings > iCloud and find the iCloud Drive toggle. Turn it off, then turn it on again. Then, return to Wotja X and create a new file and the Wotja iCloud folder will be created and the file added to it (you must of course be using iCloud in Wotja X as follows, 1) Settings > iCloud > Wotja X toggled on and 2) Settings > Wotja X > Use iCloud toggled on).

    Apple’s page on this is here: https://support.apple.com/en-gb/HT207689

    They say "When you turn off an iCloud feature on a device, information stored only in iCloud for that feature is no longer available on the device."

    You can use your own generative Noatikl files (.noatikl) [created in Wotja, Noatikl or Mixtikl] as templates in Wotja X and these can also be used for mix randomisation. It can all be done on an iOS device, too.

    You can either use them ad hoq (i.e. if you just have a few) or have them appear as a Pak if you would prefer that. Both are noted below. Those zipped as Paks show up in the Settings > Random > Templates for Randomisation screen.

    You will need to be using iCloud, and have a Wotja iCloud Drive folder, or be using the Intermorphic Folder (e.g. Windows/Android) for your files.

    A) How to use your own Templates 'ad hoq'

    Wotja will display any Noatikl files that are in the Wotja iCloud / Intermorphic folder in the 'Saved Files' Pak, shown at the top left in the Templates screen. You can either copy existing Noatikl files there, or you can export a Noatikl file from a Content Cell (Mix Mode > Toolbox > Export to File). See also this FAQ.

    B) How to use your own Templates in a zip

    • Create a number of generative templates (each is a .noatikl file exported from a content cell - Mix Mode > Toolbox icon > Export as File.)
    • Get an iOS app that allows you, on device, to create a zip file and copy it into Wotja X. NB: For below we used the free "iZip - Zip Unzip Unrar Tool" from in the App Store.
    • In this app what you do is:
      • Go to Document Browser option which accesses iCloud Drive, and the find the Wotja folder.
      • Select one of the template files above that you have created; this is then copied across to the app (only one at a time unfortunately).
      • Once you have copied all the templates you want into the app then go to the app's "Files" option and you will see an import folder (you can remove what you don't want in here).
      • Then select the bottom "Zip" option and give your zip a name (e.g. testpak.zip).
      • Select the created zip (e.g. testpak.zip) and then the bottom "Share" option and select "Copy to Wotja X" from the pop up action sheet.
      • If you go into the Settings > Random > Templates for Randomisation screen you will see this pak at the bottom and you can toggle it/its content items as you want.
    • Use the templates in Wotja X (you may/may not need to restart it for the pak to be picked up)!

    C) How to configure templates to be used as TTM templates (text to music)

    One of the benefits of using TTM type templates is that they make it really ease to create new seed melodies. There are a lot of Randomisation options related to how you want those to work, too, and those parameters reward experimentation. See: TTM Voice Type.

    Also, when creating random mixes, there are some specialist settings that apply to them, too. See: Settings > Random and in the General/Mix section refer to the TTM Cells/Column and TTM Words settings.

    Remember that TTM templates are full fat .noatikl files set up just to make melodies so they can use any sounds/fx etc. you want, and use Following Voices, Chording etc. - you can make them as complex as you want!

    For any .noatikl file template you want to be used as TTM template then first of all ensure the following:

  • Voice Basics:
    • Set Voice Type to Pattern
  • Text to Music:
    • Set Text to something other than empty
    • Set Enabled? to on.
    • Set whatever you want for the other properties
  • Then, either:

    • Preface them with TTM (must be capitals, e.g.TTM-fred.noatikl) or;
    • Use TTM in the zip pak name if all templates in it are to be treated as TTM templates (e.g. TTM-mypak.zip)

    When you copy this zip into Wotja, as above, they will be treated as TTM templates. One fun extra thing there is that every time a TTM template is randomly added to a mix the text in the TTM field will be randomised, too, meaning a new seed melody each time.

    Yes, but...

    Wotja X only supports use of audio files in properly formatted Paks of templates. This allows such loops to be pitch-shifted/time stretched when added to a mix, in accordance with mix root and tempo. Note that audio Paks do not appear in the Settings > Random > Templates for Randomisation screen as they are not supported content for use in randomisation.

    However, there is a workaround that is not officially supported and may be prone to crashes etc. but it may work fine for you. It involves simply zipping up your audio files and then placing that zip where Wotja can find it (we strongly recommend using the iCloud folder - see this FAQ entry).

    It is also a workflow that can be done entirely on mobile device if required, in which case you will need to be using iCloud and have a Wotja iCloud Drive folder and your audio files will need to be located in some iCloud folder so they can be located to be zipped.

    The instructions below are specific to iOS, but are similar if using a desktop computer.

    Creating a zip file on device:

    • Get an iOS app that allows you, on device, to create a zip file. NB: For below we used the free "iZip - Zip Unzip Unrar Tool" from in the App Store.
    • In this app what you do is:
      • Go to Document Browser option which accesses iCloud Drive, and the find the folder that contains your audio files.
      • Select one files above; this is then copied across to the app (only one at a time unfortunately).
      • Once you have copied all the audio files you want into the app then go to the app's "Files" option and you will see an import folder (you can remove what you don't want in here).
      • Then select the bottom "Zip" option and give your zip a name (e.g. mywavs.zip).
      • Select the created zip (e.g. mywavs.zip) and then the bottom "Share" option and select "Copy to Wotja X" from the pop up action sheet.
    • You may or may not need to restart Wotja X for the zip to be picked up; as audio files are large you might need to wait a while before iCloud syncs it in any event!

    More on zip files, what they can contain, and limitations

    Zip Files (.zip):
    • A zip file can include media such as .sf2, .wav, .ogg or .midi files
    • Wotja can access Zip Files only from its iCloud folder (recommmended for mobile and desktop versions) or Wotja folder (alternative option for desktop versions).
    • iOS tip: The only way on-device to get a zip file into Wotja so that it can be used by Wotja is to copy the zip file already in an iCloud folder into the Wotja folder as follows:
      • From the iOS iCloud Drive app, find and tap the zip file.
      • Select the bottom toolbar Action button and in the Action sheet popup select the option to either "Open in Wotja" or "Copy to Wotja".
      • Select either and the zip file is saved to your Wotja iCloud folder and will be ready to use in Wotja once you see a "Zip file mounted" message.
    • iOS Safari tip: When downloading a zip file in Mobile Safari from a web link you will see in the Action sheet popup an option to either "Open in Wotja" or "Copy to Wotja" (this assumes you have Wotja for iOS installed). Select either and the zip file is saved to your Wotja iCloud folder and will be ready to use in Wotja once you see a "Zip file mounted" message.
    • Important note on use of audio files in zips: Although you can put WAV/Ogg files in a zip and use them in a mix by selecting them from the Templates screen it is not a supported behaviour and it may be prone to crashes etc. If you wish to use audio files in Wotja we STRONGLY suggest instead creating and using a zipped Pak where they can be corrected pitch-shifted and time stretched when added to a mix.
      • In a simple zip Wotja treats audio files as sample loops of which it has no information on pitch, tempo, length etc. meaning those loops are used "as is" - they are not pitch-shifted to suit Mix root (as they would be when in a Pak, as well as they would be time-stretched to fit the mix tempo).
      • Even though not used in a Pak, if you subsequently change the mix tempo then any such audio files used in a mix will be time stretched in some fashion. This DOES take time, so only add them to a mix that has the correct tempo to suit them.
      • Wotja provides no support for streaming audio files from the file system and all audio files are treated as "samples" meaning they are first loaded into memory before they can be used. This may be OK for small foley effects or shortish loops, but that is up to you and your device.

    Note: If content in your exported file uses a custom Wavetable/SF2 that is also in your iCloud Drive folder then for the file to play correctly when opened in Noatikl 3 you need to have that custom Wavetable/SF2 available in the Intermorphic Folder (See here). If this does not work you will need to recreate the association to the custom Wavetable/SF2.

    Saving/Exporting the contents of a Wotja Content Cell as a Noatikl file

    1. In the Wotja Mix screen, select the Content Cell you want to export.
    2. Tap the Toolbox icon and select "Export to File" or "Export to Clipboard". In the case of the former you will see a pop-up dialog where you name this file before it is saved.
    3. A saved .noatikl file is shown in the Wotja Documents/Files screen and it will have an IME (blue) icon bottom right indicating it is a Noatikl file that can be used as a template.
    4. In the Templates screen you can see and select this under Saved Files. The file will have a .noatikl extension.
    5. If you are using iCloud then on your Desktop PC you will be able to see and access this file from the Wotja iCloud Drive folder (See here) and then use it in Desktop Noatikl 3 or even Mixtikl 7 (if you have either).

    Saving/Exporting a Wotja template as a Noatikl file (from an album)

    1. In the Wotja X Playlist, add a Template to the album.
    2. Tap Mix Overide cog next to that item in the album and select "Export Item to File" or "Export to Clipboard". In the case of the former you will see a pop-up dialog where you name this file before it is saved.
    3. A saved .noatikl file is shown in the Wotja Documents/Files screen and it will have an IME (blue) icon bottom right indicating it is a Noatikl file that can be used as a template.
    4. In the Templates screen you can see and select this under Saved Files. The file will have a .noatikl extension.
    5. If you are using iCloud then on your Desktop PC you will be able to see and access this file from the Wotja iCloud Drive folder (See here) and then use it in Desktop Noatikl 3 or even Mixtikl 7 (if you have either).

    Saving a Wotja mix as a Mixtikl file

    1. Go to the Wotja Mix screen.
    2. Tap the Toolbox icon and select "Export Mix (legacy format)". You will see a pop-up dialog where you name this file before the .mixtikl file is saved.
    3. A saved .mixtikl file is shown in the Wotja Documents/Files screen and it will display a Mixtikl icon.
    4. If you are using iCloud then on your Desktop PC you will be able to see and access this file from the Wotja iCloud Drive folder (See here) and then use it in Mixtikl 7 (if you have that).

    Things to check...

    • It almost goes without saying, but don't forget to press play!
    • Make sure your system volume is turned-up, and any speakers are turned on.
    • If your templates use ambient voices, they can sometimes take a while to start playing (See: Ambient Voice Type).
    • When creating a new mix or randomising a mix make sure you have not deselected all Paks or content otherwise nothing will be added to a mix. Likewise, make sure the General/Mix section of Randomization settings all have sensible values i.e. TTM is NOT set to 0 if Cells are 1, Generative % NOT set to 0, Blank Cell % NOT set to 100, Volume Min/Max NOT set to 0 etc. (See: Randomization Settings).

    If none of the above work and you are still stumped...

    Get in touch via our support form and include your mix. To do that, from the Mix Override button to the right of the mix select "Export Item to File". Open the .wotja file in a Text Editor, copy out all the text and then paste that into the support form. We will see if we can figure it out for you!

    Wotja X for iOS is Audiobus / Inter-App Audio enabled which means you can send an audio stream out through that and then record it with another suitable 3rd party app that supports Audiobus / Inter-App Audio and recording.

    Audiobus / Inter-App Audio support is enabled by default and we make no charge for its use*.

    Inter-App Audio

    Please refer to the Apple website for information on how to use Inter-App Audio (and iOS 7+ system provided capability) with GarageBand. There are many other IAA enabled apps, such as Multitrck DAW and Thumbjam.

    Audiobus

    Please refer to the Audiobus website for instructions on how to use Audiobus.

    *To use Audiobus you will also beed to install the Audiobus app for iPhone, iPad and iPod touch This is a 3rd party paid-for app.

    Requirements:

    • Inter-app Audio supporting Intermorphic iOS app: e.g. Mixtikl 6+, Noatikl 2.5+, Tiklbox 1.4+, Wotja 1.4+
    • GarageBand 2+ for iOS
    • iMovie 2+ for iOS
    • iPad, iPhone, iPod touch

    1) First record the Intermorphic app (as an Inter-App Audio instrument) in GarageBand. Please refer to this Apple Product Support doc for information on how to use Inter-App Audio with GarageBand: http://support.apple.com/kb/HT6038.

    2) Then follow the instructions in Apple Product Support doc here: http://support.apple.com/en-gb/HT6040.

    Note: What may not be 100% clear is that the Action button they refer to in step 2 is the top left "Share" button; and, on iPhone you cannot see the "Open in" option on the pop up screen unless you scroll that screen down. Once you have done that, everything else is straightforward!

    We try as hard as we can to make our apps stable. To that end we now include in our apps either HockeyApp or Crashlytics. Because of this, rest assured we will have been alerted to it and we will be trying to fix it. This also means our latest versions are likely to be the most stable so we recommend keeping Wotja updated to the latest version, where your device/OS allows.

    Even though we (usually!) get the crash logs, it can also help us track things down if you send us any info about your particular crash, or indeed anything you think is not working right. The crash log files all start with the app name, and have an extension "crash". They can be found here: Where do I find Crash Logs?. They are text files that we can read, and give us useful information in tracking-down a crash and you can send them to us via our Contact Form. Don't forget to tell us what you were doing when you had the crash! Hopefully we will be able to fix the crash in the next update. Thank you!

    Credits

    Intermorphic is Tim Cole & Pete Cole - yes, just two brothers - and we have now been working together in generative music since 1990. However, without the incredible support and interest from so many over the years then we would not be where we are today with our current Apps, Engines and Content. Our thankyou list below is an ever expanding one, in no particular order, and does not include everyone (sorry to those we have missed!). We offer our heartfelt thanks and gratitude to:

    • All our old friends and colleagues from SSEYO days including from the early days Jon Pettigrew, John Wilkinson, Steve Crawshaw & Chandra Modi and including from later days (1996 onwards) Jerry Leach, Paul Blampied, Jerry Swan, Nick Barefoot, Simon Robertson, Kerry-Anna Saia, Natalie Da Gama Rose, John Tenkoni and also including Jesper Bennedbaek, Wenwu Wang etc. from our Tao Group audio days (we are focusing primarily on audio and so there are way too many to list here, but they include all those who went on to work at Antix Labs!)
    • Timothy Didymus and Mark Harrop, longstanding friends, colleagues and artists with incredible talent whose sublime generative music creations have, on the many occasions when times were hard, given us the much needed inspiration to press onwards.
    • All customers, and most especially those who wish to continue with us as we move forward - we love you, thank you!
    • Everyone who made contributions to our forums, has helped others and given feedback or who has blogged, tweeted, facebooked or otherwise written nicely about or shared content they have made with our apps and in so doing helped others to find us - we love you, thank you!
    • Our outstanding beta testers for their testing efforts and everyone who has given feedback, found bugs and helped with suggestions.
    • Early content creators such as David Muddyman, Andrew Garton, Paul Weir and Igor Dvorkin.
    • Finally, a big thanks to Brian Eno for his support and kindness to us in the SSEYO Koan years.

    © 2004-2018 Intermorphic Ltd. All Rights Reserved. Subject to Change. E & OE.