Convert SHN to AU

Drag and drop files here or click to select.
Max file size 100mb.
Uploading progress:

SHN vs AU Format Comparison

Aspect SHN (Source Format) AU (Target Format)
Format Overview
SHN
Shorten Audio Format

Shorten (SHN) is a lossless audio compression format created by Tony Robinson in 1993. It was one of the earliest practical lossless codecs and became the standard for trading live concert recordings online. Though superseded by FLAC, SHN files remain common in legacy music archives from the concert trading community.

Lossless Legacy
AU
Sun/NeXT Audio Format

AU (Sun Audio) is an audio file format introduced by Sun Microsystems in the late 1980s for Unix workstations. It stores audio data as simple PCM samples or compressed using mu-law/A-law encoding, with a minimal header structure. AU became the standard audio format for Java, NeXT computers, and Solaris systems, and remains supported across Unix/Linux platforms.

Lossless Legacy
Technical Specifications
Sample Rates: 8 kHz – 96 kHz
Bit Depth: 8, 16-bit integer
Channels: Mono, Stereo
Codec: Shorten (predictive coding + Huffman)
Container: Raw Shorten stream (.shn)
Sample Rates: 8 kHz – 48 kHz (commonly 8 kHz, 22.05 kHz, 44.1 kHz)
Bit Depth: 8-bit mu-law, 8/16/24/32-bit PCM, 32/64-bit float
Channels: Mono, Stereo, Multichannel
Codec: PCM, mu-law, A-law, ADPCM
Container: AU/SND (.au, .snd)
Audio Encoding

Shorten uses linear prediction and Huffman coding for lossless compression at roughly 2:1 ratios:

# Decode SHN to WAV
ffmpeg -i input.shn output.wav

# Direct SHN to other format
ffmpeg -i input.shn -codec:a pcm_s16le \
  output.wav

AU uses a simple binary header followed by raw audio data. The most common encoding is mu-law (8-bit logarithmic) for telephony or linear PCM for higher quality:

# Encode to AU with mu-law (8-bit, 8 kHz)
ffmpeg -i input.wav -codec:a pcm_mulaw \
  -ar 8000 -ac 1 output.au

# Encode to AU with linear PCM (16-bit)
ffmpeg -i input.wav -codec:a pcm_s16be \
  -ar 44100 output.au
Audio Features
  • Metadata: No native tag support
  • Album Art: Not supported
  • Gapless Playback: Supported — important for live recordings
  • Streaming: Not designed for streaming
  • Seeking: Limited — requires seek tables
  • Chapters: Not supported
  • Metadata: Minimal — optional annotation field in header
  • Album Art: Not supported
  • Gapless Playback: Inherent — no encoder padding in PCM mode
  • Streaming: Not designed for streaming
  • Seeking: Fast — fixed-size frames for PCM data
  • Chapters: Not supported
Advantages
  • Bit-perfect lossless audio preservation
  • Historical standard for live concert archives
  • Simple, fast decoding
  • Gapless playback for continuous performances
  • Widely recognized in tape-trading communities
  • Extremely simple format with minimal header overhead
  • Native support across all Unix, Linux, and Solaris systems
  • Built-in Java audio support via javax.sound
  • Big-endian byte order eliminates byte-swapping on SPARC/MIPS
  • Mu-law encoding efficient for telephony and voice applications
  • No licensing fees or patent restrictions
Disadvantages
  • Obsolete — superseded by FLAC
  • No metadata or tagging capability
  • Limited modern software support
  • Larger files than FLAC for same content
  • Poor seeking without seek tables
  • Very limited metadata and tagging capabilities
  • No album art or rich tag support
  • Large file sizes in PCM mode, similar to WAV
  • Mu-law encoding quality inferior to modern lossy codecs
  • Minimal support on Windows and macOS consumer software
  • No built-in lossless compression option (only PCM or mu-law)
Common Uses
  • Live concert recording archives (Grateful Dead, Phish)
  • Legacy lossless music collections from 1990s–2000s
  • Tape-trading community archives
  • Archive.org live music collections
  • Source files for re-encoding to modern formats
  • Unix system sounds and notification alerts
  • Java application audio via javax.sound.sampled
  • Telephony and voice-over-IP (mu-law encoding)
  • Legacy Solaris and NeXT workstation audio
  • Scientific data acquisition on Unix platforms
