Run Cassette
Cassette 0.1 is a Windows-first Tauri 2 application. It uses the installed WebView2 runtime rather than bundling Chromium. There is no server or account requirement.
Windows
Install Node.js 22 or newer, Rust stable, Microsoft C++ Build Tools (Desktop development with C++), and Microsoft Edge WebView2. Install FFmpeg for conversion, compressed exports, and transcription audio preparation:
winget install Gyan.FFmpeg
Open a fresh terminal so FFmpeg is on PATH, then:
npm ci
npm run desktop
Build an NSIS installer:
npm run desktop:build -- --bundles nsis
The installer is under target/release/bundle/nsis. The checked-in Windows workflow performs tests and uploads the installer as an artifact. Installer signing is not configured.
This cloud workspace
source /workspace/.cassette-env/activate.sh
npm ci
npm run dev # browser preview, port 1420
npm run desktop # native desktop; requires a graphical display
npm test
npm run check
The browser preview uses IndexedDB, browser microphone permissions, and WAV exports. It intentionally disables API keys and cloud calls. The desktop uses SQLite, native microphones, and FFmpeg. Sample audio is generated music tones; it contains no speech.
Implemented
- Local managed library, real audio import, metadata, tags as collections, search, filters, sorting.
- Native PCM WAV capture, input selection, live meter, pause/resume, flushed temporary capture, explicit interruption recovery.
- Immutable originals with durable source-range recipes, waveform selection, trim, split, delete, undo/redo, seek, loop, six playback speeds.
- WAV, MP3, M4A/AAC, FLAC, and OGG exports with intent presets, sample rate, channels, bitrate, normalization, estimated size, progress, cancellation, and same-directory atomic finalization. Codec availability depends on FFmpeg.
- Explicit cloud transcription and diarization through OpenAI (
gpt-4o-transcribe-diarize), Deepgram (nova-3), and AssemblyAI (universal-2). Timestamped speaker segments, transcript export, and recipe-revision checks prevent synchronization against a different edit. - Optional API-key persistence through Windows Credential Manager, macOS Keychain, or Linux Secret Service. Keys never enter SQLite, browser preview storage, or logs. Without a working credential store use a key for one request only.
Cloud transcription sends the entire edited recording only after a provider-specific confirmation. Provider charges and retention policies apply. Cancellation stops local work; audio already submitted may still be processed or billed. No retries or cross-provider fallback happen automatically. OpenAI submissions exceeding the upload limit fail before uploading.
Current limits
Windows installer and microphone hardware behavior must be validated on Windows. Live provider requests require your key and were not exercised in this workspace. Long provider calls may take time to acknowledge cancellation. Watched folders, local AI, named speaker profiles, multiple microphones, and cross-device sync are deferred. Local undo history lasts for the current editor session; the current recipe persists across restarts. Recordings have no hard duration cap but large audio uses disk space for the managed source and PCM playback copy.