Skip to content

Dreamcast Audio Converter: Your Gateway to Retro Gaming Sound. Mostly for Dreamcast's AICA ADPCM 4-bit (STR/ADP/YADPCM/etc) aka Yamaha ADPCM streams.

License

Notifications You must be signed in to change notification settings

Conkwer/aica_encoder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

aica_encoder (GUI): Dreamcast Audio Converter

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

Important: Required Third-Party Tools

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.

Required Tools:

  • 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.

Setup Instructions:

  1. Download the required tools from their respective sources
  2. Place all executables in the same directory as aica_encoder.py
  3. Run the application

Requirements

  • 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)
screenshot

Features

  • 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

Supported Input Formats

  • ADX, MP3, WAV, FLAC, AAC, OGG, Opus, MP4, MP2

Supported Output Formats

STR Format

  • Yamaha ADPCM with custom header (from Katana SDK)
  • Supports stereo/mono
  • Custom buffer size settings
  • Optional headerless output

ADP Format

  • Raw Yamaha ADPCM data using wavecon.exe
  • Mono only
  • Optional WAV header output

ADX Format

  • CRI ADX encoding using adxencd.exe
  • Supports stereo/mono
  • Loop point support (-lpa flag)

AHX Format

  • CRI AHX format optimized for voice audio
  • Mono only
  • Dreamcast-optimized (used in Shenmue 2, for example)

SFA Format

  • SoftDeck audio format for Dreamcast videos
  • Compatible with SFD video container
  • Supports stereo/mono

Installation

Option 1: Download Pre-built Executable

  1. Download the latest release from the releases page
  2. Extract to your desired location
  3. Run aica_encoder.exe

Option 2: Run from Source

  1. Ensure Python 3.8+ is installed
  2. Install required dependencies:
    pip install tkinter
  3. Run the application:
    python strenc.py

Usage

  1. Select Input Folder: Choose the folder containing your source audio files

  2. Select Output Folder: Choose where converted files will be saved

  3. 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
  4. Convert: Click "Convert" to process all audio files in the input folder

File Structure

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

Configuration

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

Technical Details

STR Format

  • Uses MkStream.exe from Katana SDK
  • Yamaha ADPCM compression
  • Custom Dreamcast-specific header
  • Supports half-play buffer configuration

ADP Format

  • Uses wavecon.exe from Katana SDK
  • Raw Yamaha ADPCM data
  • Optional Windows WAV header

ADX Format

  • Uses adxencd.exe from CRI SDK
  • CRI's proprietary audio compression
  • Loop point support for seamless playback

AHX Format

  • Uses ahxencd.exe from CRI SDK
  • Optimized for voice audio compression
  • Uses BAP files for encoding profiles

SFA Format

  • Two-step process: WAV → ADX → SFA
  • Compatible with SoftDeck video format
  • Used for Dreamcast video audio tracks

Troubleshooting

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

License

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.

Legal Disclaimer

This repository may contains third-party tools for educational purposes:

Proprietary Tools often used for Dreamcast development:

  • 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

Intended Use:

  • Homebrew/educational development only
  • Not for commercial use

Removal Requests:

If you are a copyright holder and wish to have content removed, please open an issue.

Support

For issues and questions:

  1. Check the troubleshooting section
  2. Ensure you have all required files
  3. Verify audio file compatibility

Perfect for Dreamcast homebrew developers looking to create authentic audio experiences!

About

Dreamcast Audio Converter: Your Gateway to Retro Gaming Sound. Mostly for Dreamcast's AICA ADPCM 4-bit (STR/ADP/YADPCM/etc) aka Yamaha ADPCM streams.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published