Best For
  • Legacy concert archive compatibility
  • Preserving original live recordings bit-perfectly
  • Source material for transcoding to FLAC/AAC/Opus
  • Historical archive provenance
  • Unix/Linux system audio integration
  • Java application development requiring audio playback
  • Telephony systems using mu-law or A-law encoding
  • Legacy Sun/NeXT system compatibility
  • Simple audio storage without metadata overhead
Version History
Introduced: 1993 (Tony Robinson, SoftSound)
Current Version: Shorten 3.x
Status: Legacy, no active development
Evolution: Shorten (1993) → largely replaced by FLAC (2001)
Introduced: ~1988 (Sun Microsystems)
Current Version: AU format specification (stable)
Status: Legacy, still supported in Java and Unix
Evolution: Sun Audio (~1988) → NeXT .snd adoption → Java javax.sound standard
Software Support
Media Players: foobar2000, VLC, Winamp (plugin)
Decoders: FFmpeg, shorten CLI tool
Mobile: Not natively supported
Web Browsers: Not supported
Archives: etree.org, archive.org
Media Players: VLC, Audacity, ffplay, sox
DAWs: Audacity, Ardour (Linux DAWs)
Mobile: Limited — requires conversion for most devices
Web Browsers: Not natively supported
Development: Java (javax.sound), Python (sunau, wave modules)

Why Convert SHN to AU?

Converting SHN to AU produces audio files compatible with Unix workstations, Java applications, and Solaris systems. The AU format's simple structure — a compact header followed by raw audio data — makes it ideal for embedded systems, server-side audio processing, and Java's javax.sound framework. If your target platform is Unix-based or Java-dependent, AU provides native support without additional libraries or codecs.

SHN files offer excellent capabilities in their native ecosystem, but AU remains the standard audio format for Java development and many Unix/Linux applications. Java's javax.sound.sampled API reads and writes AU natively without any external dependencies, making it the simplest choice for Java audio applications. Converting your SHN audio to AU ensures zero-friction integration with Java sound pipelines.

The AU format supports multiple encoding modes including uncompressed PCM (for maximum quality), mu-law (for efficient telephony-grade audio), and A-law encoding. For server-side audio processing on Unix systems, AU's simple binary format is easy to parse programmatically without complex container libraries. This simplicity makes AU particularly valuable for automated audio processing pipelines and IoT audio systems.

Keep in mind that AU has limited metadata support and no album art capability. If your SHN files contain rich tags or embedded artwork, this information will not transfer to the AU format. For applications where metadata is important, consider maintaining your SHN originals alongside the AU conversions. The primary value of AU conversion lies in platform compatibility and format simplicity, not in metadata or feature richness.

Key Benefits of Converting SHN to AU:

  • Java Native: javax.sound.sampled reads AU without external libraries
  • Unix Standard: Native audio format for Sun, NeXT, and Linux systems
  • Simple Format: Easy to parse and process programmatically
  • Telephony Ready: Mu-law and A-law encoding for VoIP applications
  • Server-Side: Lightweight format for web servers and backend processing
  • Embedded Systems: Minimal overhead for resource-constrained devices
  • Legacy Compatibility: Required for older Unix applications and workflows

Practical Examples

Example 1: Java Application Sound Integration

Scenario: A Java developer needs to add audio feedback to an enterprise application. Their sound library is in SHN format, but Java's javax.sound.sampled API works best with AU files for cross-platform audio playback without additional dependencies.

Source: ui_sounds/ (12 SHN files, various alerts and notifications)
Conversion: SHN → AU (PCM 16-bit, 22.05 kHz, mono)
Result: 12 AU files ready for javax.sound integration

Workflow:
1. Convert SHN sound effects to AU format
2. Place AU files in Java resources directory
3. Load via AudioSystem.getAudioInputStream()
4. Play through Clip or SourceDataLine
5. Deploy with zero external audio dependencies

Example 2: Unix Server Audio Processing Pipeline

Scenario: A backend service on a Linux server processes audio uploads. The processing pipeline uses SoX and custom C tools that expect AU input format for their simple binary parsing routines.

