1. A few hints and precautions
  2. Basic controls
  3. Using the menu
  4. Working with patches
  5. List and explanation of factory patches
  6. Working with the arpeggiator
  7. Working with the sequencer
  8. What the encoders do while ARP/SEQ is running
  9. Setting the tempo
  10. Configuring the delay
  11. Adjusting the volume levels
  12. Configuring the light sensors
  13. Bytebeat formula, bitrate and variables
  14. Working with higher layers
  15. Wavetable layers
  16. Sample-based layer
  17. Factory reset and other special commands


A few hints and precautions

This is not a toy and is not to be handled by children of any age, because of the small parts and materials used.

The printed circuit board is made from FR4 (fiberglass-reinforced epoxy laminate). They are manufactured as larger panels, then assembled and cut in pieces. This can leave rougher edges at the left and right side of the top panel, where the boards were joined together. Residues of potentially irritant dust from the machining process may still be present there. We filed and cleaned up your T-APE where we noticed a problem, but just in case something slipped through, please take a moment to inspect those edges and wipe them with a piece of damp paper tissue before the dust or tiny filaments of the fiberglass has a chance to get on your fingers.

While the device is new, the encoders might not rotate too smoothly, but that will get a lot better as you use them. If you find the encoders too reactive and hard to control precisely, there is a setting to adjust the encoder sensitivity - see the special command starting with number 5.

The ON/OFF sliding switch is there only in case you are using a lithium-polymer battery to power the unit, it does nothing if you power the unit from USB.

If you decide to install a Li-Po battery cell, please know that you are doing so at your own risk. Please make sure to select one with an undervoltage & overcurrent protection circuit and with correct polarity wiring (the JST connector on the T-APE circuit board underside has 2.0mm pitch and is marked with plus and minus signs: on the battery, the red wire is plus, black is minus). The charging regulator may get hot to the touch. That is completely normal, it has built-in thermal protection. The ON/OFF sliding switch completely disconnects the battery, so it will not be charging in OFF position although the device will be working, powered via the USB connector. So make sure you turn the switch to ON if you want to charge the battery. The orange LED labelled CHRG indicates charging, and it goes off when charging is complete. Never leave the device charging unattended (this is a general safety rule valid for all electronics with lithium batteries).


Basic controls

There are 8 capacitive keys and 2 rotary encoders. By pressing a key, you activate the sound associated with it. Encoders then let you change various parameters. Internally, there are 8 "layers" that allow you to run 3 different sound engines (bytebeat, wavetable and sample‑based) either one by one or in parallel. Don't worry about this now, it will be explained in detail later - the only thing to keep in mind for now is that in the beginning (i.e. after powering on) you are at layer #1 (bytebeat) and the keys have 8 pre-defined formulas associated to them by default. By pressing individual keys you can trigger a different bytebeat formula and hear the sound that it makes. Then you can choose the start and endpoints of the sound that you hear. The default parameters are set to play from position 0 and run indefinitely. Depending on the bytebeat formula, at a certain point, the bytebeat cycle will start again from the beginning. Some formulas produce longer sequences, and some start repeating earlier.

Encoders allow you to change this. The left one moves the start position, and the right one shortens or lengthens the grain size size (shorter to the left, longer to the right). With short enough grain size the bytebeat outputs periodical functions that are similar to wavetable synthesis and sound like they have a pitch. In all formulas except 6th and 7th there is silence at the very beginning so if you just start twisting the right encoder counter-clockwise (which will make the sound cycle shorter), you may need to also twist the left encoder clockwise (to move ahead in the sound cycle) to get to a point "further down" where there is some sound.

Browsing through the bytebeat's complex structures this way changes the texture of the sound. Using the encoders to change the start point and length of the bytebeat sound cycle is the primary way to explore the possibilities of the sounds you can make with a bytebeat layer on the T-APE. You are zooming in and then traveling through the landscape of sounds that each bytebeat formula creates.

At this point you can build a playable scale by selecting your favorite sounds, and perhaps also tuning individual grains by ear and assigning them to the keys. The animation below shows how you can modify the sound at a given key. You can adjust grain position, length and various other parameters as much as you want, but once you press a different key, all these changes will be lost unless you save them first. To save a sound on a given key, you need to press SET twice after you have adjusted the sound to your liking, as shown in the animation. Alternatively, you can hold SET while turning the encoders. Then the changes will update the sound that is stored for that key immediately, and next time you play it, the sound will be just what it was when you adjusted it the last time.

Note: If you load a patch, updating the sound that is stored at a certain key will not modify the patch - for that, an additional command needs to be used to save the whole patch, as explained later in the paragraph about working with patches.

