This repository is for archiving and educational purposes
This application converts audio files to ADPCM/STR/ADP/ADX/AHX/SFA format for Sega Dreamcast development. Essentially, it provides a GUI wrapper for FFMPEG, MkStream, and wavcon utilities with additional header manipulation capabilities. Homebrew/educational development only. Not for commercial use
This application requires several external encoding tools to function. Due to licensing restrictions, these proprietary tools are NOT INCLUDED and must be obtained separately by the user.
adxencd.exe
- CRI ADX encoder (MD5: 568bdc1777a765d0c59b5d3f906e57ae)ahxencd.exe
- CRI AHX encoder (MD5: e8fdef07e415800ce47f6b2b1c5a7898)MkStream.exe
- ADPCM stream encoder (MD5: d685a4cce52c7fbca73444fff125d79d)wavecon.exe
- ADP converter (MD5: 6ef283db36bf38deab7c8e80f299ca42)ffmpeg.exe
- Audio conversion (obtain from https://ffmpeg.org/)
MkStream and wavecon can be found in SEGA Katana SDK, adxencd and ahxencd can be found in CRI Middleware SDK.
- Download the required tools from their respective sources
- Place all executables in the same directory as
aica_encoder.py
- Run the application
- Windows 7 or newer
- Python 3.8+ (if running from source)
- Required executable files (user should provide adxencd.exe, ahxencd.exe, MkStream.exe, wavecon.exe from SDK)

- Multiple Format Support: Convert to STR, ADP, ADX, AHX, and SFA formats
- Batch Processing: Convert entire folders of audio files at once
- Customizable Settings: Adjust frequency, channels, buffer size, and more
- Preset Management: Save and load configuration settings
- Temporary File Management: Optional cleanup of intermediate files
- User-Friendly GUI: Simple interface built with tkinter
- ADX, MP3, WAV, FLAC, AAC, OGG, Opus, MP4, MP2
- Yamaha ADPCM with custom header (from Katana SDK)
- Supports stereo/mono
- Custom buffer size settings
- Optional headerless output
- Raw Yamaha ADPCM data using wavecon.exe
- Mono only
- Optional WAV header output
- CRI ADX encoding using adxencd.exe
- Supports stereo/mono
- Loop point support (-lpa flag)
- CRI AHX format optimized for voice audio
- Mono only
- Dreamcast-optimized (used in Shenmue 2, for example)
- SoftDeck audio format for Dreamcast videos
- Compatible with SFD video container
- Supports stereo/mono
- Download the latest release from the releases page
- Extract to your desired location
- Run
aica_encoder.exe
- Ensure Python 3.8+ is installed
- Install required dependencies:
pip install tkinter
- Run the application:
python strenc.py
-
Select Input Folder: Choose the folder containing your source audio files
-
Select Output Folder: Choose where converted files will be saved
-
Configure Settings:
- Format: Choose STR, ADP, ADX, AHX, or SFA
- Frequency: Select sample rate (44100, 32000, 22050, 16000, 11025)
- Channels: Mono or Stereo (format-dependent)
- Buffer Size: STR format only (in sectors)
- Output Extension: Customize file extension
- Headerless: STR/ADP format option to remove headers
-
Convert: Click "Convert" to process all audio files in the input folder
aica_encoder/
├── aica_encoder.exe # Main application
├── ffmpeg.exe # Audio processing
├── MkStream.exe # STR format encoding
├── wavecon.exe # ADP format encoding
├── adxencd.exe # ADX format encoding
├── ahxencd.exe # AHX format encoding
├── sfamaker.exe # SFA format encoding
├── aica_encoder.py # Main application (source code)
├── ahxbap*.bap # AHX encoding profiles
├── config.ini # User settings
├── docs/ # Documentation
├── input/ # Default input folder
├── output/ # Default output folder
└── temp/ # Temporary processing files
The application automatically creates a config.ini
file to save your preferences:
[Paths]
input_folder =
output_folder =
[Settings]
frequency = 22050
channels = mono
buffer_size = 1
format = STR
output_extension = adp
clear_temp = 1
- Uses MkStream.exe from Katana SDK
- Yamaha ADPCM compression
- Custom Dreamcast-specific header
- Supports half-play buffer configuration
- Uses wavecon.exe from Katana SDK
- Raw Yamaha ADPCM data
- Optional Windows WAV header
- Uses adxencd.exe from CRI SDK
- CRI's proprietary audio compression
- Loop point support for seamless playback
- Uses ahxencd.exe from CRI SDK
- Optimized for voice audio compression
- Uses BAP files for encoding profiles
- Two-step process: WAV → ADX → SFA
- Compatible with SoftDeck video format
- Used for Dreamcast video audio tracks
Common Issues:
- Ensure all required .exe files are in the same directory as the main application
- Check that input audio files are in supported formats
- Verify sufficient disk space for temporary WAV files
- Run as administrator if experiencing file permission issues
File Not Found Errors:
- The application requires all supporting executables to be present
- Download the complete package from releases
Third-party tools have their respective licenses:
- ffmpeg: LGPL/GPL
- CRI SDK tools: CRI Middleware license
- Katana SDK tools: Sega license
The main application code is provided for educational and development purposes.
This repository may contains third-party tools for educational purposes:
- CRI SDK tools (adxencd.exe, ahxencd.exe) - Copyright CRI Middleware
- Katana SDK tools (MkStream.exe, wavecon.exe) - Copyright Sega
- AHX BAP files - Part of CRI SDK
- Homebrew/educational development only
- Not for commercial use
If you are a copyright holder and wish to have content removed, please open an issue.
For issues and questions:
- Check the troubleshooting section
- Ensure you have all required files
- Verify audio file compatibility
Perfect for Dreamcast homebrew developers looking to create authentic audio experiences!