Skip to content

Adopt centralized craft-libs audio I/O (craft-audio-io) #1274

Open

Description

@el-j

Summary

Audio I/O functionality originally authored in SoundCraft (soundcraft-audio-io) has been centralized into craft-libs (storytold/craft-libs#504) under the canonical craft-* namespace:

  • craft-audio-io (Multi-format audio decoder/encoder supporting WAV, AIFF, FLAC, MP3, AAC, OGG Vorbis via Symphonia and pure-Rust writers)
  • BS.1770 integrated loudness analysis & normalization
  • Re-exported via craft-codecs umbrella crate

Motivation

Centralizing audio format reading and writing into craft-libs provides a single, audited source of truth across all ArtCraft applications (soundcraft, filmcraft, and encodercraft), eliminating duplicate decoder logic and ensuring memory-safe audio buffers with backpressure.

Next Steps

  1. Add migration guide documenting the upstream location in craft-libs.
  2. Transition internal soundcraft audio import/export pipelines to consume craft-audio-io from craft-libs.
  3. Deprecate local crate in favor of upstream craft-libs dependency.

Activity

  1. ticket-craft commented on Nov 2, 2026

    @ticket-craft

    Possibly related: storytold/filmcraft#3940 and storytold/effectcraft#2813.

    This looks like a problem shared by several apps: FilmCraft.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions