Skip to content

Commit 03613e6

Browse files
authored
Create README.md
1 parent 707e8eb commit 03613e6

File tree

1 file changed

+160
-0
lines changed

1 file changed

+160
-0
lines changed

README.md

Lines changed: 160 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,160 @@
1+
ExhaleGUI
2+
A modern macOS application that provides an intuitive graphical interface for the Exhale high-quality XE AAC audio encoder.
3+
4+
XE AAC is a format that can create fm / cd quality at extremely low bitrates 36-48kb stereo with esbr.
5+
6+
I created this after finding the fre ac mac gui did not support newer exhale versions.
7+
8+
Overview
9+
ExhaleGUI simplifies the process of converting audio files to high-quality AAC format using the Exhale encoder. With support for batch processing, parallel conversions, and multiple input formats, it's designed to make professional audio encoding accessible through a clean, native macOS interface.
10+
Features
11+
🎵 Multi-Format Support
12+
13+
Input formats: WAV, MP3, FLAC, M4A, AAC
14+
Output format: M4A (AAC) using Exhale encoder
15+
Smart conversion: Automatically handles format conversion via bundled FFmpeg
16+
17+
⚡ Batch Processing
18+
19+
Drag-and-drop multiple files at once
20+
Parallel conversion (1-8 concurrent processes)
21+
Real-time progress tracking for each file
22+
Queue management with add/remove capabilities
23+
24+
🎛️ Quality Presets
25+
Choose from Exhale's comprehensive quality options:
26+
27+
Standard HE-AAC (0-9): 48 kbps to 192+ kbps
28+
eSBR Low-Bitrate (a-g): 36-108 kbps for efficient encoding
29+
Preset 5 (128 kbps) set as default for optimal quality/size balance
30+
31+
🔧 Advanced Options
32+
33+
Metadata preservation: Maintain ID tags from source files (note most players do not support tags for xe aac)
34+
Source file management: Optional deletion after successful conversion
35+
Custom temp directories: Configure temporary file locations
36+
Exhale binary configuration: Point to your Exhale installation (suggest using exhale and gui in downloads folder)
37+
38+
💻 Native macOS Experience
39+
40+
Clean, modern SwiftUI interface
41+
Drag-and-drop file handling
42+
Settings tabs for easy configuration
43+
Real-time conversion status updates
44+
45+
Requirements
46+
47+
macOS 11.0+ (Big Sur or later)
48+
Exhale encoder binary - Download from GitLab
49+
Intel or Apple Silicon Mac (Universal support)
50+
51+
Installation
52+
53+
Download ExhaleGUI from the releases page and exhale from releases page
54+
55+
To build download ffmpeg from releases page
56+
57+
Configure Exhale path in ExhaleGUI Settings → General → Executable Path
58+
59+
Usage
60+
Basic Conversion
61+
62+
Launch ExhaleGUI
63+
Drag audio files onto the drop zone or click "Add Files"
64+
Select desired quality preset (default: 5 - ~128 kbps)
65+
Click "Start Conversion"
66+
67+
Quality Settings
68+
69+
Preset 0: ~48 kbps (lowest, ≤32kHz sample rate only)
70+
Preset 5: ~128 kbps (recommended default)
71+
Preset 9: ~192+ kbps (highest quality)
72+
Presets a-g: eSBR encoding for lower bitrates (36-108 kbps)
73+
74+
Advanced Features
75+
76+
Parallel conversions: Adjust in Settings → Advanced (default: 2)
77+
Metadata preservation: Enable in Settings → General
78+
Source file deletion: Enable with caution in Settings → General
79+
80+
Technical Details
81+
Conversion Process
82+
83+
WAV files: Direct conversion using Exhale
84+
Other formats: Two-step process:
85+
86+
Step 1: Convert to WAV using bundled FFmpeg
87+
Step 2: Encode to M4A using Exhale
88+
89+
90+
91+
Performance
92+
93+
Utilizes multiple CPU cores for parallel processing
94+
Efficient memory usage during batch conversions
95+
Progress tracking with estimated completion times
96+
97+
Troubleshooting
98+
Common Issues
99+
"Exhale executable not found"
100+
101+
Ensure Exhale is installed and path is correctly set in Settings
102+
Verify the binary has execute permissions: chmod +x /path/to/exhale
103+
104+
"Sample rate too high for Preset 0"
105+
106+
Use presets 1-9 or a-g for files with >32kHz sample rate
107+
Preset 0 only supports ≤32kHz audio
108+
109+
Conversion fails
110+
111+
Check input file integrity
112+
Verify sufficient disk space
113+
Try a different quality preset
114+
Check console output for detailed error messages
115+
116+
Debug Tools
117+
118+
Test Exhale Binary: Settings → Advanced → Debug section
119+
Test Bundled FFmpeg: Verify internal FFmpeg functionality
120+
Console output: Detailed logging for troubleshooting
121+
122+
About Exhale
123+
Exhale is a state-of-the-art AAC encoder that provides:
124+
125+
High-quality audio encoding
126+
Efficient compression ratios
127+
Support for various AAC profiles
128+
Optimized for both quality and file size
129+
130+
Development
131+
Built with Xcode
132+
133+
SwiftUI for modern macOS interface
134+
AVFoundation for audio metadata handling
135+
Combine for reactive programming
136+
Process for external tool integration
137+
Third-Party Components
138+
FFmpeg
139+
This application includes FFmpeg, which is licensed under the LGPL v2.1 or later.
140+
141+
FFmpeg website: https://ffmpeg.org/
142+
Source code: https://github.com/FFmpeg/FFmpeg
143+
License: LGPL v2.1+ (https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html)
144+
145+
FFmpeg is used for audio format conversion (MP3, FLAC → WAV) and is included as a bundled binary. The FFmpeg source code and build instructions are available at the links above.
146+
Exhale Encoder
147+
ExhaleGUI serves as a graphical interface for the Exhale AAC encoder:
148+
149+
Exhale project: https://gitlab.com/ecodis/exhale
150+
License: Please refer to the Exhale project for current licensing terms
151+
Note: Exhale is a separate download and not included with ExhaleGUI
152+
153+
License & Disclaimer
154+
ExhaleGUI is released under [your chosen license].
155+
FFmpeg Disclaimer: This software uses libraries from the FFmpeg project under the LGPL v2.1. FFmpeg source code is available at https://ffmpeg.org/download.html. ExhaleGUI does not claim any rights to FFmpeg and complies with LGPL redistribution requirements.
156+
Exhale Disclaimer: ExhaleGUI is an independent third-party interface and is not affiliated with or endorsed by the Exhale encoder development team. Users must obtain Exhale separately and comply with its licensing terms.
157+
Contributing
158+
Issues and feature requests are welcome! Please check the existing issues before creating new ones.
159+
160+
Note: ExhaleGUI is a third-party interface for the Exhale encoder and is not affiliated with the Exhale development team.

0 commit comments

Comments
 (0)