After powering on, every key is set up to trigger a different bytebeat formula. This is not always useful. You might want to play similar sounds on more of the keys (for example, to build a scale). To do that, you can copy the sound, and the entire bytebeat formula, as well all the parameters that define it, from one key to another so you can continue modifying the sound, and keep both variants, each on their own separate key. To achieve this, you can use the SET key again: if you press it once and then press some of the lower keys, all parameters are copied from the key which is currently playing (i.e. the last one triggered), to the new key.


Using the menu

White texts printed on the lower row of keys represent menu items. You can select them by holding down SHIFT and clicking one of the keys. The corresponding blue LED at the top of the device will start blinking to indicate that you are adjusting that menu item. Now you can adjust the parameters for that menu item using the encoders or keys. You can choose a different bytebeat formula, change the variables that make up the formula, and program sequences and arpeggios - we will explain each menu item in detal.

To exit from that menu item, press SHIFT again. You will see the LED for that menu item stop blinking. This means you're again at the top level of the machine. Playing the individual keys will trigger the sounds but will not reprogram them. Turning the encoders will change the start point and length of what you hear, but the changes will not be stored unless you press SET twice.


Working with patches

Your unit comes with pre-loaded demo patches stored in banks 1, 2 and 3. To select one of them, first get into "patch load" state by holding SHIFT for a few seconds, until you see a change in LED lights. There are 8 banks of 8 patches in the machine. Turning the left encoder will select the bank. The orange LED that is lit indicates which bank you are currently viewing, and the lit blue LEDs below it show which slots already have patches stored in them. As you turn the left encoder to change from one bank to another, the blue lights may change too. Right from the factory, the first and second bank will probably be full, and the third one partially occupied. To select a patch for loading, go to the bank of your choice and then press a key corresponding to the patch you want to load. The patch that is stored at the corresponding position will load and then start to play.

If you come back to this menu (by long-pressing the SHIFT key) after you have loaded a patch, you can see that the blue LED that indicates the patch you loaded keeps blinking, to help you remember which one it was.

You can also overwrite and delete patches, as explained below. If you accidentally overwrite or delete something that was there in the beginning and you want it back, you can perform a factory reset; but be careful - by doing this, any new patches that you might have created in the meantime will be lost.

Saving the patch works in the same way, but the action is invoked by holding SET for a few seconds. If you are updating a patch that you have loaded previously, you can find its position by the blinking blue LED. Use the left encoder to select the bank that contains the blinking blue LED, which indicates the currently loaded patch, and press the key that corresponds to that position, to save your updates to that patch. If you want to keep both variants, you can store the new one into an empty position - where no blue LED currently glows. Turn the left encoder until you find a bank that has empty slots (indicated by unlit blue LEDs) and press a key to select that slot. Your patch will be stored there.


List and explanation of factory patches

bank-patchactive & [playable] layer(s)description bb=bytebeat, wt=wavetablesensors
1-1[1],2=arpfaster up/down arpeggiated wt drums with a selection of short playable bboff-off
1-2[1],2=arpslower up/down arpeggiated wt drums with a selection of longer playable bbon-on*
1-3[1],2=arpslower up/down arpeggiated wt drums with a selection of longer playable bboff-on*
1-4[1],2=arpslower up/down arpeggiated wt drums with a selection of longer playable bboff-off
1-51=arp,[4]up-arpeggiated bb with playable wt "piano" on 4th layer nicely in tuneoff-off
1-61=arp,[2]fast 2-octave arp with short grains tuned to the same note, drums on the 2nd layeroff-off
1-7[1],3=seq"Popcorn" theme, sequenced on 3rd layer, with playable bb tuned for the bass lineoff-off
1-81=seq,[3]"Stranger things" theme, sequenced on 1st layer, with wt tuned for the bass & melodyoff-off
2-1[1]=arpbb tuned to one note with different "timbre", random arp, nicely controlled by lighton-on
2-21=arp,[3]one-note bb with up arp over 4 octaves** (the 4th round creates a fifth), wt layer in tuneon-on
2-31=arp,[2]bb with a few notes from minor scale, with down arp over 3 octaves, wt layer in tuneoff-off
2-4[1]=arpbb tuned in a harmonic minor scale, up-down arp over 4 octaves** (shifs the key)on-off
2-51=arp,[2]bb with grains set to sound a bit like guitar, up-down arp, wt layer in tuneoff-off
2-6[1]=arpone-note bb with random arp over more octaves** (key gets shifted to fifths and thirds)off-off
2-7[2]=arpwt tuned in a major scale, random arp over a few octaves**, left light sensor changes timbreon-off
2-8[2]=arpwt tuned in a harmonic minor scale, very fast up-down arp over a wide range of octaves**off-off
3-1[1]a set of weird bb grains, ressembling modems, radio and alien robotic frogsoff-off
3-2[1],2similar to 3-1, wt tuned to match grains' key (except the 4th one which has a different bitrate)off-off
8-82,[8]slower arpeggiated wt drums with sampled monkeys and other animals voicesoff-off

*) although the sensors are active here, they may not have any influence until you shorten the grain length

**) the term "octave" as used here does not always mean the typical 12-semitone interval, for more info check the paragraph about what the encoders do in ARP/SEQ mode


Working with the arpeggiator

Now you have some sounds defined for your row of 8 keys, and you can play them manually. You can also trigger them using the arpeggiator or the sequencer. There are 8 arp modes, selected by pressing one of the 8 keys after pressing SHIFT + ARP to enter the arp menu (see paragraph "Using the menu").

Let's go over your different arp options. From left to right, the first four keys are: Up, Down, Up-Down, and Up-Down2 which means that the first and last note is triggered twice to keep timing consistent (otherwise we would have a sequence of 7 notes, not 8. But maybe that's exactly what you wanted!). If the arpeggiator runs across more than one "octaves", only first note in the lowest octave and last note in the highest octave is repeated, to produce a sequence that is a multiple of 8 beats long.

The arp modes represented by keys 4-8 are randomized. In the first two (keys 5 and 6) the note wanders up and down randomly by one step, or stays where it was, with equal probability. The last two arp modes (keys 7 and 8) are completely random. The reason for having two variants for each of the random modes is that the second one (key 6 or 8) will not re-trigger the note, if it's the same as the previous one (which would result in a prolonged sound). The choice is yours! You get to decide what kind of pattern you're looking for.

While the arpeggiator is running, you can use the bottom row keys to turn individual notes on and off (resulting in a shorter arp sequence). This configuration is stored as part of the patch too - it is kept in persistent memory with the rest of the patch data – as long as you've saved the patch (by long-pressing SET and then choosing a bank by turning the left encoder, and pressing the key that corresponds to the slot where you want the patch to be stored).

The arpeggiator is switched off by exiting the ARP menu using SET key, as opposed to SHIFT key. To turn the arpeggiator off, use the SET key when exiting from the ARP menu. To turn the arpeggiator on again, press SHIFT+ARP, then select a mode, and exit the menu using SHIFT which will leave the arp running.

The arpeggiator can be set to control notes in any layer, this allows you to switch to another layer and play its notes by hand (you have probably noticed that this is how some factory patches are set up). When the arpeggiator starts, the currently active layer determines which notes are supposed to be controlled by it. You can switch between the modes even after changing the active layer (there is no need to go back and forth). To make the arpeggiator switch to another layer, just stop it and start again.


Working with the sequencer

The sequencer behaves similarly to the arpeggiator. The arp plays notes in the specific order that you selected by choosing an arp mode. The sequencer, on the other hand, lets youdefine the note order as you wish, including pauses and prolonged notes.

You can have up to 8 sequences defined in a given patch. Once you are in the sequencer menu (invoked by the SHIFT + SEQ combination, see paragraph "Using the menu"), you can press one of the 8 bottom row keys to start the sequence that is stored on that key, or define a new one. If a sequence is already stored there, it will start running. Otherwise, if there's no sequence stored on that key, you will see the first 4 orange LEDs and first 2 blue LEDs glowing: this means the device is assuming that you are planning to program an 8 note sequence, and is waiting for you to define now many steps you want. By default, 8 steps are expected (4x2). But you can set the length anywhere from 1 to 64 steps, and you can choose a different length for the sequence stored on each of the 8 keys. Use the encoders to change this to anything between 1x1 and 8x8 (64 steps maximum). You will see the blue and orange lights indicating what number you've selected with each encoder. Then use SET to confirm, or SHIFT to cancel and exit from the SEQ menu.

After confirming the required number of steps, start entering notes. Note how orange LEDs count how many steps have you entered so far and blue LEDs show which note was entered (this is the same logic as we used to indicate what is happening while the sequencer plays). Apart from bottom row keys, you can use SET and SHIFT here to enter pause (SET creates one beat of silence) and prolonged note (SHIFT enters a beat where the currently playing bytebeat sound keeps evolving). After you enter the number of notes that you selected, the sequence will start playing back.

