-
Notifications
You must be signed in to change notification settings - Fork 0
Development
Thiago Fernando Rech edited this page Jun 30, 2025
·
2 revisions
- Android Studio Hedgehog or newer
- Android SDK API 27+
- NDK (Native Development Kit)
- Android device with microphone
# Clone the repository
git clone <repository-url>
cd ToneForge
# Open in Android Studio or build via command line
./gradlew assembleDebugThe project uses:
- Gradle: Build system
- CMake: Native code build
- JNI: Java-C++ interface
- AudioRecord/AudioTrack: Android audio API
- Fragments: Multi-screen navigation
- RecyclerView: Drag-and-drop interface
- SharedPreferences: Data persistence
- Minimum Android: 8.1 (API 27)
- Architectures: ARM64, ARM32, x86, x86_64
- Sample rate: 48kHz
- Format: PCM Float 32-bit
- Channels: Mono (input and output)
- Audio not working: Check microphone permissions
- High latency: Use device with low audio latency
- Crash on startup: Verify NDK is installed
- Effects not applying: Restart audio
- Presets not saving: Check disk space
- Order not persisting: Restart app
Use adb logcat to see detailed logs:
adb logcat | grep ToneForge- Real-time audio pipeline
- Basic effects (Gain, Distortion, Delay, Reverb)
- Real-time tuner
- Preset system
- Customizable effect order
- Modulation effects (Chorus, Flanger, Phaser)
- Advanced controls (dry/wet mix, distortion types)
- Multi-screen interface with navigation
- 3-band Equalizer (EQ)
- Compressor with advanced controls
- Informative tooltips system
- Quick parameter reset
- Export/import presets
- Favorites system
- Visual effect chain representation
- Oversampling for better quality
- Background processing with ForegroundService
- Persistent notification with quick controls
- Robust permission management
- Automatic state recovery
- Pipeline system with automatic recovery
- Latency adjustment: Choose between lower latency or greater stability
- MIDI Learn for external control
- Automation system: Record and playback parameter changes
- Metronome (UI + basic C++ integration)
- Looper (UI + basic C++ integration)
- Recorder (UI ready, basic functionality)
- Metronome improvements (animations, visualization)
- Looper improvements (timer, duration visualization)
- Complete recorder functionality
- Complete automation persistence (save/load)
- Automation editing interface
- Automation synchronization with metronome
- Customizable response curves
- Interface improvements (animations, transitions)
- Support for different sample rates
- Integration with external DAWs
This project is open source. Feel free to contribute!
- Code style: Follow Android and C++ best practices
- Testing: Test on multiple devices and Android versions
- Documentation: Update documentation for new features
- Performance: Consider audio latency and CPU usage
- Compatibility: Ensure backward compatibility
See Architecture for technical details.
Transform your Android into a professional pedalboard with real-time audio processing!
- Documentation: This Wiki
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: [thiagorech.1997@gmail.com]
Built with β€οΈ by Thiago Fernando Rech
- Architecture
- MVP Architecture π
- Testing Strategy π
- Layout Guidelines π
- Development
- Refactoring Summary π
- Documentation Updates
Quick Links: