From O|D Wiki
< ER-301
Revision as of 20:24, 3 November 2019 by Odevices (talk | contribs) (SD Cards)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search



Why does the ER-301 exist?

The ER-301 is a voltage-controllable canvas for digital signal processing algorithms. One of the many characteristics that attracted me to modular synthesizers is that they enabled me to make the kind of music that I love away from the computer. However, not all digital audio tools can be elegantly and efficiently realized in a dedicated hardware form. So, I either had to deny myself those tools, or, go to the computer. The ER-301 is the culmination of 2 years of sweat and tears spent creating a third option.

What previous work inspired the design of the ER-301?

Answer coming soon from Brian!

Is the ER-301 a sampler?

The ER-301 is much more than a sampler and should be thought of as a Sound Computer capable of a wide variety of audio processing tasks, this includes a suite of sampling tools that can record, slice, play back and mangle audio up to 24-bit at 96kHz.

Does the ER-301 generate audio and CV?

Yes and no. Internally, there is almost no limit to the types of signals that can be generated. However, the ER-301's outputs are AC coupled so that slowly changing signals (<2Hz) will be attenuated. In other words, you cannot use the ER-301 as a sequencer or LFO.

Is the module officially released?

The ER-301 hardware is mature (revision 7), but the software is still under development and should not be considered mature yet. Some might call this the "pioneer edition" [sic]. There is still a lot of work to do and there will be bugs (hopefully minor ones) until the first official release. Therefore, if you are thinking about purchasing the ER-301 but do not have the patience for an occasional bug and some half-implemented features, then I would suggest waiting until the official release before purchasing.

Addendum (November 13, 2017)
The question of whether the ER-301 is out of beta or not has become kind of irrelevant. Instead there has been a pattern of frequent unstable releases to introduce new features followed by periodic stable releases for fixing bugs which I expect to continue for awhile. Stable releases are published here:

The list of known bugs and features that still need to be implemented are listed here:

Those who prioritize stability over features should use the stable releases while those who want access to the latest features would use the unstable releases.

Why does the 301 have only one knob?

Knob is perhaps understating it a little bit, it's actually a custom-made optical rotary encoder rated up to a million cycles. Ergonomically speaking the size, position and physical context make it the primary data entry tool that you will use, in combination with the surrounding buttons, to create your patch. Typically you would use the interface controls (the knob and the buttons) to program your patch and then connect other control modules to 'play' it. See "Do I need any other modules to use the ER-301?" for further information.

Why is there no CV output?

The ER-301 is designed for audio, not CV. Even though there are many ways to use and manipulate control voltages inside the ER-301, it is not possible to send these signals to the outputs and expect them to behave correctly.

Getting Started

How do I get started?

Getting Started is a list of resources that may help you get started on your journey with the ER-301. Furthermore, the forum has many friendly, helpful and knowledgable people who share ideas, ask/answer questions and chat about the O|D modules every day.

Do I need any other modules to use the ER-301?

Very early on in the ER-301 design cycle, I decided that the ER-301 was not going to try to be the "playable" interface as well as the "programming" interface. A wonderful aspect of modular is that as a designer you can rely on the fact that the user will be using your module in the context of many other modules. So you can concentrate your efforts and avoid diluting the interface with too many tasks. The ER-301 can be programmed in such a way as to allow tight, high-quality control from any modular CV controller. Simple CV sources like offsets, joysticks, and pressure pads pair really well with the ER-301, as do sequencers and LFOs. There should be no problems with matching voltage levels because gains, offsets and thresholds are configurable. There is even a programmable gain stage before the ADC. The ER-301 is not a groovebox and must be incorporated into a modular patch to reach its full potential.

How do I use the ER-301 as a drum machine?

