Wotja
Guide 4.8.0 - 23 Jun 17

User Guide

Guide 4.8.0 - 23 Jun 17 |

Wotja - Generative Music, MIDI & Idea Generator

Wotja is a powerful music & idea generator. Whether you need beautiful royalty-free "ambient" music, new ideas for tunes, new word combinations, or an aid to relaxation & sleep, then Wotja is for you!

Users say - "Best generative music app", "best MIDI composition tool in my toolkit", "interesting and cool", "Very nice app!".

Mixing, composing & designing YOUR OWN custom generative music can be creatively rewarding on so many levels. It's like enjoying freshly brewed coffee; there's nothing quite like it.

You don't need to be a musician to enjoy Wotja; as you use it you will gradually find yourself learning to master its power (it's a very deep & unique tool, and you can share what you make, too).

iOS, macOS

Use Wotja to:

  • Create, share & record high quality, royalty-free totally custom generative music such as ambient, drone, relaxation, mindfulness, sleep, soundscape, experimental, EDM
  • Help break composer's block with new ideas for melodies, songs, etc.
  • Help break writer's block with new ideas for lyrics, songs, poems, haiku, stories, copy writing etc.
  • Experiment with generative (MIDI) music composition & sound design
  • Drive other MIDI synths via MIDI Out
  • Playlist mixes
  • Play webpage embedded Wotja URLs (Wotja files, Wotja Box files) created in Wotja for iOS

Note: Capabilities are iOS/macOS version dependent.

Wotja is the future for all our apps

We're a pioneering and double BAFTA award-winning app team that likes to push the envelope. In 1990 we started developing the generative music system that became known as SSEYO Koan. In 2007 that evolved into Noatikl and was followed by other apps such as Mixtikl, Liptikl and Tiklbox.

We're again in transition: In 2017 Wotja has now become our main focus moving forwards and it coopts the best of all our previous work. With just that one branded app to develop and maintain across all supported platforms we're now better able to improve usability and deliver important new capabilities for greater creative possibilities. Wotja is available in both subscription and non-subscription versions.

Wotja for iOS: Already co-opts the best of Noatikl, Mixtikl, Liptikl (and Tiklbox), and more besides, and provides a forward migration path for files created in them.

Wotja for macOS: Presently has a Liptikl-like feature set but also with random mix creation - it will be extended in time.

See these FAQ entries: Liptikl, Noatikl, Mixtikl.

For now, it can be easiest to think of Wotja in the following way:

  • Wotja 4 for iOS: The Wotja authoring system with editors for generative music mixing, composition, sound design and play list creation as well as an editor for cut-up text creation. You don't need to use the generative music side of things to work with cut-up editing. We don't deny that the music side takes time to master but if you are interested in music creativity, too, then it can be very rewarding and well worth the effort to explore and learn.
  • Wotja 4 for macOS: A cut-up text editor that can also create random generative music mixes. For those more interested in the generative music composition / editing side of Wotja, don't worry, we are not losing any of that - Wotja 4 for macOS is a stage of Wotja's evolution and we cannot do everything at once!

Once you've got that distinction it is quick and easy to get results with it!

Getting Started:

Wotja for iOS is a deep app and that is reflected in this detailed User Guide. We will be creating some videos/tutorials in due course - for now, the easiest way to get going is to start out by creating an auto-randomised Music Mix (Files > Create New > Music Mix (automatic)) and explore from there!

Mobile and Desktop Interfaces

As we now develop "mobile first" this Guide goes though the main areas of the Wotja for iOS interface so that you can become familiar with what does.

The "Cut-Up" capability and Player/List Players are similar in both mobile and desktop versions so we will talk about the mobile interface but detail any special differences in the Desktop version (this has the side effect of duplicating the Cut-Up information; sorry).

FREE Operation

We make available, for free, a subscription-enabled version of Wotja (get Wotja now). We do this for many reasons, one of which is to allow free trial. You can easily extend the capabilities of the subscription version via its In App Store. Prior to purchase of a subscription the app has the limitations set out (and it will revert to this behaviour on lapse of a subscription). For the benefits of a subscription model read this FAQ entry.

If you do not want to use in-app subscriptions, then simply purchase the non-subscription version of Wotja. In 2017 this is Wotja Pro 2017 which has PRO tier capability.

iOS:

Wotja for iOS: FREE Operation - Limitations (extend via its In App Store)

  • Mix:
    • Up to 1 minute Music Play Time (a pop up lets you know when your Play Time is up; you can easily restart from that)
    • Save/export cell 1 ONLY
    • MIDI Out/In on channel 1 ONLY
    • No Mixdown recording
  • Cut-Up:
    • Data is NOT saved to file (e.g. Cut-Up, Saved Cut-Ups, Sources, Rules)
    • Text export is limited to 100 characters
    • Manual editing of a cut-up is disabled
    • Syllables in rules can only be used 5 times per hour

macOS:

Wotja for macOS: FREE Operation - Limitations (extend via its In App Store)

  • Cut-Up:
    • Data is NOT saved to file (e.g. Cut-Up, Saved Cut-Ups, Sources, Rules)
    • Text export is limited to 100 characters
    • Manual editing of a cut-up is disabled
    • Syllables in rules can only be used 5 times per hour
  • Random Mix:
    • Up to 3 minutes Music Play Time (a pop up lets you know when your Play Time is up; you can easily restart from that)
    • Save random mix (cell 1 ONLY)

Please let us know if you think anything is wrong or missing!

OK, without further ado let's get started!

Wotja for iOS - UI

Display Tab

UI Elements
Click image for large

See: FREE operation limitations

Wotja 4 for iOS is a Generative Music Creativity System. It includes Generative Music related editors and a Cut-Up Text Editor

For Wotja for iOS, the "UI elements" section is first as it gives you a quick overview of the Wotja for iOS interface so you can see how things fit together. Throughout this section we use screengrabs for the Light UI Theme.

Before we start, it is just worth noting there are 3 core screen sets in Wotja for iOS. Each of these is accessed via a tab on the bottom tab bar in Wotja for iOS (which we will henceforth refer to as just "Wotja").

