Skip to content

Commit 0924ef8

Browse files
committed
2 parents 3230589 + f13f3be commit 0924ef8

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+
11+
Bugs
12+
Note it creates m4a by default so rename your m4as into mp4s before converting. Also try to use downloads folder and subfolders to run app and exhale from due to mac permissions.
13+
Note setting 0 only works with <32khz this is from exhale.
14+
To build you need to download ffmpeg first and add into your buildfolder.
15+
It is large because it bundles both intel ffmpeg 75mb and apple silicon ffmpeg 50mb. Would be a lot smaller with one or other.
16+
17+
Features
18+
🎵 Multi-Format Support
19+
Input formats: WAV, MP3, FLAC, M4A, AAC
20+
Output format: M4A (AAC) using Exhale encoder
21+
Smart conversion: Automatically handles format conversion via bundled FFmpeg
22+
23+
⚡ Batch Processing
24+
Drag-and-drop multiple files at once
25+
Parallel conversion (1-8 concurrent processes)
26+
Real-time progress tracking for each file
27+
Queue management with add/remove capabilities
28+
29+
🎛️ Quality Presets
30+
Choose from Exhale's comprehensive quality options:
31+
Standard HE-AAC (0-9): 48 kbps to 192+ kbps
32+
eSBR Low-Bitrate (a-g): 36-108 kbps for efficient encoding (these are recommended)
33+
Preset 5 (128 kbps) set as default for optimal quality/size balance
34+
35+
🔧 Advanced Options
36+
Metadata preservation: Maintain ID tags from source files (note most players do not support tags for xe aac)
37+
Source file management: Optional deletion after successful conversion
38+
Custom temp directories: Configure temporary file locations
39+
Exhale binary configuration: Point to your Exhale installation (suggest using exhale and gui in downloads folder)
40+
41+
💻 Native macOS Experience
42+
Clean, modern SwiftUI interface
43+
Drag-and-drop file handling
44+
Settings tabs for easy configuration
45+
Real-time conversion status updates
46+
47+
Requirements
48+
macOS 11.0+ (Big Sur or later)
49+
Exhale encoder binary - Download from GitLab
50+
Intel or Apple Silicon Mac (Universal support)
51+
52+
Installation
53+
54+
Download ExhaleGUI from the releases page and exhale from releases page
55+
56+
To build download ffmpeg from releases page
57+
58+
Configure Exhale path in ExhaleGUI Settings → General → Executable Path
59+
60+
Usage
61+
Basic Conversion
62+
63+
Launch ExhaleGUI
64+
Drag audio files onto the drop zone or click "Add Files"
65+
Select desired quality preset (default: 5 - ~128 kbps)
66+
Click "Start Conversion"
67+
68+
Quality Settings
69+
70+
Preset 0: ~48 kbps (lowest, ≤32kHz sample rate only)
71+
Preset 5: ~128 kbps (recommended default)
72+
Preset 9: ~192+ kbps (highest quality)
73+
Presets a-g: eSBR encoding for lower bitrates (36-108 kbps)
74+
75+
Advanced Features
76+
77+
Parallel conversions: Adjust in Settings → Advanced (default: 2) (note exhale is not multithreaded so only multiple files sped up not one)
78+
Metadata preservation: Enable in Settings → General
79+
Source file deletion: Enable with caution in Settings → General
80+
81+
Technical Details
82+
Conversion Process
83+
84+
WAV files: Direct conversion using Exhale
85+
Other formats: Two-step process:
86+
87+
Step 1: Convert to WAV using bundled FFmpeg
88+
Step 2: Encode to M4A using Exhale
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)