Skip to main content

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.

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.

Audio Quality

Preference KeyDataStore KeyTypeDefaultDescription
AudioQualityKeyaudioQualityString (AudioQuality enum)AUTOSelects the stream quality for YouTube Music tracks.
PlayerStreamClientKeyplayerStreamClientString (PlayerStreamClient enum)ANDROID_VRThe InnerTube client identity used when fetching stream URLs. Different clients expose different formats and bitrates.
NetworkMeteredKeynetworkMeteredBooleantrueWhen true, restricts quality to a lower tier on metered (mobile data) connections to save data.
AudioQuality enum values
ValueDescription
AUTOLets ExoPlayer pick the best format for current network conditions
LOWForces low-bitrate streams
HIGHForces high-bitrate streams
HIGHESTForces the maximum available bitrate
PlayerStreamClient enum values
ValueDescription
ANDROID_VRAndroid VR client (default; often unlocks higher quality)
WEB_REMIXYouTube Music web client
IOSiOS YouTube Music client
TVHTML5Smart TV HTML5 client
ANDROID_MUSICAndroid YouTube Music client
Changing PlayerStreamClientKey affects the User-Agent and request parameters sent to YouTube’s servers. Some clients may not be available in all regions or may return different audio formats.
JioSaavn is an alternative audio provider for users in India. Enable it to route playback through JioSaavn’s CDN instead of YouTube Music.
Preference KeyDataStore KeyTypeDefaultDescription
EnableSaavnStreamingKeyenableSaavnStreamingBooleanfalseSwitches the audio backend to JioSaavn. When enabled, AudioQualityKey and PlayerStreamClientKey are ignored.
SaavnAudioQualityKeysaavnAudioQualityString (SaavnAudioQuality enum)QUALITY_320Bitrate for JioSaavn streams.
SaavnAudioQuality enum values
ValueAPI ValueLabel
QUALITY_320320kbpsHigh (320 kbps)
QUALITY_160160kbpsMedium (160 kbps)
QUALITY_9696kbpsLow (96 kbps)

Playback Behavior