Note: The Mix tab "Network" panel screen with 4 content cell columns (image used for this section) is the most involved screen of the app which is why we use it here to detail the various UI elements.

Tabs

These tabs provide the access to the 3 main areas in the App:

  • Mix Tab: 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.

    Toolbar View Panel
    The Mix tab features 5 different right hand panel views of data. Each of these provides access to different controls that let you set up much of how your wotja works. These panels are selected via a segment control with 4 buttons located to the right of the top toolbar (two of the panels are accessed by one of the segments). The right hand most button (...) is a toggle control to expand/collapse the number of columns that are displayed.

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

In addition, and so they are accessible throughout the app, we include two other buttons in the bottom tab section:

  • Play/Stop button: Tap to stop or start your the generative mix (if any) in your wotja. Beneath the button is an indicator that shows how long your mix has been playing for.
  • Settings: Takes you to the Settings screen where you can change Mix and Randomisation related settings (including Template selection).
UI Item Description
Menu Bar
TTMFiles

See: FREE operation limitations

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

  • Save & Close: Save the changes you have made to your file and return to the Files 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.
  • Wotja Store: Purchase an IAP to extend the range of cells that can be saved.
  • 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.
  • Show Settings: Quick access to the Randomization Settings.
  • Cancel: Cancel out of the pop-up menu.
Toolbox
Toolbox

See: FREE operation 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.
  • 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 operation limitations

  • Export Wotja File to Email: Export a Wotja for sharing.
  • Import Wotja from Clipboard: Only shown if you have a Wotja on the clipboard.
  • 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 (only shown in Mix tab): Takes you to a screen where you can make mixdown recordings and preview them.
  • Help & More:
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 (blue) 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.
ArrangeCollapse/Expand toggle

Button to collapse or expand the number of columns that are displayed. Wotja supports display of 1 column or 4 column grid.

The benefit of using multiple content cells in the grid view is that you can apply a level of arrangement to your mix, allowing spaces for example via empty cells. Also, this is very useful when using loops and if you want to loop different cells that use the same track FX.

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

Voices Button: This is a shortcut for Voice Editor screen and this is the top left Voices button. You can still tap a Voice and select Edit from the pop-up menu to go to the Voice parameter screen for that voice. See also the Intermorphic Music Engine (IME) section of the guide for details on what the parameters do.

Piece/Mix Button: Provides access to the Piece/Mix parameters such as Mix Tempo and Root and Piece length etc.

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

Toolbar View Panel

See in order:

Load

Load Screen

Wotja Load screen

Once the app is ready it will go into the Files screen, next.

Note: As the app is loading the version number is shown top right of this screen. That can also later be found in Settings.

Files

Files Screen

Files Screen
Click image for large

The Files screen is where you can:

  • Create a new .wotja file or .wotjalist file.
  • Open a file you have previously saved.
  • Delete/duplicate/rename/sort files.
  • Access the Album Player.

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

Tip: When you first start Wotja, you're prompted if you want to use Cloud or Local. If you change your mind, go the iDevice's 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.

Note: You may want to use iCloud rather than local storage (i.e. saving your files to your iOS 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 (this is also handy for the Wotja Safari App Extension for macOS). See the iCloud FAQ.

WOTJA 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 How to Copy To/From your device.

UI Item Description
AlbumAlbum Go to the Album Player.
ActionAction

    Popup Menu:

  • "iCloud Sync": Resynch your iCloud files.
  • "Sort by Name" / "Sort by Date": Sort your files by Name or Date.
  • "Rename": Display a pop up dialog to rename the file.
  • "Wotja Store": Get IAP from the Wotja Store.
  • "Import from Clipboard": Allows you to import a Wotja URL from clipboard. Note: If you want to import a Noatikl file from clipboard, you do that from a content cell and the Toolbox menu.
ActionSettings

Go to Settings screen

ActionEdit

First tap the jiggling file(s) to select the ones that you wish to perform an action on and then:

  • Duplicate: Tap the top left "Duplicate" icon. This will create copies of the selected file(s).
  • Delete: Tap the top left Delete icon, then "Delete Document" from the pop up menu. This will delete the selected file(s).
ActionCreate New

Select "Create New" to see the following popup menu:

  • Music Mix (automatic): Create a new random mix based on the Randomisation Settings without having to go via the Templates List.
  • Music Mix (manual): This will take you to the Templates List.
  • Cut-Up Text: Create a new cut-up without music (you can create a mix later if you want).
  • Play List: This will take you to the List Player.
ThumbnailThumbnail

Saved File: Tap on one of the Saved File document thumbnails to open a previously created file. A file's thumbnail will briefly jiggle when you close the file and return to the Files screen, making it easy to see what file you have just played or edited.

How the thumbnail displays depends on a number of factors:

  • - Is TTM text active?
  • - Does the file use a background 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)?

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

ThumbnailThumbnail

Wotja List: Edited in the List Player, Wotja List files (.wotjalist) are 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.

You can include up to 20 files in a Wotja List.

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.

ThumbnailThumbnail

Wotja Box: Edited in the List Player, Wotja Box files (.wotjabox) are container files that can be 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 (Wotja iOS) or in the Intermorphic Folder (Wotja Mac).

You can include up to 20 files in a Wotja Box.

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 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 bottom toolbar Toolbox icon and selecting "Save as File". Once saved, you can find these files in the Template list under "Saved Files".

Album Files

Album Player Screen

Albums Screen
Click image for large

The Albums screen shows the included Albums. Wotja currently includes:

  • "Calm"
  • "Relax"

Tap on an album to go to the Album Player where you can play it.

List Player

List Player Screen

List Player Screen
Click image for large

See: FREE operation limitations

The List Player is where you can:

  • Create, reorder and play your own playlists (.wotjalist files).
  • Play packaged playlists (.wotjabox files).
  • Edit List Item Override settings for both Wotja List and Wotja Box files (these values are saved to the .wotjalist or .wotjabox file respectively).
UI Item Description
Sleep IndicatorSleep Time

Shows the Wotja Sleep Time (i.e. how much longer Wotja 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).
  • Email as Wotja Box Album: Allows you to export your Wotja List to a Wotja Box file that is then attached to an Email. You might choose to do this to if you wish to share your album.
  • 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).
  • Refresh playlist item (.wotjabox only): This will refresh the selected item 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).
  • Export playlist item to File (.wotjabox only): Allows you to export a file to be saved locally. You might choose to do this to if you wish to edit or re-edit this file.
Play List NamePlaylist Name

The name of the Playlist (Album).

File NameFile Name

The name of the currently selected File.

File Play IndicatorFile Play Time

Shows the Play Time left for the current file.

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 playlist.

Album Thumbnail Album Thumbnail

Tap to add a thumbnail to your playlist. 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.

Edit Edit

Tap to be able to reorder your playlist.

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 to go to the Item Overrides screen.

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 Files Piece 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.

Album Player

Album Player Screen

Album Player screen
Click image for large

The Album Player is a slightly less functional version of the List Player in that it currently does not let you adjust list "Item Overrides" or re-order the album (see the List Player).

If you do want to do that, then you need to Export the Album via the Action button "Save Wotja Box Album to File" and then open that from the Files screen and change the settings there.

Important: Default Play Time is 1 minute. You can extend this via IAP - see Store.

The Album Player is where you can:

  • Play the included albums "Calm" and "Relax".

Templates

Templates Screen

Templates Screen
Click image for large

The Templates screen is where you preview and select templates that you want to base a new piece on (when accessed via Files screen) or where you add a template to the current piece (when accessed via Design view).

This screen can be accessed from:

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.

Tip: We include a number of cool Demo Pieces for you to to check out. Turn off the Random? toggle to see the "Demo Pieces" pak at the bottom of the Paks list.

UI Item Description / Menu Items
Action Back to Files screen.
NewRandom
(Top right menu)
Files Screen
  • "New": Shown with "Random?" toggle off. Lets you choose an individual file to start a mix with.
  • "Random": Shown only with "Random?" toggle on. Create a new mix from a random selection of templates with selection and settings as governed by the values in Random Settings.
Design Screen (Bottom Toolbar > Add)
  • "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.
ActionShow Older?
(Left)
Toggle this on to see older templates that were included in Noatikl 2 and Mixtikl 6.
ActionRandom?
(Right)

Toggle this on to see all the Pak and content toggles and the top "Random" menu option. These toggles give you fine control over what Paks and content can be selected when you select the Random menu item on top right.

Tip: Turn this off to be able to see the "Demo Pieces" Pak at the bottom of the Pak list.

ActionRandom Settings Shown only when Random? toggle is on. Takes you to the Random Settings screen.
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.

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.

Demo Files: Have a listen! Tip: To be able to see this Pak, turn off the "Random?" toggle.

TemplatesTemplates
(right list)

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

Mix - Network Panel

Mix - Network Panel

Network Panel (Mix tab)
Click image for large

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 paramater editors and tap the top Pieces/Mix button 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
Voices buttonVoices button

Tap to go to the Voice Editor screen. See also the Intermorphic Music Engine (IME) section of the guide for details on what the parameters do.

Piece buttonPiece/Mix button

Tap to edit the Piece/Mix parameters such as tempo, root etc.

Pan SliderPiece FX

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

TTMVoice button

Tap on a voice to get a Voice Action pop-up menu below. To Paste a voice (once copied) you must tap an existing voice and then select Paste.

  • Edit: Go to that Voice in the Voices screen where you can edit the generative music parameters for the voice.
  • 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.
Track MuteMIDI 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 - TTM Panel

Mix - TTM Panel

TTM Panel (Mix tab)
Click image for large

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 and emoji.

You can use any text or symbols (including Emoji), and in can be in any language. In general it takes 2 characters to generate a note, but as a special case if only 1-3 characters or emoji are entered then Wotja will still generate a 3-4 note melody.

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 Design > TTM panel > Voice TTM button or via the Voices Tab > Text to Music > Text parameter, this is the screen where you enter your TTM text and emoji.

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 and emoji.

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 - Track Mixer Panel

Mix - Track Mix Panel

Track Mixer Panel (Mix tab)
Click image for large

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 - Voice Mixer Panel

Mix - Voice Mix Panel

Voice Mixer Panel (Mix tab)
Click image for large

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 - Cell Rules Panel

Mix - Cell Rules Panel

Cell Rules Panel (Mix tab)
Click image for large

The right side "Rules" panel is where, amongst other things, you can easily set the parameters that define how a Cell will play.

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

UI Item Description
Cell Rules
Gen Bars

Default: ∞ - The minimum number of bars for which a cell will play generative content. 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.

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.

Gen Bars Range Default: 0 - 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.

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.

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.

Root & Harmony
Root: 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.

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.

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 - Mixdown & Recordings

Mix -Mixdown & Recordings Screen

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

See: FREE operation limitations

The Mixdown & Recordings screen is where you can create mixdown recordings and preview them. You can set the number of bars you want to record (up to 100 bars by default, but extendable via the Max Bars slider control in the mix segment of Settings) and you can make either 48KHz stereo WAV or MIDI mixdown recordings. To kick off a mixdown recording tap the "Record" button in the bottom toolbar.

For audio recordings you can set the Ramp in and Ramp down times (from 0 - 20 seconds) in the Piece/Mix Settings screen.

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

Note: 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.

This screen is accessed from the Mix tab Action menu:

Notes:

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 tab main screen.

Piece buttonTitle

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

EditEdit button

Tap on this to access usual controls that allow you to manage deletions.

Track MuteExport

Tap to present a pop-up action sheet where you can choose where to export your recording to e.g. to iCloud Drive, Dropbox etc.

Audio/MIDI selectorAudio/MIDI selector

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

  • 48Khz Stereo WAV file, or;
  • Type 1 MIDI 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 segment.

Bars selectorRecording

Bars selectorAudio file

Bars selectorMIDI file

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

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.