It is possible to edit the sequence while it plays, by pressing the notes again at the same time as the note you want to replace - what was programmed previously will be overwritten.

The sequencer is switched off by exiting the SEQ menu using SET key, as opposed to SHIFT key. With SET the sequencer will stop; with SHIFT it will keep running but you will again be able to play notes on top of the running sequence by using the keys.

The sequencer can be set to control notes in any layer. This allows you to switch to another layer and play its notes by hand (you have probably noticed that this is how some factory patches are set up). When the sequencer starts, the currently active layer determines which notes are supposed to be controlled by it. You can switch between the sequences even after changing the active layer (there is no need to go back and forth). To make the sequencer switch to another layer, just stop it and start again.

You can even change the number of steps in an already defined sequence by twisting the encoders right after starting it – you will see the row of blue and orange LEDs that indicates the sequence length change - and then confirming the selection using SET. If you lower the number of steps, it will just play them, but if you increase the number, there will not be enough notes and the device will expect you to program them in again. The side effect of this is that once you have all 8 sequences filled in, and you want to replace some of them with a shorter sequence, there isn't a handy way to re-program it again from scratch, instead you'd need to update it while it plays. For this reason, service command 7777777x was added which allows you to permanently delete a sequence (see paragraph "Factory reset and other special commands").


What the encoders do while ARP/SEQ is running

The right encoder does the same thing in arpeggiator and sequencer: it controls what we call the "octaves" range (we used quote marks because this feature does not always behave precisely like octaves). In some other type of synthesis, changing the octave may be achieved by halving or doubling the frequency (e.g. in FM) or bit rate at which the sample is played back (in sample‑based synthesis). But in this bytebeat engine it is the size of grain that is halved or doubled. That will definitely change the sound, but it may or may not change the perceived pitch. But so as not to not to limit this mechanism to octaves, and instead let it produce more interesting results, we allow other multipliers and dividers than just powers of 2, which would only generate higher and lower octaves. At the lower end (turning the right encoder counter‑clockwise) it goes 2 levels down from the base octave (multiplying the grain length by 2 and 4, which results in the note having a perceived pitch of one or two octaves below. On the other side (turning the right encoder clockwise), the perceived pitch is raised as the grain length shortens by a factor between 2 and 13. So, you can get one octave up (grain length is halved), then major fifth from there (one third), then two octaves up (one quarter), then up by major third (one fifth of the default grain length), and so on. Be ready for surprises!

The current octave setting is indicated by blue LEDs: 2nd and 3rd one mean two or one octave down, 4th LED is base level, and going further up is indicated by the upper 4 blue LEDs (first time around glowing, later blinking).

Both sequencer and arpeggiator can be set to either stick to one octave or to cycle through a range of octaves. As you turn the right encoder up and down, internally the highest and lowest point which you have reached is remembered, and then used as boundaries between which the sequencer and arpeggiator operate. The end result then depends on a particular arp mode that you selected, for example in Up, Down or Up-Down arpeggiator modes the octaves follow accordingly, and in random modes they are changing randomly too (in sequencer, this logic is controlled separately by left encoder, as explained below).

If you want to get a narrow range, hold SET key while turning the right encoder; both upper and lower boundary pointers will be reset to the chosen octave. You can then release SET and push one of those pointers further. Alternatively, if you hold SHIFT while turning the right encoder, one of the pointers will remain fixed at the base octave (depending on whether you go upwards or downwards from there); this is a quick way how to set for example a range of 0 to 4. This all may sound complex when reading about it, but it will start making sense once you try it.

The left encoder in the arpeggiator enables repeating of notes at higher octaves. It can be set to a value between 1 and 8 and the chosen value is indicated by corresponding blue LED. At a very fast tempo, this setting can be used to create interesting chiptune‑like effect.

In the sequencer, the left encoder selects one of the 4 octave modes: Up, Down, Up-Down and Random. This of course only has any effect if more than one octave is enabled (i.e. the octaves range is wider than a single multiplier). The default mode is Up. Selected mode is indicated by first 4 blue LEDs.


Setting the tempo

This can be done simply by turning the left encoder while holding SHIFT. But there is also a way to set it to a precise value.

While the sequencer or arpeggiator is running, orange LEDs indicate the step you are on, and blue LEDs indicate the notes that are triggered. While you are adjusting the tempo, only orange LEDs keep blinking. At this point you can press one of the bottom row keys to set tempo to a desired value: from left to right, those keys represent 60, 80, 90, 100, 120, 130, 140 and 150 BPM.

So, for example to set the tempo to 90 BPM, hold SHIFT, twist the left encoder a little, then press the 3rd key (and only release the SHIFT later). But it is not limited to those 8 values: you can also use the right encoder to multiply or divide the tempo by 2. For example, to set it to 75 BPM, select 150 BPM first (8th key) and then twist the right encoder one step counter-clockwise. Or, to get 200BPM, select 100 (4th key) and then twist right encoder one step clockwise.


Configuring the delay

This option is accessible under the SHIFT + DEL combination (see paragraph "Using the menu"). Once you are in this menu and 7th blue LED is blinking, you can use the bottom row keys to set delay to a few pre-defined values. From left to right: 1.5 sec, 1 sec, 2/3 sec, 1/2 sec, 1/4 sec, 1/6 sec (reverb) and 680 samples (flanger). The very last, 8th key, turns the delay off. The right encoder browses through these values, blue LEDs indicating which one is active.

The delay is not limited to these few values - you can set it to any arbitrary length using the left encoder. Keys and encoders are handy to use in combination with each other, for example you can click the 6th key to get to the reverb range, or 7th key for flanger, and then adjust the delay length further using the left encoder.


Adjusting the volume levels

Press SHIFT + VOL (see paragraph "Using the menu"). There is one "master" volume which also controls the first layer (bytebeat), and then two independent relative volume settings based on the master level for higher layers. These set the volume for the wavetable and sample‑based sound engines relative to the first layer.

This means that you can adjust the output as a whole, or change how loud the wavetable and sample‑based layers should be relative to the bytebeat layer. There is a single volume for wavetable layers (2nd to 7th) because only one of them can be active at the time. All three volume values are stored in persistent memory, so they are kept while the unit is powered off. The master volume is stored independently, while the higher layer volumes are stored as a part of each patch - this is handy because it allows you to set all the layers in a given patch so that they sound good together, then easily adjust the master level when needed.

Volume is changed either by clicking a key or by turning the right encoder. The active layer determines which one out of the three volumes is affected (master volume at 1st layer that affects output from all layers, or relative volumes of higher layers). Please keep in mind the difference between "active" and "enabled" layer; active is the one you are working on (indicated by blinking blue LED in LYR menu), while one or two higher layers may be enabled at the same time so that they emit sound too (indicated by a glowing blue LED while you are in the LYR menu).

To prevent accidentally triggering loud sounds by pressing a wrong key, the setting will not immediately jump to a higher value than one step at the time. Changing the volume downwards happens immediately, without any such limitation.

Technical note: The output DAC has 8-bit resolution and no analog gain controls. Internally the volume is adjusted by bit-shifting the output data, therefore the difference between the lowest and highest level can be as much as 28 (which means that the loudest signal can be 256 times stronger than the quietest, or perhaps we could say it can go up to 48dB above the noise level). In other words, please take care to use an external volume control to protect your ears and speakers.


Configuring the light sensors

While the unit is playing, the left light sensor usually controls the start point of each grain and the right light sensor controls the grain length.

Sometimes you may want to turn the sensors off, mainly when there is not enough ambient light, because if you don't, the pitch of the notes will be completely inaccurate. If you find that factory patches sound way out of tune, this may be the case. The sensor related settings (including the range adjustment, which we will get to later) are stored in the persistent memory as a part of each patch. Some will have a sensor or two on by default, but others will not. After powering on, only the right sensor is active - the one that changes grain length (or effectively the pitch, if the grain is short enough).

To enter the sensor settings menu, use the SHIFT + SET combination (no need to hold it for two seconds, as opposed to the service menu mentioned below). Afterwards, you can use keys 4 and 5 to enable or disable left and right sensor respectively. If the corresponding blue LED light blinks, it means the sensor is active. If it glows, it means the sensor is inactive. You can also press keys 1-3 and 6-8, which will further modify the "intensity" in which the sensor affects the associated parameter (the farther from the centre the key you press = more intensive influence). Typically, the left sensor shifts grain start, while the right one alters grain length. They do something else in higher layers, and can be turned on or off there independently too in a similar manner (this is explained in more detail in the paragraph about wavetable layers).

In addition to just turning the light sensors on or off, you can change the range in which they react to ambient light. This may be useful if you play with the T-APE under artificial light, which is a lot weaker than daylight. You may not have noticed this, because our eyes can easily adapt to the light levels in wide dynamic range, so that we can see things almost the same way no matter what the ambient light levels are - day time or evening - but the electronic sensors can only measure the absolute value. This means that when the light levels are low, it translates into the light sensors triggering only a very narrow slice of the whole range of possible values. Once you are in the sensor settings menu, you can use the left encoder to change "base" and "multiplier" values which then influence how much light is required to for example get the note pitch up by one octave (i.e. to halve the grain length). This sounds complicated, but if you experiment, you will probably find the settings that work well for you. If you ever find the light sensors reacting less than you think they should, please try adjusting the sensitivity.

To exit from the sensor settings menu, press SHIFT.

Troubleshooting note: The light sensors are passive photoreceptors, unlike the active infra-red reflexive or laser-ranging (TOF) type which you might find in our other devices (Loopsynth, Don Iguano) or in mobile phones and such. Therefore they react to intensity of light and the shadow of your hand, rather than the proximity of your hand to the sensor. If something does not seem to work, try the 3333 test command (mentioned below) to check if they react well under the light conditions in your room. This test works at a lower level, regardless of the sensor settings.


Bytebeat formula, bitrate and variables

These options are accessible under the SHIFT + FRM / BIT / VAR combinations (see paragraph "Using the menu"). In the beginning (i.e. after powering on) the bottom row keys have 8 pre-defined bytebeat formulas associated to them by default. By pressing individual keys you can trigger a different formula and hear the sound that it makes. The bitrate for each formula is set to the default value and variables v0-v3 are all set to zero.

The eight formulas pre-programmed in your T-APE are:

  1. s = t*(t>>(11)&t>>(8-v0/5)&(123-v2)&t>>(3+v3/10))*(v1+1);
  2. s = (t*(t>>(5-v0/20)|t>>(8-v1/20)))>>(t>>(16-v3/10));
  3. s = t*((t>>(12-v0/10)|t>>(8-v1/2))&(63-v2)&t>>(4+v3/8));
  4. s = t*((t>>(9-v0/10)|t>>(13-v1/8))&(25-v3/4)&t>>(6-v2/20));
  5. s = ((-t&4095)*(255&t*(t&t>>(13-v0/10)))>>(12-v1/10))+(127&t*(234&t>>8&t>>(3+v2/10))>>(3&t>>(14-v3/10)));
  6. s = (t*(t>>(((t>>(9-v1/10))|(t>>8)))&(63-v2/2)&(t>>(4+v3/10))))+((t^(t>>8))|(((t<<3)&(56-v0/2))^t));
  7. s = (v0+1)*t*t*~((t>>(16)|t>>(12))/(v2+1)&215&~t>>(8+v1/2))/(v3+1);
  8. s = t*((t>>(14-v1/7)|t>>(9-v0/11))&(92-v3)&t>>(5+v2/10));

The credit for most of these formulas belongs to Viznut a.k.a. Ville-Matias Heikkilä and friends, some of them have been tweaked or combined together. A great overview of this subject with the theory explained can be found here.

In the FRM menu you can change the formula for the key which is currently playing (i.e. the last one triggered) by pressing one of the bottom row keys. The corresponding blue LED at the top of the device will light up briefly to confirm the change.

In the BIT menu you can change the bitrate for the key which is currently playing using the bottom row keys or the right encoder. This changes bitrate divider in the range from 1 to 8 (smaller divider = faster bitrate).

There is a separate bitrate for the left and right channels. Thanks to the self-repeating nature of the bytebeat function this creates interesting stereo effects. Normally the bytebeat in your right ear has the bitrate set to one half of what plays in your left ear. You can use the left encoder to change this ratio to anything between 1:1 (monophonic), 1:2 (default stereo), 1:3 and so on, down to 1:8.

This parameter does nothing in layers 2 to 7 but in layer 8 it lets you control the sample playback speed.

In the VAR menu there are four variables to adjust. Select one of them using the bottom row keys 1-4. The corresponding blue LED at the top of the device will light up briefly to confirm the selection. Alternatively, you can use keys 5-8 to select a variable and reset it to default (this is useful for example if you stray to the territory which does not emit any interesting sound).

Once a variable is selected, use encoders to tweak it. The left encoder adjusts the variable in a coarse manner, the right allows you to fine tune it.

To exit from any of these menu items, press SHIFT again.


Working with higher layers

This option is accessible under the SHIFT + LYR combination (see paragraph "Using the menu"). The T-APE can store and play back up to 3 layers of sounds and sequences, including a bytebeat layer, one out of the six layers of wavetables (as only one can be active at a time) and a sample‑based layer. By default only the first, bytebeat layer is active. If you enter the LYR menu immediately after powering on, you will see the 1st blue LED blinking, but once you load a patch, depending on its layer configuration, you may see something different).