Source: uploaded_audio.shn (user-uploaded audio file)
Conversion: SHN → AU (PCM 16-bit, 44.1 kHz)
Result: processed_audio.au (ready for pipeline)

Pipeline requirements met:
✓ Simple binary header parsed by custom C tools
✓ Raw PCM data accessible without complex container libraries
✓ Compatible with SoX command-line processing
✓ Consistent format for batch audio analysis
✓ Minimal overhead in server-side processing

Example 3: Embedded System Audio Deployment

Scenario: An IoT device running embedded Linux needs audio alerts and voice prompts. The firmware audio player supports AU format natively due to its simple structure and minimal parsing requirements.

Source: alert_sounds/ (8 SHN files, various device alerts)
Conversion: SHN → AU (mu-law, 8 kHz, mono)
Result: 8 AU files (compact, firmware-ready)

Embedded system benefits:
✓ Minimal header parsing code required
✓ Mu-law encoding reduces storage on flash memory
✓ No complex audio library dependencies
✓ Direct PCM or mu-law playback via audio hardware
✓ Reliable on resource-constrained embedded Linux

Frequently Asked Questions (FAQ)

Q: What is the AU format and why would I convert to it?

A: AU (Sun Audio) is a simple audio format from Sun Microsystems used on Unix workstations, in Java applications, and on Solaris systems. You would convert to AU primarily for Java application development (javax.sound supports AU natively), Unix server-side audio processing, embedded Linux systems, or legacy system compatibility. AU's simple structure makes it easy to parse without complex library dependencies.

Q: Will my SHN metadata transfer to the AU file?

A: No — the AU format has extremely limited metadata support. It includes only an optional free-form annotation field in the header. Tags like title, artist, album, cover art, and other metadata from your SHN files will not transfer to AU. If metadata preservation is important, keep your original SHN files and use AU copies only where the format is specifically required.

Q: What encoding should I choose for AU output — PCM or mu-law?

A: Choose PCM (pcm_s16be or pcm_s24be) for general-purpose audio at full quality — this stores uncompressed samples identical to WAV quality. Choose mu-law (pcm_mulaw) for telephony applications, voice prompts, or when you need compact 8-bit files. Mu-law is optimized for speech at 8 kHz and provides acceptable voice quality in very small files, but it is not suitable for music content.

Q: Can modern media players play AU files?

A: VLC, Audacity, FFplay, and SoX can all play AU files. However, mainstream players like Windows Media Player, Apple Music, and most mobile music apps do not natively support AU. This limited playback support is one reason AU conversion is typically done for specific technical requirements (Java, Unix, embedded) rather than for general listening purposes.

Q: Is AU the same as SND format?

A: Yes — AU and SND are essentially the same format. Sun Microsystems used the .au extension on their systems, while NeXT Computer used the .snd extension. Both share the same file structure: a magic number (0x2e736e64, which is ".snd" in ASCII), followed by data offset, data size, encoding type, sample rate, and channel count. The files are interchangeable regardless of extension.

Q: Why is AU format big-endian?

A: AU uses big-endian byte order because it was designed for Sun SPARC and Motorola 68000 processors, which are big-endian architectures. This was the natural byte order for Sun workstations and NeXT computers. On modern little-endian x86/ARM systems, audio processing libraries handle the byte swapping transparently. This is a historical artifact that doesn't affect audio quality.

Q: What sample rates and bit depths does AU support?

A: AU supports a wide range of sample rates (commonly 8 kHz, 11.025 kHz, 22.05 kHz, 44.1 kHz, and 48 kHz) and bit depths (8-bit mu-law, 8/16/24/32-bit PCM integer, and 32/64-bit floating point). For Java compatibility, 8 kHz or 22.05 kHz mono at 16-bit PCM is most commonly used. For high-quality audio, 44.1 kHz or 48 kHz at 16 or 24-bit PCM is recommended.

Q: How long does SHN to AU conversion take?

A: Conversion to AU is extremely fast — typically several times faster than real-time. The AU format's simple structure means encoding is essentially just writing a short header followed by PCM data. A 5-minute audio file converts to AU in under a second on modern hardware. The primary bottleneck, if any, is decoding the SHN source format, not the AU encoding.