# muse | Ko Shin | Knowledge Base | Instagit

a simple tts app

GitHub Stars: 48

Repository: https://github.com/kkoshin/muse

---

## Articles

### [Muse Release Process: Building Android (APK/AAB) and iOS Binaries](/kkoshin/muse/how-does-the-release-process-work-for-both-android-apkab-and-ios-builds)

Discover the Muse release process for automated Android APK AAB builds with GitHub Actions and manual iOS IPA generation via Xcode or local scripts. Streamline your releases.

- Tags: how-to-guide
- Published: 2026-03-05

### [Configuration Options in gradle.properties for Building the Muse App](/kkoshin/muse/what-configuration-options-exist-in-gradleproperties-for-building-the-app)

Discover essential gradle properties for the kkoshin/muse app. Fine tune build settings for memory, AndroidX, KMP, and R class behavior for Android and iOS.

- Tags: how-to-guide
- Published: 2026-03-05

### [How Back Button Handling Works Differently on Android vs iOS in Muse](/kkoshin/muse/how-is-back-button-handling-implemented-differently-on-android-versus-ios)

Explore how Muse handles back button presses differently on Android and iOS. Discover the Kotlin Multiplatform implementation and platform-specific approaches for seamless navigation.

- Tags: deep-dive
- Published: 2026-03-05

### [How to Add a New TTS Provider to Muse Alongside ElevenLabs: A Complete Implementation Guide](/kkoshin/muse/how-can-i-add-a-new-tts-provider-alongside-the-existing-elevenlabs-integration)

Add a new TTS provider to Muse by implementing the TTSProvider interface and registering it in Koin. Follow this complete guide for seamless integration.

- Tags: how-to-guide
- Published: 2026-03-05

### [Voice Data and Subscription Quota Caching Strategies in Muse](/kkoshin/muse/what-strategies-are-used-for-caching-voice-data-and-subscription-quotas)

Discover Muse's three-tier caching for voice data and real-time subscription quota fetching. Learn how Muse optimizes performance and user experience by caching voice data efficiently.

- Tags: internals
- Published: 2026-03-05

### [How AudioPlaybackButton Handles State Changes in the Muse Audio Player](/kkoshin/muse/how-does-the-audio-playback-button-component-handle-state-changes)

Discover how the AudioPlaybackButton in kkoshin/muse uses PlaybackState enum, observers, and Compose MutableState to efficiently handle state changes. Learn more about its robust implementation.

- Tags: internals
- Published: 2026-03-05

### [Kotlin Flow in Muse: Connecting AccountManager to ElevenLabs Providers](/kkoshin/muse/what-is-the-role-of-flow-in-the-account-manager-and-provider-initialization)

Discover how Kotlin Flow connects AccountManager to ElevenLabs providers in Muse, automating client setup on API key updates and eliminating manual polling for seamless integration.

- Tags: internals
- Published: 2026-03-05

### [How Coroutines Are Used for Asynchronous Operations Across Different Providers in Muse](/kkoshin/muse/how-are-coroutines-used-for-asynchronous-operations-across-different-providers)

Discover how Muse uses Kotlin coroutines for seamless asynchronous operations across TTS, STT, and audio providers. Learn about suspend functions and Ktor for cross-platform consistency.

- Tags: internals
- Published: 2026-03-05

### [How Export Configuration Options Like Sample Rate and Channels Are Applied in Muse](/kkoshin/muse/how-are-export-configuration-options-like-sample-rate-and-channels-applied)

Learn how Muse applies export configuration options like sample rate and channels. Discover how AudioSampleMetadata and AudioExportPipeline manage WAV headers and MP3 encoding.

- Tags: internals
- Published: 2026-03-05

### [How iOS Platform Bridges Work in Muse: FileUtils and DocumentPicker Architecture](/kkoshin/muse/how-do-the-ios-platform-bridges-like-fileutils-and-documentpicker-work)