By clicking bottom row keys while you are in the LYR menu, you can enable or disable the layers. A blinking blue LED indicates "active" layer - it is the one which you are currently working with, and to which commands from other menus will apply when you manipulate them. The most recently enabled layer becomes active. If you disable the previously active layer, one of the remaining layers will become active. The last remaining layer cannot be deactivated because at least one must remain active - but any of the existing layers can be the active layer.

Glowing blue LEDs indicate which of the eight layers are currently enabled to emit sound. Only one of the wavetable layers (2nd to 7th) can be active at a time. To disable an active layer, click the key once. To disable an inactive layer, click the key twice (since the first click will activate it). This all may sound complex when reading about it, but should be intuitive once you try it and see how the LEDs blink. Try going into the LYR menu and turning some layers on and off.

The functionality isn't the same in all layers: while sequencer, arpeggiator or volume settings can be used anywhere, some other menu items only apply to certain layers. FRM (formula) and VAR (variables) only makes sense in the bytebeat layer, BIT (bitrate) can be adjusted in bytebeat and sample‑based layers (where it lets you to control sample playback in wide range of ways). DEL (delay) is a global setting, as it is applied after mixing signals from all enabled layers together, so it is accessible in all layers. Because it is a global setting, the delay settings cannot be set individually for each layer. Any change you make to the delay settings from any layer will affect the same global settings for the entire patch.


