Local native suite for preparing audio, converting files, managing Rekordbox playlists, generating masters, creating release visuals, and building smarter playlists from indexed metadata.
Rau Studio uses Tauri 2, Rust, React, TypeScript, SQLite, OpenAI-compatible AI features, and ffmpeg. The app is local-first: it does not replace original files, it stores operational history in a local SQLite database, and audio processing runs on the user's machine.
- Rekordbox Convert: import Rekordbox XML, select playlists, convert tracks to AIFF, and export a safe replacement XML.
- File Importer: import local files or folders, create conversion groups, convert to AIFF, and keep history in SQLite.
- Mastering: generate AIFF masters with presets, metadata, cover art, technical analysis, realtime events, and retryable history.
- Turn: generate MP4 spinning-record mockups from local cover art and audio, with range preview and realtime progress.
- Smart Playlists: index Rekordbox XML into SQLite, run lexical/vector search, browse artists/albums, inspect taxonomies, and generate playlist suggestions with Playlist Copilot.
- Metadata Enrichment: fill metadata gaps through capability-aware providers, encrypted credentials, durable observations, and field-level resolution.
- P2P Sharing Foundation: encrypted device identity, authenticated Iroh connectivity, peer presence, and read-only shared-folder catalogs for Rau Connect.
- Broadcast: queue, sort, and jump between indexed tracks, mix local inputs, and publish either a persistent Icecast MP3 stream or a vertical RTMP video signal for Instagram Live.
- Import Rau Studio XML into Rekordbox: visual guide for importing exported XML back into Rekordbox.
- macOS Signing and Notarization: distribution notes for unsigned local builds and signed releases.
- Architecture: technical notes about the desktop, Rust, SQLite, and UI structure.
- Original source files are never replaced.
- The original Rekordbox XML is never modified.
- Existing AIFF files are reused instead of overwritten.
- Operational state is stored in local SQLite.
- Long-running work reports realtime progress and terminal logs.
- Conversion jobs use controlled concurrency to avoid saturating CPU, disk, and memory.
- AI features are optional and work with local fallbacks when no OpenAI API key is configured.
| Layer | Technology |
|---|---|
| Desktop | Tauri 2 |
| Core | Rust |
| UI | React + TypeScript |
| Styling | Tailwind + shadcn-style components |
| Audio/video | ffmpeg / ffprobe |
| Persistence | SQLite |
| Search | SQLite FTS + optional OpenAI embeddings |
| Frontend build | Vite |
- Stable Rust.
- Node.js and npm.
The signed macOS installer includes compatible ffmpeg and ffprobe binaries,
so end users do not need Homebrew or a system installation. Manually configured
paths remain available as an advanced override. Windows and Linux builds still
use ffmpeg/ffprobe from PATH or Settings.
Building the macOS app from source additionally requires Xcode command-line
tools and pkg-config; Intel builds require nasm. The first native build
downloads pinned FFmpeg, x264, and LAME source archives, verifies their SHA-256
hashes, and compiles the sidecars locally. The bundled FFmpeg enables
MP3/H.264/AAC encoding plus the Icecast and RTMP/RTMPS protocols used by
Broadcast. Selecting a build with FFmpeg's drawtext filter also enables the
dynamic station and current-track typography in RTMP video; Rau keeps a
text-free visual fallback for lean builds. On macOS, Broadcast also exposes a
Preview/Program video studio: a camera and a selected screen or application window can remain active as independent,
simultaneous layers. Each can run as a positionable card, full-width strip, or large background, then be fitted or cropped,
rotated, styled, or freely dragged and resized on the interactive Preview canvas. Layer ordering and the final dissolve can
be changed without reconnecting RTMP on macOS, Windows, or Linux.
Prepare or validate the macOS sidecars explicitly:
npm run sidecars:prepareInstall dependencies:
npm installRun the native app in development:
npm run tauri:devRun only the web UI:
npm run devBuild the frontend:
npm run buildBuild the native bundled app:
npm run tauri:buildBundles are generated under:
src-tauri/target/release/bundle/
Run the Rust core tests:
cargo test -p aifficator-coreGitHub Actions builds downloadable installers for macOS, Windows, and Linux.
Run the interactive release assistant from a terminal:
npm run releaseIt suggests the next patch tag, updates the versions in npm, Cargo, and Tauri, runs the frontend build and Rust tests, creates a Conventional Commit plus an annotated tag, and atomically pushes both. The tag triggers Build installers, which publishes the GitHub Release after every platform finishes successfully.
The assistant shows every pending file before staging because the release commit includes all current changes. It asks for confirmation before changing versions, before committing, and before pushing.
Other release options:
- Run Build installers manually from the GitHub Actions tab.
- Push a
v*tag to publish a GitHub Release with attached artifacts.
Manual example:
git tag v0.1.19
git push origin v0.1.19Expected artifacts:
- macOS Apple Silicon:
_arm64.dmg - macOS Intel:
_x86_64.dmg - Windows:
.exe/.msi - Linux:
.AppImage/.deb
The release workflow signs macOS builds with Developer ID Application, notarizes the app and DMG with Apple, staples the notarization tickets, and validates the result with Gatekeeper. Details are in docs/macos-signing.md.
.
|-- crates/aifficator-core/
|-- docs/
|-- src/
|-- src-tauri/
|-- Cargo.toml
|-- package.json
`-- README.md
Check an optional system ffmpeg and ffprobe override:
ffmpeg -version
ffprobe -versionOn macOS, the status panel reports Incluido con Rau Studio when the bundled sidecars are active. If the bundled engine is missing, reinstall the signed app or configure manual paths in Settings.
If the Vite websocket fails during development, restart the native dev server:
npm run tauri:devIf Rekordbox cannot find files after importing XML, confirm that each exported Location points to an existing local file and that converted files still exist inside converted/ folders.
If files live on an external macOS drive and playback/conversion fails, grant Rau Studio access to removable volumes or Full Disk Access, and verify the drive is not mounted read-only.
Rau Studio source code is MIT licensed. The separately bundled FFmpeg/x264/LAME command-line programs are distributed under GPL terms; their notices, license texts, exact build configuration, and corresponding source archives accompany the macOS distribution.