Preference KeyDataStore KeyTypeDefaultDescription
PersistentQueueKeypersistentQueueBooleantrueSaves the current playback queue to disk so it is restored after the app is killed or the device is restarted.
PermanentShuffleKeypermanentShuffleBooleanfalseKeeps shuffle active across sessions rather than resetting it on each launch.
RepeatModeKeyrepeatModeIntStores the current repeat mode (maps to ExoPlayer REPEAT_MODE_OFF, _ONE, _ALL).
PlayerVolumeKeyplayerVolumeFloat (0–1)Persists the last-used in-app volume level.
AutoLoadMoreKeyautoLoadMoreBooleanAutomatically loads additional tracks into the queue when it nears its end.
AutoSkipNextOnErrorKeyautoSkipNextOnErrorBooleanfalseSkips to the next track automatically if a stream error is encountered.
Preference KeyDataStore KeyTypeDefaultDescription
SkipSilenceKeyskipSilenceBooleanfalseEnables ExoPlayer’s silence-skipping feature. Disabled when AudioOffload is active.
SkipSilenceInstantKeyskipSilenceInstantBooleanfalseSkips silence without fade-out — only available when SkipSilenceKey is enabled and AudioOffload is off.
AudioNormalizationKeyaudioNormalizationBooleantrueApplies loudness normalization so tracks play back at a consistent perceived volume.
AudioOffloadaudioOffloadBooleanfalseOffloads audio decoding to dedicated hardware, reducing CPU usage and improving battery life. Disables skip-silence and crossfade.
AudioCrossfadeDurationKeyaudioCrossfadeDurationInt (ms)0Duration in milliseconds of the crossfade between tracks. 0 disables crossfade. Disabled when AudioOffload is active.
Preference KeyDataStore KeyTypeDefaultDescription
PauseOnDeviceMuteKeypauseOnDeviceMuteBooleanfalsePauses playback when the device volume is muted rather than continuing silently.
AutoStartOnBluetoothKeyautoStartOnBluetoothBooleanfalseResumes playback automatically when a Bluetooth audio device connects.
StopMusicOnTaskClearKeystopMusicOnTaskClearBooleantrueStops the media service when the app is removed from the Recents screen.
WakelockKeywakelockBooleantrueAcquires 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.
Preference KeyDataStore KeyTypeDefaultDescription
EqualizerEnabledKeyequalizerEnabledBooleanMaster switch for the equalizer. When false, all EQ processing is bypassed.
EqualizerSelectedProfileIdKeyequalizerSelectedProfileIdStringID of the currently active equalizer profile.
EqualizerCustomProfilesJsonKeyequalizerCustomProfilesJsonString (JSON)Serialized list of user-created EqProfile objects.
EqProfile fields
FieldTypeDescription
idStringUnique profile identifier
nameStringUser-visible profile name
bandCenterFreqHzList<Int>Center frequency of each band in Hz
bandLevelsMbList<Int>Level of each band in millibels
outputGainMbIntOutput gain in millibels
bassBoostStrengthIntBass boost strength (0–1000)
virtualizerStrengthIntVirtualizer strength (0–1000)
Preference KeyDataStore KeyTypeDefaultDescription
EqualizerBandLevelsMbKeyequalizerBandLevelsMbString (JSON array)JSON-serialized array of per-band levels in millibels.
EqualizerOutputGainEnabledKeyequalizerOutputGainEnabledBooleanEnables the output gain stage after the EQ bands.
EqualizerOutputGainMbKeyequalizerOutputGainMbInt (millibels)Output gain value in millibels applied after the EQ bands.
Preference KeyDataStore KeyTypeDefaultDescription
EqualizerBassBoostEnabledKeyequalizerBassBoostEnabledBooleanEnables the bass boost effect.
EqualizerBassBoostStrengthKeyequalizerBassBoostStrengthInt (0–1000)Intensity of bass boost. 0 = no boost, 1000 = maximum.
EqualizerVirtualizerEnabledKeyequalizerVirtualizerEnabledBooleanEnables the virtualizer (stereo widening) effect.
EqualizerVirtualizerStrengthKeyequalizerVirtualizerStrengthInt (0–1000)Intensity of the virtualizer. 0 = no effect, 1000 = maximum.

Downloads & Cache

Preference KeyDataStore KeyTypeDefaultDescription
MaxSongCacheSizeKeymaxSongCacheSizeInt (MB)Maximum size of the audio stream cache on disk in megabytes.
MaxImageCacheSizeKeymaxImageCacheSizeInt (MB)Maximum size of the album art image cache in megabytes.
MaxCanvasCacheSizeKeymaxCanvasCacheSizeInt (MB)Maximum size of the Tamed Canvas animated backdrop cache in megabytes.
SmartTrimmerKeysmartTrimmerBooleanAutomatically evicts least-recently-used cache entries when limits are approached.
Preference KeyDataStore KeyTypeDefaultDescription
AutoDownloadOnLikeKeyautoDownloadOnLikeBooleanfalseAutomatically downloads a track when you add it to Liked Songs.
ExternalDownloaderEnabledKeyexternalDownloaderEnabledBooleanfalseRoutes downloads through a third-party downloader app instead of the built-in downloader.
ExternalDownloaderPackageKeyexternalDownloaderPackageString""Package name of the external downloader app (e.g. com.example.downloader).

Network & Proxy

Preference KeyDataStore KeyTypeDefaultDescription
ProxyEnabledKeyproxyEnabledBooleanfalseRoutes all InnerTube API requests through the configured proxy.
ProxyUrlKeyproxyUrlString"host:port"Proxy server address in host:port format.
ProxyTypeKeyproxyTypeStringHTTPProxy protocol. Valid values: HTTP, SOCKS.
StreamBypassProxyKeystreamBypassProxyBooleanfalseWhen true, media stream URLs bypass the proxy even if one is enabled for API calls. Useful for improving streaming performance.
Enable StreamBypassProxyKey if you only need the proxy for region-locked catalog browsing but want streams to flow directly to reduce latency and avoid proxy bandwidth limits.

Build docs developers (and LLMs) love