Wavetable layers

In addition to the bytebeat, on layers 2 to 7 there is wavetable sound engine with a few waveforms to choose from. These are accessible under the SHIFT + LYR combination (see paragraph "Working with higher layers"). Only one of the six wavetable layers can be active at a time, but this does not mean that any layer is limited to the particular waveform; you can assign different waveform to each key individually.

Immediately after powering on the wavetable layers are configured as follows:

  • Layer 2: sine wave
  • Layer 3: saw wave
  • Layer 4: square wave
  • Layer 5: complex wave (mix of cosine and 4 saw waves with different timing)
  • Layer 6: periodic noise (a short repeating slice)
  • Layer 7: white noise (pseudo random, non-repeating noise)

The "SET + left encoder" (turning the encoder while holding SET) allows you to change waveform for the recently triggered key.

The left encoder in layers 2 to 6 changes the octave. In white noise layer 7 it controls envelope duration.

The right encoder in layers 2 to 6 allows you to tune individual notes by ear. In white noise layer 7 it applies high-pass filter.

All of these changes are applied immediately, there is no need to confirm or save anything (unlike the bytebeat layer where you need to press SET twice).

It is also possible to copy the parameters from one key to another. If you press SET once and then press some of the lower keys, all parameters are copied from the key that was last triggered to the new key. This allows you to continue modifying the sound, and keep both variants, each on their own separate key.

Light sensors in wavetable layers 2 to 6 are configured independently from the settings in bytebeat layer. The right sensor can be enabled to control pitch (using the SHIFT + SET and then key 5, see paragraph "Configuring the light sensors"), while the left sensor (SHIFT + SET, then key 4) temporarily cycles through all waveforms when triggered (except the white noise waveform). In layer 7, the light sensors do not have any effect.

Using light to influence wavetable sound engine is not very practical while playing the keys manually, however it can produce interesting results in combination with arpeggiator or sequencer.


Sample-based layer

The sound engine on layer 8 (accessible under the SHIFT + LYR combination, see paragraph "Working with higher layers") can replay samples stored in Flash memory and slice them in a similar manner to how the bytebeat engine works. Your T-APE comes preloaded with 500kB of animal sounds, while 2MB space is available in total.

The bottom row keys are set to a starting point of each animal voice, and the length of each sample is set accordingly. This can be changed using the left encoder (start position) and the right encoder (end position / sample length).

It is possible to change the bitrate too (SHIFT + BIT, then use bottom row keys or the right encoder). This parameter has a wider range of values than in the bytebeat layer (try to keep turning the right encoder clockwise).

It is also possible to copy the parameters from one key to another. If you press SET once and then press some of the lower keys, all parameters are copied from the key that was last triggered to the new key. This allows you to continue modifying the sound, and keep both variants, each on their own separate key.

These demo samples were obtained from ZapSplat.com, royalty free music & sound effects website.

Custom samples can be uploaded using a Python script supplied by manufacturer of the ESP32 microcontroller used in t-ape. It is not the handiest way because you’d need to install the ESP-IDF framework, eventually we should have a utility for this. The sample format should be 32kHz 8-bit signed or unsigned. You can use service commands 33333331 (signed) or 33333332 (unsigned) to configure it accordingly.


Factory reset and other special commands

