Tamed’s audio pipeline is built on Media3/ExoPlayer and exposes deep configuration through Android DataStore. This page covers every preference key that influences how audio is sourced, processed, and played back — from bitrate selection and equalizer bands to download caching and proxy routing.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/calmerism/Tamed/llms.txt
Use this file to discover all available pages before exploring further.
Audio Quality
YouTube Music Quality
YouTube Music Quality
| Preference Key | DataStore Key | Type | Default | Description |
|---|---|---|---|---|
AudioQualityKey | audioQuality | String (AudioQuality enum) | AUTO | Selects the stream quality for YouTube Music tracks. |
PlayerStreamClientKey | playerStreamClient | String (PlayerStreamClient enum) | ANDROID_VR | The InnerTube client identity used when fetching stream URLs. Different clients expose different formats and bitrates. |
NetworkMeteredKey | networkMetered | Boolean | true | When true, restricts quality to a lower tier on metered (mobile data) connections to save data. |
AudioQuality enum values| Value | Description |
|---|---|
AUTO | Lets ExoPlayer pick the best format for current network conditions |
LOW | Forces low-bitrate streams |
HIGH | Forces high-bitrate streams |
HIGHEST | Forces the maximum available bitrate |
PlayerStreamClient enum values| Value | Description |
|---|---|
ANDROID_VR | Android VR client (default; often unlocks higher quality) |
WEB_REMIX | YouTube Music web client |
IOS | iOS YouTube Music client |
TVHTML5 | Smart TV HTML5 client |
ANDROID_MUSIC | Android YouTube Music client |
JioSaavn Streaming
JioSaavn Streaming
JioSaavn is an alternative audio provider for users in India. Enable it to route playback through JioSaavn’s CDN instead of YouTube Music.
| Preference Key | DataStore Key | Type | Default | Description |
|---|---|---|---|---|
EnableSaavnStreamingKey | enableSaavnStreaming | Boolean | false | Switches the audio backend to JioSaavn. When enabled, AudioQualityKey and PlayerStreamClientKey are ignored. |
SaavnAudioQualityKey | saavnAudioQuality | String (SaavnAudioQuality enum) | QUALITY_320 | Bitrate for JioSaavn streams. |
SaavnAudioQuality enum values| Value | API Value | Label |
|---|---|---|
QUALITY_320 | 320kbps | High (320 kbps) |
QUALITY_160 | 160kbps | Medium (160 kbps) |
QUALITY_96 | 96kbps | Low (96 kbps) |
Playback Behavior
Queue & Session
Queue & Session
| Preference Key | DataStore Key | Type | Default | Description |
|---|---|---|---|---|
PersistentQueueKey | persistentQueue | Boolean | true | Saves the current playback queue to disk so it is restored after the app is killed or the device is restarted. |
PermanentShuffleKey | permanentShuffle | Boolean | false | Keeps shuffle active across sessions rather than resetting it on each launch. |
RepeatModeKey | repeatMode | Int | — | Stores the current repeat mode (maps to ExoPlayer REPEAT_MODE_OFF, _ONE, _ALL). |
PlayerVolumeKey | playerVolume | Float (0–1) | — | Persists the last-used in-app volume level. |
AutoLoadMoreKey | autoLoadMore | Boolean | — | Automatically loads additional tracks into the queue when it nears its end. |
AutoSkipNextOnErrorKey | autoSkipNextOnError | Boolean | false | Skips to the next track automatically if a stream error is encountered. |
Silence & Normalization
Silence & Normalization
| Preference Key | DataStore Key | Type | Default | Description |
|---|---|---|---|---|
SkipSilenceKey | skipSilence | Boolean | false | Enables ExoPlayer’s silence-skipping feature. Disabled when AudioOffload is active. |
SkipSilenceInstantKey | skipSilenceInstant | Boolean | false | Skips silence without fade-out — only available when SkipSilenceKey is enabled and AudioOffload is off. |
AudioNormalizationKey | audioNormalization | Boolean | true | Applies loudness normalization so tracks play back at a consistent perceived volume. |
AudioOffload | audioOffload | Boolean | false | Offloads audio decoding to dedicated hardware, reducing CPU usage and improving battery life. Disables skip-silence and crossfade. |
AudioCrossfadeDurationKey | audioCrossfadeDuration | Int (ms) | 0 | Duration in milliseconds of the crossfade between tracks. 0 disables crossfade. Disabled when AudioOffload is active. |
Device & Session Behavior
Device & Session Behavior
| Preference Key | DataStore Key | Type | Default | Description |
|---|---|---|---|---|
PauseOnDeviceMuteKey | pauseOnDeviceMute | Boolean | false | Pauses playback when the device volume is muted rather than continuing silently. |
AutoStartOnBluetoothKey | autoStartOnBluetooth | Boolean | false | Resumes playback automatically when a Bluetooth audio device connects. |
StopMusicOnTaskClearKey | stopMusicOnTaskClear | Boolean | true | Stops the media service when the app is removed from the Recents screen. |
WakelockKey | wakelock | Boolean | true | Acquires a CPU wakelock while playing to prevent the device from sleeping mid-track. |
Equalizer
Tamed includes a built-in parametric equalizer with per-band level control, output gain, bass boost, and virtualizer. Settings are saved as JSON strings in DataStore.Enable & Profiles
Enable & Profiles
| Preference Key | DataStore Key | Type | Default | Description |
|---|---|---|---|---|
EqualizerEnabledKey | equalizerEnabled | Boolean | — | Master switch for the equalizer. When false, all EQ processing is bypassed. |
EqualizerSelectedProfileIdKey | equalizerSelectedProfileId | String | — | ID of the currently active equalizer profile. |
EqualizerCustomProfilesJsonKey | equalizerCustomProfilesJson | String (JSON) | — | Serialized list of user-created EqProfile objects. |
EqProfile fields| Field | Type | Description |
|---|---|---|
id | String | Unique profile identifier |
name | String | User-visible profile name |
bandCenterFreqHz | List<Int> | Center frequency of each band in Hz |
bandLevelsMb | List<Int> | Level of each band in millibels |
outputGainMb | Int | Output gain in millibels |
bassBoostStrength | Int | Bass boost strength (0–1000) |
virtualizerStrength | Int | Virtualizer strength (0–1000) |
Band Levels & Output Gain
Band Levels & Output Gain
| Preference Key | DataStore Key | Type | Default | Description |
|---|---|---|---|---|
EqualizerBandLevelsMbKey | equalizerBandLevelsMb | String (JSON array) | — | JSON-serialized array of per-band levels in millibels. |
EqualizerOutputGainEnabledKey | equalizerOutputGainEnabled | Boolean | — | Enables the output gain stage after the EQ bands. |
EqualizerOutputGainMbKey | equalizerOutputGainMb | Int (millibels) | — | Output gain value in millibels applied after the EQ bands. |
Bass Boost & Virtualizer
Bass Boost & Virtualizer
| Preference Key | DataStore Key | Type | Default | Description |
|---|---|---|---|---|
EqualizerBassBoostEnabledKey | equalizerBassBoostEnabled | Boolean | — | Enables the bass boost effect. |
EqualizerBassBoostStrengthKey | equalizerBassBoostStrength | Int (0–1000) | — | Intensity of bass boost. 0 = no boost, 1000 = maximum. |
EqualizerVirtualizerEnabledKey | equalizerVirtualizerEnabled | Boolean | — | Enables the virtualizer (stereo widening) effect. |
EqualizerVirtualizerStrengthKey | equalizerVirtualizerStrength | Int (0–1000) | — | Intensity of the virtualizer. 0 = no effect, 1000 = maximum. |
Downloads & Cache
Cache Sizes
Cache Sizes
| Preference Key | DataStore Key | Type | Default | Description |
|---|---|---|---|---|
MaxSongCacheSizeKey | maxSongCacheSize | Int (MB) | — | Maximum size of the audio stream cache on disk in megabytes. |
MaxImageCacheSizeKey | maxImageCacheSize | Int (MB) | — | Maximum size of the album art image cache in megabytes. |
MaxCanvasCacheSizeKey | maxCanvasCacheSize | Int (MB) | — | Maximum size of the Tamed Canvas animated backdrop cache in megabytes. |
SmartTrimmerKey | smartTrimmer | Boolean | — | Automatically evicts least-recently-used cache entries when limits are approached. |
Download Behavior
Download Behavior
| Preference Key | DataStore Key | Type | Default | Description |
|---|---|---|---|---|
AutoDownloadOnLikeKey | autoDownloadOnLike | Boolean | false | Automatically downloads a track when you add it to Liked Songs. |
ExternalDownloaderEnabledKey | externalDownloaderEnabled | Boolean | false | Routes downloads through a third-party downloader app instead of the built-in downloader. |
ExternalDownloaderPackageKey | externalDownloaderPackage | String | "" | Package name of the external downloader app (e.g. com.example.downloader). |
Network & Proxy
Proxy Configuration
Proxy Configuration
| Preference Key | DataStore Key | Type | Default | Description |
|---|---|---|---|---|
ProxyEnabledKey | proxyEnabled | Boolean | false | Routes all InnerTube API requests through the configured proxy. |
ProxyUrlKey | proxyUrl | String | "host:port" | Proxy server address in host:port format. |
ProxyTypeKey | proxyType | String | HTTP | Proxy protocol. Valid values: HTTP, SOCKS. |
StreamBypassProxyKey | streamBypassProxy | Boolean | false | When true, media stream URLs bypass the proxy even if one is enabled for API calls. Useful for improving streaming performance. |
