# ER-301/Variable Speed Player

 This entry is seriously out-of-date because it refers to the v0.2 firmware. I will update this entry soon!

## Applications

• Sample playback and mangling
• Sample-based oscillator
• Synthesizing with sample chains
• Internal playback of previously recorded modulation (CV) signals
• Playback of shared buffers

## Description

The Sample Player unit combines a monophonic resampling play head with an (in-memory) sample buffer. The main feature of this unit is that the speed of the play head can be accurately modulated up to audio rates. Sample slicing is also included for further control over what parts of the sample buffer are played.

When a sample with no slices is loaded, the play head will just keep advancing and looping back to the beginning (or ending) when it reaches the end (or beginning) because there is nothing to tell it otherwise. Triggering will cause the play head to jump back to the beginning/ending of the sample. You can insert slices but they are not seen by the play head until you activate one (via triggering). You can trigger a sample player either by a gate signal into the trig parameter or manually by hitting the 'fire' button that ORs your manually created gate with the incoming modulation signal.

Once a slice is activated, the reset position becomes the active slice and the stop position becomes the next slice in the case of forward playback, and the previous slice in the case of reverse playback.

In both the 'no slices' and 'sliced' case, if the #shift parameter is non-zero then the reset position of the play head will be shifted by a time interval equal to the shift parameter's value.

### Assign Sample

This will bring you to the Sample Pool screen where you can select a sample to assign to this unit. If the desired sample has not been loaded to memory yet than you can load the sample from card into the Sample Pool and then select it. See Sample Pool for a complete description.

### Slice Sample

This menu item will bring up the slicing interface. Here you can insert and delete slices while navigating around the assigned sample.

Soft Buttons

• slices (M1): Toggles the visibility of the slice list.
This slice list can be used to navigate around the buffer via slices.
• follow (M3): Switches between centering the screen on the play head (follow mode) or the cursor.
• insert (M4): Inserts a slice at the zero-crossing nearest to the cursor (or play head if in follow mode). If you press SHIFT+M4 then zero-crossings are ignored when inserting the slice. You can swap this behavior in the Settings screen.
• delete (M5): Deletes the next slice after the cursor (or play head if in follow mode).
• zoom (M6): Hold this and turn the knob to zoom in or out.
• start (S1): Un-pauses sample playback.
• stop (S2): Pauses sample playback
• reset (S3): Re-triggers the play head.

This setting determines how the slice parameter chooses (or maps to) actual slices.

• nearest: The slice parameter value is mapped linearly to a sample position in the sample buffer (0 - beginning, 1 - ending) and the nearest slice is chosen.
• index: The slice parameter is mapped linearly to a slice index (0 - first slice, 1 - last slice).
• 12TET: The slice parameter is interpreted as a V/oct signal and each semitone is mapped to a slice (1st semitone - 1st slice, 2nd semitone - 2nd slice, and so on).

### Stereo Routing

This setting controls how a stereo sample is rendered to a mono output.

• left: Only output the left channel and ignore the right channel.
• both: Output the average of the left and right channels.
• right: Only output the right channel and ignore the left channel.

This menu item is only shown if the chain containing this unit is a mono chain.

## Parameters

### V/oct

 Control Type Has Sub-chain? Sub-chain Parameters Fader Scale Pitch yes transpose (-3600¢ to 3600¢) logarithmic ratio

This parameter is used to transpose the pitch of the sample up or down according to an incoming modulation value (typically one of the calibrated inputs from the ABCD matrix). Its effect multiplies the speed parameter like this:

${\displaystyle {\text{Playback Speed}}=({\text{base speed}})*2^{\text{V/oct}}}$

For example, if the speed parameter is equal to 0.5x and this V/oct parameter is set to 2400¢, then the resulting sample playback will be 2x (i.e. 2400¢ = 2 octaves which is 4x and the base speed was 0.5x for a total of 2x). The V/oct parameter is identical to the pitch (or exponential FM) control on a VCO.

### speed

 Control Type Has Sub-chain? Sub-chain Parameters Fader Scale Gain/Bias yes gain (-10 to 10) bias (-3 to 3) linear

The speed parameter controls the base speed of sample playback. It is called the base speed because the final playback speed will be affected by the V/oct parameter described above. It is similar to the linear FM control on a VCO. If the V/oct parameter is zero then the sample playback speed is exactly equal to the value of this parameter. See the V/oct parameter for a complete description of the calculation of sample playback speed.

### gate

 Control Type Has Sub-chain? Sub-chain Parameters Behavior Threshold yes threshold (-1 to 1) trigger or gate

A rising edge on this parameter will cause the play head to reset to either the beginning of the sample or the beginning of the currently selected slice. The exact meaning of the phrase "beginning of the currently selected slice" depends on the direction of the play head as well as the Slice Polarity setting. Playback continues normally afterwards.

If the Play Duration setting is "loop on gate high" then as long as this parameter receives a high value, the player will loop (i.e. sustain).

If the Play Count setting is "repeat" then a trigger on this parameter can be used to sync the loop to an external event.

### slice

 Control Type Has Sub-chain? Sub-chain Parameters Fader Scale Gain/Bias yes gain (-3 to 3) bias (0 to 1) linear

This parameter selects a slice. The next incoming edge received at the gate parameter will activate this slice. The mapping of parameter value to the actual slice depends on the Address Mode setting.

 If the external signal that is selecting the slice is delayed with respect to the trigger that is activating the slice, then you will experience inconsistent slice activation. The solution is to insert a small (~2ms) delay in the sub-chain feeding the trigger parameter so that the trigger arrives after the slice selection signal settles. You can use a Micro Delay unit for this purpose.

### shift

 Control Type Has Sub-chain? Sub-chain Parameters Fader Scale Gain/Bias yes gain (-3 to 3) bias (-5s to 5s) linear time

As stated before, triggering this unit will cause the play head to reset back to the beginning of the sample or to the active slice. However, if the shift parameter is non-zero then the reset position of the play head will be shifted by a time interval equal to the shift parameter's value. For example, if the shift parameter is 1.2s then a trigger will cause the play head to reset to 1.2s into the sample buffer, or in the case of a sliced sample, 1.2s after the active slice.

 Combine modulation of this parameter with rapid triggering (>10Hz) to simulate modulation of play head position (as opposed to modulation of speed).