This guide is in process of being updated. Refer also to the Pak Creator Guide.
Wotja can use add-on content zipped into the form of Paks ("Paks") and Audio Loop Paks ("Loop Paks"). Paks and Loop Paks are also the easiest way to use add-on content in Wotja.
This Creator's Guide is about how to make Loop Paks; if you don't need to create Paks that use audio loops, then see also the Pak Creator Guide.
Making Loop Paks is much easier that it may at first seem. If you either know how to make samples / loops, or how to work with them, the you know enough to be able to make them.
The KEY thing to remember when making your Loop Pak is that you MUST zip it up correctly, with the right components and right path structure.
The Pak elements are the special things that you need to include in a 'Pak' to make it into a 'Loop Pak'. These are required to make it work, the combination of which depends on what kind of Pak you are wanting to make.
An integrated collection of content sharing the same tempo and root that you want to appear in the Pak list and that you want to mix together out of the box e.g. all elements from a song chorus.
The AL Techno 112d (techno_112d_al_tp_im.zip) Pak contains varied content at the same tempo and root and is suitable for mixing together, so they are packaged as Construction Kit Paks and they show up in the Pak list.
A varied collection of content with different properties such as Bass Loops and Trumpet loops all with a range of pitches, tempos and durations.
The LoopBeats 2 Pak (loopbeats2_tp_im.zip) contains only drum loops at different tempos and is packaged as a Mixex Pak.
The first thing you need to do for Loop Pak creation is to make your Pak folder. Wotja expects your Pak folder to have the path structure below.
intermorphic\mixtikl\paks\MyName_MyPak or;
intermorphic\mixtikl\paks\MyPak_Type\MyName_MyPak
Tip: Select each following heading to see full details.
This file defines the Pak base root and tempo and allows Pak to be displayed or hidden in Pak list. It is required in Construction Kits, and can be used in Separates Pak where all content shares a commmon root/pitch.
For a real example, see the pak.xml file in one of the Audio Loop Collection 1 add-on Paks.
From the webpage, copy the text below and paste it into a new text file that you save in your MyName_MyPak folder as pak.xml. Modify the pak.xml it to suit your requirements (see below for the optional items you can delete) :
<copy text below... >
<pak messagespath="intermorphic/mixtikl/paks/MyName_MyPak/messages" tempo="135" root="F" sps="0" scale="Major" hidden="1" displayname="1" kmopenname="2" description="3" copyright="4" dispscale="5" eska="0" path="/MyName_MyPak/" source="yourname" licenceURL="http://www.yourdomain.com/eula.html" linkURL ="http://www.yourdomain.com/getpaks/" year="2017" style="world" instrument="drum, beats, loops" descriptors="beats" > </pak>
<copy text above... >
SPECIAL USE ALTERNATIVE TO PAK.XML FILE: This file tells Mixtikl about any overriding tempo, root and scale of all loops in this Pak, and will ensure the Pak is not displayed in the Pak list. Is only required in a Separates Pak that includes content all at the same tempo and root pitch, and does not contain a pak.xml file. It means you do not have to create a yourfile_mixtikl.xml file for each and every audio and music content file in the Pak.
It is primarily for ad-hoq use and browsing of same tempo/pitch content from a content cell without first having to first create a zip, foregoing the need for separate yourfile_mixtikl.xml files for each content item - typical example would be e.g. using a directory of pre-prepared same tempo/pitch loops from a Music Magazine or sample directory.
From the webpage, copy the text below and paste it into a new text file that you save in your MyName_MyPak folder as mixtikl.xml. Modify the mixtikl.xml it to suit your requirements (see below for the optional items you can delete) :
<copy text below... >
<?xml version="2.0"?> <mixtikl_meta tempo="120" root="D" scale="Major" path="/MyName_MyPak/" licenceURL="http://www.yourdomain/eula.html" linkURL ="http://www.yourdomain.com" source="yourname" copyright="yourname" year="2017" style="house" instrument="bass" descriptors="fast, heavy, loud" > </mixtikl_meta>
<copy text above... >
This simple text file defines how the Pak shows up in the Pak list. It is required in both Construction Kit and Separates Paks.
For a real example, see the messages.asm file in one of the Audio Loop Collection 1 add-on Paks.
From the webpage, copy the text below and paste it into a new text file that you save in your MyName_MyPak folder as messages.asm. Modify messages.asm to suit your requirements:
<copy text below... >
* Copyright (C) 2017 Your Name. All Rights Reserved. CATALOG_START "en" CATALOG_STRING 1, "MyName_MyPak" CATALOG_STRING 2, "MyName_MyPak" CATALOG_STRING 3, "MyName_MyPak using 3rd party samples." CATALOG_STRING 4, "The Copyright statement" CATALOG_STRING 5, "Major" CATALOG_STRING 6, "http://www.yourdomain.com/pak" CATALOG_END "Unknown"
<copy text above... >
Notes:
Paks can contain audio and music files in any of the related formats supported by Mixtikl (e.g. .ogg, .mid/.midi, .noatikl, .wotja, .wav and even DLS 1 wavetables). For further information see the section on Content Types.
For a real example, see the files in one of the Audio Loop Collection 1 add-on Paks.
SEPARATES PAK: This text file tells Mixtikl about the tempo, root and scale of ONE content file, together with other meta information. It is only essential to have one for a content item when it does not share the common features of the pak.xml or mixtikl.xml file. It can also be used in a Construction Kit if you have a content item that is at a different root and tempo to that defined in the Pak.xml.
"yourfile" is shorthand for the name of the related content file, without its file extension. Eg. if one of your content files was called d_2-kick2_140d.ogg, then this corresponding file is called d_2-kick2_140d_mixtikl.xml.
From the webpage, copy the text below and paste it into a new text file that you save in your MyName_MyPak folder as e.g. bass_mixtikl.xml. Modify this file to match up with the corresponding content item :
<copy text below... >
<?xml version="2.0"?> <mixtikl_meta tempo="81" root="D" scale="Major" path="/MyName_MyPak/" licenceURL="http://yourdomain.com/eula.html" linkURL ="http://yourdomain.com/getpaks/" source="yourname" copyright="yourname" year="2018" style="world" instrument="drums" bars="1" descriptors="beats" > </mixtikl_meta>
<copy text above... >
This section is to be reworked.
OPTIONAL for Paks for Mixtikl: You can include an image in your Pak that is displayed when loading or creating a mix based on your Pak (your Pak must be installed).
For a real example, see the splash.png file in one of the Audio Loop Collection 1 add-on Paks.
File name: "splash.png"
Recommended size: 640 × 614 pixels (optimally fits all skin sizes), although it can be larger.
Recommended bit depth: 24-bit indexed png (to make sure it looks good on larger screens like on iPad "retinal" display).
Note: The image is stretched to fill a skin-specific area which depends on the screen size/skin that Mixtikl is running at.
OPTIONAL: The license that you want to accompany the content in your Pak. The user will not be able to see this, but you can included it.
For a real example, see one of the Audio Loop Collection 1 add-on Paks.
From the webpage, copy the text below and paste it into a new text file that you save in your MyName_MyPak folder as license.txt. Modify license.txt to suit your requirements:
<copy text below... >
<a href="help:help">QUICK HELP <hr> <b>Your license name Your license text... <a href="help:license">TOP ^
<copy text above... >
Wotja and Mixtikl allow the mixing together of many different audio and music files, namely "content". This content can be in a wide range of file formats, from audio clips to MIDI files and beyond. To keep things simple, we refer to any item of content in any format simply as "content" or "content item", but this section gives some more information on the different formats.
The above app's content flexibility allows you to be creative in ways that both suits the capabilities of your device and that match your personal preferences – namely how much memory you have on your phone, and how much space you want to set aside for storing content or recordings of mixes you might make.
Audio content is used where maximum sonic impact is required. The reason is that an audio sample (a short clip) contains a great deal of high quality pre-processed audio information (such as a real voice, electric guitar riff, orchestral theme etc). However, the downside is that memory usage is higher than for other content types (for both storage and operation). A typical 1 bar audio sample (in compressed Ogg Vorbis format, 48Kbps) is around 15Kb, but in order to be mixed it must first be expanded into your device RAM memory, where it might be >4 times larger!
Audio formats supported (file extensions capitalised for consistency):
Note: When using audio content, there are a number of factors that determine the size of the content item. The key ones are the tempo of the mix and how many "bars" there are in each item of content (a "bar" is a musical term which refers most commonly to 4 beats, and is the normal minimum size for a content item), and then for each item the sample rate, bit depth and whether the sample is stereo or mono.
Tempo is to do with how many beats per minute (bpm) you have in your mix, which is defined in each Pak. Tempo and the content size are closely interrelated in that a 1 bar 60bpm audio clip is 4 seconds in length (each beat is 1 second in length and there are 4 of them in a bar), and a 1 bar 120bpm audio clip a 2 seconds in length (each beat is ½ second and there are 4 of them).
MIDI content is an electronic version of sheet music (in that it only contains note playback information), and it is played through the Mixtikl integral MIDI synthesizer. MIDI content has the advantage of small size, and so uses far less device memory, but it does not have the sonic impact and richness of the much larger audio content. A typical 1 bar MIDI riff is around 1Kb.
MIDI formats supported (file extensions capitalised for consistency):
Various advanced content options are available, and these allow greater use of the device as a music "computer", creating rich sounds from small components. This kind of content is typically in .wotja or .noatikl format, and through the ISE and IME it allows the use of real software synthesisers, FX and music engines. A 1 bar .noatikl file can be just a few Kb in size, but can be set up to allow the creation of hundreds of minutes of varied and sonically rich content.
Wotja Templates (.noatikl) are created with Wotja
Advanced formats supported (file extensions capitalised for consistency):
The ISE multi-synth can be used to hook up MIDI or advanced content to a Wavetable of type SF2 (SoundFont) or DLS 1. The Wavetable can either be in one of the pre-installed Paks, or included in a Pak you might have made. Either way, it has to be installed to your device and ISE must know the path to it.
Being able to target a SF2 or DLS 1 Wavetable via ISE means that MIDI playback, via the MIDI synth in ISE, can use some cool sounds and with the smallest performance overhead - all you need is the Wavetable!
This is content in any of the above forms that plays for more than 1 bar. It can be even more effective than content of 1 bar length as it provides more continuity and variation over a longer period of time. Mixtikl is very powerful in that mixes can utilise not only 1 bar content, but also multi-bar content. Mixtikl intelligently caters for content of non-full bar length (e.g. 2 ¼ bars). When the content is not in a Pak it will not simply loop the content, causing mix synching problems, but will instead pad it out with silence until it reaches the next bar boundary. Content that *is* in a Pak is time- stretched/shrunk automatically to the nearest bar multiple.
When you add content into a mix, this information is saved to a special "mix file" format called ".wotja" or ".mixtikl" (depending on app used). It stores all the information about what content is used in the mix and where, together with sound FX used etc.
There is a lot that can be used in our apps. See here for what is available!
This section is for guidance only.
The file naming convention used for Paks suits Paks tha contain a lot of content as it helps to group similar content in list displays (e.g. content list).
For real examples, see the older templates included with our apps, such as the GenMix1 Pak (genmix1_dmaj_im_tp.zip)
TIP: If you have a loop, e.g. a drum loop, that you want never to be pitch shifted (even if it can be tempo-stretched), the use the "d_" prefix below.
File Naming Convention: track_bars-contentName-aksmo.type
e.g. d_2-kick2_140d-o.ogg
Choose one of 5 single character values followed by an "underscore" (the user never sees these letters):
The number of bars followed by a "dash" (e.g. "4-")
The name shown in a content cell. Using this convention means content is shown in the easiest, briefest and most easily understandable way in both the content cells and the content list. The contentName can include the underscore character.
Recommended syntax is :
"sampleTypesampleNumber_TempoRoot_OtherInfo" (e.g. kick1_140d_OtherInfo for Kick Drum 1).
Preceded by a "dash", this is an advanced set of identifiers used by content authors to identify specific content types. If you are using audio or MIDI content only, then you can ignore these identifiers (i.e. track_bars-ContentName.type).
This is the file extension, such as .noatikl, .mid, .ogg or .wav etc. The file extension determines what color (Mixtikl ONLY) the content will show up in the cell content list.
You can use your preferred Zip file utility to create your Pak. The KEY thing to remember is that you MUST get the path information correct for your Pak to load. Some Zip file utilities make it easy to include the right path information, some don't. Some you will need to use a Command line option to do this, especially if you create your Paks in a different folder to the one required for a Pak to load.
For a real example, see one of the Audio Loop Collection 1 add-on Paks.
intermorphic\mixtikl\paks\MyName_MyPak\
intermorphic\mixtikl\paks\MySamples\MyName_MyPak\
There are a number of zip tools you can use on Windows, including 7Zip and WinZip etc.
There are a number of zip tools you can use on Mac, including StuffIt and BetterZip
cd Documents zip -r MyName_MyPak.zip intermorphic/mixtikl/paks/MyName_MyPak/*
cd /Volumes/Drive/Documents zip -r MyName_MyPak.zip intermorphic/mixtikl/paks/MyName_MyPak/*
#!/bin/bash cd ~/Documents touch ~/IMZips/Paks/genmix1_dmaj_im_tp.zip rm ~/IMZips/Paks/genmix1_dmaj_im_tp.zip cd ~/Documents/intermorphic/_PAK_DEV_MASTERS/ zip ~/IMZips/Paks/genmix1_dmaj_im_tp.zip intermorphic/mixtikl/paks/IM_GenMix1_DMaj/*.*
-x \*__MACOSX -x \*\.DS_Store -x \*Thumbs.db