Voices Screen

Voices Screen

Voices Screen
Click image for large

The Voices screen is where you 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 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.

Voices - Rule Editor

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.

Voices - Pattern Editor

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.

Voices - Envelope Editor

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.

Piece / Mix Screen

Voices Tab

Piece / Mix Screen
Click image for large

The Piece / Mix screen is where you edit all the parameter values for the piece that is in the selected cell AND and the mix level parameters such Tempo, Root, Ramp Up/Down as well as Playlist Duration settings. You get to it by tapping on the Piece/Mix button at the top left of the Network panel.

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

This screen is similar to the Voices Screen, so please refer to the instructions for that.

Important: Other than the Mix Tempo, Mix Root and Ramp Up/Down settings, which apply to the mix and/or PLaylist, and the Playlist Duration/Playlist Duration Range/Playlist Ramp Downjust Playlist specific to Playlists, the other Piece parameter values are per cell values, meaning they can be different for all cells. We do not support Mix level rules that override those in all cells, but it is something we may consider later.

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.

Cut-Up Overview

Words Tab

Cut-Up Tab - Create Screen
Click image for large

See: FREE operation limitations

Wotja 4 for macOS is a Cut-Up Text Editor with Generative Music.

Wotja 4 for iOS is a Generative Music Mixer and Composer with Cut-Up Text Editor

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.

Words Segments

There are 3 main screens for Cut-Up. These are elected by the control at the top:

  • 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.

Display Tab

macOS UI Elements

This section gives you a quick overview of Wotja for macOS interface so you can see how things fit together.

You will notice 3 main panels in the display:

  • Cut-Up - 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.
  • Cut-Up - Create: - Where you create your cut-ups. The created cut-up, locks and associated Rules are saved in your Wotja file.
  • Cut-Up - Saved: - 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 Bar
TTMMenu
  • Wotja:
    • About Wotja: See the version number.
  • File: The usual assortment of file options.
  • View:
    • Show/Hide Toolbar: This is the toolbar featuring the Play, Music buttons.
    • Enter Fullscreen: Only shown for the Cut-Up Editor.
  • Window:
    • Show Wotja Web Player: Use this to bring the Web Player to the foreground. This player is only for playing embedded Wotja URLs or Wotja Box (.wotjabox) files.
    • Wotja Store (Wotja free only): Displays the in-app store to allow you to extend Wotja.
  • Help: Standard options.
PlayPlay Button

This button lets you play any Wotja mix that might be your Wotja file. This might be the case if you have created the file in Wotja for iOS, or have opened an existing file that contained a random mix. If you hear nothing (i.e. you have created a new file and random mixes are not added automatically) then press the Music button to add a random mix to the file.

MusicMusic Button

Pressing this button creates a random generative mix (from templates) that is added to your Wotja file. It replaces any mix that might already be there. It is not currently possible to change how this mix is created and you are not able to see the mix except by saving the Wotja file and opening it in Wotja for iOS.

Cut-Up - Sources

Cut-Up Sources Screen

Cut-Up - Sources Screen
Click image for large

Cut-Up Sources Screen

Cut-Up - Sources Screen

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.

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.
DeleteDelete

Clear out this particular source.

SourcesSources
Tap this drop list to select your source.
Text AreaText Area

This is the text field for your Source.

There is no formatting of text in a source.

In Wotja for macOS you can access a pop-up context sensitive menu by 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.
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.

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

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.