And finally, let's go over some housekeeping and other commands to keep your T-APE working smoothly at all times.

Sometimes we need to go back and start all over. To reset the entire machine to its factory default settings, you need to enter the "service menu" first. That is done by holding the SET + SHIFT combination for two seconds (press SET first, then add SHIFT, then hold them for several seconds, until all the LEDs go out). If you press both at the same time you may arrive in the light sensor settings menu instead. When you see all the LEDs go out, that means that the device is waiting for a command. The command is just a number that you can key in using the bottom row of keys as if they were numbered from 1 to 8.

For example, the "factory reset" command is invoked using sequence 54545454. To confirm the command and execute it, press SET after entering the sequence of numbers. If you make a mistake, or change your mind, you can press SHIFT to exit the menu without doing anything. Blue LEDs indicate which key you pressed last, and orange LEDs count how many numbers were already entered. If you key in a nonexisting sequence by mistake, you might invoke a portal into an unknown universe. Just kidding: nothing bad will happen.

If you just want to recover the unit from a state where some settings strayed far away from default values (and it's hard to tell what is going on and how to return them back), consider using the above command instead of the "clear all" sequence 87654321. As all settings (except the master volume) are stored as part of the patch, you may just need to delete the broken patch.

There are a few more commands hidden in the service menu - things that do not need to be used too often, so they did not deserve a place in any other menu.


  • 88888888: delete most recently loaded patch. This is helpful if you save a patch and then decide it is not quite as brilliant as you thought it was. The patch will be erased from the memory, but it will keep playing until you load another one or power the device off and on again. If you continue to work with the patch and come up with something you are happy with, you are able to save the patch into the slot you just deleted it from, or any other bank or slot. Just reminder to find a patch slot that doesn't yet have a glowing blue LED, unless you're sure you want to overwrite one of your existing patches.
  • 7777777x: delete one of the sequences associated with the patch. The last number represents which sequence to delete. This will alter the data stored in the patch slot, but will not remove the sequence from the currently playing patch, so if you want to continue working with the version of the patch with that sequence deleted, you will actually have to long press SHIFT, go to the patch slot that is blinking, and reload it by pressing the corresponding key. This may be useful once you fill all 8 sequence positions in the patch and you want to get rid of some of them completely instead of just updating it, as it might be easier to do this way. Note that there is a separate memory space for sequences reserved in each patch, so there can be 64 x 8 sequences stored in total, each with up to 64 steps).
  • 87654321: clear all data and run self-test. Unless you believe there is a hardware problem with your unit, do not run this command. It will erase everything - all settings and patches, including their sequences. The device will then enter a "self-test" mode, where you need to press all keys, turn encoders and test light sensors too by exposing them to enough light and shadow. Afterwards, it is back to the normal operation. This will not erase the backup copy of all this data that is stored in the machine. You can still perform the factory reset and restore everything back as it was when the device was new.
  • 5555555x: change how reactive the encoders are. By default, two internal steps are needed to count as a change in the encoder. You can set this value to anything between 1 and 8 (smaller number = more reactive, larger number = more twisting required to get the same result). This setting is kept in the persistent memory until you perform factory reset or settings reset. So, if you find the encoders too sensitive, try running command 55555554 which will make them half as sensitive as the default setting.
  • 4321xxxx: reset higher layers. This command comes in 3 forms: 43212222 to reset all wave-table layers (2-7), 43218888 to reset the sample‑based layer (8) and 43212288 to reset all of them at once (2-8). It might be useful in case you stray too far from default settings and want to restore them.
  • 3331: show firmware version. you should see the first orange and the last blue LED glowing, which indicates version "1.1". This might be useful in future to find out which firmware is in your unit.
  • 3333: light sensors test at the hardware level. While you are in this mode, orange LEDs light up when the left sensor is covered (receives less light), blue do the same for the right sensor. By default they are tuned to daylight, indoors level. You should get the whole range, between all LEDs off when fully illuminated, to all LEDs glowing when sensor is entirely covered. There is an option to adjust the range to the levels that are useful to control the sound engine (as mentioned in the sensor settings menu), but this test works on a lower level and it is not influenced by those settings - rather it displays the full range of the voltage signal coming from the sensor. To leave this mode and go back to normal operation, press SHIFT or SET key.


Big thanks to Christian Huygen at Esoteric Music Machines for checking and editing this guide, visit his YouTube channel for great videos about Ellitone e[64], Gotharman TLD Tiny Little Deformer and more cool stuff!

t-ape manual

Have you lost your manual?

Don't worry: here it is.