99 lines
4.2 KiB
Markdown
99 lines
4.2 KiB
Markdown
# FCB1010 Looper Pedal - Complete Project Specification
|
|
|
|
## System Overview
|
|
|
|
A looper pedal system using a Behringer FCB1010 MIDI foot controller, Behringer UMC404HD audio interface, Raspberry Pi with TFT display (215x135mm).
|
|
The system provides a 5x5 matrix of loop tracks organized in columns and rows, with real-time visual feedback.
|
|
|
|
## Hardware Components
|
|
|
|
- **Behringer FCB1010**: MIDI foot controller with 10 footswitches (1-10), UP/DOWN buttons, and 2 expression pedals
|
|
- **Behringer UMC404HD**: Audio interface for input/output
|
|
- **Raspberry Pi**: Running Linux
|
|
- **TFT Display**: 215x135mm color display, no touchscreen
|
|
- **Audio**: JACK audio connect kit
|
|
|
|
## System Architecture
|
|
|
|
### Two-State Operation
|
|
1. **Menu State**: Configuration and management functions
|
|
2. **Performance State**: Recording and playback matrix
|
|
|
|
### Matrix Organization
|
|
- **5 Columns**: Synchronized recording and playback for each column
|
|
- **5 Rows**: Individual tracks within each column
|
|
- **25 Total Cells**: Each cell can contain one audio loop
|
|
- **Column-based Timing**: First recording in a column sets the bar count for all tracks in that column
|
|
|
|
## Interface Design
|
|
- **Metronome**: Moving indicator that pulses when in center
|
|
- **Progress Bars**: Show current position in each column with bar divisions
|
|
- **Active Row**: Increased border with
|
|
- **Selected Cell**: Switched border and background color
|
|
- **Track States**:
|
|
- `---`: Empty cell (dark background)
|
|
- `READY`: Recorded, ready to play (green)
|
|
- `PLAY`: Currently playing (blue)
|
|
- `REC`: Currently recording (red)
|
|
- `SOLO`: Solo mode active (orange/amber)
|
|
- **Volume Bars**: Small bars under each cell showing track volume
|
|
|
|
## Button Mappings
|
|
|
|
### Menu State
|
|
- **Button 1**: Tap Tempo
|
|
- **Button 2**: Enable/Disable Click Track
|
|
- **Button 3**: Clear selected Column
|
|
- **Button 4**: Quantization Settings (Off, 1/4, 1/8, 1/16 note)
|
|
- **Button 5**: Save/Load Project (use buttons 6-10 for slot selection)
|
|
- **Buttons 6-10**: Column selection (for clear/save/load operations)
|
|
- **UP/DOWN**: Switch to Performance Mode
|
|
- **Expression Pedal A**: Click track volume
|
|
- **Expression Pedal B**: Master volume
|
|
|
|
### Performance State
|
|
- **Button 1**: Record/Arm
|
|
- **Button 2**: Play/Mute current track
|
|
- **Button 3**: Solo current track
|
|
- **Button 4**: Overdub on current track
|
|
- **Button 5**: Clear current track
|
|
- **Buttons 6-10**: Column selection (1-5)
|
|
- **UP/DOWN**: Navigate rows (switch between track rows), return to Menu when at top or bottom
|
|
- **Expression Pedal A**: Current track volume
|
|
- **Expression Pedal B**: Master volume
|
|
|
|
## Operational Behavior
|
|
|
|
### Recording Workflow
|
|
- **First Recording in Column**: Sets bar count for entire column, records until stopped
|
|
- **Subsequent Recordings**: Auto-sync to established column length
|
|
- **Record Button Stop**: Recording stops, cell starts playing
|
|
- **Stop Button Stop**: Recording cancelled, previous state restored
|
|
- **Overdub Button Stop**: Recording continues for next loop, overdubs on previous content
|
|
|
|
### Timing and Synchronization
|
|
- **All actions sync to the beat**: Start/stop occurs at metronome center position
|
|
- **Column Switching**: Only when not recording, immediate switching to selected column
|
|
- **Tempo Changes**: Only allowed when all tracks are cleared
|
|
- **Recording Start**: Synced to column start if column playing, otherwise next bar
|
|
|
|
### Solo Functionality
|
|
- **Solo Activation**: Press Solo button on any track
|
|
- **Solo Indication**: Cell shows `SOLO` state in orange/amber color
|
|
- **Multiple Solo**: Additional tracks can be added to solo group
|
|
- **Solo Play**: Activates solo tracks + any tracks showing `PLAY` state
|
|
- **Solo Stop**: Stops entire column
|
|
- **All Solo Actions**: Synced to next beat
|
|
|
|
### MIDI Implementation
|
|
|
|
- **Startup**: Send SysEx configuration to FCB1010 for proper button/pedal mapping
|
|
- **Expression Pedals**: Set volume on change
|
|
- **MIDI Feedback**: Send click track to sync with other systems
|
|
|
|
### State Management
|
|
|
|
- **Save in Numbered Slots**: 5 project slots accessible via buttons 6-10 in save/load mode
|
|
- **Startup Behavior**: Load last used project and configure FCB1010
|
|
- **Column Consistency**: Recordings automatically match column bar count
|
|
- **State Validation**: Prevent invalid operations (e.g., switching columns while recording) |