Edit Edit Edit

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
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 EOLEOL (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 EOLCharacter 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.

Text 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 BackgroundWord 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 ButtonLibrary Button

Library ScreenLibrary Screen
(click image for large)

Library ScreenLibrary Screen
(click image for large)

Wotja Word BankWotja Word Bank
(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 sliderBlend 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 selectorCut-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.

Background 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 List
Rules ListRules List
(click image for large)
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.

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.

Rules Screen toolbar:

  • Select Rule button: Click to use the selected rule for your cut-up.
  • Up/Down buttons: Re-arrange Rule list: Tap to move the seleced cut-up up or down.
  • Delete button: Click to delete the selected rule.
  • Actions button:
    • Export all 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 select it, then tap the Select Rule button to use it for your cut-up.
  • Cogs icon: Tap to take you to the Rule Editor.

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
Rule Editor
Rules ListRule Editor
(click image for large)
Rules ListRule Editor
(click image for large)

See: FREE operation 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:

  • Rules Field: This is editable.
  • Title Field: This is editable.
  • Add button: Add a new rule below the selected rule.
  • Up/Down buttons: Use these to change the position of the selected rule.
  • Delete button: Deletes the selected rule.
  • 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.

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 section

Cut-Up - Saved

Cut-Up - Saved Screen

Cut-Up - Saved Screen
Click image for large

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

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.

Add to Cut-up ListAdd

Replace in Cut-Up ListReplace

Move in Cut-Up ListUp/Down

Edit in Cut-Up ListEdit

Delete in Cut-Up ListDelete

Action in Cut-Up ListActions

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

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.

ActionAction

Popup Action menu.

For details 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.
  • 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

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.

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)

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.

Settings Screen - Mix

Settings Screen

Settings Screen - Mix
Click image for large

The Mix segment in the Settings screen is where you configure how you want Wotja to play its sounds and, amongst other things, how it is used with Audiobus / Inter-app Audio and MIDI Out/In.

This screen is accessible in two places in Wotja:

Item Description
Information

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

It also includes a link to a simple in-app Game:

  • In the center is a faint moving bar, driven by the melody which is influenced by the tempo.
  • Tap/Hold the moving bar to increase your game score (shown top center); once you tap on an area that is not the bar, your score is reset.
  • The longer you can continue to follow the bar, the bigger the multiplier on the score you get (the multiplier is shown below score).
  • Your high score is shown top right.
  • Your high score is not currently saved to your wotja, and is reset when you restart Wotja or open another wotja.
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 to play before fading out over the last 30 seconds of play time.

How long Wotja plays for before before play stops depends on your IAP level. See Wotja Store.

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

Recordings
Max Bars Slider

(Default: 100 Bars) This settings lets you increase the number of bars you can use to make mixdown recordings (see Mixdown Recording).

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.

Audio Out
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 (from Wotja 4.7 onwards it also supports Audiobus 3 audio routing). To use either of these you need to route Wotja via an Inter-App Audio or AudioBus enabled app.

Audio Rate

(Default: 44 kHz). If, for any reason, you find Wotja is struggling to play your mix without a bit of breakup, try selecting 22Khz which uses less processor cycles.

MIDI Input
MIDI Input button

Note: MIDI Input is only used by Listening Voices.

Tap the MIDI Input 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 will be shown here; toggle on the ones you want Wotja to recieve MIDI input from.

Enable MIDI Input Toggle

Shown at the bottom of the screen, don't forget to turn this on (it is on by default) if you want Wotja to detect incoming MIDI!

MIDI Out
Core MIDI

(Default: Off) When enabled, tells Wotja to send-out MIDI events via Core MIDI. Apps that are Core MIDI enabled can take advantage of this.

Virtual MIDI

(Default: Off) 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.

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.

Tuning

(Default: Off) Useful option for tuning external analog synths - causes all notes sent-out by Wotja to be "forced" to the specified pitch.

Settings Screen - Randomization

Settings - Randomization settings

Settings Screen - Randomization Settings
Click image for large

The Randomization segment in the Settings screen is where you select the Randomization values that determine both how Cells are populated with templates when using the Random function in Wotja and also how TTM voice text randomisation is applied in the Text Editor screen.

This screen is accessible in three places in Wotja:

  • Settings > Random (segment)
  • Files > Create New > Wotja Mix (manual) Mix > Random Settings (icon)
  • Mix Tab > Randomize button (dice icon) > Edit Randomization Settings

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

  • Mix Tab > Menu bar Randomize button (dice icon)
  • Files > Create New > Wotja Mix (manual)
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.
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 - 4: The number of Tracks that will have their cell contents (below) randomized (starting with Track 1).
Cells Default - 4: The number of Cells in the Tracks above that will have their contents repopulated from the list of available templates.
Generative % Default: 70% - The chance that a randomized will be repopulated with a generative template.
Blank Cell % Default - 25%: - 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: 8 - 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 - 16: 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 - 8: 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 Screen - UI Theme

Settings - UI Theme

Settings Screen - UI Theme
Click image for large

The Theme segment in the Settings screen is where you choose whether you want the app to use a Light or Dark theme to suit your preference. This User Guide uses the Light theme.

Tap the Light or Dark heading to change theme - it is that simple!

The Settings screen is accessible from the bottom Settings tab.

Settings - iCloud

iCLoud Settings Screen

iCloud Settings Screen
Click image for large

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

This screen is accessible from the iOS Settings Screen. Scroll down that screen to find the version of Wotja that you have installed and then tap it.

Parameter Description
Mobile Data Lets you choose if Wotja can use Mobile Data when synching with iCloud.
Use iCloud Lets you move between Cloud and Local file storage. Plus, you're prompted what to use, when you start the app.

In App Store (iOS)

Store Screen

In App Store (iOS) Screen
Click image for large

Note: The In App Store is not included in the non-subscription version of Wotja (e.g. Wotja Pro 2017) as that is pre-configured with Pro tier features.

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

Wotja for iOS contains a Store where you can In-App Purchase (IAP) the subscription level you require. The image shows the 6 monthly auto-renewing IAP subscriptions that are currently available (subject to change).

Tip: When your IAP Subscription expires Wotja reverts back to basic FREE operation.

The IAP Store is accessible in two places in Wotja:

Item Description
Settings Returns you to the Settings Screen or Files screen, depending on how you got to the Store.
RestoreRestore

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

IAP ItemIAP Item

If you have purchased an IAP subscription, and it is active, then "Subscribed" will show to the right of it.

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

MiscellaneousMiscellaneous

In the "Miscellaneous" section tap the "Manage Subscriptions" list item for a link to Apple's general online information on how to manage your subscriptions.

Wotja for macOS

Words Tab

Cut-Up Tab - Create Screen
Click image for large

See: FREE operation limitations

Wotja 4 for macOS is a Cut-Up Text Editor with Generative Music.

Wotja 4 for iOS is a Generative Music Mixer and Composer with Cut-Up Text Editor

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.

Words Segments

There are 3 main screens for Cut-Up. These are elected by the control at the top:

  • 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.

Display Tab

macOS UI Elements

This section gives you a quick overview of Wotja for macOS interface so you can see how things fit together.

You will notice 3 main panels in the display:

  • Cut-Up - 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.
  • Cut-Up - Create: - Where you create your cut-ups. The created cut-up, locks and associated Rules are saved in your Wotja file.
  • Cut-Up - Saved: - 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 Bar
TTMMenu
  • Wotja:
    • About Wotja: See the version number.
  • File: The usual assortment of file options.
  • View:
    • Show/Hide Toolbar: This is the toolbar featuring the Play, Music buttons.
    • Enter Fullscreen: Only shown for the Cut-Up Editor.
  • Window:
    • Show Wotja Web Player: Use this to bring the Web Player to the foreground. This player is only for playing embedded Wotja URLs or Wotja Box (.wotjabox) files.
    • Wotja Store (Wotja free only): Displays the in-app store to allow you to extend Wotja.
  • Help: Standard options.
PlayPlay Button

This button lets you play any Wotja mix that might be your Wotja file. This might be the case if you have created the file in Wotja for iOS, or have opened an existing file that contained a random mix. If you hear nothing (i.e. you have created a new file and random mixes are not added automatically) then press the Music button to add a random mix to the file.

MusicMusic Button

Pressing this button creates a random generative mix (from templates) that is added to your Wotja file. It replaces any mix that might already be there. It is not currently possible to change how this mix is created and you are not able to see the mix except by saving the Wotja file and opening it in Wotja for iOS.

Cut-Up - Sources (macOS)

Cut-Up Sources Screen

Cut-Up - Sources Screen
Click image for large

Cut-Up Sources Screen

Cut-Up - Sources Screen

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.

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.
DeleteDelete

Clear out this particular source.

SourcesSources
Tap this drop list to select your source.
Text AreaText Area

This is the text field for your Source.

There is no formatting of text in a source.

In Wotja for macOS you can access a pop-up context sensitive menu by 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.
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.

BackgroundPage Control

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

Cut-Up - Create (macOS)

Cut-Up - Create Section

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.

Edit Edit Edit

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
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 EOLEOL (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 EOLCharacter 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.

Text 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 BackgroundWord 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 ButtonLibrary Button

Library ScreenLibrary Screen
(click image for large)

Library ScreenLibrary Screen
(click image for large)

Wotja Word BankWotja Word Bank
(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 sliderBlend 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 selectorCut-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.

Background 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 List
Rules ListRules List
(click image for large)
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.

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.

Rules Screen toolbar:

  • Select Rule button: Click to use the selected rule for your cut-up.
  • Up/Down buttons: Re-arrange Rule list: Tap to move the seleced cut-up up or down.
  • Delete button: Click to delete the selected rule.
  • Actions button:
    • Export all 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 select it, then tap the Select Rule button to use it for your cut-up.
  • Cogs icon: Tap to take you to the Rule Editor.

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
Rule Editor
Rules ListRule Editor
(click image for large)
Rules ListRule Editor
(click image for large)

See: FREE operation 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:

  • Rules Field: This is editable.
  • Title Field: This is editable.
  • Add button: Add a new rule below the selected rule.
  • Up/Down buttons: Use these to change the position of the selected rule.
  • Delete button: Deletes the selected rule.
  • 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.

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 (macOS)

Cut-Up - Saved section

Cut-Up - Saved

Cut-Up - Saved Screen

Cut-Up - Saved Screen
Click image for large

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

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.

Add to Cut-up ListAdd

Replace in Cut-Up ListReplace

Move in Cut-Up ListUp/Down

Edit in Cut-Up ListEdit

Delete in Cut-Up ListDelete

Action in Cut-Up ListActions

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.

Web Player (macOS)

Web Player Screen

Web Player
Click image for large

The Web Player is macOS only. It lets you:

  • Play local Wotja Files (.wotja, .wotjalist and .wotjabox).
  • Play the files above embedded in webpages as Wotja URLs when visited in Safari (see below).
    • See here for details on how to embed one and "wotjafy" a webpage.

Note: The Web Player currently has a 3 minute fixed timeout - press the Play button to reset the timer.

How to use the Wotja Web Player to play webpage embedded Wotja URLS in Safari:

  • Get Wotja from the Mac App Store and install it (it is free!).
  • From the Safari menu select Safari > Preferences > Extensions.
  • Check the tickbox for "Wotja" which will also then show a "Wotja" button in the Safari toolbar.
    • Tap that button to bring the Web Player window to the foreground.
  • Return to a webpage that has an embedded Wotja URL and you should hear it play!
  • Remember to press the Web Player Play button to restart play once it has stopped.

Item Description
Mac Menu

The Web Player menu includes the following top level menu items:

  • "Wotja": To find the version number select the sub-menu "About".
  • "File": A usual assortment of sub-menu items including a MRU list.
  • "View": Sub-menu items include Show/Hide Toolbar and Enter Fullscreen.
  • "Window": Sub-menu items include "Show Wotja Web Player" and list of currently open Wotja Files.
  • "Help": Link to this online User Guide.
ActionPlay/Stop Button Press to Stop/Start playback. Pressing Play also resets the Play timer so you can play for another 3 minutes.
ActionDisplay Area Any TTM text included in the Wotja File and that is set to Display will display at the top of this areas. The area takes a background colour the same as that in the Wotja file and any image included in the Wotja file displays in the center.

In App Store (macOS)

Store Screen

In App Store (macOS) Screen
Click image for large

Note: The In App Store is not included in the non-subscription version of Wotja (e.g. Wotja Pro 2017) as that is pre-configured with Pro tier features.

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

Wotja for macOS contains a Store where you can In-App Purchase (IAP) the subscription level you require. The image shows the 6 monthly auto-renewing IAP subscriptions that are currently available (subject to change).

Tip: When your IAP Subscription expires Wotja reverts back to basic FREE operation.

The IAP Store is accessible in Wotja from:

  • Main Menu > Windows > Wotja Store
Item Description
RestoreRestore

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

IAP ItemIAP Item

If you have purchased an IAP subscription, and it is active, then "Subscribed" will show to the right of it.

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

MiscellaneousManage Subscriptions

Tap the "Manage Subscriptions" list item for a link to Apple's general online information on how to manage your subscriptions.

Apple Watch App

Wotja for Apple Watch

Wotja for Apple Watch

The secret of Wotja for Apple Watch is that it is very simple. In a paired iOS device you can you :

  • Stop / start a mix loaded in Wotja for iOS, or;
  • Easily create and play a new random mix using a 3D Touch menu.

Random mixes can be great if you just want to hear something new. Perhaps you are on a walk or a run, or just sitting down for some quiet contemplation.

Item Description
ActionMain UI

All you need to do is tap!

  • Tap the screen: Starts or stops a Wotja mix loaded in Wotja for iOS.
Action3D Touch Menu

To display this menu 3D Touch the Wotja for Apple Watch app.

Generator Network

IME Generator Network

IME Generator Network

The Intermorphic Music Engine 4 (IME 4) "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 4 (ISE 4) 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 and/or emoji.

  • 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, but in Noatikl Desktop they can also be used with scripting for more advanced hyperinstruments.

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 and/or emoji to generate a seed melody which, even though not visible, is in a Patterns syntax.

  • Text: This is the text or emoji used to generate your TTM seed melody. You can use any text or symbols (including Emoji), and in can be in any language. In general it takes 2 characters to generate a note, but as a special case if only 1-3 characters or emoji are entered then Wotja will still generate a 3-4 note melody. 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. MIDIKeys) 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.
  • 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.

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 4 (ISE 4) "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 Design 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: 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

Central area:

The central area shows a visual representation of the network design (for General Controls see below).

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 the screen 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.

Select / Edit Units : How you do this depends on the Tap Edit checkbox/toggle setting below. Note: 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.

Network Controls

Top buttons:

  • Design - Select to commit your changes and exit the screen.
  • Cancel - Select to undo your changes and exit the screen.

Connectors & Controllers Area:

  • This area is just about the Bottom toolbar. See below.

Bottom toolbar:

  • ?: 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).
  • Tap Edit checkbox/toggle:
    • 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.
  • 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.

Unit Action / List Menus

Network Editor Unit Action Menu

Unit Action Menu

Network Editor Unit Liast Menu

Unit List Menu

Tap/hold a unit to see the Action 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!).

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