One approach would be to create a stereo chain and add a Mixer Unit for each drum sound you want to use. This will allow multiple sounds to co-exist on the same chain and provide control over volume and pan. Inside each Mixer Unit add a Sample Player Unit (or a Native Player Unit if you don't need to re-pitch), load a one-shot sample, insert a slice right at the beginning and then trigger the sample either using the 'fire' button or by mapping an external trigger to the trigger input. Repeat for each drum sound.

Discover more approaches to creating drum machines on the O|D forum:

Forum: Using the ER-301 as a drum machine

How do I patch up a traditional synth voice?

There is a tutorial covering the basics here:

How to build a simple synth voice

This is just to get you started; the ER-301 is capable of much more.

Can the ER-301 do <insert feature here>?

The core idea of the ER-301 is that a full complement of discrete units are available that may be patched in a similar way to your physical modular synthesiser. If you have an idea and want to know if it is possible the best place to ask is on the O|D forum, it may even have been done already. The people there are knowledgable about modular synths in general and often have bright ideas about how your idea may become a reality. In addition to this Brian from O|D is always looking out for new use cases and your idea could influence the development of the module in such a way as to make implementing it possible.

How do I save and backup my data?

There are three levels at which your work can be saved: the entire state of the ER-301, chains and units.

The entire state of the ER-301 can be saved as a 'Quicksave'. Press and hold SHIFT and then press M1. Scroll to an 'Empty slot' and press S1 to save.

The chain presets save all the units (and any of their sub-chains) that are in the chain. Navigate to the head of the chain e.g. OUT1, the commands Clear, Load and Save will be displayed in the small screen. Press Save (S3) to start the save procedure. Navigate to the folder where you would like to save your chain, create a new file by pressing New File (S2), enter a file name and press the Enter button to complete the save.

The unit presets save the state of the unit along with any of its sub-chains. Navigate so that the cursor is above the unit you wish to save. Press the M* button directly underneath the unit to reveal the unit menu. Press the M* button underneath the Save Preset menu option. Navigate to the folder where you would like to save your chain, create a new file by pressing New File (S2), enter a file name and press the Enter button to complete the save.

Full details regarding persistence are available on the wiki page:


What if I have a problem with my ER-301?

First, please check the troubleshooting page for possible solutions: Troubleshooting. Once you have exhausted this resource then try posting your problem on the forum or contacting me via email.


How do I update the ER-301 firmware?

Comprehensive instructions are provided in the O|D wiki pages here:

Update Firmware

When is the next firmware update due?

There are two firmware paths to follow depending on whether you prefer to use a stable release with fewer features, or are happy to take risks to experience new features and don't mind bugs and occasional crashes which could potentially result in losing your work.

Stable releases are less frequent and historically they have been released approximately every 3 to 4 months.

Die hard bleeding edge firmware updates are posted to the O|D forum on a regular basis, typically there is a big update once a month that introduces new features and then smaller updates that eliminate any bugs that appear.

Where do I download firmware updates?

The Release Notes page will always be updated with a download link for the latest stable release and a link to the current development forum thread where you can download the bleeding edge release:

Release Notes

Where are the firmware changelogs?

The changelogs for the stable releases are published on the Release Notes page. The changelog of the unstable (development) version is maintained in the first post of its discussion thread over on the [https:/ forum]. The link to the most current firmware discussion thread can also be found on the Release Notes page.

How do I install an earlier version of the firmware?

Switching to an earlier version of the firmware is accomplished by using the usual procedure for firmware update. However, going back-and-forth between firmware versions is at-your-own-risk due to potential backwards incompatibility of save data. In other words, older firmware may not be able to load (and in fact might freeze) when attempting to load save data created by a newer firmware version.

Warning! There is a possibility that quicksaves and presets made with newer firmware versions are not backwards compatible. So to be safe you should make a copy of your ER-301/sc directory before switching firmware.

What is the expected latency?

In theory, latency of <2ms is possible. In practice, because of the resampling pipeline on the inputs (60kHz downsampled to 48kHz), the latency is ~9ms with the 48kHz firmware and ~5ms with the 96kHz firmware.

It is anticipated that latency will be optimised in a future firmware update.

Forum: Discussion about and experiments with latency

What is the difference between the 48kHz and 96kHz modes?

The 48kHz vs 96kHz native processing rates determine the rate at which the CPU will produce samples for the DAC. This means the 96kHz firmware will use about twice as much CPU as the 48kHz firmware when doing similar things. A corollary is that the sample rate of an audio file's encoding will not impact CPU usage during playback because audio data is always resampled on-the-fly to the native sampling rate.

How do I report a bug?

Please report any bugs to the forum and include the following information where appropriate:

  • Firmware version and sample rate i.e. 48kHz or 96kHz
  • A description of the problem e.g. I am experiencing a crash
  • The steps taken to create the conditions in which the problem occurs
  • Whether the problem is repeatable or intermittent
  • Any supporting files e.g. the patch you are working on, a screenshot or an audio recording of the problem

If you are working with an unstable version of the firmware then it helps if you could post your bug in its discussion thread.

Release Notes

As many updates are made throughout each release cycle it is worth making sure you are up to date with the current firmware and the bug has not already been resolved.

What is the operating system?

The ER-301 uses a real-time operating system (RTOS) called TI-RTOS (which used to be SYS/BIOS).

How do I program the firmware?

This functionality is not available yet. When the SDK is released, however, third party development will be very welcome. See the Firmware SDK section of this FAQ for more details: Firmware SDK


What kind of hardware does the ER-301 use?

The ER-301 is built around a user-replaceable System-On-Module (SOM) that utilizes a single-core ARM Cortex A8 processor clocked at 1GHz and paired with 512MB of RAM. For full details of the surrounding peripherals and overall hardware architecture please refer to the following diagram:

ER-301 hardware architecture

What are the physical dimensions of the ER-301?

The ER-301 is 30hp and about 3cm deep including the power header.

How do I know which revision my 301 hardware is?

Everyone has the same hardware revision: revision 7. It is silkscreened on the back.

How do I know how much CPU I am using?

You can see CPU and RAM load by putting the STORAGE switch to 'admin' (middle position) and the MODE switch to 'scope' (fully down position). In short, this selects the "admin-scope".

How do I reduce CPU usage?

This is a complex question with a wide variety of possible answers. One way to reduce CPU usage is to make sure you are using the appropriate sample player for your needs. For example, you can replace the relatively expensive Sample Player unit with the Native Player unit but since the Native Player does not perform resampling (on-the-fly) you will need to prepare your samples beforhand to match the processing rate of the firmware that you are using (48kHz or 96kHz). Another way to reduce CPU usage is to remove any units you are not currently using, or turn on the disable-unit-when-bypassed setting in Admin>Settings. Another way is to use Global Chains to reduce redundancy: If one Sine Osc or ADSR can be used to modulate many different parameters than place it in a global chain and access its output from the globals section of the source selection menu.

A chart to present the CPU usage of each unit is planned.

Forum: Tips for more efficient use of the ER-301 CPU and memory

How do I upgrade the SOM (System On Module) to get more CPU/RAM power?

There is no upgrade path available at the current time. Upgrading the SOM may be a possibility in the future as new technology is developed. The user upgradeable part of the hardware is the red CPU/RAM board on the back. When an upgrade becomes available, you would pull off the old CPU/RAM board and push on the new one.

Forum: User replaceable CPU discussion

How do I adjust the screen brightness?

Adjusting screen brightness is not possible. Lighting conditions and camera exposure settings account for any differences in screen brightness you may see in videos and photographs.

How do I use MIDI or control information other than CV with the ER-301?

To control the ER-301 with MIDI you will need to use a MIDI to CV module e.g. Shuttle Control or Mutable Instruments Yarns.

Forum: i2c communication with Monome Teletype

Why are the LEDs not accurately representing my input?

This is a cosmetic bug. The LEDS are being updated in the graphics thread at around 50Hz, which means they look at the signal once every 20ms. So it is expected that they will often miss short triggers. The solution is to low pass filter (cutoff at 25Hz) all of the ABCD inputs before the 50Hz sampling but I'm really not thrilled about throwing an extra 12 low pass filters into the audio thread just for the LED sampling. I must find a better way!

Forum: LED matrix and pulse width

Is there an expander planned for the ER-301

Officially no expander is planned for the ER-301.

This may change in the future, but you should not buy the ER-301 and expect this to happen even though there is some discussion about this on the forum:

Forum: ER-301 Expander

Installation and Power Requirements

What is the current draw of the ER-301?

Please refer to the wiki page on Power.

Should I use the BUS setting for power?

It is recommended to use the REG setting instead because this has all the power rail protections. The BUS setting does allow you to tap your case's +5V rail for potential power-savings but the downside is that there is ONLY reverse voltage protection and NO over-voltage protection. So if you short the +5V and +12V rails together somehow, you might damage the CPU board which is fortunately user-replaceable. For more details please refer to: Power.

Inputs and Outputs

What is the gain on the IN1-4 inputs?

The only setting currently available is 0dB (bipolar) which yields an input range of about -7V to 7V. However, there is a programmable analog gain stage whose configuration will be exposed in an upcoming firmware udpate. These are the options that will be available:

gain (dB) polarity min (V) max (V) comments
+0 bipolar -7.00 7.00 default setting
+6 bipolar -3.50 3.50
+12 bipolar -1.75 1.75

In the mean time it is possible to boost the signal level internally, however this will result in equivalent bit rate reduction. This might be quite nice or totally unsuitable depending on your needs.

Further details are available here: Front Panel: INx Inputs

Are the IN1-4 inputs suitable for line level audio?

The IN inputs are designed for use with modular level signals but at some point in the future the additional gain staging options will be made available which will be suitable for line level signals.

Are the IN1-4 inputs suitable for CV?

Yes and no. The IN inputs are DC-coupled so they will accept a wide-range of signals from DC to over 20kHz. However, the IN inputs also have anti-aliasing filters that make them ideal for wide-band audio but whose gains are not calibrated accurately enough for pitch duties. So, in other words, you can use these inputs for just about anything EXCEPT pitch CV (1V/oct). For pitch CV, please use the ABCD matrix inputs.

You can find further details here: Front Panel: INx Inputs

How do I plug a guitar or microphone into the ER-301?

You need to use a preamp to bring the signal level up to modular levels.

Forum: How to plug a guitar into the ER-301

What are the G1-4 inputs used for?

Typically these inputs are used for gate or trigger signals, but they may also be used for unipolar CV.

You can find further details here: Front Panel: Gx Inputs

Are the ABCD inputs suitable for audio input?

Yes. The ABCD inputs have the same resolution (both bit-depth and sample rate) as the IN1-4 inputs. The only difference is that the IN1-4 have an extra stage of anti-aliasing low pass filters.

You can find further details here: Front Panel: ABCDx Input Matrix

What is the input impedance?

All inputs have impedances that exceed 100k ohms at DC.

Do the Landscape All Flesh work with the ER-301?

Yes, they work well. Please check your work with a continuity tester to make sure there is no short circuit before plugging in.

Forum: Landscape AllFlesh into ER-301

Is it safe to plug the outputs of the ER-301 directly into line level gear?

The gain staging on the outputs is not programmable. It's purpose is to bring the raw DAC outputs up to modular levels (along with some additional filtering as required by the DAC). Since the outputs are 24-bit there is more than enough dynamic range to digitally attenuate down to line levels without any noticeable degradation.

Does the ER-301 output CV?

The ER-301 cannot pass DC (i.e. constant or slowly changing voltages) because the outputs are AC-coupled and intended for audio output only.

Here is a scope shot of a 10Hz square wave (from Z3000) going into the IN1 channel through a VCA Unit (level set to 1.0) and out the OUT1 channel:

Yellow is the input, green is the output.

What happens to DC signals

Forum: Why is V/oct output from ER-301 not working?

If you really need to output a CV from the ER-301, Joe from the O|D forum has devised a solution that may work for you:

Forum: Getting CV out of the ER-301

SD Cards

Does the ER-301 come with SD cards or do I need to buy them?

All the necessary SD cards come with the module. You don't need to buy them.

What SD card should I use?

If you would like to use another SD card, I recommend at least speed class 4 (C4) for the rear card and at least speed class 10 (C10) or UHS Speed Class 1 (U1) for the front card. You will probably need at least UHS Speed Class 3 (U3) to record 6 tracks of 96kHz audio at the same time.

Wikipedia Secure Digital Speed Class Rating

Does the SD card need to stay in after you load a sample or preset?

Usually the SD card on the front of the ER-301 should stay in place, this is to give you access to all your samples and preset data. In most cases it is possible to eject the card while the ER-301 is in use but there are exceptions, e.g. if you are using the Card Player that streams data from the SD card directly. For further details please refer to the wiki here:

Front Panel Storage Switch

Do I need to keep a copy of the firmware zip file on the SD card?

You do not need to keep a copy of the firmware zip files on the front panel SD card as the files contained in these zip files are extracted and installed the SD card on the rear of the ER-301. They don't take up much room and you may find it useful to keep them there.


Is there a list of patching recipes?

Yes. It is available here: Patch Recipes

How do I use more than one sound source in a chain?

Create a mixer channel in your chain and place all the units to create your first sound inside that mixer. To add another sound to the chain, return to the top level and next to the first mixer add a new mixer and place more units inside it to create your second sound. Repeat this process to add as many mixer channels with their own sound sources as you would like, or you run out of processing power.

How do I convert a mono input to a stereo output?

Create a stereo chain by changing the channel setup in the admin section, then route your mono input to both Left and Right channels.

How do I switch or morph between unit settings?

Switching or morphing between unit settings is not currently possible.

In a future firmware update the hold mode will enable this functionality.

Forum: Feature request - snapshots

How do I crossfade between two signals?

A crossfade unit is planned for a future firmware update.

In the mean time there are some creative implementations that provide this functionality using currently available units.

Forum: Parallel processing technique for devices without wet/dry

Forum: Automatic Mute Fade

How do I invert a signal?

Setting the modulation gain to -1 will invert the modulation signal coming from below. Setting the bias (which in this case corresponds to the Linear VCA's level) to -1 will invert the unit's input signal coming from the left.

Most unit parameters that can be modulated also have a modulation gain setting. Set this gain to a negative value to invert the modulation signal. Another method is to use a Linear VCA unit with a negative gain.

Forum: how to invert a gate

Are exponential and linear curves available for the ADSR Unit?

Currently the ADSR stages all have a linear shape but future firmware will introduce more curve types. In the meantime, here is a workaround: Patch Recipe: Create an Exponential or Logarithmic Envelope.

Forum: Exponential and Logarithmic Curves

How do I switch from a mono to a stereo chain and vice versa?

Press the ENTER button while the cursor is between two channels to activate stereo mode
  1. Move the STORAGE switch to the admin position.
  2. Select Channel setup from the admin menu by pressing M1.
  3. Move the cursor in-between the two channels you wish to pair.
  4. Press ENTER to toggle between mono and stereo.
  5. Move the STORAGE switch back to the user position.

Warning! Currently changing the channel configuration will clear the chain. To avoid this, save your chain first, switch to stereo and then reload your chain, some reconfiguration may be necessary e.g. assigning mono inputs to both channels of the stereo chain.

Forum: Linking channels without deleting existing units

How do I time stretch a sample?

A special-purpose time-stretching unit for samples is upcoming but in the meantime decent results can be obtained via the Manual Grains unit.

For further details on how to time-stretch with the Manual Grains unit, see ER-301/Neil's Getting Started Videos#Perfectly sweeping a Manual Grain Unit's File Position.

Forum: Manual Grains sample time stretching

Forum: Time stretching a loop to a clock

How do I route multiple external CV sources to one target?

In the target source assignment add two (or more) channel mixers and add your CV sources to each one. Add additional processing to modify your incoming CV source to suit your requirements e.g. a VCA, Limiter or Offset Unit.

Forum: Multiple sources routed to a single mod target

How do I route a single external CV source to multiple chains?

Navigate to each target and assign the same input source to each chain. You may further process the incoming CV to suit your requirements in each target chain.

How do I introduce random signals into my patches?

A noise unit (such as White Noise or Pink Noise) followed by a Sample and Hold unit will generate a random stepped voltage every time the Sample and Hold unit is triggered. An Envelope Follower Unit placed after the Sample and Hold unit may be used to smooth the output.

Forum: Random Unit

How do I route an internal signal from the ER-301 to multiple destinations?

Any signal you create as a Global Chain may be routed to any number of destinations within the ER-301.

Forum: Assign an internal signal from the ER-301 to multiple destinations

What is the default tuning of the built in oscillator units?

The default F0 for the Sine Osc Unit is 27.5Hz. This provides a default handling of 1V/oct with the outside world so that 1V = 55Hz, 2V = 110Hz etc.

Forum: Sine Osc and external tuning

To alleviate the problem of conflicting standards an option to assign a default tuning of A or C (and perhaps others) is planned for a future firmware update:

Forum: Tuning oscillators and default pitch

How do I make an FM synth?

A wide variety of FM synth algorithms may be patched in the ER-301 using the available units. In it's most basic form a two operator FM synth may be made by inserting a Sine Osc Unit into a chain and then using another Sine Osc Unit to modulate the pitch of the first Sine Osc Unit.

Forum: Smooth Operator Through Zero FM Patch

Forum: Creating FM synths in the ER-301

How do I make a kick drum from the Ladder Filter Unit?

Patch Recipe: Create a Kick Drum using the Ladder Filer

Forum: Ladder Filter as a Kick Drum

How do I quantise incoming CV?

The Sample Player Unit may be used as a lookup table for a user defined scale. Joe has produced a video demonstrating this technique on the forum.

Forum: Quantize to scale with probability

How do I create a sample rompler?

Load a single sample that sequentially plays all the sounds you wish to include in your rompler into a Sample Player Unit. Slice the sample so that each slice is positioned at the beginning of each sound. Assign incoming trigger and slice selection CV to the trig and slice parameters of your Sample Player. Choose an appropriate slice addressing mode in the Sample Player Unit. E.g. for the 88 note piano sample provided in the forum link below, set the addressing mode to 12TET.

Forum: Piano 16 - 88 note piano sample custom unit

How do I sync the ER-301?

Use any external clock source as an input to the ER-301. If you do not need to reference an external clock then a Sine Osc Unit (inside a Global Chain) may be used to provide clock to any number of destinations inside the ER-301.

Forum: Can the ER-301 sync

How do I create portamento?

Insert an Envelope Follower Unit on the incoming pitch CV chain.

Forum: Is portamento possible

Which modules may be used to control the ER-301?

There are a wide variety of modules and other control options available, the forum discussion on this subject provides a comprehensive overview:

Forum: Interface modules for the ER-301


Where can I get samples from?

There are many resources on the internet that provide free and paid for samples that you may use in your compositions. Here are some examples:

What is the resolution of the sample slicing?

The precision of slice placement is currently 8 samples.

Technical Details: The internal resolution of this time is naturally down to the individual sample. However the UI doesn't let you pinpoint individual samples (yet) because the maximum zoom is 4 samples per pixel and on top of that the the cursor is moving 2 pixels at a time, so that is a maximum precision of 8 samples from the point of view of the UI. Providing a zoom level where single samples extend further than one pixel column is not difficult at all, but just requires a different drawing algorithm than the algorithm used when multiple samples occupy a single column of pixels.

Is there an auto slicing function on the ER-301?

Not at the current time. A variety of enhancements for slicing audio are planned for a future firmware update.

Forum: Sample player slicing

How do I play a sample in reverse?

Sample slice playback starts from the currently selected slice point and will play in either a forward or backward direction depending on the speed setting i.e. if you select slice 4 a positive playback speed will play the audio after that slice point in a forwards direction, whereas if you choose a negative playback speed then the audio before that slice point will be played in a backwards direction.

To play the section of audio between slices 4 and 5 in a forwards direction the slice parameter should be set to 4 with a positive speed parameter value and to play the same section of audio backwards the slice parameter should be set to 5 with a negative speed parameter value.

Forum: Sample playback merging trigs selecting slices

Forum: No way to trigger a sample in reverse that is broken up into slices correctly

How do I address sample slices with 1V/oct?

As of firmware v0.2.0 additional addressing modes are available in the Sample Player including a 12ET mode that allows addressing of samples with 1V/oct CV.

Earlier discussions on how to achieve this contain additional information that may be useful for specific addressing needs:

Forum: ER-101 Voltages and ER-301 Slices

Forum: How do you map the triggering of sample slices to a range of voltages?

What format audio files are suitable for the ER-301?

Regardless of which firmware version you are using any WAV files encoded in 16 bit, 24 bit or float at any sample rate are suitable.

What happens when files with different sample rates are used?

Samples are loaded into memory at their encoded sample rate (all sample rates are supported) and then converted to the needed output sample rate (48kHz or 96kHz) on-the-fly. The only exception is the Native Player Unit, it plays the sample without conversion.

Forum: How do different sample rates behave

Where do I save my samples?

You may save your samples wherever suits your needs with the one exception being the ER-301/sc/ folder which reserved as a system folder.

In the future conventions may be developed to facilitate sharing of presets and to avoid linking problems, but in any case the system should handle this gracefully and provide mechanisms for relinking files should the references become broken.

Forum: ER-301 file organisation

How do I clear unused samples from the pool?

While browsing the Sample Pool press Purge Unused (S3) to remove all the unused samples from the sample pool.

Forum: Automatic Sample Pool Purge option

What is the maximum playback time for samples?

It depends on the sample rate of the WAV file but lets assume you are using 48kHz 16-bit stereo files.

When streaming from the card the maximum file size for FAT32 is 4GB which is a little bit more than 6 hours.

4 * 1024 * 1024 * 1024 bytes / 2 bytes per sample / 2 channels / 48000 samples per sec / 3600 secs per hour = 6.2 hrs

When playing from RAM (480MB available for samples) then a little bit less than 22 minutes. Samples are stored in RAM using 32-bit floats.

480 * 1024 * 1024 bytes / 4 bytes per sample / 2 channels / 48000 samples per sec / 60 secs per minute = 21.8 mins

Forum: Maximum playback time in stereo

What is the maximum number of slices?

Theoretically there is no maximum. The maximum number of addressable slices via the 16-bit CV inputs is around 32000 slices and as the typical external CV source is no where near that accurate a practical working maximum would be around 4000.

Forum: Max number of slices

How do I switch to one shot mode in the sample player?

One-shot mode is activated by triggering a slice. There must be at least one slice for one-shot mode to work.

Forum: Sample player basics: looping vs triggered play

How do I slice samples using a software program on a computer?

There are no current plans to implement this functionality. For the reasons why, and some possible options that are being considered, please see the forum thread.

Forum: Slice using a computer

Is polyphony possible with the Sample Player?

A polyphonic sample player unit is currently in development and will be released in an upcoming firmware upgrade.

In the mean time there are many ways in which polyphony could be achieved e.g. try using multiple Sample Player Units each in their own Mixer Unit, the Manual Grains Unit or see the discussion on Joe's sequential switch patch:

Forum: Sequential Switch

How do I trigger a different slice with each trigger?

A slight delay of ~5ms is needed on the trigger input to allow time for the incoming slice selection CV to move to the correct slice before triggering.

Forum: Play a new slice before current slice finishes playing

How do I record CV?

You can record CV in exactly the same way as recording audio using the Sample Looper Unit and use the recorded CV internally in the ER-301.

Forum: Recorded trigger wavs for the sample player

What is the difference between white and pink noise?

As pink noise is weighted towards lower frequencies there is less sample-to-sample variation compared to white noise which is distributed evenly across the full frequency range.

Forum: ER-301 role in your setup

Will samples loaded in be able to be tempo synced?

It depends on what you mean by "tempo-synced". If you mean time-stretching a sample to match a given number of beats at a tempo provided by an incoming clock then this has not been implemented yet but is planned. If you mean just triggering samples (or slices of a sample) then yes this is possible via the trig input on the Sample Player unit.

Are the samples loaded into RAM or are they streamed directly from the SD card?

The Sample Player and Native Player both load samples into RAM and the Card Player streams audio from the SD card.

Choose the appropriate sample player unit to meet your needs. For full sample manipulation capability, you should use the Sample Player Unit. For straight playback, use the Native Player Unit where the V/oct and speed controls are removed but slicing is still available. For long samples, use the Card Player Unit.

How do I simultaneously record and playback to/from a buffer?

Assign a newly created buffer in a Sample Looper Unit, then assign the same buffer to a Sample Player Unit.

You can share this sample buffer between any number of player and recorder units.


What units are currently available?

A complete list of units is available on the main ER-301 wiki page.

ER-301 Units

Is it possible to change unit default values?

Not yet. This functionality will be provided via unit templates which are coming soon.

In the meantime, the best option is to save your default values as a unit preset and load that preset each time you create a new unit.

What's the difference between Sample-and-Hold and Track-and-Hold?

Sample-and-Hold: Sample on the rising edge, otherwise hold the last sampled value.

Track-and-Hold: Track on a high signal level, hold on a low signal level.

Forum: Track and Hold Unit

Where will I find Custom Units created by other users?

The O|D forum has the ability to tag topics. The custom-unit tag is reserved for topics that post a custom unit you can download.

Forum: User-created Custom Units

How do I add a custom unit to the Chooser Menu?

Save your unit preset in the chooser folder. Neil Parfitt made a short video demonstrating the process on this forum thread:

Forum: Save unit to chooser menu

This feature was deprecated in v0.3. A similar feature will reappear in the upcoming v0.4 firmware.

How do I convert my patch to a custom unit?

If you have already made your patch, create a new Custom Unit then Cut and Paste the units that make up your patch into it. Create controls and map the controls to the key parameters of your patch.

How do I cut, copy and paste units?

Hold SHIFT and turn the knob to select one or more units, release SHIFT, then select Cut, Copy or Move to Mixer. On selecting Cut or Copy a Paste command becomes available, press S1 to paste the contents of the clipboard at the current cursor location. If configured in Admin>Settings, quicksaves can persist clipboard contents but keep in mind that this would interfere with the ability to copy-and-paste content from one quicksave to another.

How do I save my unit?

Full details regarding persistence are available on the wiki page:

ER-301 Persistence

How do I rename a unit?

  1. Navigate so that your cursor is above the unit you wish to rename.
  2. Press the M* button underneath the unit to show the unit menu.
  3. Select Rename Unit.
  4. Enter the new name using the character map and the additional input options on the small screen.
  5. Press ENTER to save.

How do I load the unit I saved earlier?

  1. Create a new instance of the type of unit you wish to load.
  2. From the unit menu select Load Preset.
  3. Navigate and select your previously saved unit.
  4. Press ENTER to load.

Is it possible to reorganise units in the unit selection screen?

Not at the current time. A firmware update is planned that will let the user provide their own unit library specification as a text file.

Forum: Unit selection screen display

How do I understand the values of the units in relation to incoming CV values and the scope?

Setting gain at 3 on the shift parameter to swing from -1.5s to 1.5s using an incoming CV of -5V to 5V represented on the scope as the abstract values -0.5 to 0.5

All the unit parameters have different value types depending on their function, for example the f0 parameter of the Sine Osc Unit has units of Hz. The scope view shows all incoming CV values as an abstract value between -1 and 1 such that 5V maps to approximately 0.5, and -5V would be about -0.5, and 1V would be about 0.1, and so on.

Here are two examples:

Example one: If we wanted to modulate the Sine Osc Unit f0 parameter from -200Hz to +200Hz using a modulation signal coming in at -0.5 to 0.5 then your gain has to be 400. This explains the large range of gains available for this parameter.

Example two: The Sample Player shift parameter has units of seconds, so if we want the shift parameter to swing from -1.5s to 1.5s using the same modulation signal coming in at -0.5 to 0.5 then we would have to set the gain to 3.

Forum: In depth discussion of incoming CV, the scope and unit values


How do I share Chains / Custom Units / Quicksaves?

  1. Familiarise yourself with the various forms of persistence: ER-301 Persistence
  2. Select the form of persistence most suited to the work you wish to share and save your patch, e.g. if you have a full patch with global chains, multiple sounds and custom units, you would choose the Quicksave. If your patch is a self contained Custom Unit you would only need to save that unit.
  3. Eject the SD card and using a computer copy the saved files and any associated samples to a new folder.
  4. Rename the folder to a suitable name, compress the folder to a zip file and share.
This process of sharing presets is still quite error-prone, mainly because samples are referenced via absolute paths that will most likely break when moved to another user's SD card. Improvements are planned in a future firmware update.

How do I take a screenshot of my patch?

Screenshots can be made at any time buy pressing and holding the SHIFT button and then pressing the CANCEL button. The newly created .png file is saved to the /ER-301/sc/screenshots folder on the front SD card. Enhanced screenshots are planned for a future firmware update.

Forum: Enhanced screenshot idea

Firmware SDK

When will the SDK be released?

The earliest time that an official plugin framework may be available is towards the end of 2017.

What information is available on the upcoming SDK?

I plan on creating a plugin framework at two levels: one at the C++ level and another at the Lua level. Just like VST and similar, a plugin developer should be able to add functionality without having to know about how I've implemented the low-level OS layer and so on. The current architecture has been designed so that the C++ layer exposes basic DSP building blocks (add 2 or more signals, buffer playhead, interpolated delay line, and so on) and GUI widgets (ListBox, SampleDisplay, Label, Fader, etc.) while the Lua layer is where you connect these C++ blocks together into a processing network to create a unit and then describe its UI in terms of the available widgets.

If you are interested, navigate over to the programming Lua forum thread and take a look at the example code that I've included with my post on the O|D forum.

Forum: Programming Lua

Some alternative programming languages for the SDK are being considered:

Forum: Faust DSP

Forum: 301 + Max/MSP (Gen~)