Discover how Muse's iOS platform bridges FileUtils and DocumentPicker leverage expect/actual for native file sharing and document selection via okio.Path API.

- Tags: architecture
- Published: 2026-03-05

### [Memory Management Strategies for Streaming Audio in TTS Operations: The Muse Kotlin Implementation](/kkoshin/muse/what-are-the-memory-management-strategies-for-streaming-audio-in-tts-operations)

Discover memory management strategies for streaming audio in TTS operations. Explore how the Muse Kotlin implementation optimizes audio buffering and network connection handling for efficient performance.

- Tags: deep-dive
- Published: 2026-03-05

### [How the Ktor HTTP Client is Configured in the ElevenLabs SDK for API Calls](/kkoshin/muse/how-is-the-ktor-http-client-configured-in-the-elevenlabs-sdk-for-api-calls)

Discover how the ElevenLabs SDK configures the Ktor HTTP client for API calls. Learn about platform specific engines and shared settings for efficient development.

- Tags: how-to-guide
- Published: 2026-03-05

### [How to Encode Audio Samples to MP3 Using Mp3Encoder and WavParser in Muse](/kkoshin/muse/how-are-audio-samples-processed-and-encoded-using-mp3encoder-and-wavparser)

Learn how Muse encodes audio samples to MP3 using Mp3Encoder and WavParser. Process PCM data from WAV files into MP3 streams efficiently with this guide.

- Tags: how-to-guide
- Published: 2026-03-05

### [How Jetpack Compose Navigation Works in the Muse App: Dashboard to Editor Flow](/kkoshin/muse/how-does-compose-navigation-work-across-different-screens-like-dashboard-and-editor)

Explore Jetpack Compose navigation in the Muse app. Learn how typed, serializable routes in NavHost connect Dashboard and Editor screens with compile-time safety.

- Tags: deep-dive
- Published: 2026-03-05

### [How the Muse Script Editor Manages and Persists Scripts Using the SQLDelight Driver](/kkoshin/muse/how-does-the-script-editor-manage-and-persist-scripts-using-the-sql-driver)

Learn how the Muse script editor uses SQLDelight and platform-specific SqlDriver implementations to efficiently manage and persist scripts, ensuring UI responsiveness with background thread operations.

- Tags: internals
- Published: 2026-03-05

### [How the Audio Isolation Feature Removes Background Noise from Recordings](/kkoshin/muse/how-does-the-audio-isolation-feature-remove-background-noise-from-recordings)

Learn how the audio isolation feature removes background noise from recordings using the ElevenLabs API and Kotlin. Stream audio, get clean results, and enhance your sound.

- Tags: how-to-guide
- Published: 2026-03-05

### [How AccountManager Handles ElevenLabs API Key Storage and Lifecycle in Muse](/kkoshin/muse/how-does-the-accountmanager-handle-elevenlabs-api-key-storage-and-lifecycle)

Discover how Muse's AccountManager securely stores and manages ElevenLabs API keys using Jetpack DataStore for reactive, atomic updates across your application.

- Tags: internals
- Published: 2026-03-05

### [How Platform-Specific Code Is Implemented Using Kotlin's expect/actual Pattern in the Muse Repository](/kkoshin/muse/how-is-platform-specific-code-implemented-using-kotlins-expectactual-pattern)

Learn how the Muse repository uses Kotlin's expect/actual pattern to implement platform-specific code, maximizing code reuse and isolating native SDK dependencies for Android and iOS.

- Tags: internals
- Published: 2026-03-05

### [How the Muse Audio Export Pipeline Converts PCM to WAV and MP3](/kkoshin/muse/how-does-the-audio-export-pipeline-handle-mp3-and-wav-conversion)

Learn how the Muse audio export pipeline converts PCM to WAV and MP3. Discover the use of LAME encoder and silence padding for efficient audio processing.

- Tags: internals
- Published: 2026-03-05