Connnector/Controllers

Network Editor Connnector/Controllers

Connnector/Controllers

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.

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 3);
  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. LFO Unit);
  4. Non-Junctions Only: You will see to the right 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 3 in the image above (the 3 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). Even though you might think that the red line is Connector 2 for the Osc 3 unit - as it is shown second in the network - it is actually Connector 1. You can tell this in the DT image left drop list shows "1" and in the iOS image it is shown as the first item in the list. This connector links LFO Unit 2 with the Osc 3 unit.

Controller Adding:

  1. Select the Unit you want to be modulated (e.g. Osc 3);
  2. Tap on an empty/blank part in the top half of the screen to display the Unit Add menu and then select a control-rate unit (e.g. Envelope Unit);
  3. Press the 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).

TG DSynth

ISE DSynth Tone Generator

Tone Generator - DSynth (Audio-rate)

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)

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)

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)

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

  • 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)

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)

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)

Used to help compress the signal in the DSP chain.

If you view the compressor behaviour as a function of Output (in dB) against Input (in 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)

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)

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)

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)

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)

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)

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)

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)

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)

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.

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 or Mixtikl 7 (as relevant) 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 a Wotja cell as a Noatikl file

  1. In the Wotja Design screen, select the cell you want to export as a .noatikl file.
  2. Tap the "Toolbox" icon and select "Export to File". You will see a pop-up dialog where you name this file before it is saved.
  3. This saved .noatikl file is shown in the 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 Mixtikl 7.

Exporting a Wotja cell (as a .noatikl file) to clipboard

In Step 2 above, select instead "Export to Clipboard".

Saving a Wotja mix as a Mixtikl file

  1. In the Wotja Design screen tap the "Toolbox" icon and select "Export Mix (legacy format)". You will see a pop-up dialog where you name this file before it is saved.
  2. This saved .mixtikl file is shown in the Files screen and it will have an old style Mixtikl icon.
  3. In the Templates screen you can see and select this under Saved Files. The file will have a .mixtikl extension.
  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 Desktop Mixtikl 7.

Notes: When saving as an .mixtikl file the any audio loops that might be used by the Wotja mix are not included. 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

Exporting a Wotja mix to clipboard

This is not supported.

Note: You many not need to do this as Wotja for iOS can open Noatikl and Mixtikl files. Simply copy or transfer the files to the Wotja iCloud Drive folder and they will appear in the Wotja Files list.

Exporting to the clipboard

Noatikl

In Noatikl, go to the Pieces screen and then select the export button on the bottom toolbar. You will get a messages saying the data has been exported to the clipboard.

Mixtikl

In Mixtikl, select the Content Cell you are interested in (the cell content must be generative i.e. not audio loops) and from the Content Cell menu select the Export button and you will get a message saying that the data has been exported to the clipboard.

Note: When you export from a Mixtikl content cell the Track FX are NOT included (but Cell FX are).

Note: If your Mixtikl content cell used a custom Wavetable/SF2, then you need to have that available to Wotja and you may need to recreate the association.

Importing from the Clipboard into Wotja

  • In Wotja, go to the Design view, select a Cell and then select the Action button on the bottom toolbar. You will get a pop up dialog giving you the option to "Merge from Clipboard" or "Replace from Clipboard".
  • Choose the option you want and the content is imported and ready for editing.

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.

You can get performance issues if the processor in your device is trying to do more that it can handle, and there are a number of possible reasons for this when it comes to using Wotja. You can also get some audio artifacts occur in the ISE from "note stealing" (see below). 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 iOS version: Ensure your device is using the latest iOS update available for it.
  • Power cycle your iOS 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 mobile OS are good at managing app usage these days, it might well be worth closing all other running apps.
  • InterApp Audio / Audiobus: 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: 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 backgrounded: There are less processor cycles available to the app when backgrounded.
  • Cable connection to computer: 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. Audio Output Setting: The Wotja 4 default audio output is 44Khz stereo. However, runnning at 44Khz stereo places a higher load on the processor. If you are having performance issues, this is the first thing to try changing.
    • Solution: Try setting Audio Output to 32Khz Stereo or even 22Khz Stereo. Wotja Settings > Audio Output.
  2. Airplay: Airplay uses processing power to stream the audio, so if you are having performance issues please first ensure this is 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.
    • Solution 1 - Templates: Either use fewer templates/tracks in a piece 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).
    • 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 that in.
  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...
  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 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.

ISE

If Wotja isn't making any sound, first check that you have the "ISE for Sounds & FX" toggle turned on in Settings. If this is on, then Wotja will automatically render all MIDI data that it generates through Wotja's built-in Intermorphic Sound Engine, and you should hear Wotja playing (unless you've turned-down your computer's volume). If the checkbox isn't ticked, Wotja will only send its MIDI data to whatever MIDI Output destination you have defined in Wotja's MIDI Out settings... which means that you've probably got a bit of MIDI configuration to do first in order to hear Wotja play.

Note that Wotja can play both through ISE and through a MIDI device, if that is how you have configured things - the choice is yours.

General:

Don't forget to press play. Make sure your system volume is turned-up, and any speakers are turned on. Make sure you haven't muted all voices, or set their volumes or velocities all to zero. If you are using fixed-pattern voices, make sure they don't all have empty patterns.

