neoretrosynth/README.md
2024-08-18 00:49:37 +02:00

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.