4.1 KiB
4.1 KiB
FBrowser - Enhanced File Browser with Audio Tools
A powerful file browser application with special focus on audio file handling, MIDI playback, and archive management.
Features
- Advanced File Browser: Browse directories with tree view and file list
- Audio Playback: Built-in player for various audio formats (Via Qt Media powered by ffmpeg)
- MIDI Player: Full-featured MIDI player with playlist management (synthesis of midi's powered by fluidsynth)
- Metadata Extraction: View and explore audio file metadata
- Archive Management: Extract ZIP, RAR, and 7z archives # Not fully implemented no way to use this outside of a custom debugger tool. (not included)
- Timer Utility: Built-in countdown timer with audio alerts
- Hover Tooltips: Quick metadata preview by hovering over audio files
Requirements
- Python 3.6+ (maybe 3.8 or newer)
- PyQt6
- FluidSynth (for MIDI playback)
- Mido (MIDI handling library)
- Mutagen (audio metadata extraction)
- py7zr and rarfile (archive handling)
- SoundFont (.sf2) files for MIDI playback
- ifireflylib (Database System)
Installation
1. Clone the repository
git clone https://gitea.innovativedevsolutions.org/stan44/Fbrowser.git
cd fbroswer
2. Install dependencies
pip install pyqt6 fluidsynth-midi mido mutagen py7zr rarfile numpy sounddevice ifireflylib
3. Install FluidSynth
- Windows: Download from FluidSynth website (you can also use choco chocolatey website)
- Windows Choco:
choco install fluidsynth - macOS:
brew install fluid-synth - Linux:
sudo apt-get install fluidsynth
4. Download a SoundFont
- Download a .sf2 file (like FluidR3_GM.sf2)
- Place it in a "SoundFonts" directory in the application folder
Usage
Starting the Application
python Fbrowser.py
Basic Navigation
- Use the tree view on the left to navigate directories
- Double-click files in the right panel to open/play them
- Use address bar for direct navigation
- Back/Forward/Up buttons for quick navigation
Audio and MIDI Playback
- Double-click audio files to play them
- Use media controls at the bottom for playback
- Click "Open MidPlay" for advanced MIDI playback
Advanced Features
- Right-click on files/folders for context menu options
- Extract archives directly from the browser
- Scan directories to find audio files
- Extract and view metadata
Components Overview
Fbrowser.py
The main application file implementing the file browser interface with audio playback capabilities.
MidPlay.py
A specialized MIDI player with:
- Playlist management
- SoundFont selection
- Volume control
- Playback controls (play, pause, next, previous)
ScanOrg101.py
Handles file scanning, metadata extraction, and archive operations:
- Recursive directory scanning
- Audio metadata extraction using Mutagen
- Archive extraction (ZIP, RAR, 7z)
timer_m.py
A countdown timer with:
- Customizable hours, minutes, seconds
- Audio alerts on completion
- Start/stop/reset functionality
Customization
Changing Default SoundFont
The application will attempt to find a suitable SoundFont file automatically. If none is found, you'll be prompted to select one. You can change it anytime via the MidPlay interface.
File Type Filtering
Edit the allowed_extensions list in FileFilterProxyModel class in ScanOrg101.py to change which file types are displayed.
Troubleshooting
No Sound in MIDI Playback
- Ensure FluidSynth is properly installed
- Verify a valid SoundFont (.sf2) file is loaded
- Check system audio settings
Archive Extraction Issues
- Ensure you have proper permissions in the target directory
- For RAR files, make sure UnRAR is installed on your system
License
MIT License
Credits
- FluidSynth for MIDI synthesis
- PyQt6 for the user interface
- Mutagen for audio metadata handling
- Stanton for Project fbrowser, Timer_m, and MidPlay the fbrowser is the foundation of this project.
Note: This project is under development. Feedback and contributions are welcome!