You cannot record MIDI files directly in Wotja. You will need to use a 3rd party app to do that, using Wotja's MIDI Out capability.

Wotja is a very powerful MIDI application and supports Core MIDI and Virtual MIDI. You can record it with another suitable 3rd party app that supports Core MIDI / Virtual MIDI and MIDI recording.

By default we hide the older Noatikl 2 templates simply as our current templates are so good! They are included, however, and it is easy to display them. Simply go to Files > Create New > Templates > and turn on the toggle that says "Show Old?". Once you have done that, the older templates will show up in the template list in a dark grey colour.

These are not included in Wotja 4 as we now have a new set of gorgeous sound presets and templates (you can also export favourite presets from these, too). But we are making them available if you want them; see below.

Tip: You see the included TG Preset list from the Network Editor screen. Select the "Action" button and then "Open".

Older Presets: Download a zip of the TG presets and place that in the Intermorphic Folder or zips folder under that.

Once the file above is copied to the right place, you may need to restart the app for the older Presets to be displayed.

Try this example.

When you visit the link to the Dropbox shared Wotja file in Safari then you will see a page of text - this is the Wotja URL.

Desktop Safari:

  • If you have the Wotja Safari App Extension installed then it should start playing

Mobile Safari:

  • Not recommended (WJURLs are LONG): To play this in Wotja iOS you must copy ALL the text to clipboard and then import it into Wotja - from the Files screen Action menu select "Import". You will be asked to give the file a name.
  • Recommended alternative: For mobile sharing of a Wotja URL, embed it as a link in a webpage and then share a link to that webpage.

Intermorphic apps that support Apple iCloud / iCloud Drive:

  • Wotja 4+ (iOS), Wotja 4+ (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/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 "Intermorphic Folder" or Local Device folder.

Note on iCloud Drive Subfolders (folders under the main app folder):

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

Tip: 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: To see the Wotja iCloud folder on Mac, we strongly suggest first installing either Wotja for macOS or Wotja Pro 2017 for macOS. Either will do and (similar on iOS to Wotja or Wotja Pro 2017 for iOS) they both share the same folder.

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.
  • Wotja 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.

    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!

    FAQ - IME

    FAQ - ISE

    Sure! Follow these links to some tutorials that will help you to learn how to create sounds using the ISE:

    The most important thing to remember when you start using the ISE is that the audio for a voice ALWAYS comes from the rightmost signal-rate effect unit!

    The effects units for each voice are in general processed from left-to-right. Think of the system as a pipeline of audio information, where audio is generated over on the left, and passes through intervening effects units and ends-up on the right hand side, at which point it gets generated. However, the pipeline can actually be pretty complicated, in which case it can become useful to think of an Effect Module as being either like a tree of interrelated modules, or even a network of effect units working together in complex way!

    So, the best way of thinking how effects units work, is in terms of a collection of special-purpose units, that are connected together in pretty much any way you want, using invisible connecting "cables". The user interface shows these connections as best it can. Note that feedback loops or 'cyclic dependancies' between units are not allowed.

    The user interface displays a module by showing the signal-rate units at the top of the display area, and control-rate units below them. The currently selected unit is displayed differently to help remind you which unit you are currently editing.

    The outputs from all voice-level effect modules are summed-up by the ISE Synth, and are then passed into the Global Effects Module, which you can define if you want.

    Note that control-rate units do not generate stuff that you can hear directly, you use them purely to control parameters of other effect units in system. Control-rate units can be used to modulate parameters for both signal-rate and other control-rate units. For example, you could have an envelope unit (c/envlope) whose sole purpose is to create an envelope of values which is used to modulate the frequency parameters of a dsynth unit.

    You might be wondering at this stage, exactly why things are so flexible? Well, the reason is that it is this very flexibility which makes the ISE so powerful at creating a truly mind-boggling variety of exciting sounds and audio effects! However, this flexibility can also make things a little complicated to get your head around... which is where this documentation comes in.

    The ISE has a built in limiter which stops the sounds from overloading. However, it can sometimes add distortion in a mix with many instruments. The key to prevent this is to decrease the internal volume of the final mix. One way to do this is to make use of the global effects module level effects: you can simply use an amplifier to reduce the overall mix level! Another powerful technique is to apply a compressor to dynamically limit the volume level (though this can mask dynamics in some content).

    One easy way to deal with this is to make use of the global effects module level effects: simply use an amplifier to increase the overall mix level! Another powerful technique is to apply a compressor in "expander" mode, to dynamically boost the volume level (though this can mask dynamics in some content).

    This is very easy to do:

    1. Open the Modular Synth dialog
    2. Select the line you want, and click on the Edit button to pop-up the editor for the selected MIDI line.
    3. Click on Export, then OK to close the editor
    4. Select the line you want to copy to (and if in the Modular Synth dialog, set the Polyphony to whatever you want, probably the same as the line from which you are copying), then click Edit to pop-up the editor for the selected MIDI line
    5. Click on Import - your sounds are now copied and hopefully your piece will sound like you intended!

    You can of course also use exactly the same technique in the Effects dialog. You can copy Effects designs from MIDI line to MIDI line within the system; or copy the Global effects design to a MIDI Line, or copy from a MIDI Line Effects Design to the Global effect.

    Credits

    Intermorphic is Tim Cole & Pete Cole - yes, just two brothers - and we have now been working together in generative music since 1990, i.e. for over 27 years. 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 customers, and most especially those who wish to continue with us as we move forward - we love you, thank you!
    • Everyone who has made contributions to our forums, 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!
    • 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.
    • Our outstanding beta testers for their testing efforts and everyone who has given feedback, found bugs and helped with suggestions.
    • All our old friends and colleagues from SSEYO days including Jon Pettigrew, John Wilkinson, Jerry Leach, Paul Blampied, Jerry Swan, Nick Barefoot, Simon Robertson, Kerry-Anna Saia, Natalie Da Gama Rose, John Tenkoni and 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!)
    • 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-2017 Intermorphic Ltd. All Rights Reserved. Subject to Change. E & OE.