mirror of
https://github.com/tcsenpai/neoretrosynth.git
synced 2025-06-07 03:25:27 +00:00
95 lines
2.7 KiB
Markdown
95 lines
2.7 KiB
Markdown
# NeoRetro Synth - Cyberpunk Edition
|
|
|
|
NeoRetro Synth is a retro-style synthesizer and drum machine with a cyberpunk aesthetic, built using the Pyxel library for Python.
|
|
|
|
## Installation
|
|
|
|
Clone the repository with
|
|
`git clone https://github.com/tcsenpai/neoretro-synth.git`
|
|
|
|
Then
|
|
`cd neoretro-synth`
|
|
`pip install -r requirements.txt`
|
|
|
|
Now you can run the application with
|
|
`python main.py`
|
|
|
|
## Features
|
|
|
|
- 4 tracks: 2 drum tracks and 2 synth tracks
|
|
- 8-step dynamically sized sequencers for each track (expandable up to 32 steps)
|
|
- Multiple waveforms for synth sounds: Triangle, Square, Pulse, and Noise
|
|
- Drum sounds: Kick, Snare, Hi-hat, and Open hi-hat
|
|
- Real-time keyboard input for playing notes
|
|
- Adjustable octave, sound length, and BPM
|
|
- Loop recording and playback functionality
|
|
- Arpeggiator with customizable pattern
|
|
- Volume control for both drum and synth tracks
|
|
- MIDI and WAV export capabilities
|
|
- Preset saving and loading
|
|
- Edit mode for fine-tuning sequencer patterns
|
|
- Cyberpunk-inspired user interface
|
|
|
|
## Controls
|
|
|
|
All controls are displayed in the GUI for easy reference. Key features include:
|
|
|
|
- Z-M keys: Play synth notes (C2-C4)
|
|
- 1-4 keys: Play drum sounds
|
|
- R: Toggle recording
|
|
- SPACE: Play/Stop loop
|
|
- C: Clear loop
|
|
- UP/DOWN arrows: Change octave
|
|
- LEFT/RIGHT arrows: Adjust sound length
|
|
- W: Change waveform
|
|
- TAB: Toggle sequencer
|
|
- E: Enter/Exit edit mode
|
|
- T: Switch edit target (in edit mode)
|
|
- +/-: Change sequencer length (in edit mode)
|
|
- .: Increase BPM
|
|
- ,: Decrease BPM
|
|
- 6/7: Adjust drum volume
|
|
- 8/9: Adjust synth volume
|
|
- F1: Export to MIDI
|
|
- F2: Export to WAV
|
|
- F3: Save preset
|
|
- F4: Load preset
|
|
- F5: Toggle arpeggiator
|
|
- Q: Quit application
|
|
|
|
## Sequencer
|
|
|
|
- 4 tracks: 2 drum tracks and 2 synth tracks
|
|
- Each track has an 8-step sequencer, expandable up to 32 steps
|
|
- Edit mode allows for detailed pattern creation and modification
|
|
- Dynamic length adjustment for each sequencer
|
|
|
|
## Sound Generation
|
|
|
|
- Synth tracks use multiple waveforms: Triangle, Square, Pulse, and Noise
|
|
- Drum tracks have four distinct sounds: Kick, Snare, Hi-hat, and Open hi-hat
|
|
- Adjustable sound length and volume for both synth and drum sounds
|
|
|
|
## Export Options
|
|
|
|
- MIDI export: Saves the current sequence as a MIDI file
|
|
- WAV export: Renders the current sequence as a WAV audio file
|
|
|
|
## Additional Features
|
|
|
|
- Preset system for saving and loading synth configurations
|
|
- Arpeggiator with customizable pattern
|
|
- Real-time visual feedback in the GUI
|
|
- Cyberpunk-inspired color scheme and design
|
|
|
|
## Requirements
|
|
|
|
- Python 3.x
|
|
- Pyxel library
|
|
- NumPy
|
|
- SciPy
|
|
|
|
## Usage
|
|
|
|
Run the `main.py` file to start the NeoRetro Synth application. Use the on-screen controls or keyboard shortcuts to create and manipulate sounds and sequences.
|