multivalue_formatter#
+format_multivalue#
-
-
- -minim.utility.multivalue_formatter(value: Any, multivalue: bool, *, primary: bool = False, sep: str | tuple[str] = (', ', ' & ')) → str | list[Any][source]# +
- +minim.utility.format_multivalue(value: Any, multivalue: bool, *, primary: bool = False, sep: str | tuple[str] = (', ', ' & ')) → str | list[Any][source]#
Format a field value based on whether multivalue for that field is supported.
-
@@ -280,15 +281,23 @@
- multivalue_formatter
diff --git a/docs/api/minim.utility.gestalt_ratio.html b/docs/api/minim.utility.gestalt_ratio.html
new file mode 100644
index 0000000..d9d940e
--- /dev/null
+++ b/docs/api/minim.utility.gestalt_ratio.html
@@ -0,0 +1,352 @@
+
+
+
+
+
+
+
+
+
gestalt_ratio - Minim 1.0.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + +++ + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/minim.utility.gestalt_ratios.html b/docs/api/minim.utility.gestalt_ratios.html new file mode 100644 index 0000000..85f199f --- /dev/null +++ b/docs/api/minim.utility.gestalt_ratios.html @@ -0,0 +1,289 @@ + + + + + + + + ++ + ++ ++ ++++ ++ +++++ ++ ++ ++ + Back to top + ++ + +++ ++ ++ ++ + +gestalt_ratio#
+-
+
- +minim.utility.gestalt_ratio(reference: str, strings: str | list[str]) → float | list[float] | ndarray[float][source]# +
Compute the Gestalt or Ratcliff–Obershelp ratios, a measure of +similarity, for strings with respect to a reference string.
+-
+
- Parameters: +
-
+
- referencestr
Reference string.
+
+- stringsstr or list
Strings to compare with reference.
+
+
+- Returns: +
-
+
- ratiosfloat, list, or numpy.ndarray
Gestalt or Ratcliff–Obershelp ratios. If strings is a str, a +float is returned. If strings is a list, a numpy.ndarray +is returned if NumPy is installed; otherwise, a list is +returned.
+
+
+
gestalt_ratios - Minim 1.0.0 documentation + + + + + + + + + + + + + + + + ++ + + + + + + + + ++ +Contents ++ ++ + +Menu ++ ++ + + + +Expand ++ ++ + +Light mode ++ ++ + + + + + + + + + +Dark mode ++ ++ + + +Auto light/dark mode ++ ++ + + + + + + ++ + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/minim.utility.html b/docs/api/minim.utility.html index bf8bd79..ec392ad 100644 --- a/docs/api/minim.utility.html +++ b/docs/api/minim.utility.html @@ -3,13 +3,13 @@ - ++ + ++ ++ ++++ ++ ++++ + ++ +utility - Minim 1.0.0 documentation - + @@ -197,8 +197,9 @@ - utility @@ -247,12 +248,15 @@
- utility @@ -241,23 +242,23 @@
- -minim.utility.levenshtein_ratio(base: str, values: str | list[str]) → float | list[float] | ndarray[float][source]# -
Compute the Levenshtein ratio, a measure of similarity, for -string(s) with respect to a reference string.
+minim.utility.levenshtein_ratio(reference: str, strings: str | list[str]) → float | list[float] | ndarray[float][source]# +Compute the Levenshtein ratios, a measure of similarity, for +strings with respect to a reference string.
- Parameters:
-
-
- basestr
Reference string.
+- referencestr
Reference string.
-- valuesstr or list
String(s) to compare with base.
+- stringsstr or list
Strings to compare with reference.
- Returns:
-
-
- ratiosfloat, list, or numpy.ndarray
Levenshtein ratio(s). If values is a str, a float is -returned. If values is a list, a numpy.ndarray is returned -if NumPy is installed; otherwise, a list is returned.
+- ratiosfloat, list, or numpy.ndarray
Levenshtein ratios. If strings is a str, a float is +returned. If strings is a list, a numpy.ndarray is +returned if NumPy is installed; otherwise, a list is returned.
@@ -271,23 +272,15 @@
levenshtein_ratio - -
--- Next --multivalue_formatter-- - + + Previous-utility+gestalt_ratiolevenshtein_ratios - Minim 1.0.0 documentation + + + + + + + + + + + + + + + + ++ + + + + + + + + ++ +Contents ++ ++ + +Menu ++ ++ + + + +Expand ++ ++ + +Light mode ++ ++ + + + + + + + + + +Dark mode ++ ++ + + +Auto light/dark mode ++ ++ + + + + + + ++ + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/genindex.html b/docs/genindex.html index ce0129d..adb627c 100644 --- a/docs/genindex.html +++ b/docs/genindex.html @@ -7,7 +7,7 @@+ + ++ ++ ++++ ++ ++++ + ++ +Index - Minim 1.0.0 documentation - + @@ -195,8 +195,9 @@- utility
@@ -380,6 +381,8 @@F
- follow_playlist() (minim.spotify.WebAPI method)
- follow_user() (minim.tidal.PrivateAPI method) +
+- format_multivalue() (in module minim.utility)
@@ -389,6 +392,8 @@F
G
diff --git a/docs/index.html b/docs/index.html index f7b49c0..94ca526 100644 --- a/docs/index.html +++ b/docs/index.html @@ -9,7 +9,7 @@Minim 1.0.0 documentation - + @@ -197,8 +197,9 @@- utility
diff --git a/docs/notebooks/getting_started.html b/docs/notebooks/getting_started.html index 669cf5c..a628357 100644 --- a/docs/notebooks/getting_started.html +++ b/docs/notebooks/getting_started.html @@ -9,7 +9,7 @@Getting Started - Minim 1.0.0 documentation - + @@ -197,8 +197,9 @@- utility
@@ -540,7 +541,7 @@Private Qobuz API
{'external_urls': {'spotify': 'https://open.spotify.com/artist/4sTQVOfp9vEMCemLw50sbu'}, - 'followers': {'href': None, 'total': 3382444}, + 'followers': {'href': None, 'total': 3363420}, 'genres': ['dance pop', 'edm', 'pop', 'pop dance'], 'href': 'https://api.spotify.com/v1/artists/4sTQVOfp9vEMCemLw50sbu', 'id': '4sTQVOfp9vEMCemLw50sbu', @@ -577,7 +578,7 @@
Spotify Web API
@@ -809,10 +810,10 @@{'wrapperType': 'track', 'kind': 'song', - 'artistId': 315816847, - 'collectionId': 578054990, - 'trackId': 578054997, - 'artistName': 'Glee Cast', - 'collectionName': 'Glee: The Music, Season 4, Vol. 1', - 'trackName': 'Everybody Talks (Glee Cast Version)', - 'collectionCensoredName': 'Glee: The Music, Season 4, Vol. 1', - 'trackCensoredName': 'Everybody Talks (Glee Cast Version)', - 'artistViewUrl': 'https://music.apple.com/us/artist/glee-cast/315816847?uo=4', - 'collectionViewUrl': 'https://music.apple.com/us/album/everybody-talks-glee-cast-version/578054990?i=578054997&uo=4', - 'trackViewUrl': 'https://music.apple.com/us/album/everybody-talks-glee-cast-version/578054990?i=578054997&uo=4', - 'previewUrl': 'https://audio-ssl.itunes.apple.com/itunes-assets/AudioPreview125/v4/86/4b/3f/864b3f23-9155-9ce8-c1c0-fc115a8af80a/mzaf_13828074306318913858.plus.aac.p.m4a', - 'artworkUrl30': 'https://is1-ssl.mzstatic.com/image/thumb/Music115/v4/57/6d/4e/576d4e7a-7860-595a-5ccd-05e965413df5/886443746404.jpg/30x30bb.jpg', - 'artworkUrl60': 'https://is1-ssl.mzstatic.com/image/thumb/Music115/v4/57/6d/4e/576d4e7a-7860-595a-5ccd-05e965413df5/886443746404.jpg/60x60bb.jpg', - 'artworkUrl100': 'https://is1-ssl.mzstatic.com/image/thumb/Music115/v4/57/6d/4e/576d4e7a-7860-595a-5ccd-05e965413df5/886443746404.jpg/100x100bb.jpg', - 'collectionPrice': 13.99, + 'artistId': 112115157, + 'collectionId': 583394431, + 'trackId': 583394802, + 'artistName': 'Power Music Workout', + 'collectionName': '35 Top Hits, Vol. 3 - Workout Mixes (Unmixed Workout Music Ideal for Gym, Jogging, Running, Cycling, Cardio and Fitness)', + 'trackName': 'Everybody Talks', + 'collectionCensoredName': '35 Top Hits, Vol. 3 - Workout Mixes', + 'trackCensoredName': 'Everybody Talks (Workout Mix 155 BPM)', + 'artistViewUrl': 'https://music.apple.com/us/artist/power-music-workout/112115157?uo=4', + 'collectionViewUrl': 'https://music.apple.com/us/album/everybody-talks-workout-mix-155-bpm/583394431?i=583394802&uo=4', + 'trackViewUrl': 'https://music.apple.com/us/album/everybody-talks-workout-mix-155-bpm/583394431?i=583394802&uo=4', + 'previewUrl': 'https://audio-ssl.itunes.apple.com/itunes-assets/AudioPreview115/v4/c4/fc/8d/c4fc8d9a-0b75-55fb-6413-6bdbf7d17e65/mzaf_7998633680287936907.plus.aac.p.m4a', + 'artworkUrl30': 'https://is1-ssl.mzstatic.com/image/thumb/Music114/v4/b4/a7/dc/b4a7dc27-6fcd-22ba-c9a6-564166a4c43d/35TopHitsWOM3_2400.jpg/30x30bb.jpg', + 'artworkUrl60': 'https://is1-ssl.mzstatic.com/image/thumb/Music114/v4/b4/a7/dc/b4a7dc27-6fcd-22ba-c9a6-564166a4c43d/35TopHitsWOM3_2400.jpg/60x60bb.jpg', + 'artworkUrl100': 'https://is1-ssl.mzstatic.com/image/thumb/Music114/v4/b4/a7/dc/b4a7dc27-6fcd-22ba-c9a6-564166a4c43d/35TopHitsWOM3_2400.jpg/100x100bb.jpg', + 'collectionPrice': 11.99, 'trackPrice': 1.29, - 'releaseDate': '2012-11-05T12:00:00Z', + 'releaseDate': '2012-05-03T12:00:00Z', 'collectionExplicitness': 'notExplicit', 'trackExplicitness': 'notExplicit', 'discCount': 1, 'discNumber': 1, - 'trackCount': 16, - 'trackNumber': 7, - 'trackTimeMillis': 179280, + 'trackCount': 35, + 'trackNumber': 34, + 'trackTimeMillis': 179055, 'country': 'USA', 'currency': 'USD', - 'primaryGenreName': 'Pop', + 'primaryGenreName': 'Fitness & Workout', 'isStreamable': True}
Private Qobuz API
{'collaborative': False, - 'description': 'A playlist created using Minim.', - 'external_urls': {'spotify': 'https://open.spotify.com/playlist/3VsXl8ftlYoQGeWAZCZ5dS'}, + 'external_urls': {'spotify': 'https://open.spotify.com/playlist/6LsdixCynk4tvIWeUn0R2x'}, 'followers': {'href': None, 'total': 0}, - 'href': 'https://api.spotify.com/v1/playlists/3VsXl8ftlYoQGeWAZCZ5dS', - 'id': '3VsXl8ftlYoQGeWAZCZ5dS', - 'images': [{'height': 640, - 'url': 'https://i.scdn.co/image/ab67616d0000b2734a6c0376235e5aa44e59d2c2', - 'width': 640}], + 'href': 'https://api.spotify.com/v1/playlists/6LsdixCynk4tvIWeUn0R2x', + 'id': '6LsdixCynk4tvIWeUn0R2x', + 'images': [{'url': 'https://i.scdn.co/image/ab67616d00001e024a6c0376235e5aa44e59d2c2', + 'height': None, + 'width': None}], + 'primary_color': None, 'name': 'Minim', + 'description': 'A playlist created using Minim.', + 'type': 'playlist', + 'uri': 'spotify:playlist:6LsdixCynk4tvIWeUn0R2x', 'owner': None, - 'primary_color': None, 'public': True, - 'snapshot_id': 'Myw0NDk1NGNlMzE0M2E1OTBkMTg0OTdkN2M4MGI1NmI3ZjI5YmMxYTgz', - 'tracks': {'href': 'https://api.spotify.com/v1/playlists/3VsXl8ftlYoQGeWAZCZ5dS/tracks?offset=0&limit=100', - 'items': [{'added_at': '2023-11-27T02:50:45Z', - 'added_by': None, - 'is_local': False, + 'snapshot_id': 'Miw1ZDI0NjY3ZjZkODdkNDM0MjcwYjNkYWE4NTk2M2MwYmM4NTI4YjY4', + 'tracks': {'limit': 100, + 'next': None, + 'offset': 0, + 'previous': None, + 'href': 'https://api.spotify.com/v1/playlists/6LsdixCynk4tvIWeUn0R2x/tracks?offset=0&limit=100', + 'total': 1, + 'items': [{'added_at': '2023-12-25T21:57:25Z', 'primary_color': None, - 'track': {'album': {'album_type': 'album', - 'artists': [{'external_urls': {'spotify': 'https://open.spotify.com/artist/0RpddSzUHfncUWNJXKOsjy'}, - 'href': 'https://api.spotify.com/v1/artists/0RpddSzUHfncUWNJXKOsjy', - 'id': '0RpddSzUHfncUWNJXKOsjy', - 'name': 'Neon Trees', - 'type': 'artist', - 'uri': 'spotify:artist:0RpddSzUHfncUWNJXKOsjy'}], - 'available_markets': ['AR', + 'video_thumbnail': {'url': None}, + 'is_local': False, + 'added_by': None, + 'track': {'preview_url': None, + 'available_markets': ['AR', + 'AU', + 'AT', + 'BE', + 'BO', + 'BR', + 'BG', + 'CA', + 'CL', + 'CO', + 'CR', + 'CY', + 'CZ', + 'DK', + 'DO', + 'DE', + 'EC', + 'EE', + 'SV', + 'FI', + 'FR', + 'GR', + 'GT', + 'HN', + 'HK', + 'HU', + 'IS', + 'IE', + 'IT', + 'LV', + 'LT', + 'LU', + 'MY', + 'MT', + 'NL', + 'NZ', + 'NI', + 'NO', + 'PA', + 'PY', + 'PE', + 'PH', + 'PL', + 'PT', + 'SG', + 'SK', + 'ES', + 'SE', + 'CH', + 'TW', + 'TR', + 'UY', + 'US', + 'GB', + 'AD', + 'LI', + 'MC', + 'ID', + 'TH', + 'VN', + 'RO', + 'IL', + 'ZA', + 'SA', + 'AE', + 'BH', + 'QA', + 'OM', + 'KW', + 'EG', + 'TN', + 'LB', + 'JO', + 'PS', + 'IN', + 'BY', + 'KZ', + 'MD', + 'UA', + 'AL', + 'BA', + 'HR', + 'ME', + 'MK', + 'RS', + 'SI', + 'KR', + 'BD', + 'PK', + 'LK', + 'GH', + 'KE', + 'NG', + 'TZ', + 'UG', + 'AG', + 'AM', + 'BS', + 'BB', + 'BZ', + 'BT', + 'BW', + 'BF', + 'CV', + 'CW', + 'DM', + 'FJ', + 'GM', + 'GD', + 'GW', + 'GY', + 'HT', + 'JM', + 'KI', + 'LS', + 'LR', + 'MW', + 'MV', + 'ML', + 'MH', + 'FM', + 'NA', + 'NR', + 'NE', + 'PW', + 'PG', + 'WS', + 'ST', + 'SN', + 'SC', + 'SL', + 'SB', + 'KN', + 'LC', + 'VC', + 'SR', + 'TL', + 'TO', + 'TT', + 'TV', + 'AZ', + 'BN', + 'BI', + 'KH', + 'CM', + 'TD', + 'KM', + 'GQ', + 'SZ', + 'GA', + 'GN', + 'KG', + 'LA', + 'MO', + 'MR', + 'MN', + 'NP', + 'RW', + 'TG', + 'UZ', + 'ZW', + 'BJ', + 'MG', + 'MU', + 'MZ', + 'AO', + 'CI', + 'DJ', + 'ZM', + 'CD', + 'CG', + 'IQ', + 'TJ', + 'VE', + 'XK'], + 'explicit': True, + 'type': 'track', + 'episode': False, + 'track': True, + 'album': {'available_markets': ['AR', 'AU', 'AT', 'BE', @@ -1700,229 +1882,48 @@
Spotify Web APIHide code cell output
-{'playlist': {'uuid': 'e9f6aff1-f39e-462b-90c4-41686877a555', +
@@ -479,7 +480,7 @@{'playlist': {'uuid': 'f7db0333-9032-4410-8092-33e2fd57a9a0', 'type': 'USER', 'creator': None, 'contentBehavior': 'UNRESTRICTED', @@ -1973,19 +1974,19 @@
Private TIDAL APIHide code cell output
-diff --git a/docs/notebooks/user_guide/editing_audio_metadata.html b/docs/notebooks/user_guide/editing_audio_metadata.html index 4d02596..1ac8108 100644 --- a/docs/notebooks/user_guide/editing_audio_metadata.html +++ b/docs/notebooks/user_guide/editing_audio_metadata.html @@ -9,7 +9,7 @@size= 116kB time=00:00:01.02 bitrate= 930.3kbits/s speed= 177x +
size= 0kB time=-577014:32:22.77 bitrate= -0.0kbits/s speed=N/A +size= 116kB time=00:00:00.92 bitrate=1023.4kbits/s speed= 158x
Editing Audio Metadata - Minim 1.0.0 documentation - + @@ -197,8 +197,9 @@- utility
@@ -311,7 +312,7 @@Converting and tagging an audio file with no metadata
-@@ -367,10 +368,17 @@('spektrem_shine.flac', <minim.audio.FLACAudio at 0x7fb5cdaeb790>) +
('spektrem_shine.flac', <minim.audio.FLACAudio at 0x7fa51e606090>)
Converting and tagging an audio file with no metadata
-size= 1032kB time=00:00:30.09 bitrate= 280.9kbits/s speed=68.5x +
-size= 0kB time=00:00:00.00 bitrate=1891.2kbits/s speed=0.746x
@@ -619,7 +627,7 @@<minim.audio.MP3Audio at 0x7fb5cdaeb790> +
++size= 256kB time=00:00:13.89 bitrate= 150.9kbits/s speed=27.6x +
++size= 768kB time=00:00:28.21 bitrate= 223.0kbits/s speed=28.1x +size= 1032kB time=00:00:30.06 bitrate= 281.1kbits/s speed=28.1x +
<minim.audio.MP3Audio at 0x7fa51e606090>
Tagging an audio file with existing metadata -
diff --git a/docs/notebooks/user_guide/getting_recommendations.html b/docs/notebooks/user_guide/getting_recommendations.html index bb0e867..43b13a0 100644 --- a/docs/notebooks/user_guide/getting_recommendations.html +++ b/docs/notebooks/user_guide/getting_recommendations.html @@ -9,7 +9,7 @@('tobu_back_to_you.flac', <minim.audio.FLACAudio at 0x7fb6744afdd0>) +
('tobu_back_to_you.flac', <minim.audio.FLACAudio at 0x7fa5e9463ed0>)
Getting Recommendations - Minim 1.0.0 documentation - + @@ -197,8 +197,9 @@- utility
@@ -328,7 +329,7 @@Spotify#<
-+@@ -393,7 +394,7 @@ TIDAL#<
-+TIDAL#< - + diff --git a/docs/notebooks/user_guide/transferring_music_libraries.html b/docs/notebooks/user_guide/transferring_music_libraries.html index 62effb8..0fab371 100644 --- a/docs/notebooks/user_guide/transferring_music_libraries.html +++ b/docs/notebooks/user_guide/transferring_music_libraries.html @@ -9,7 +9,7 @@
Transferring Music Libraries - Minim 1.0.0 documentation - + @@ -197,8 +197,9 @@- utility
diff --git a/docs/objects.inv b/docs/objects.inv index 92dcc78..da892a6 100644 Binary files a/docs/objects.inv and b/docs/objects.inv differ diff --git a/docs/py-modindex.html b/docs/py-modindex.html index 60fabdc..670bf88 100644 --- a/docs/py-modindex.html +++ b/docs/py-modindex.html @@ -7,7 +7,7 @@Python Module Index - Minim 1.0.0 documentation - + @@ -195,8 +195,9 @@- utility
diff --git a/docs/search.html b/docs/search.html index 9ae25cd..5698cbe 100644 --- a/docs/search.html +++ b/docs/search.html @@ -6,7 +6,7 @@Search - Minim 1.0.0 documentation - + @@ -194,8 +194,9 @@- utility
diff --git a/docs/searchindex.js b/docs/searchindex.js index 572212d..66eada6 100644 --- a/docs/searchindex.js +++ b/docs/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["api", "api/minim", "api/minim.audio", "api/minim.audio.Audio", "api/minim.audio.FLACAudio", "api/minim.audio.MP3Audio", "api/minim.audio.MP4Audio", "api/minim.audio.OggAudio", "api/minim.audio.WAVEAudio", "api/minim.itunes", "api/minim.itunes.SearchAPI", "api/minim.qobuz", "api/minim.qobuz.PrivateAPI", "api/minim.spotify", "api/minim.spotify.PrivateLyricsService", "api/minim.spotify.WebAPI", "api/minim.tidal", "api/minim.tidal.API", "api/minim.tidal.PrivateAPI", "api/minim.utility", "api/minim.utility.levenshtein_ratio", "api/minim.utility.multivalue_formatter", "index", "notebooks/getting_started", "notebooks/user_guide/editing_audio_metadata", "notebooks/user_guide/getting_recommendations", "notebooks/user_guide/transferring_music_libraries", "user_guide"], "filenames": ["api.rst", "api/minim.rst", "api/minim.audio.rst", "api/minim.audio.Audio.rst", "api/minim.audio.FLACAudio.rst", "api/minim.audio.MP3Audio.rst", "api/minim.audio.MP4Audio.rst", "api/minim.audio.OggAudio.rst", "api/minim.audio.WAVEAudio.rst", "api/minim.itunes.rst", "api/minim.itunes.SearchAPI.rst", "api/minim.qobuz.rst", "api/minim.qobuz.PrivateAPI.rst", "api/minim.spotify.rst", "api/minim.spotify.PrivateLyricsService.rst", "api/minim.spotify.WebAPI.rst", "api/minim.tidal.rst", "api/minim.tidal.API.rst", "api/minim.tidal.PrivateAPI.rst", "api/minim.utility.rst", "api/minim.utility.levenshtein_ratio.rst", "api/minim.utility.multivalue_formatter.rst", "index.rst", "notebooks/getting_started.ipynb", "notebooks/user_guide/editing_audio_metadata.ipynb", "notebooks/user_guide/getting_recommendations.ipynb", "notebooks/user_guide/transferring_music_libraries.ipynb", "user_guide.rst"], "titles": ["<no title>", "minim", "audio", "Audio", "FLACAudio", "MP3Audio", "MP4Audio", "OggAudio", "WAVEAudio", "itunes", "SearchAPI", "qobuz", "PrivateAPI", "spotify", "PrivateLyricsService", "WebAPI", "tidal", "API", "PrivateAPI", "utility", "levenshtein_ratio", "multivalue_formatter", "Minim", "Getting Started", "Editing Audio Metadata", "Getting Recommendations", "Transferring Music Libraries", "User Guide"], "terms": {"thi": [2, 3, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 23, 24, 25, 26], "modul": [2, 3, 9, 11, 13, 16, 19, 23], "provid": [2, 3, 4, 5, 6, 7, 8, 12, 14, 15, 17, 18, 21, 23, 24, 26], "conveni": [2, 12, 18, 24], "python": [2, 22, 23], "keep": [2, 15], "track": [2, 3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18, 24, 25, 26], "handl": [2, 26], "metadata": [2, 3, 4, 5, 6, 7, 8, 15, 17, 18, 22, 23, 26, 27], "convert": [2, 3, 4, 5, 6, 7, 8, 22], "between": [2, 3, 4, 5, 6, 7, 8, 10, 15, 22, 26], "differ": [2, 15, 23], "format": [2, 3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18, 21, 22, 24], "class": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 23, 24, 25, 26], "minim": [3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 15, 17, 18, 20, 21, 24, 25, 26], "arg": [3, 4, 5, 6, 7, 8], "kwarg": [3, 4, 5, 6, 7, 8, 15], "sourc": [3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18, 20, 21, 23, 26], "base": [3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18, 20, 21, 23, 25], "object": [3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18, 23, 24, 25], "gener": [3, 15, 24, 25, 26], "file": [3, 4, 5, 6, 7, 8, 12, 14, 15, 17, 18, 22, 25], "handler": [3, 4, 5, 6, 7, 8, 24], "subclass": 3, "specif": [3, 15, 23, 24], "contain": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 23, 24], "includ": [3, 10, 15, 18, 24], "flacaudio": [3, 5, 6, 7, 8, 23, 24], "encod": [3, 10, 15, 18, 23], "us": [3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 15, 17, 18, 21, 23, 24, 25, 26], "free": [3, 26], "lossless": [3, 4, 5, 6, 7, 8, 12, 18, 23], "codec": [3, 4, 5, 6, 7, 8, 18, 23, 24], "flac": [3, 4, 5, 6, 7, 8, 12, 18, 23, 24], "mp3audio": [3, 23, 24], "store": [3, 10, 12, 14, 15, 17, 18, 23, 24, 25, 26], "mpeg": 3, "layer": 3, "iii": [3, 18], "mp3": [3, 4, 5, 6, 7, 8, 12, 18, 23, 24], "mp4audio": [3, 4, 5, 7, 8, 23], "advanc": 3, "code": [3, 4, 5, 6, 7, 8, 10, 12, 15, 17, 18, 23], "aac": [3, 4, 5, 6, 7, 8, 18, 23], "appl": [3, 10, 23, 24], "alac": [3, 4, 5, 6, 7, 8, 18, 23], "4": [3, 15, 23], "part": 3, "14": 3, "mp4": [3, 4, 5, 6, 7, 8, 18, 23], "m4a": [3, 4, 5, 6, 7, 8, 23], "oggaudio": [3, 23], "opu": [3, 4, 5, 6, 7, 8, 23], "vorbi": [3, 4, 5, 6, 7, 8, 23], "an": [3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18, 23, 25], "ogg": [3, 4, 5, 6, 7, 8], "waveaudio": [3, 23], "linear": 3, "puls": 3, "lpcm": [3, 4, 5, 6, 7, 8, 23], "waveform": 3, "wave": [3, 4, 5, 6, 7, 8, 23], "can": [3, 12, 14, 15, 17, 18, 22, 23, 24, 25, 26], "instanti": [3, 12, 14, 15, 17, 18, 23, 25, 26], "from": [3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18, 23, 24, 25], "list": [3, 4, 5, 6, 7, 8, 10, 12, 15, 17, 18, 20, 21, 25], "abov": [3, 15, 23, 24, 25, 26], "examin": 3, "its": [3, 10, 12, 14, 15, 17, 18, 23, 24, 26], "extens": [3, 4, 5, 6, 7, 8, 18], "howev": [3, 24, 26], "mai": [3, 15, 18, 26], "instanc": 3, "when": [3, 10, 12, 14, 15, 17, 18, 21, 23, 24, 26], "detect": [3, 12, 23], "fail": [3, 18], "especi": [3, 26], "combin": [3, 12, 15], "i": [3, 4, 5, 6, 7, 8, 12, 14, 15, 17, 18, 20, 21, 22, 23, 24, 25, 26], "rare": 3, "seen": 3, "As": [3, 12, 14, 18, 23, 24], "alwai": [3, 24], "best": [3, 4, 5, 6, 7, 8, 12, 26], "directli": [3, 18, 24, 26], "one": [3, 14, 15, 17, 18, 23, 24], "creat": [3, 10, 12, 15, 18, 24, 25, 26], "your": [3, 10, 14, 15, 18, 23, 24, 25], "ar": [3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18, 21, 23, 25, 26], "known": [3, 23, 24], "paramet": [3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18, 20, 21], "str": [3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18, 20, 21, 23, 24], "pattern": [3, 4, 5, 6, 7, 8, 24], "tupl": [3, 4, 5, 6, 7, 8, 12, 18, 21], "keyword": [3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18, 21, 23, 24, 25], "onli": [3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18, 21, 23, 24, 25, 26], "option": [3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18, 23], "regular": [3, 4, 5, 6, 7, 8, 24], "express": [3, 4, 5, 6, 7, 8, 24], "search": [3, 4, 5, 6, 7, 8, 9, 10, 12, 15, 17, 18, 24, 26], "correspond": [3, 4, 5, 6, 7, 8, 15, 24, 26], "field": [3, 4, 5, 6, 7, 8, 15, 21, 24], "": [3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18, 20, 21, 23, 24, 26], "valid": [3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18], "valu": [3, 4, 5, 6, 7, 8, 10, 12, 15, 17, 18, 20, 21, 24], "The": [3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18, 23, 24, 25, 26], "support": [3, 4, 5, 6, 7, 8, 10, 15, 18, 21, 23, 26], "artist": [3, 4, 5, 6, 7, 8, 10, 12, 15, 17, 18, 24, 25, 26], "titl": [3, 4, 5, 6, 7, 8, 10, 12, 15, 17, 18, 23, 24, 26], "track_numb": [3, 4, 5, 6, 7, 8, 12, 15, 23], "number": [3, 4, 5, 6, 7, 8, 10, 12, 15, 17, 18, 24, 25, 26], "exampl": [3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18, 24, 25, 26], "match": [3, 4, 5, 6, 7, 8, 12, 15, 17, 18, 24, 26], "filenam": [3, 4, 5, 6, 7, 8, 18, 23, 24], "like": [3, 4, 5, 6, 7, 8, 12, 14, 15, 17, 18, 23, 24, 26], "taylor": [3, 4, 5, 6, 7, 8], "swift": [3, 4, 5, 6, 7, 8], "cruel": 3, "summer": 3, "d": [3, 4, 5, 6, 7, 8], "04": [3, 5, 6, 23], "man": 3, "13": [3, 10, 17, 23], "you": [3, 4, 5, 8, 10, 12, 14, 15, 18, 23, 24, 25], "need": [3, 15, 23, 24], "calm": 3, "down": [3, 15, 23], "multivalu": [3, 4, 5, 6, 7, 8, 21], "bool": [3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18, 21], "determin": [3, 4, 5, 6, 7, 8, 12, 14, 15, 17, 18, 21, 24], "whether": [3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18, 21], "tag": [3, 4, 5, 6, 7, 8, 12, 15, 17, 18, 21, 23], "If": [3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18, 20, 21, 23, 24, 25], "fals": [3, 4, 5, 6, 7, 8, 10, 12, 15, 17, 18, 21, 23, 24, 25], "item": [3, 4, 5, 6, 7, 8, 10, 12, 15, 17, 18, 21, 23, 24, 25, 26], "concaten": [3, 4, 5, 6, 7, 8, 21], "separ": [3, 4, 5, 6, 7, 8, 15, 21, 24], "specifi": [3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18, 21, 23, 24, 25], "sep": [3, 4, 5, 6, 7, 8, 21], "default": [3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18, 21, 23, 24], "all": [3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 21, 23, 24, 26], "first": [3, 4, 5, 6, 7, 8, 10, 12, 15, 18, 21, 23, 24, 25, 26], "n": [3, 4, 5, 6, 7, 8, 23], "1": [3, 4, 5, 6, 7, 8, 10, 12, 15, 17, 18, 23, 24, 25, 26], "second": [3, 4, 5, 6, 7, 8, 18, 21, 24], "append": [3, 4, 5, 6, 7, 8, 15, 21, 26], "final": [3, 4, 5, 6, 7, 8, 21, 24, 25, 26], "attribut": [3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18, 25], "album": [3, 4, 5, 6, 7, 8, 10, 12, 15, 17, 18, 23, 24, 25, 26], "album_artist": 3, "artwork": [3, 4, 5, 6, 7, 8, 24], "byte": [3, 12, 15, 18, 24], "represent": 3, "url": [3, 10, 12, 14, 15, 17, 18, 23], "lead": 3, "cover": [3, 4, 5, 6, 7, 8, 15, 18, 23, 24, 25], "bit_depth": [3, 12, 23], "int": [3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18], "bit": [3, 4, 5, 6, 7, 8, 12, 18, 23, 24], "per": 3, "sampl": [3, 23, 24, 26], "bitrat": [3, 12, 23, 24], "b": [3, 4, 5, 6, 7, 8, 23], "channel_count": 3, "channel": [3, 24], "comment": [3, 4, 5, 6, 7, 8, 24], "compil": [3, 4, 5, 6, 7, 8, 15, 18, 24], "song": [3, 10, 12, 15, 23], "variou": [3, 26], "compos": [3, 4, 5, 6, 7, 8, 12, 18, 23, 24], "lyric": [3, 4, 5, 6, 7, 8, 13, 14, 18, 24], "writer": [3, 12], "copyright": [3, 4, 5, 6, 7, 8, 12, 15, 17, 18, 23, 24], "inform": [3, 4, 5, 6, 7, 8, 10, 12, 15, 17, 18, 23, 24, 25, 26], "date": [3, 12, 15, 18, 24], "releas": [3, 12, 15, 23], "disc_numb": [3, 15, 23], "disc": [3, 4, 5, 6, 7, 8, 24], "disc_count": 3, "total": [3, 12, 15, 17, 18, 23, 26], "genr": [3, 12, 15, 23, 24, 25], "isrc": [3, 12, 15, 17, 18, 23, 24, 26], "intern": 3, "standard": 3, "record": [3, 10, 12, 23], "sample_r": 3, "rate": [3, 24], "hz": [3, 23], "tempo": [3, 4, 5, 6, 7, 8, 15, 24], "beat": [3, 15], "minut": 3, "bpm": 3, "track_count": [3, 12], "method": [3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18, 23, 24], "none": [3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18, 23, 24], "preserv": [3, 4, 5, 6, 7, 8], "true": [3, 4, 5, 6, 7, 8, 12, 14, 15, 17, 18, 23, 24, 26], "current": [3, 4, 5, 6, 7, 8, 12, 15, 18, 23, 26], "anoth": [3, 4, 5, 6, 7, 8, 24, 25], "requir": [3, 4, 5, 6, 7, 8, 12, 15, 17, 18, 23], "ffmpeg": [3, 4, 5, 6, 7, 8, 23], "automat": [3, 4, 5, 6, 7, 8, 12, 14, 15, 17, 18, 23, 24], "updat": [3, 4, 5, 6, 7, 8, 12, 14, 15, 17, 18, 22, 23, 24, 25, 26], "reflect": [3, 4, 5, 6, 7, 8], "new": [3, 4, 5, 6, 7, 8, 12, 14, 15, 17, 18, 23, 24, 25, 26], "For": [3, 4, 5, 6, 7, 8, 10, 12, 15, 17, 18, 23, 24, 26], "chang": [3, 4, 5, 6, 7, 8, 12, 14, 15, 17, 18, 23, 24], "mp4a": [3, 4, 5, 6, 7, 8], "lossi": [3, 4, 5, 6, 7, 8], "wav": [3, 4, 5, 6, 7, 8, 23], "which": [3, 4, 5, 6, 7, 8, 12, 14, 15, 17, 18, 23, 24, 25], "command": [3, 4, 5, 6, 7, 8, 23], "line": [3, 4, 5, 6, 7, 8, 14, 25], "exclud": [3, 4, 5, 6, 7, 8, 15], "input": [3, 4, 5, 6, 7, 8], "output": [3, 4, 5, 6, 7, 8, 25], "y": [3, 4, 5, 6, 7, 8, 14, 15, 17, 18], "flag": [3, 4, 5, 6, 7, 8, 10], "overwrit": [3, 4, 5, 6, 7, 8, 12, 15, 17, 18, 24], "c": [3, 4, 5, 6, 7, 8, 23], "v": [3, 4, 5, 6, 7, 8], "copi": [3, 4, 5, 6, 7, 8, 18, 23], "argument": [3, 4, 5, 6, 7, 8, 12, 14, 15, 17, 18, 23, 24, 25], "art": [3, 4, 5, 6, 7, 8, 18, 24, 25], "256k": [3, 4, 5, 6, 7, 8], "libfdk_aac": [3, 4, 5, 6, 7, 8], "wa": [3, 4, 5, 6, 7, 8, 15, 18], "enabl": [3, 4, 5, 6, 7, 8, 12, 15], "libfdk": [3, 4, 5, 6, 7, 8], "libmp3lam": [3, 4, 5, 6, 7, 8], "q": [3, 4, 5, 6, 7, 8, 15], "0": [3, 4, 5, 6, 7, 8, 12, 15, 17, 18, 23, 24, 25, 26], "libopu": [3, 4, 5, 6, 7, 8], "vn": [3, 4, 5, 6, 7, 8, 23], "strict": [3, 4, 5, 6, 7, 8, 12, 23], "experiment": [3, 4, 5, 6, 7, 8], "libvorbi": [3, 4, 5, 6, 7, 8], "pcm_s16le": [3, 4, 5, 6, 7, 8], "pcm_s24le": [3, 4, 5, 6, 7, 8], "depth": [3, 4, 5, 6, 7, 8, 12, 23, 24], "origin": [3, 4, 5, 6, 7, 8, 15, 24], "appropri": [3, 4, 5, 6, 7, 8, 25], "kept": [3, 4, 5, 6, 7, 8, 15], "set_metadata_using_itun": [3, 4, 5, 6, 7, 8, 24], "data": [3, 4, 5, 6, 7, 8, 12, 15, 17, 18, 23, 24, 25, 26], "dict": [3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18, 24], "ani": [3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18, 21], "album_data": [3, 4, 5, 6, 7, 8, 24], "artwork_s": [3, 4, 5, 6, 7, 8], "1400": [3, 4, 5, 6, 7, 8], "artwork_format": [3, 4, 5, 6, 7, 8], "jpg": [3, 4, 5, 6, 7, 8, 18, 23, 25], "popul": [3, 4, 5, 6, 7, 8, 24], "retriev": [3, 4, 5, 6, 7, 8, 12, 15, 17, 18, 23, 24], "itun": [3, 4, 5, 6, 7, 8, 10, 22, 24], "api": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 18, 22, 25, 26], "about": [3, 4, 5, 6, 7, 8, 12, 15, 18, 23, 24, 25, 26], "json": [3, 4, 5, 6, 7, 8, 10, 15, 24], "obtain": [3, 4, 5, 6, 7, 8, 12, 14, 15, 17, 18, 23], "via": [3, 4, 5, 6, 7, 8, 12, 15, 17, 18, 23, 24], "searchapi": [3, 4, 5, 6, 7, 8, 24], "lookup": [3, 4, 5, 6, 7, 8, 10, 24, 26], "unavail": [3, 4, 5, 6, 7, 8, 15, 23], "resiz": [3, 4, 5, 6, 7, 8], "size": [3, 4, 5, 6, 7, 8, 15, 17, 18, 23, 24], "pixel": [3, 4, 5, 6, 7, 8, 18], "raw": [3, 4, 5, 6, 7, 8], "uncompress": [3, 4, 5, 6, 7, 8], "high": [3, 4, 5, 6, 7, 8, 12, 18], "resolut": [3, 4, 5, 6, 7, 8, 12, 18], "imag": [3, 4, 5, 6, 7, 8, 12, 15, 17, 18, 23], "regardless": [3, 4, 5, 6, 7, 8], "png": [3, 4, 5, 6, 7, 8], "take": [3, 4, 5, 6, 7, 8, 15, 24], "preced": [3, 4, 5, 6, 7, 8], "exist": [3, 4, 5, 6, 7, 8, 12, 14, 15, 17, 18], "should": [3, 4, 5, 6, 7, 8, 12, 14, 15, 17, 18, 21], "overwritten": [3, 4, 5, 6, 7, 8], "set_metadata_using_spotifi": [3, 4, 5, 6, 7, 8, 24], "audio_featur": [3, 4, 5, 6, 7, 8, 15, 24], "spotifi": [3, 4, 5, 6, 7, 8, 14, 15, 18, 22, 24], "web": [3, 4, 5, 6, 7, 8, 12, 13, 14, 15, 18, 24, 25, 26], "servic": [3, 4, 5, 6, 7, 8, 13, 14, 15, 18, 22, 24, 26], "webapi": [3, 4, 5, 6, 7, 8, 24, 25, 26], "get_track": [3, 4, 5, 6, 7, 8, 12, 15, 17, 18], "featur": [3, 4, 5, 6, 7, 8, 12, 15, 24, 26], "get_track_audio_featur": [3, 4, 5, 6, 7, 8, 15, 24], "time": [3, 4, 5, 6, 7, 8, 12, 14, 15, 17, 18, 23, 24], "sync": [3, 4, 5, 6, 7, 8, 14, 18], "privatelyricsservic": [3, 4, 5, 6, 7, 8], "get_lyr": [3, 4, 5, 6, 7, 8, 14], "set_metadata_using_tid": [3, 4, 5, 6, 7, 8, 24], "1280": [3, 4, 5, 6, 7, 8], "tidal": [3, 4, 5, 6, 7, 8, 12, 17, 18, 22, 24], "privateapi": [3, 4, 5, 6, 7, 8, 24, 26], "get_album": [3, 4, 5, 6, 7, 8, 12, 15, 17, 18], "maximum": [3, 4, 5, 6, 7, 8, 12, 15, 18], "80": [3, 4, 5, 6, 7, 8], "get_track_compos": [3, 4, 5, 6, 7, 8, 18, 24], "get_track_contributor": [3, 4, 5, 6, 7, 8, 18], "get_track_credit": [3, 4, 5, 6, 7, 8, 18], "songwrit": [3, 4, 5, 6, 7, 8, 18, 23, 24], "credit": [3, 4, 5, 6, 7, 8, 12, 18, 24], "get_track_lyr": [3, 4, 5, 6, 7, 8, 18, 24], "descript": [3, 4, 5, 6, 7, 8, 12, 15, 18, 23, 26], "set_metadata_using_qobuz": [3, 4, 5, 6, 7, 8], "larg": [3, 4, 5, 6, 7, 8, 12, 15, 18, 23], "qobuz": [3, 4, 5, 6, 7, 8, 12, 22], "small": [3, 4, 5, 6, 7, 8, 12, 15, 18, 23], "thumbnail": [3, 4, 5, 6, 7, 8, 12, 23], "audio": [4, 5, 6, 7, 8, 10, 12, 15, 18, 22, 27], "_vorbiscom": [4, 7], "full": [4, 5, 6, 7, 8, 12, 15, 18], "see": [4, 5, 6, 7, 8, 10, 15, 17, 18, 24, 25, 26], "pathlib": [4, 5, 6, 7, 8, 18, 23, 24], "path": [4, 5, 6, 7, 8, 12, 18, 23, 24], "fearless": 4, "03": [4, 7, 24], "love": 4, "stori": [4, 6, 12, 25], "06": [4, 5, 7, 8, 23], "belong": 4, "me": [4, 8, 23], "write_metadata": [4, 5, 6, 7, 8, 23, 24], "write": [4, 5, 6, 7, 8, 23, 24], "_id3": [5, 8], "red": 5, "knew": 5, "were": [5, 15], "troubl": [5, 25], "22": [5, 18], "mine": 6, "speak": 6, "now": [6, 23, 24], "07": [6, 24], "u": [6, 10, 15, 17, 18, 23, 24, 25], "blank": 7, "space": [7, 10], "style": [7, 25], "shake": 7, "It": [7, 10, 14, 15, 17, 18], "off": [7, 15], "don": [8, 23, 24, 25], "t": [8, 15, 23, 24, 25], "blame": 8, "05": [8, 18], "delic": 8, "look": [8, 10, 18, 24, 26], "what": [8, 15], "made": [8, 15, 23, 25], "do": [8, 23, 24, 26], "complet": [9, 12, 13, 15, 16, 24], "implement": [9, 11, 13, 15, 16, 23, 26], "endpoint": [9, 12, 13, 14, 15, 16, 17, 18, 23, 24], "client": [10, 12, 14, 15, 17, 18, 23, 25, 26], "allow": [10, 12, 15, 18, 24, 26], "varieti": 10, "content": [10, 12, 15, 17, 18], "app": [10, 12, 15, 23], "ibook": 10, "movi": 10, "podcast": [10, 15], "music": [10, 15, 18, 22, 24, 25, 27], "video": [10, 17, 18], "audiobook": [10, 15], "tv": [10, 18, 23], "show": [10, 15, 23, 24], "within": [10, 15], "mac": 10, "also": [10, 12, 14, 15, 17, 18, 23, 24], "id": [10, 12, 14, 15, 17, 18, 23, 24, 25, 26], "request": [10, 12, 14, 15, 17, 18, 23], "map": 10, "librari": [10, 15, 22, 24, 25, 27], "digit": 10, "catalog": [10, 12, 15, 17, 18, 24, 26], "more": [10, 15, 16, 17, 18, 25, 26], "document": [10, 12, 14, 18], "api_url": [10, 12, 15, 17, 18], "term": [10, 12, 14, 18], "countri": [10, 12, 15, 17, 18, 23], "media": [10, 12, 18, 23, 26], "entiti": [10, 15, 18, 23, 26], "limit": [10, 12, 15, 17, 18, 23, 25, 26], "lang": 10, "version": [10, 12, 18, 23, 26], "explicit": [10, 15, 18, 23], "text": [10, 14, 15, 18], "string": [10, 12, 15, 20, 24], "replac": [10, 15, 23, 24], "plu": [10, 18, 23], "charact": [10, 17], "except": [10, 21, 24, 26], "letter": 10, "period": [10, 12], "dash": 10, "underscor": [10, 15], "_": [10, 23, 24], "asterisk": 10, "jack": 10, "johnson": 10, "two": [10, 15, 24, 25], "want": [10, 15, 24, 25], "front": 10, "iso": [10, 14, 15, 17, 18], "obp": 10, "type": [10, 12, 15, 17, 18, 23, 24, 26], "musicvideo": 10, "shortfilm": 10, "tvshow": 10, "softwar": [10, 18], "ebook": 10, "result": [10, 12, 15, 17, 18, 23, 24, 26], "return": [10, 12, 14, 15, 17, 18, 20, 21, 23, 24, 26], "rel": [10, 25], "avail": [10, 12, 14, 15, 17, 18, 24, 25, 26], "tabl": 10, "2": [10, 15, 17, 18, 23, 24, 25], "associ": [10, 12, 14, 15, 17, 18], "movieartist": 10, "name": [10, 12, 15, 17, 18, 23, 24, 26], "allartist": 10, "allartistterm": 10, "Then": [10, 25, 26], "maroon": 10, "5": [10, 12, 15, 25, 26], "instead": [10, 15, 18, 23, 25], "who": 10, "have": [10, 12, 14, 15, 18, 23, 24, 26], "ever": 10, "word": [10, 12, 14], "must": [10, 12, 14, 15, 17, 18, 26], "200": [10, 17, 23], "50": [10, 12, 15, 18, 23, 25], "languag": [10, 12, 14, 15], "english": [10, 15], "japanes": 10, "five": 10, "codenam": 10, "en_u": 10, "ja_jp": 10, "kei": [10, 12, 15, 18], "receiv": 10, "back": [10, 12, 24], "A": [10, 12, 15, 17, 18, 23, 24], "indic": [10, 15], "ye": 10, "To": [10, 12, 15, 17, 18, 23, 24], "short": 10, "film": 10, "25": [10, 12, 24], "jim": 10, "jone": 10, "canada": 10, "ca": [10, 15, 23], "applic": [10, 12, 15, 17, 18, 23, 25], "yelp": 10, "unit": 10, "state": [10, 15], "amg_artist_id": 10, "amg_album_id": 10, "amg_video_id": 10, "bundle_id": 10, "upc": [10, 12, 15, 17, 18, 23, 26], "isbn": 10, "sort": [10, 18], "amg": 10, "ean": [10, 15, 17], "faster": 10, "fewer": 10, "posit": [10, 12, 15, 18, 23, 25], "bundl": 10, "appli": [10, 15, 17], "recent": [10, 12, 15], "up": [10, 12, 15, 18, 25, 26], "909253": 10, "284910350": 10, "468749": 10, "multipl": [10, 15, 17, 26], "5723": 10, "get": [10, 12, 14, 15, 17, 18, 24, 26, 27], "each": [10, 15, 18, 23], "top": [10, 15, 18, 25], "most": [10, 12, 23, 24], "720642462928": 10, "15175": 10, "15176": 10, "15177": 10, "15178": 10, "15183": 10, "15184": 10, "15187": 10, "15190": 10, "15191": 10, "15195": 10, "15197": 10, "15198": 10, "17120": 10, "book": 10, "9780316069359": 10, "com": [10, 18, 23, 25], "yelpiphon": 10, "minimum": [11, 15, 16], "privat": [11, 12, 13, 15, 16, 18, 24, 25, 26], "app_id": [12, 23], "app_secret": [12, 23], "flow": [12, 15, 17, 18, 23, 26], "browser": [12, 14, 18, 23, 26], "user_ag": [12, 18], "email": [12, 15, 18, 23], "password": [12, 23, 26], "auth_token": [12, 23], "save": [12, 14, 15, 17, 18], "collect": [12, 15, 18, 19], "playlist": [12, 15, 18, 25], "perform": [12, 18, 23, 26], "queri": [12, 15, 17, 18, 24], "them": [12, 15, 18, 23, 25, 26], "offici": [12, 15, 18], "been": [12, 14, 15, 18, 23, 24], "watch": [12, 14, 18], "http": [12, 14, 15, 18, 23, 25, 26], "network": [12, 14, 18], "traffic": [12, 14, 18, 23], "design": [12, 14, 15, 18], "publicli": [12, 14, 18], "access": [12, 14, 15, 17, 18, 23, 25, 26], "disabl": [12, 14, 15, 17, 18], "remov": [12, 14, 15, 18, 23], "ensur": [12, 14, 15, 18], "complianc": [12, 14, 18], "while": [12, 15, 18, 24], "necessari": [12, 15, 18, 23, 26], "public": [12, 15, 16, 18, 23, 25, 26], "person": [12, 15, 18], "stream": [12, 15, 18, 26], "activ": [12, 15, 18, 23], "In": [12, 14, 15, 17, 18, 25, 26], "latter": [12, 18], "case": [12, 14, 15, 17, 18, 23, 26], "accompani": [12, 14, 15, 17, 18, 23], "token": [12, 14, 15, 17, 18, 23], "header": [12, 14, 15, 17, 18], "grant": [12, 15], "inher": 12, "unsaf": 12, "sinc": [12, 15, 25], "ha": [12, 23, 24], "mechan": 12, "multifactor": 12, "brute": 12, "forc": 12, "attack": 12, "highli": [12, 15], "encourag": 12, "yourself": 12, "through": [12, 15], "player": [12, 14, 15, 18, 23, 24], "android": [12, 18, 23], "io": [12, 18, 23], "maco": [12, 18, 23], "window": [12, 18, 23], "secret": [12, 15, 17, 18], "constructor": [12, 14, 15, 17, 18, 23, 24, 25], "credenti": [12, 15, 17, 18, 23, 25, 26], "qobuz_private_app_id": 12, "qobuz_private_app_secret": 12, "oper": [12, 14, 15, 17, 18, 22], "system": [12, 14, 15, 17, 18, 25], "environ": [12, 14, 15, 17, 18, 23, 25, 26], "variabl": [12, 14, 15, 17, 18, 23, 25, 26], "thei": [12, 15, 23, 25, 26], "set_flow": [12, 15, 17, 18], "set_auth_token": 12, "respect": [12, 14, 15, 17, 18, 20, 23, 24, 25, 26], "manag": [12, 14, 15, 17, 18], "properti": [12, 14, 15, 17, 18, 24], "acquir": [12, 14, 15, 17, 18], "configur": [12, 14, 15, 17, 18, 25], "load": [12, 14, 15, 17, 18, 24, 25], "next": [12, 14, 15, 17, 18, 23, 24], "behavior": [12, 14, 15, 17, 18, 24], "secur": [12, 14, 15, 17, 18], "concern": [12, 14, 15, 17, 18], "comput": [12, 14, 15, 17, 18, 20], "being": [12, 14, 15, 17, 18], "share": [12, 14, 15, 17, 18], "devic": [12, 14, 15, 17, 18, 23, 25, 26], "author": [12, 17, 23], "open": [12, 15, 18, 23, 25, 26], "login": [12, 23], "page": [12, 15, 17, 18, 23], "playwright": [12, 15, 18], "framework": [12, 15, 18, 23, 26], "microsoft": [12, 15, 18], "account": [12, 15, 18, 23], "agent": [12, 18], "send": [12, 14, 15, 17, 18], "address": [12, 18], "here": [12, 14, 15, 17, 18, 23], "found": [12, 14, 15, 17, 18, 25], "process": [12, 14, 15, 17, 18, 23, 24, 26], "bypass": [12, 14, 15, 17, 18], "newli": [12, 14, 15, 17, 18, 26], "web_url": [12, 18], "set": [12, 14, 15, 17, 18, 25, 26], "album_id": [12, 17, 18, 26], "singl": [12, 15, 17, 24], "0060254735180": 12, "maximum_bit_depth": [12, 23], "media_count": [12, 23], "albums_count": [12, 23], "slug": [12, 23], "pictur": [12, 17, 18, 23], "role": [12, 18], "released_at": [12, 23], "label": [12, 15, 23], "supplier_id": [12, 23], "qobuz_id": [12, 23], "durat": [12, 15, 17, 18, 23], "parental_warn": [12, 23], "popular": [12, 15, 17, 18, 22, 23, 24], "tracks_count": [12, 23, 26], "color": [12, 14, 18, 23], "maximum_channel_count": [12, 23], "maximum_sampling_r": [12, 23], "articl": [12, 18], "release_date_origin": [12, 23], "release_date_download": [12, 23], "release_date_stream": [12, 23], "purchas": [12, 23], "streamabl": [12, 23], "preview": [12, 18, 23, 24], "sampleabl": [12, 23], "download": [12, 15, 18, 23], "display": [12, 23], "purchasable_at": [12, 23], "streamable_at": [12, 23], "hire": [12, 23], "hires_stream": [12, 23], "award": 12, "description_languag": 12, "goodi": 12, "area": 12, "catchlin": 12, "created_at": [12, 23], "genres_list": 12, "is_offici": 12, "maximum_technical_specif": 12, "product_sales_factors_monthli": 12, "product_sales_factors_weekli": 12, "product_sales_factors_yearli": 12, "product_typ": 12, "product_url": 12, "recording_inform": 12, "relative_url": 12, "release_tag": 12, "release_typ": 12, "subtitl": [12, 18], "offset": [12, 15, 17, 18, 23], "audio_info": [12, 23], "replaygain_track_peak": [12, 23], "float": [12, 15, 18, 20], "replaygain_track_gain": [12, 23], "work": [12, 18, 23], "media_numb": [12, 23], "release_date_purchas": [12, 23], "get_featured_album": 12, "seller": 12, "editor": 12, "pick": 12, "ideal": 12, "discographi": 12, "press": [12, 23], "qobuzissim": 12, "harmonia": 12, "mundi": 12, "univers": 12, "classic": [12, 15], "jazz": 12, "jeuness": 12, "chanson": 12, "index": [12, 15, 18], "get_artist": [12, 15, 17, 18], "artist_id": [12, 17, 18, 26], "extra": 12, "tracks_appears_on": 12, "albums_with_last_releas": 12, "effect": 12, "albums_as_primary_artist_count": 12, "albums_as_primary_composer_count": 12, "medium": [12, 18, 23], "extralarg": [12, 23], "mega": [12, 23], "similar_artist_id": 12, "biographi": [12, 18], "summari": [12, 18], "get_label": 12, "label_id": 12, "1153": 12, "get_playlist": [12, 15, 18, 23, 26], "playlist_id": [12, 15], "15732665": 12, "image_rectangle_mini": 12, "featured_artist": 12, "timestamp_posit": 12, "images300": [12, 23], "updated_at": [12, 23], "percent": 12, "image_rectangl": 12, "owner": [12, 15, 23], "users_count": [12, 23], "images150": [12, 23], "is_collabor": [12, 23, 26], "featured_tag_id": 12, "name_json": 12, "genre_tag": 12, "is_discov": 12, "public_at": [12, 23], "is_publ": [12, 23, 26], "is_featur": [12, 23], "null": 12, "playlist_track_id": [12, 23], "get_featured_playlist": [12, 15], "last": [12, 15, 18, 21, 24, 25, 26], "get_user_playlist": [12, 15, 18, 23, 26], "custom": [12, 15, 25], "favorit": [12, 25], "500": [12, 18, 23], "is_publish": 12, "published_to": [12, 23], "welcom": 12, "published_from": [12, 23], "create_playlist": [12, 15, 18, 23, 25, 26], "collabor": [12, 15, 23, 26], "brief": [12, 18], "update_playlist": [12, 18, 23], "privaci": [12, 18], "own": [12, 15, 18], "17737508": 12, "update_playlist_posit": 12, "from_playlist_id": 12, "to_playlist_id": 12, "organ": [12, 24], "move": [12, 15, 18], "swap": 12, "17737509": 12, "add_playlist_track": [12, 23, 26], "track_id": [12, 14, 17, 18], "duplic": 12, "add": [12, 15, 18, 23, 25, 26], "24393122": 12, "24393138": 12, "ad": [12, 15, 18, 23, 26], "move_playlist_track": 12, "insert_befor": [12, 15], "same": [12, 15, 26], "delete_playlist_track": 12, "delet": [12, 15, 18], "delete_playlist": [12, 18, 23], "favorite_playlist": [12, 18], "subscrib": 12, "unfavorite_playlist": [12, 18], "unsubscrib": 12, "hi_r": [12, 18], "new_releas": 12, "10": [12, 15, 17, 18, 23], "categori": [12, 15, 18, 23], "mainartist": [12, 23], "releasenam": [12, 23], "exact": 12, "phrase": 12, "focu": 12, "name_superbloc": 12, "accroch": 12, "genre_id": 12, "root_categori": 12, "abstract": 12, "image_origin": 12, "category_id": [12, 15], "source_imag": 12, "published_at": 12, "section_slug": 12, "description_short": 12, "display_d": 12, "get_track_perform": 12, "unformat": 12, "call": [12, 23], "filter": [12, 15, 18], "special": 12, "composerlyricist": [12, 23], "lyricist": [12, 18], "featuredartist": 12, "produc": [12, 23], "co": [12, 23], "mixer": 12, "musicpublish": 12, "etc": [12, 18, 26], "dictionari": [12, 15, 17, 18], "contributor": [12, 18, 23], "snake": 12, "get_track_file_url": 12, "format_id": 12, "27": 12, "playback": [12, 15, 18], "hi": [12, 18], "re": [12, 18, 23], "qualiti": [12, 18], "constant": 12, "320": [12, 18, 23], "kbp": [12, 18], "6": [12, 15], "cd": [12, 23], "16": [12, 18, 23, 24], "44": [12, 18, 23], "khz": [12, 18], "7": [12, 23], "24": [12, 18, 23], "96": [12, 18], "192": 12, "mime_typ": 12, "restrict": [12, 15], "sampling_r": 12, "get_curated_track": 12, "weekli": 12, "curat": [12, 18], "baselin": 12, "step_pagin": 12, "graphic": 12, "background": [12, 14], "foreground": 12, "generated_at": 12, "expires_on": 12, "get_track_stream": [12, 18], "mime": [12, 18], "get_collection_stream": [12, 18], "get_profil": [12, 15, 18], "profil": [12, 15, 18, 23], "publicid": 12, "firstnam": [12, 18], "lastnam": [12, 18], "display_nam": [12, 15], "country_cod": [12, 17, 18], "language_cod": 12, "zone": 12, "avatar": 12, "ag": [12, 23], "creation_d": 12, "offer": 12, "start_dat": 12, "end_dat": 12, "is_cancel": 12, "household_size_max": 12, "lossy_stream": 12, "lossless_stream": 12, "hires_purchases_stream": 12, "mobile_stream": 12, "offline_stream": 12, "hfp_purchas": 12, "included_format_group_id": 12, "color_schem": 12, "logo": 12, "short_label": 12, "last_upd": 12, "favorite_album": [12, 18, 26], "favorite_artist": [12, 18, 26], "favorite_track": [12, 18, 25], "store_featur": 12, "editori": 12, "club": 12, "wallet": 12, "weeklyq": 12, "autoplai": 12, "inapp_purchase_subscripton": 12, "opt_in": 12, "music_import": 12, "get_favorit": [12, 26], "get_purchas": 12, "favorite_item": [12, 26], "unfavorite_item": 12, "unfavorit": 12, "sp_dc": [14, 15, 23], "access_token": [14, 15, 17, 18, 23], "expiri": [14, 15, 17, 18, 23], "datetim": [14, 15, 17, 18], "power": [14, 23], "musixmatch": 14, "petitlyr": 14, "japan": 14, "interfac": [14, 22], "so": [14, 15, 17, 18, 23, 24, 25, 26], "develop": [14, 18], "cooki": [14, 15, 23], "either": [14, 15, 17, 18, 23, 25], "spotify_sp_dc": [14, 15, 23], "extract": [14, 18], "local": [14, 15, 24], "storag": [14, 23], "after": [14, 15], "log": [14, 23], "exchang": [14, 15, 18], "recommend": [14, 15, 17, 18, 26, 27], "other": [14, 15, 17, 18, 23, 24], "authent": [14, 15, 17, 23, 25, 26], "relat": [14, 15, 17, 18, 23], "expir": [14, 15, 17, 18, 23], "set_sp_dc": 14, "set_access_token": [14, 15, 17, 18], "former": [14, 15, 17, 18], "relev": [14, 15, 17, 18, 26], "refresh": [14, 15, 17, 18, 23], "8601": [14, 15, 17, 18], "m": [14, 15, 17, 18, 23], "dt": [14, 15, 17, 18], "h": [14, 15, 17, 18], "sz": [14, 15, 17, 18, 23], "user": [14, 15, 17, 23, 25, 26], "reauthent": [14, 15, 17, 18], "lyrics_url": 14, "token_url": [14, 15, 17, 18], "session": [14, 15, 17, 18], "timestamp": [14, 15, 17, 18], "0vjijw4gluzamyd2vxmi3b": 14, "synctyp": 14, "starttimem": 14, "syllabl": 14, "endtimem": 14, "providerlyricsid": [14, 18], "providerdisplaynam": 14, "synclyricsuri": 14, "isdensetypefac": 14, "altern": [14, 15, 26], "isrtllanguag": 14, "fullscreenact": 14, "showupsel": 14, "highlighttext": 14, "hasvocalremov": 14, "client_id": [15, 17, 18, 23], "client_secret": [15, 17, 18, 23], "web_play": 15, "port": [15, 23], "8888": [15, 23], "redirect_uri": 15, "refresh_token": [15, 18, 23], "creation": 15, "interact": [15, 25], "control": 15, "visual": [15, 25], "form": 15, "refer": [15, 17, 20], "without": [15, 18, 23, 24], "proof": [15, 18], "pkce": [15, 18, 23, 26], "These": [15, 18], "oauth": [15, 17, 18], "spotify_client_id": [15, 23], "spotify_client_secret": [15, 23], "guid": [15, 17], "how": [15, 17, 24], "advantag": 15, "function": [15, 17, 18], "redirect": [15, 23], "uri": [15, 18, 23], "localhost": [15, 23], "callback": [15, 18, 23], "where": 15, "approach": [15, 23], "resort": 15, "deprec": 15, "unless": 15, "authorization_cod": 15, "client_credenti": [15, 17, 18], "server": [15, 23, 26], "built": 15, "flask": 15, "get_scop": [15, 23, 26], "possibl": [15, 17, 18], "auth_url": [15, 18], "web_player_token_url": 15, "classmethod": 15, "ugc": 15, "upload": 15, "spotify_connect": 15, "connect": 15, "read": [15, 25], "modifi": 15, "plai": 15, "remot": 15, "follow": [15, 18, 23, 25, 26], "listening_histori": 15, "histori": 15, "substr": 15, "e": [15, 23], "market": 15, "4aawyab9vmqn3uq7fjrgti": 15, "3166": [15, 17, 18], "alpha": [15, 17, 18], "prioriti": 15, "over": 15, "neither": 15, "consid": 15, "album_typ": [15, 23], "total_track": [15, 23, 26], "available_market": [15, 23], "external_url": [15, 23], "href": [15, 23], "height": [15, 17, 18, 23, 25], "width": [15, 17, 18, 23, 25], "release_d": [15, 23], "release_date_precis": [15, 23], "reason": 15, "external_id": [15, 23, 26], "previou": [15, 18, 23, 24], "duration_m": [15, 23], "is_play": 15, "linked_from": 15, "preview_url": [15, 23], "is_loc": [15, 23], "sever": 15, "identifi": [15, 23], "comma": 15, "20": 15, "382obepsp2rxgrnsizn5tx": 15, "1a2gtwgtffwp7ksqtwwoyo": 15, "2norn2aes5aonvsu6iwthc": 15, "get_album_track": 15, "000": [15, 23], "get_saved_album": [15, 26], "added_at": [15, 23], "save_album": [15, 26], "remove_saved_album": 15, "check_saved_album": 15, "check": 15, "alreadi": [15, 18, 23, 24], "arrai": 15, "boolean": 15, "get_new_album": 15, "shown": 15, "brows": 15, "tab": 15, "particular": 15, "omit": 15, "se": [15, 23], "album_group": 15, "uniqu": [15, 24], "0tnoyisbd1xyrbk9myaseg": 15, "2cimqhirsu0mqqyyhq0eox": 15, "57dn52uhvrhoxijzpigu3": 15, "1vcwhac5f2us3yhpwwbia6": 15, "get_artist_album": [15, 17, 18], "include_group": 15, "suppli": 15, "promot": 15, "appears_on": 15, "appear": [15, 18, 24], "main": [15, 17, 23, 26], "get_artist_top_track": [15, 18], "get_related_artist": 15, "similar": [15, 17, 18, 20, 25, 26], "given": [15, 17], "analysi": 15, "commun": 15, "listen": 15, "get_audiobook": 15, "uk": 15, "ireland": 15, "zealand": 15, "australia": 15, "7ihfbu1ypacw6ozpafjtq": 15, "html_descript": 15, "edit": [15, 18, 27], "media_typ": 15, "narrat": 15, "publish": 15, "total_chapt": 15, "chapter": 15, "audio_preview_url": 15, "chapter_numb": 15, "resume_point": 15, "fully_plai": 15, "resume_position_m": 15, "episod": [15, 23], "18yvqkdbdrvs24c0ilj2ci": 15, "1hgw3j3nxzo1tp1bttvhpz": 15, "get_audiobook_chapt": 15, "get_saved_audiobook": 15, "save_audiobook": 15, "remove_saved_audiobook": 15, "check_saved_audiobook": 15, "get_categori": 15, "dinner": 15, "desir": [15, 18], "consist": 15, "639": 15, "join": 15, "american": 15, "es_mx": 15, "spanish": 15, "mexico": 15, "icon": 15, "nformat": 15, "get_chapt": 15, "0d5wendkdwbqlrhoaj9g29": 15, "0isxvp0jmcb2adse338gkk": 15, "3zxb8fkzgu0ehalyx6uczu": 15, "get_episod": 15, "512ojhouo1ktjprkbvckyq": 15, "is_externally_host": 15, "total_episod": 15, "77o6bivlym3msb4mmil1jh": 15, "0q86acnrm6v9gyx55sxkwf": 15, "get_saved_episod": 15, "save_episod": 15, "remove_saved_episod": 15, "check_saved_episod": 15, "get_genre_se": 15, "seed": [15, 25], "get_recommend": [15, 25], "acoust": 15, "afrobeat": 15, "get_market": 15, "br": [15, 23], "IT": [15, 23], "get_playback_st": 15, "additional_typ": 15, "progress": 15, "besid": 15, "introduc": 15, "maintain": [15, 23], "might": 15, "futur": 15, "is_act": 15, "is_private_sess": 15, "is_restrict": 15, "volume_perc": 15, "repeat_st": 15, "shuffle_st": 15, "context": 15, "progress_m": 15, "is_plai": 15, "currently_playing_typ": 15, "action": 15, "interrupting_playback": 15, "paus": 15, "resum": 15, "seek": 15, "skipping_next": 15, "skipping_prev": 15, "toggling_repeat_context": 15, "toggling_shuffl": 15, "toggling_repeat_track": 15, "transferring_playback": 15, "transfer_playback": 15, "device_id": 15, "transfer": [15, 27], "start": [15, 24, 25, 26], "although": 15, "accept": 15, "than": [15, 23, 24], "400": 15, "bad": 15, "74aszwbe4lxaubb36ztrgx": 15, "happen": [15, 24], "get_devic": 15, "get_currently_plai": 15, "start_playback": 15, "context_uri": 15, "position_m": 15, "target": [15, 17, 18], "0d1841b0976bae2a3a310dd74c0f3df354899bc8": 15, "1je1imulbxcx1fz0we7opt": 15, "4iv5w9uyedyuva79axb7rh": 15, "1301wleyt98msxvhpzca6m": 15, "zero": 15, "neg": 15, "repres": 15, "sixth": 15, "millisecond": 15, "pass": [15, 23, 24, 25], "greater": 15, "length": 15, "caus": 15, "pause_playback": 15, "skip_to_next": 15, "skip": [15, 18, 23], "queue": 15, "skip_to_previ": 15, "seek_to_posit": 15, "25000": 15, "set_repeat_mod": 15, "repeat": [15, 24], "mode": [15, 18], "turn": 15, "set_playback_volum": 15, "volum": 15, "100": [15, 18, 23, 25], "inclus": 15, "toggle_playback_shuffl": 15, "toggl": 15, "shuffl": 15, "get_recently_plai": 15, "befor": [15, 23, 24, 26], "doesn": 15, "unix": 15, "cursor": [15, 18], "1484811043508": 15, "played_at": 15, "get_queu": 15, "make": [15, 17, 18, 23, 25], "currently_plai": 15, "add_to_queu": 15, "end": 15, "3ceypja9oz9gipac4ash4n": 15, "dot": [15, 23], "non": 15, "reoccur": 15, "parenthes": 15, "drill": 15, "nest": 15, "prefix": 15, "exclam": 15, "mark": 15, "just": 15, "added_bi": [15, 23], "adder": 15, "snapshot_id": [15, 23], "change_playlist_detail": [15, 23], "detail": [15, 17, 26], "cours": 15, "my": [15, 18, 23], "becom": 15, "abl": 15, "displai": [15, 25], "get_playlist_item": [15, 18, 26], "add_playlist_item": [15, 18, 23, 25, 26], "exce": 15, "bodi": 15, "insert": 15, "order": [15, 18], "third": [15, 26], "snapshot": 15, "update_playlist_item": 15, "range_start": 15, "range_length": 15, "reorder": 15, "depend": [15, 23], "clear": 15, "mutual": 15, "exclus": 15, "togeth": 15, "simpli": [15, 23], "9": 15, "amount": 15, "rang": 15, "begin": 15, "subsequ": 15, "against": 15, "remove_playlist_item": 15, "even": [15, 24], "user_id": [15, 18], "smedjan": 15, "empti": 15, "until": 15, "doe": [15, 18, 23, 24, 26], "coolest": 15, "yyyi": 15, "mm": 15, "ddthh": 15, "ss": 15, "tailor": 15, "dai": [15, 23], "revert": 15, "utc": 15, "2014": 15, "23t09": 15, "00": [15, 23, 24], "whose": 15, "am": [15, 23], "messag": [15, 17, 23], "get_category_playlist": 15, "get_playlist_cover_imag": 15, "dimens": 15, "add_playlist_cover_imag": [15, 25], "base64": [15, 25], "jpeg": 15, "payload": 15, "256": [15, 23], "kb": 15, "narrow": 15, "year": 15, "hipster": 15, "certain": 15, "g": [15, 18], "1955": 15, "1960": 15, "past": [15, 23], "week": 15, "lowest": [15, 24], "remast": 15, "doxi": 15, "mile": 15, "davi": 15, "across": [15, 26], "hit": 15, "both": [15, 18, 23], "get_show": 15, "38bs44xjbvvz3no3byf1dj": 15, "5cfcwki5pz28u0uozxkdh": 15, "5as3akmn2k11yfdddsrvaz": 15, "get_show_episod": 15, "get_saved_show": 15, "save_show": 15, "remove_saved_show": 15, "check_saved_show": 15, "11dfghvxanmlkmjxsncbnl": 15, "7oumywpwj422jrcdaszb7p": 15, "4vqporuhp5edpber92t6lq": 15, "2takcwoaazwixqijphix7b": 15, "get_saved_track": [15, 25], "save_track": 15, "remove_saved_track": 15, "check_saved_track": 15, "analysis_url": 15, "danceabl": 15, "energi": 15, "instrument": 15, "live": 15, "loud": 15, "speechi": 15, "time_signatur": 15, "track_href": 15, "valenc": 15, "get_tracks_audio_featur": 15, "get_track_audio_analysi": 15, "low": [15, 18], "level": 15, "describ": 15, "structur": 15, "rhythm": 15, "pitch": 15, "timbr": 15, "audio_analysi": 15, "meta": 15, "analyzer_vers": 15, "platform": 15, "detailed_statu": 15, "status_cod": 15, "analysis_tim": 15, "input_process": 15, "num_sampl": 15, "sample_md5": 15, "offset_second": 15, "window_second": 15, "analysis_sample_r": 15, "analysis_channel": 15, "end_of_fade_in": 15, "start_of_fade_out": 15, "tempo_confid": 15, "time_signature_confid": 15, "key_confid": 15, "mode_confid": 15, "codestr": 15, "code_vers": 15, "echoprintstr": 15, "echoprint_vers": 15, "synchstr": 15, "synch_vers": 15, "rhythmstr": 15, "rhythm_vers": 15, "bar": 15, "confid": 15, "section": [15, 23], "segment": 15, "loudness_start": 15, "loudness_max": 15, "loudness_max_tim": 15, "loudness_end": 15, "tatum": 15, "seed_artist": 15, "seed_genr": 15, "seed_track": [15, 25], "suffici": 15, "pool": 15, "veri": [15, 24], "obscur": 15, "enough": 15, "train": 15, "machin": 15, "learn": 15, "ai": 15, "model": 15, "4nhqugzhttlfvgf5szeslk": 15, "0c6xiddpze81m2q797orda": 15, "unusu": 15, "imposs": 15, "debug": [15, 23], "tunabl": [15, 25], "afterfilterings": 15, "afterrelinkings": 15, "initialpools": 15, "usernam": [15, 18], "explicit_cont": 15, "filter_en": 15, "filter_lock": 15, "product": [15, 23], "get_top_item": 15, "time_rang": 15, "calcul": 15, "affin": 15, "frame": 15, "long_term": 15, "medium_term": 15, "approxim": 15, "month": 15, "short_term": 15, "get_user_profil": [15, 18], "follow_playlist": 15, "unfollow_playlist": [15, 23], "unfollow": [15, 18], "get_followed_artist": [15, 26], "0i2xqvxqhscxjhhk6ayyr": 15, "follow_peopl": [15, 26], "sent": 15, "unfollow_peopl": 15, "check_followed_peopl": 15, "check_playlist_follow": 15, "jmperezperez": 15, "thelinmichael": 15, "wizzler": 15, "robust": 16, "expos": 17, "build": [17, 24, 25], "tidal_client_id": [17, 23], "tidal_client_secret": [17, 23], "regist": [17, 23], "set_auflow": 17, "251380836": [17, 18], "barcodeid": 17, "released": [17, 18, 23], "imagecov": 17, "videocov": [17, 18, 23], "numberofvolum": [17, 18], "numberoftrack": [17, 18, 23, 26], "numberofvideo": [17, 18, 23], "mediametadata": [17, 18, 23], "275646830": [17, 18], "resourc": [17, 23, 25], "statu": [17, 18, 23], "success": [17, 23], "failur": 17, "get_album_item": [17, 18], "pagin": [17, 18], "artifacttyp": 17, "tracknumb": [17, 18, 23], "volumenumb": [17, 18, 23], "get_album_by_barcode_id": 17, "barcode_id": 17, "barcod": 17, "196589525444": 17, "get_similar_album": [17, 18, 25], "1566": [17, 18], "7804": [17, 18], "get_similar_artist": [17, 18, 25], "251380837": [17, 18], "251380838": [17, 18], "get_track_by_isrc": 17, "usual": 17, "compris": 17, "12": 17, "alphanumer": 17, "ussm12209515": 17, "get_similar_track": [17, 25], "get_video": [17, 18], "video_id": [17, 18], "75623239": [17, 18], "59727844": [17, 18], "beyonc\u00e9": [17, 18], "worldwid": 17, "r_usr": 18, "tidal_private_client_id": 18, "tidal_private_client_secret": 18, "desktop": [18, 23], "device_cod": 18, "manual": [18, 25], "termin": 18, "w_usr": 18, "w_sub": 18, "temporarili": 18, "block": 18, "ip": 18, "too": 18, "quickli": 18, "login_url": 18, "redirect_url": 18, "resources_url": 18, "streamreadi": [18, 23], "adsupportedstreamreadi": [18, 23], "djreadi": [18, 23], "stemreadi": [18, 23], "streamstartd": [18, 23], "allowstream": [18, 23], "premiumstreamingonli": [18, 23], "vibrantcolor": [18, 23], "audioqu": [18, 23], "audiomod": [18, 23], "totalnumberofitem": 18, "replaygain": [18, 23], "peak": [18, 23], "mix": [18, 23, 25], "track_mix": [18, 23], "get_album_credit": 18, "get_album_review": 18, "review": 18, "synopsi": 18, "lastupd": [18, 23], "get_favorite_album": [18, 26], "order_direct": 18, "desc": 18, "direct": 18, "asc": 18, "on_artifact_not_found": 18, "unfavorite_album": 18, "artisttyp": [18, 23], "artistrol": [18, 23], "categoryid": [18, 23], "artist_mix": [18, 23], "subset": 18, "epsandsingl": 18, "get_artist_video": 18, "imagepath": 18, "imageid": 18, "adsurl": 18, "adsprepaywallonli": 18, "get_artist_mix_id": 18, "mix_id": 18, "000ec0b01da1ddd752ec5dee553d48": 18, "get_artist_radio": 18, "inspir": 18, "ident": 18, "get_mix_item": 18, "get_artist_biographi": 18, "biograph": 18, "get_artist_link": 18, "link": 18, "websit": 18, "sitenam": 18, "banner": 18, "relationtyp": 18, "similar_artist": 18, "get_favorite_artist": [18, 26], "unfavorite_artist": 18, "get_blocked_artist": 18, "block_artist": 18, "radio": 18, "unblock_artist": 18, "unblock": 18, "get_country_cod": 18, "get_imag": 18, "uuid": [18, 23, 26], "anim": 18, "d3c4372b": 18, "a652": 18, "40e0": 18, "bdb1": 18, "fc8d032708f6": 18, "userprofil": 18, "get_favorite_mix": 18, "datead": 18, "mixtyp": 18, "subtitletextinfo": 18, "detailimag": 18, "master": 18, "titletextinfo": 18, "lastmodifiedat": 18, "favorite_mix": 18, "000dd748ceabd5508947c6a5d3880a": 18, "unfavorite_mix": 18, "get_album_pag": 18, "device_typ": 18, "phone": 18, "mobil": 18, "smart": 18, "submodul": 18, "get_artist_pag": 18, "get_mix_pag": 18, "get_video_pag": 18, "playlist_uuid": 18, "36ea71a8": 18, "445e": 18, "41a4": 18, "82ab": 18, "6628c581535d": 18, "creator": [18, 23], "publicplaylist": 18, "squareimag": [18, 23], "promotedartist": [18, 23], "lastitemaddedat": [18, 23], "get_playlist_etag": 18, "etag": 18, "1698984074453": 18, "get_playlist_recommend": 18, "folder_id": 18, "root": 18, "4261748a": 18, "4287": 18, "4758": 18, "aaab": 18, "6d5be3e99e52": 18, "folder": 18, "place": 18, "under": 18, "move_playlist": 18, "e09ab9c": 18, "2e87": 18, "41b8": 18, "b404": 18, "3cd712bf706e": 18, "contentbehavior": [18, 23], "sharinglevel": [18, 23], "trn": [18, 23], "followinfo": [18, 23], "nroffollow": [18, 23], "tidalresourcenam": [18, 23], "followtyp": [18, 23], "userid": 18, "get_personal_playlist": 18, "folder_uuid": 18, "itemtyp": 18, "addedat": 18, "parent": [18, 23, 24, 25], "readi": [18, 23], "set_playlist_privaci": [18, 23], "from_playlist_uuid": 18, "on_dupl": 18, "move_playlist_item": 18, "from_index": 18, "to_index": 18, "delete_playlist_item": 18, "get_personal_playlist_fold": 18, "flatten": 18, "include_onli": 18, "date_upd": 18, "createdat": 18, "create_playlist_fold": 18, "delete_playlist_fold": 18, "92b3c1ea": 18, "245a": 18, "4e5a": 18, "a5a4": 18, "c215f7a65b9f": 18, "tophit": 18, "collection_id": 18, "audio_qu": 18, "video_qu": 18, "max_resolut": 18, "2160": 18, "playback_mod": 18, "asset_present": 18, "streaming_session_id": 18, "immers": 18, "hifi": 18, "plan": 18, "price": 18, "dolbi": 18, "atmo": 18, "64": [18, 23], "1411": 18, "9216": 18, "mqa": 18, "audio_onli": 18, "vertic": 18, "offlin": 18, "asset": [18, 23, 25], "present": 18, "30": [18, 24], "get_video_stream": 18, "tommi": 18, "wright": 18, "kelman": 18, "duran": 18, "teriu": 18, "dream": 18, "de": [18, 23], "diamant": 18, "mike": [18, 25], "dean": 18, "trackid": [18, 23], "lyricsprovid": 18, "providercommontrackid": 18, "isrighttoleft": 18, "get_track_mix_id": 18, "tidal_id": 18, "0017159e6a1f34ae3d981792d72ecf": 18, "get_track_playback_info": 18, "hc": 18, "en": 18, "360004255778": 18, "info": 18, "assetpresent": 18, "manifestmimetyp": 18, "manifesthash": 18, "manifest": 18, "albumreplaygain": 18, "albumpeakamplitud": 18, "trackreplaygain": 18, "trackpeakamplitud": 18, "get_track_recommend": 18, "suggested_track": 18, "get_favorite_track": 18, "unfavorite_track": 18, "countrycod": 18, "fullnam": 18, "nicknam": 18, "citi": 18, "postalcod": 18, "usstat": 18, "phonenumb": 18, "birthdai": 18, "channelid": 18, "parentid": 18, "acceptedeula": 18, "facebookuid": 18, "appleuid": 18, "googleuid": 18, "accountlinkcr": 18, "emailverifi": 18, "newus": 18, "get_sess": 18, "sessionid": 18, "partnerid": 18, "authorizedforofflin": 18, "authorizedforofflined": 18, "get_favorite_id": 18, "172311284": 18, "numberoffollow": 18, "prompt": [18, 23], "primari": [18, 21], "secondari": 18, "updatedtim": 18, "supportedcontenttyp": 18, "profiletyp": 18, "get_user_follow": 18, "peopl": [18, 26], "imfollow": 18, "follow_us": 18, "unfollow_us": 18, "get_blocked_us": 18, "block_us": 18, "unblock_us": 18, "get_video_playback_info": 18, "videoid": 18, "streamtyp": 18, "videoqu": 18, "get_favorite_video": 18, "favorite_video": 18, "unfavorite_video": 18, "util": [20, 21, 24], "ndarrai": 20, "levenshtein": [20, 24], "ratio": [20, 24], "measur": 20, "compar": 20, "numpi": [20, 24], "instal": 20, "otherwis": [20, 24], "lightweight": 22, "3": [22, 23, 24, 25], "packag": 23, "pip": 23, "come": [23, 25], "pypi": 23, "conda": 23, "forg": 23, "onc": 23, "pep": 23, "541": 23, "resolv": [23, 24], "grab": 23, "repositori": 23, "git": 23, "clone": 23, "github": 23, "bbye98": 23, "enter": [23, 24], "directori": [23, 24], "virtual": 23, "prevent": 23, "conflict": 23, "requirements_minim": 23, "txt": 23, "env": 23, "f": [23, 24, 25, 26], "yml": 23, "venv": 23, "bin": 23, "posix": 23, "bash": 23, "zsh": 23, "script": 23, "bat": 23, "cmd": 23, "ex": 23, "ps1": 23, "powershel": 23, "alongsid": 23, "step": [23, 26], "r": [23, 24], "virtualenv": 23, "linux": 23, "done": 23, "try": [23, 26], "import": [23, 24, 25, 26], "error": 23, "modulenotfounderror": 23, "No": 23, "rais": 23, "successfulli": 23, "out": [23, 24, 25], "box": 23, "few": 23, "addit": [23, 26], "prerequisit": 23, "cach": 23, "client_itun": [23, 24], "client_qobuz": [23, 26], "protect": 23, "qobuz_email": 23, "qobuz_password": 23, "post": 23, "spawn": 23, "normal": 23, "launch": 23, "find": [23, 25, 26], "chromium": 23, "f12": 23, "devtool": 23, "navig": 23, "firefox": 23, "shift": 23, "f9": 23, "inspector": 23, "nagiv": 23, "client_spotify_lyr": 23, "choic": [23, 25], "spotify_port": 23, "client_spotifi": [23, 24, 25, 26], "scope": [23, 25, 26], "get_authorization_scop": 23, "autom": 23, "click": 23, "agre": 23, "jot": 23, "client_tid": [23, 24, 25, 26], "client_tidal_priv": 23, "proxi": 23, "tool": 23, "intercept": 23, "instruct": 23, "consol": 23, "edm": 23, "group": 23, "galanti": [23, 25], "musicartist": 23, "wrappertyp": 23, "artistnam": [23, 24], "artistlinkurl": 23, "543322169": 23, "uo": 23, "artistid": 23, "amgartistid": 23, "2616267": 23, "primarygenrenam": 23, "danc": 23, "primarygenreid": 23, "17": 23, "static": 23, "8dcf30e5c8e30281ecbb13b0886426c8": 23, "127": 23, "865362": 23, "4stqvofp9vemcemlw50sbu": 23, "3382444": 23, "pop": 23, "v1": 23, "640": 23, "scdn": 23, "ab6761610000e5eb7bda087d6fb48d481efd3344": 23, "ab676161000051747bda087d6fb48d481efd3344": 23, "160": 23, "ab6761610000f1787bda087d6fb48d481efd3344": 23, "67": 23, "4676988": 23, "a627e21c": 23, "60f7": 23, "4e90": 23, "b2bb": 23, "e50b178c4f0b": 23, "1024x256": 23, "1024": 23, "1080x720": 23, "1080": 23, "720": 23, "160x107": 23, "107": 23, "160x160": 23, "320x214": 23, "214": 23, "320x320": 23, "480x480": 23, "480": 23, "640x428": 23, "428": 23, "750x500": 23, "750": 23, "750x750": 23, "www": 23, "72": 23, "11": [23, 24], "engin": 23, "team": 23, "000202a7e72fd90d0c0df2ed56ddea": 23, "everybodi": 23, "talk": 23, "neon": 23, "tree": 23, "kind": 23, "315816847": 23, "collectionid": [23, 24], "578054990": 23, "578054997": 23, "glee": 23, "cast": 23, "collectionnam": 23, "season": 23, "vol": 23, "tracknam": [23, 24], "collectioncensorednam": 23, "trackcensorednam": 23, "artistviewurl": 23, "collectionviewurl": 23, "trackviewurl": 23, "previewurl": 23, "ssl": 23, "audiopreview125": 23, "v4": 23, "86": 23, "4b": 23, "3f": 23, "864b3f23": 23, "9155": 23, "9ce8": 23, "c1c0": 23, "fc115a8af80a": 23, "mzaf_13828074306318913858": 23, "p": 23, "artworkurl30": 23, "is1": 23, "mzstatic": 23, "thumb": 23, "music115": 23, "57": 23, "6d": 23, "4e": 23, "576d4e7a": 23, "7860": 23, "595a": 23, "5ccd": 23, "05e965413df5": 23, "886443746404": 23, "30x30bb": 23, "artworkurl60": 23, "60x60bb": 23, "artworkurl100": 23, "100x100bb": 23, "collectionpric": 23, "99": 23, "trackpric": 23, "29": 23, "2012": 23, "05t12": 23, "00z": [23, 24], "collectionexplicit": 23, "notexplicit": 23, "trackexplicit": 23, "disccount": 23, "discnumb": 23, "trackcount": 23, "tracktimemilli": 23, "179280": 23, "usa": 23, "currenc": 23, "usd": 23, "isstream": 23, "track_qobuz": 23, "2022": [23, 24], "arko": 23, "boom": 23, "todd": 23, "15899504": 23, "fc": 23, "7v": 23, "ilfmuz10e7vfc_230": 23, "ilfmuz10e7vfc_50": 23, "ilfmuz10e7vfc_600": 23, "0859766309663": 23, "1665180000": 23, "4026379": 23, "95": 23, "speedi": 23, "178369185": 23, "536": 23, "133": 23, "0070ef": 23, "hip": 23, "hop": 23, "rap": 23, "ilfmuz10e7vfc": 23, "1689231600": 23, "08": 23, "15899505": 23, "tcagm2280786": 23, "178369187": 23, "track_spotifi": 23, "0rpddszuhfncuwnjxkosji": 23, "au": 23, "AT": 23, "BE": 23, "bo": 23, "bg": 23, "cl": 23, "cr": 23, "cy": 23, "cz": 23, "dk": 23, "ec": 23, "ee": 23, "sv": 23, "fi": 23, "fr": 23, "gr": 23, "gt": 23, "hn": 23, "hk": 23, "hu": 23, "ie": 23, "lv": 23, "lt": 23, "lu": 23, "mt": 23, "nl": 23, "nz": 23, "ni": 23, "NO": 23, "pa": 23, "py": 23, "pe": 23, "ph": 23, "pl": 23, "pt": 23, "sg": 23, "sk": 23, "ch": 23, "tw": 23, "tr": 23, "ui": 23, "gb": 23, "li": [23, 26], "mc": 23, "th": 23, "ro": 23, "il": 23, "za": 23, "sa": 23, "ae": 23, "bh": 23, "qa": 23, "om": 23, "kw": 23, "eg": 23, "tn": 23, "lb": 23, "jo": 23, "IN": 23, "BY": 23, "kz": 23, "md": 23, "ua": 23, "al": 23, "ba": 23, "hr": 23, "mk": 23, "si": 23, "kr": 23, "bd": 23, "pk": 23, "lk": 23, "gh": 23, "ke": 23, "ng": 23, "tz": 23, "ug": 23, "bb": 23, "bz": 23, "bt": 23, "bw": 23, "bf": 23, "cv": 23, "cw": 23, "dm": 23, "fj": 23, "gm": 23, "gd": 23, "gw": 23, "gy": 23, "ht": 23, "jm": 23, "ki": 23, "l": 23, "lr": 23, "mw": 23, "mv": 23, "ml": 23, "mh": 23, "fm": 23, "na": 23, "nr": 23, "ne": 23, "pw": 23, "pg": 23, "w": 23, "st": 23, "sn": 23, "sc": 23, "sl": 23, "sb": 23, "kn": 23, "lc": 23, "vc": 23, "sr": 23, "tl": 23, "TO": 23, "tt": 23, "az": 23, "bn": 23, "bi": 23, "kh": 23, "cm": 23, "td": 23, "km": 23, "gq": 23, "ga": 23, "gn": 23, "kg": 23, "la": 23, "mo": 23, "mr": 23, "mn": 23, "np": [23, 24], "rw": 23, "tg": 23, "uz": 23, "zw": 23, "bj": 23, "mg": 23, "mu": 23, "mz": 23, "ao": 23, "ci": 23, "dj": 23, "zm": 23, "cg": 23, "iq": 23, "tj": 23, "ve": 23, "xk": 23, "0urfz92jmjwdbzbb7hebir": 23, "ab67616d0000b2734a6c0376235e5aa44e59d2c2": 23, "300": 23, "ab67616d00001e024a6c0376235e5aa44e59d2c2": 23, "ab67616d000048514a6c0376235e5aa44e59d2c2": 23, "01": 23, "177280": 23, "usum71119189": 23, "2iumqdfgzchihs3b9e9ewq": 23, "81": 23, "14492425": 23, "451": 23, "due": 23, "demand": 23, "right": [23, 26], "holder": 23, "prohibit": 23, "track_tidal_priv": 23, "177": 23, "999969": 23, "17t00": 23, "0000": 23, "55": 23, "mercuri": 23, "2011": 23, "umg": 23, "inc": 23, "stereo": 23, "3665225": 23, "e6f17398": 23, "759e": 23, "45a0": 23, "9673": 23, "6ded6811e199": 23, "14492422": 23, "1c2d7c90": 23, "034e": 23, "485a": 23, "be1f": 23, "24a669c7e6e": 23, "f8af88": 23, "0019768c833a193c29829e5bf473fc": 23, "we": [23, 24, 25, 26], "playlist_qobuz": 23, "ilfmuz10e7vfc_150": 23, "1701053442": 23, "ilfmuz10e7vfc_300": 23, "1701053443": 23, "18171379": 23, "52": 23, "3865979203": 23, "playlist_spotifi": 23, "3vsxl8ftlyoqgewazcz5d": 23, "primary_color": 23, "myw0ndk1ngnlmze0m2e1otbkmtg0otdkn2m4mgi1nmi3zji5ymmxytgz": 23, "2023": [23, 24, 25, 26], "27t02": 23, "45z": 23, "video_thumbnail": 23, "playlist_tidal_priv": 23, "e9f6aff1": 23, "f39e": 23, "462b": 23, "90c4": 23, "41686877a555": 23, "unrestrict": 23, "8e75fac4": 23, "cf24": 23, "45c8": 23, "8bd2": 23, "98ab69f7f74b": 23, "eefe947a": 23, "5cdb": 23, "40ee": 23, "8057": 23, "213941ff48d5": 23, "45": 23, "504": 23, "46": 23, "085": 23, "mutagen": 23, "common": 23, "test": [23, 24], "middle_c": 23, "notat": 23, "getattr": 23, "attr": 23, "print": [23, 24], "capit": [23, 24], "middl": 23, "squar": 23, "game": 23, "similarli": 23, "setattr": 23, "261": 23, "63": 23, "forget": [23, 24], "convers": [23, 24], "middle_c_alac": 23, "116kb": 23, "02": 23, "930": 23, "3kbit": 23, "speed": [23, 24], "177x": 23, "point": [23, 24], "novemb": [24, 25, 26], "glob": 24, "audio_fil": 24, "suffix": 24, "dive": 24, "def": 24, "print_metadata": 24, "__dict__": 24, "startswith": 24, "upper": 24, "els": 24, "below": [24, 26], "highlight": 24, "involv": 24, "spektrem_shin": 24, "0x7fb5cdaeb790": 24, "let": 24, "spektrem": 24, "shine": 24, "count": 24, "1030107": 24, "44100": 24, "had": 24, "pull": 24, "At": 24, "yet": 24, "written": 24, "compat": 24, "1032kb": 24, "09": 24, "280": 24, "9kbit": 24, "68": 24, "5x": 24, "With": 24, "280593": 24, "persist": 24, "typic": 24, "accur": 24, "good": 24, "idea": 24, "select": [24, 25, 26], "closest": 24, "choos": 24, "distanc": 24, "levenshtein_ratio": 24, "lower": 24, "itunes_result": 24, "itunes_track": 24, "argmax": 24, "itunes_album": 24, "2013": 24, "gfted": 24, "06t12": 24, "electron": 24, "fill": 24, "By": 24, "set_metadata_us": 24, "spotify_result": 24, "spotify_track": [24, 26], "gb2ld0901581": 24, "128": 24, "correct": [24, 26], "get_track_compo": 24, "tidal_result": 24, "tidal_track": [24, 26], "tidal_compos": 24, "tidal_lyr": 24, "did": 24, "sometim": [24, 26], "tobu_back_to_y": 24, "0x7fb6744afdd0": 24, "tobu": 24, "tom": 24, "burkovski": 24, "nc": 24, "06t07": 24, "hous": [24, 25], "gb2ld2210368": 24, "1104053": 24, "poorli": 24, "miss": 24, "fix": 24, "three": 24, "25t12": 24, "98": 24, "voil\u00e0": 24, "twice": 24, "becaus": 24, "There": 24, "eleg": 24, "solut": 24, "problem": 24, "unfortun": [24, 26], "19": [25, 26], "help": 25, "discov": 25, "leverag": 25, "suggest": 25, "b64encod": 25, "random": 25, "ipython": 25, "html": 25, "ifram": 25, "ipywidget": 25, "gridspeclayout": 25, "sure": 25, "0jz9tvoltzjagqiyc4hyzx": 25, "avicii": 25, "0bmb3nzquhbfi6nm4setvu": 25, "cash": 25, "surrend": 25, "1pq8ywty9v2ivzwj7gyxxb": 25, "mako": 25, "our": 25, "70iflb5egla8wufwgxborz": 25, "william": 25, "fallin": 25, "6jspbxzld2yemjtjz2gqot": 25, "passion": 25, "pit": 25, "76b6ljxtolasgxlanjnndr": 25, "sick": 25, "individu": 25, "2v65y3px4dkrhy1djlxd9p": 25, "swedish": 25, "mafia": 25, "worri": 25, "child": 25, "feat": 25, "john": 25, "martin": 25, "1gpf8iwqqj8qoevjhfiidu": 25, "zedd": 25, "matthew": 25, "koma": 25, "miriam": 25, "bryant": 25, "randomli": 25, "recommended_track": 25, "k": 25, "spotify_playlist": [25, 26], "global": 25, "_dh": 25, "minim_mix_smal": 25, "rb": 25, "nifti": 25, "emb": 25, "grid": 25, "len": 25, "enumer": 25, "framebord": 25, "lazi": 25, "152": 25, "510": 25, "divmod": 25, "procedur": [25, 26], "51073951": 25, "62082351": 25, "32553484": 25, "147258423": 25, "109273852": 25, "237059212": 25, "17271290": 25, "27171015": 25, "similar_track": 25, "div": 25, "pad": 25, "bottom": 25, "overflow": 25, "hidden": 25, "max": 25, "src": 25, "layout": 25, "gridifi": 25, "allowfullscreen": 25, "absolut": 25, "left": 25, "1px": 25, "min": 25, "margin": 25, "auto": 25, "tunemymus": 26, "assum": 26, "destin": 26, "challeng": 26, "often": 26, "difficult": 26, "barebon": 26, "pair": 26, "fine": 26, "tune": 26, "complex": 26, "those": 26, "remix": 26, "qobuz_playlist_id": 26, "17865119": 26, "qobuz_playlist": 26, "new_spotify_playlist": 26, "equival": 26, "simpl": 26, "spotify_track_uri": 26, "qobuz_track": 26, "new_tidal_playlist": 26, "confirm": 26, "tidal_track_id": 26, "spotify_playlist_id": 26, "3rw9qy60ceh6dfjauwdxmh": 26, "new_qobuz_playlist": 26, "thankfulli": 26, "qobuz_track_id": 26, "tidal_playlist_uuid": 26, "40052e73": 26, "58d4": 26, "4abb": 26, "bc1c": 26, "abace76d2f15": 26, "tidal_playlist": 26, "tidal_playlist_item": 26, "qobuz_favorit": 26, "qobuz_favorite_album": 26, "qobuz_favorite_artist": 26, "align": 26, "spotify_album_id": 26, "qobuz_album": 26, "spotify_album": 26, "indexerror": 26, "break": 26, "follow_artist": 26, "spotify_artist_id": 26, "qobuz_artist": 26, "spotify_artist": 26, "tidal_album_id": 26, "tidal_album": 26, "lstrip": 26, "tidal_artist_id": 26, "tidal_artist": 26, "spotify_favorite_album": 26, "spotify_favorite_artist": 26, "qobuz_album_id": 26, "qobuz_artist_id": 26, "tidal_favorite_album": 26, "tidal_favorite_artist": 26}, "objects": {"": [[1, 0, 0, "-", "minim"]], "minim": [[2, 0, 0, "-", "audio"], [9, 0, 0, "-", "itunes"], [11, 0, 0, "-", "qobuz"], [13, 0, 0, "-", "spotify"], [16, 0, 0, "-", "tidal"], [19, 0, 0, "-", "utility"]], "minim.audio": [[3, 1, 1, "", "Audio"], [4, 1, 1, "", "FLACAudio"], [5, 1, 1, "", "MP3Audio"], [6, 1, 1, "", "MP4Audio"], [7, 1, 1, "", "OggAudio"], [8, 1, 1, "", "WAVEAudio"]], "minim.audio.Audio": [[3, 2, 1, "", "convert"], [3, 2, 1, "", "set_metadata_using_itunes"], [3, 2, 1, "", "set_metadata_using_qobuz"], [3, 2, 1, "", "set_metadata_using_spotify"], [3, 2, 1, "", "set_metadata_using_tidal"]], "minim.audio.FLACAudio": [[4, 2, 1, "", "convert"], [4, 2, 1, "", "set_metadata_using_itunes"], [4, 2, 1, "", "set_metadata_using_qobuz"], [4, 2, 1, "", "set_metadata_using_spotify"], [4, 2, 1, "", "set_metadata_using_tidal"], [4, 2, 1, "", "write_metadata"]], "minim.audio.MP3Audio": [[5, 2, 1, "", "convert"], [5, 2, 1, "", "set_metadata_using_itunes"], [5, 2, 1, "", "set_metadata_using_qobuz"], [5, 2, 1, "", "set_metadata_using_spotify"], [5, 2, 1, "", "set_metadata_using_tidal"], [5, 2, 1, "", "write_metadata"]], "minim.audio.MP4Audio": [[6, 2, 1, "", "convert"], [6, 2, 1, "", "set_metadata_using_itunes"], [6, 2, 1, "", "set_metadata_using_qobuz"], [6, 2, 1, "", "set_metadata_using_spotify"], [6, 2, 1, "", "set_metadata_using_tidal"], [6, 2, 1, "", "write_metadata"]], "minim.audio.OggAudio": [[7, 2, 1, "", "convert"], [7, 2, 1, "", "set_metadata_using_itunes"], [7, 2, 1, "", "set_metadata_using_qobuz"], [7, 2, 1, "", "set_metadata_using_spotify"], [7, 2, 1, "", "set_metadata_using_tidal"], [7, 2, 1, "", "write_metadata"]], "minim.audio.WAVEAudio": [[8, 2, 1, "", "convert"], [8, 2, 1, "", "set_metadata_using_itunes"], [8, 2, 1, "", "set_metadata_using_qobuz"], [8, 2, 1, "", "set_metadata_using_spotify"], [8, 2, 1, "", "set_metadata_using_tidal"], [8, 2, 1, "", "write_metadata"]], "minim.itunes": [[10, 1, 1, "", "SearchAPI"]], "minim.itunes.SearchAPI": [[10, 2, 1, "", "lookup"], [10, 2, 1, "", "search"]], "minim.qobuz": [[12, 1, 1, "", "PrivateAPI"]], "minim.qobuz.PrivateAPI": [[12, 2, 1, "", "add_playlist_tracks"], [12, 2, 1, "", "create_playlist"], [12, 2, 1, "", "delete_playlist"], [12, 2, 1, "", "delete_playlist_tracks"], [12, 2, 1, "", "favorite_items"], [12, 2, 1, "", "favorite_playlist"], [12, 2, 1, "", "get_album"], [12, 2, 1, "", "get_artist"], [12, 2, 1, "", "get_collection_streams"], [12, 2, 1, "", "get_curated_tracks"], [12, 2, 1, "", "get_favorites"], [12, 2, 1, "", "get_featured_albums"], [12, 2, 1, "", "get_featured_playlists"], [12, 2, 1, "", "get_label"], [12, 2, 1, "", "get_playlist"], [12, 2, 1, "", "get_profile"], [12, 2, 1, "", "get_purchases"], [12, 2, 1, "", "get_track"], [12, 2, 1, "", "get_track_file_url"], [12, 2, 1, "", "get_track_performers"], [12, 2, 1, "", "get_track_stream"], [12, 2, 1, "", "get_user_playlists"], [12, 2, 1, "", "move_playlist_tracks"], [12, 2, 1, "", "search"], [12, 2, 1, "", "set_auth_token"], [12, 2, 1, "", "set_flow"], [12, 2, 1, "", "unfavorite_items"], [12, 2, 1, "", "unfavorite_playlist"], [12, 2, 1, "", "update_playlist"], [12, 2, 1, "", "update_playlist_position"]], "minim.spotify": [[14, 1, 1, "", "PrivateLyricsService"], [15, 1, 1, "", "WebAPI"]], "minim.spotify.PrivateLyricsService": [[14, 2, 1, "", "get_lyrics"], [14, 2, 1, "", "set_access_token"], [14, 2, 1, "", "set_sp_dc"]], "minim.spotify.WebAPI": [[15, 2, 1, "", "add_playlist_cover_image"], [15, 2, 1, "", "add_playlist_items"], [15, 2, 1, "", "add_to_queue"], [15, 2, 1, "", "change_playlist_details"], [15, 2, 1, "", "check_followed_people"], [15, 2, 1, "", "check_playlist_followers"], [15, 2, 1, "", "check_saved_albums"], [15, 2, 1, "", "check_saved_audiobooks"], [15, 2, 1, "", "check_saved_episodes"], [15, 2, 1, "", "check_saved_shows"], [15, 2, 1, "", "check_saved_tracks"], [15, 2, 1, "", "create_playlist"], [15, 2, 1, "", "follow_people"], [15, 2, 1, "", "follow_playlist"], [15, 2, 1, "", "get_album"], [15, 2, 1, "", "get_album_tracks"], [15, 2, 1, "", "get_albums"], [15, 2, 1, "", "get_artist"], [15, 2, 1, "", "get_artist_albums"], [15, 2, 1, "", "get_artist_top_tracks"], [15, 2, 1, "", "get_artists"], [15, 2, 1, "", "get_audiobook"], [15, 2, 1, "", "get_audiobook_chapters"], [15, 2, 1, "", "get_audiobooks"], [15, 2, 1, "", "get_categories"], [15, 2, 1, "", "get_category"], [15, 2, 1, "", "get_category_playlists"], [15, 2, 1, "", "get_chapter"], [15, 2, 1, "", "get_chapters"], [15, 2, 1, "", "get_currently_playing"], [15, 2, 1, "", "get_devices"], [15, 2, 1, "", "get_episode"], [15, 2, 1, "", "get_episodes"], [15, 2, 1, "", "get_featured_playlists"], [15, 2, 1, "", "get_followed_artists"], [15, 2, 1, "", "get_genre_seeds"], [15, 2, 1, "", "get_markets"], [15, 2, 1, "", "get_new_albums"], [15, 2, 1, "", "get_playback_state"], [15, 2, 1, "", "get_playlist"], [15, 2, 1, "", "get_playlist_cover_image"], [15, 2, 1, "", "get_playlist_items"], [15, 2, 1, "", "get_playlists"], [15, 2, 1, "", "get_profile"], [15, 2, 1, "", "get_queue"], [15, 2, 1, "", "get_recently_played"], [15, 2, 1, "", "get_recommendations"], [15, 2, 1, "", "get_related_artists"], [15, 2, 1, "", "get_saved_albums"], [15, 2, 1, "", "get_saved_audiobooks"], [15, 2, 1, "", "get_saved_episodes"], [15, 2, 1, "", "get_saved_shows"], [15, 2, 1, "", "get_saved_tracks"], [15, 2, 1, "", "get_scopes"], [15, 2, 1, "", "get_show"], [15, 2, 1, "", "get_show_episodes"], [15, 2, 1, "", "get_shows"], [15, 2, 1, "", "get_top_items"], [15, 2, 1, "", "get_track"], [15, 2, 1, "", "get_track_audio_analysis"], [15, 2, 1, "", "get_track_audio_features"], [15, 2, 1, "", "get_tracks"], [15, 2, 1, "", "get_tracks_audio_features"], [15, 2, 1, "", "get_user_playlists"], [15, 2, 1, "", "get_user_profile"], [15, 2, 1, "", "pause_playback"], [15, 2, 1, "", "remove_playlist_items"], [15, 2, 1, "", "remove_saved_albums"], [15, 2, 1, "", "remove_saved_audiobooks"], [15, 2, 1, "", "remove_saved_episodes"], [15, 2, 1, "", "remove_saved_shows"], [15, 2, 1, "", "remove_saved_tracks"], [15, 2, 1, "", "save_albums"], [15, 2, 1, "", "save_audiobooks"], [15, 2, 1, "", "save_episodes"], [15, 2, 1, "", "save_shows"], [15, 2, 1, "", "save_tracks"], [15, 2, 1, "", "search"], [15, 2, 1, "", "seek_to_position"], [15, 2, 1, "", "set_access_token"], [15, 2, 1, "", "set_flow"], [15, 2, 1, "", "set_playback_volume"], [15, 2, 1, "", "set_repeat_mode"], [15, 2, 1, "", "skip_to_next"], [15, 2, 1, "", "skip_to_previous"], [15, 2, 1, "", "start_playback"], [15, 2, 1, "", "toggle_playback_shuffle"], [15, 2, 1, "", "transfer_playback"], [15, 2, 1, "", "unfollow_people"], [15, 2, 1, "", "unfollow_playlist"], [15, 2, 1, "", "update_playlist_items"]], "minim.tidal": [[17, 1, 1, "", "API"], [18, 1, 1, "", "PrivateAPI"]], "minim.tidal.API": [[17, 2, 1, "", "get_album"], [17, 2, 1, "", "get_album_by_barcode_id"], [17, 2, 1, "", "get_album_items"], [17, 2, 1, "", "get_albums"], [17, 2, 1, "", "get_artist"], [17, 2, 1, "", "get_artist_albums"], [17, 2, 1, "", "get_artists"], [17, 2, 1, "", "get_similar_albums"], [17, 2, 1, "", "get_similar_artists"], [17, 2, 1, "", "get_similar_tracks"], [17, 2, 1, "", "get_track"], [17, 2, 1, "", "get_track_by_isrc"], [17, 2, 1, "", "get_tracks"], [17, 2, 1, "", "get_video"], [17, 2, 1, "", "get_videos"], [17, 2, 1, "", "search"], [17, 2, 1, "", "set_access_token"], [17, 2, 1, "", "set_flow"]], "minim.tidal.PrivateAPI": [[18, 2, 1, "", "add_playlist_items"], [18, 2, 1, "", "block_artist"], [18, 2, 1, "", "block_user"], [18, 2, 1, "", "create_playlist"], [18, 2, 1, "", "create_playlist_folder"], [18, 2, 1, "", "delete_playlist"], [18, 2, 1, "", "delete_playlist_folder"], [18, 2, 1, "", "delete_playlist_item"], [18, 2, 1, "", "favorite_albums"], [18, 2, 1, "", "favorite_artists"], [18, 2, 1, "", "favorite_mixes"], [18, 2, 1, "", "favorite_playlists"], [18, 2, 1, "", "favorite_tracks"], [18, 2, 1, "", "favorite_videos"], [18, 2, 1, "", "follow_user"], [18, 2, 1, "", "get_album"], [18, 2, 1, "", "get_album_credits"], [18, 2, 1, "", "get_album_items"], [18, 2, 1, "", "get_album_page"], [18, 2, 1, "", "get_album_review"], [18, 2, 1, "", "get_artist"], [18, 2, 1, "", "get_artist_albums"], [18, 2, 1, "", "get_artist_biography"], [18, 2, 1, "", "get_artist_links"], [18, 2, 1, "", "get_artist_mix_id"], [18, 2, 1, "", "get_artist_page"], [18, 2, 1, "", "get_artist_radio"], [18, 2, 1, "", "get_artist_top_tracks"], [18, 2, 1, "", "get_artist_videos"], [18, 2, 1, "", "get_blocked_artists"], [18, 2, 1, "", "get_blocked_users"], [18, 2, 1, "", "get_collection_streams"], [18, 2, 1, "", "get_country_code"], [18, 2, 1, "", "get_favorite_albums"], [18, 2, 1, "", "get_favorite_artists"], [18, 2, 1, "", "get_favorite_ids"], [18, 2, 1, "", "get_favorite_mixes"], [18, 2, 1, "", "get_favorite_tracks"], [18, 2, 1, "", "get_favorite_videos"], [18, 2, 1, "", "get_image"], [18, 2, 1, "", "get_mix_items"], [18, 2, 1, "", "get_mix_page"], [18, 2, 1, "", "get_personal_playlist_folders"], [18, 2, 1, "", "get_personal_playlists"], [18, 2, 1, "", "get_playlist"], [18, 2, 1, "", "get_playlist_etag"], [18, 2, 1, "", "get_playlist_items"], [18, 2, 1, "", "get_playlist_recommendations"], [18, 2, 1, "", "get_profile"], [18, 2, 1, "", "get_session"], [18, 2, 1, "", "get_similar_albums"], [18, 2, 1, "", "get_similar_artists"], [18, 2, 1, "", "get_track"], [18, 2, 1, "", "get_track_composers"], [18, 2, 1, "", "get_track_contributors"], [18, 2, 1, "", "get_track_credits"], [18, 2, 1, "", "get_track_lyrics"], [18, 2, 1, "", "get_track_mix_id"], [18, 2, 1, "", "get_track_playback_info"], [18, 2, 1, "", "get_track_recommendations"], [18, 2, 1, "", "get_track_stream"], [18, 2, 1, "", "get_user_followers"], [18, 2, 1, "", "get_user_following"], [18, 2, 1, "", "get_user_playlist"], [18, 2, 1, "", "get_user_playlists"], [18, 2, 1, "", "get_user_profile"], [18, 2, 1, "", "get_video"], [18, 2, 1, "", "get_video_page"], [18, 2, 1, "", "get_video_playback_info"], [18, 2, 1, "", "get_video_stream"], [18, 2, 1, "", "move_playlist"], [18, 2, 1, "", "move_playlist_item"], [18, 2, 1, "", "search"], [18, 2, 1, "", "set_access_token"], [18, 2, 1, "", "set_flow"], [18, 2, 1, "", "set_playlist_privacy"], [18, 2, 1, "", "unblock_artist"], [18, 2, 1, "", "unblock_user"], [18, 2, 1, "", "unfavorite_albums"], [18, 2, 1, "", "unfavorite_artists"], [18, 2, 1, "", "unfavorite_mixes"], [18, 2, 1, "", "unfavorite_playlist"], [18, 2, 1, "", "unfavorite_tracks"], [18, 2, 1, "", "unfavorite_videos"], [18, 2, 1, "", "unfollow_user"], [18, 2, 1, "", "update_playlist"]], "minim.utility": [[20, 3, 1, "", "levenshtein_ratio"], [21, 3, 1, "", "multivalue_formatter"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "function", "Python function"]}, "titleterms": {"minim": [1, 22, 23], "audio": [2, 3, 23, 24], "file": [2, 23, 24], "object": 2, "softwar": [3, 4, 5, 6, 7, 8], "depend": [3, 4, 5, 6, 7, 8], "flacaudio": 4, "mp3audio": 5, "mp4audio": 6, "oggaudio": 7, "waveaudio": 8, "itun": [9, 23], "searchapi": [10, 23], "qobuz": [11, 23, 26], "privateapi": [12, 18, 23], "sampl": [12, 14, 15, 17, 18], "respons": [12, 14, 15, 17, 18], "user": [12, 18, 27], "authent": [12, 18], "subscript": [12, 18], "spotifi": [13, 23, 25, 26], "privatelyricsservic": [14, 23], "webapi": [15, 23], "author": [15, 18], "scope": [15, 18], "tidal": [16, 23, 25, 26], "api": [17, 23, 24], "util": 19, "function": [19, 24], "levenshtein_ratio": 20, "multivalue_formatt": 21, "get": [23, 25], "start": 23, "instal": 23, "usag": 23, "music": [23, 26], "servic": 23, "search": 23, "privat": 23, "lyric": 23, "web": 23, "exampl": 23, "artist": 23, "track": 23, "creat": 23, "modifi": 23, "delet": 23, "person": 23, "playlist": [23, 26], "handler": 23, "load": 23, "edit": [23, 24], "convert": [23, 24], "between": 23, "format": 23, "metadata": 24, "setup": 24, "instanti": 24, "client": 24, "find": 24, "defin": 24, "helper": 24, "tag": 24, "an": 24, "exist": 24, "recommend": 25, "transfer": 26, "librari": 26, "prerequisit": 26, "move": 26, "from": 26, "To": 26, "synchron": 26, "favorit": 26, "guid": 27}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.viewcode": 1, "sphinx": 60}, "alltitles": {"audio": [[2, "module-minim.audio"]], "Audio file objects": [[2, "audio-file-objects"]], "minim": [[1, "module-minim"]], "User Guide": [[27, "user-guide"]], "qobuz": [[11, "module-minim.qobuz"]], "Qobuz": [[11, "id1"]], "itunes": [[9, "module-minim.itunes"]], "iTunes": [[9, "id1"]], "SearchAPI": [[10, "searchapi"]], "FLACAudio": [[4, "flacaudio"]], "Software dependency": [[4, null], [5, null], [3, null], [7, null], [8, null], [6, null]], "MP3Audio": [[5, "mp3audio"]], "Audio": [[3, "audio"]], "OggAudio": [[7, "oggaudio"]], "WAVEAudio": [[8, "waveaudio"]], "MP4Audio": [[6, "mp4audio"]], "PrivateAPI": [[12, "privateapi"], [18, "privateapi"]], "Sample response": [[12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [14, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [17, null], [17, null], [17, null], [17, null], [17, null], [17, null], [17, null], [17, null], [17, null], [17, null], [17, null], [17, null], [17, null], [17, null], [17, null], [17, null]], "User authentication": [[12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [18, null]], "Subscription": [[12, null], [12, null], [12, null]], "PrivateLyricsService": [[14, "privatelyricsservice"]], "spotify": [[13, "module-minim.spotify"]], "Spotify": [[13, "id1"], [25, "spotify"]], "levenshtein_ratio": [[20, "levenshtein-ratio"]], "utility": [[19, "module-minim.utility"]], "Utility functions": [[19, "utility-functions"]], "Authorization scope": [[18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null]], "User authentication and authorization scope": [[18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null]], "User authentication, authorization scope, and\n subscription": [[18, null], [18, null], [18, null], [18, null], [18, null]], "User authentication and subscription": [[18, null]], "WebAPI": [[15, "webapi"]], "Sample": [[15, null], [15, null], [15, null], [15, null], [15, null], [15, null]], "tidal": [[16, "module-minim.tidal"]], "TIDAL": [[16, "id1"], [25, "tidal"]], "API": [[17, "api"]], "Minim": [[22, "minim"]], "multivalue_formatter": [[21, "multivalue-formatter"]], "Getting Started": [[23, "getting-started"]], "Installation": [[23, "installation"]], "Usage": [[23, "usage"]], "Music service APIs": [[23, "music-service-apis"]], "iTunes Search API (minim.itunes.SearchAPI)": [[23, "itunes-search-api-minim-itunes-searchapi"]], "Private Qobuz API (minim.qobuz.PrivateAPI)": [[23, "private-qobuz-api-minim-qobuz-privateapi"]], "Private Spotify Lyrics Service (minim.spotify.PrivateLyricsService)": [[23, "private-spotify-lyrics-service-minim-spotify-privatelyricsservice"]], "Spotify Web API (minim.spotify.WebAPI)": [[23, "spotify-web-api-minim-spotify-webapi"]], "TIDAL API (minim.tidal.API)": [[23, "tidal-api-minim-tidal-api"]], "Private TIDAL API (minim.tidal.PrivateAPI)": [[23, "private-tidal-api-minim-tidal-privateapi"]], "Examples": [[23, "examples"], [23, "id9"]], "Searching for artists": [[23, "searching-for-artists"]], "iTunes Search API": [[23, "itunes-search-api"], [23, "id1"]], "Private Qobuz API": [[23, "private-qobuz-api"], [23, "id2"], [23, "id6"]], "Spotify Web API": [[23, "spotify-web-api"], [23, "id3"], [23, "id7"]], "TIDAL API": [[23, "tidal-api"], [23, "id4"]], "Private TIDAL API": [[23, "private-tidal-api"], [23, "id5"], [23, "id8"]], "Searching for tracks": [[23, "searching-for-tracks"]], "Creating, modifying, and deleting a personal playlist": [[23, "creating-modifying-and-deleting-a-personal-playlist"]], "Audio file handlers": [[23, "audio-file-handlers"]], "Loading and editing audio files": [[23, "loading-and-editing-audio-files"]], "Converting between audio formats": [[23, "converting-between-audio-formats"]], "Getting Recommendations": [[25, "getting-recommendations"]], "Editing Audio Metadata": [[24, "editing-audio-metadata"]], "Setup": [[24, "setup"]], "Instantiating API clients": [[24, "instantiating-api-clients"]], "Finding audio files": [[24, "finding-audio-files"]], "Defining helper functions": [[24, "defining-helper-functions"]], "Converting and tagging an audio file with no metadata": [[24, "converting-and-tagging-an-audio-file-with-no-metadata"]], "Tagging an audio file with existing metadata": [[24, "tagging-an-audio-file-with-existing-metadata"]], "Transferring Music Libraries": [[26, "transferring-music-libraries"]], "Prerequisites": [[26, "prerequisites"]], "Moving playlists": [[26, "moving-playlists"]], "From Qobuz": [[26, "from-qobuz"], [26, "id4"]], "To Spotify": [[26, "to-spotify"], [26, "id3"], [26, "id5"], [26, "id12"]], "To TIDAL": [[26, "to-tidal"], [26, "id1"], [26, "id6"], [26, "id9"]], "From Spotify": [[26, "from-spotify"], [26, "id7"]], "To Qobuz": [[26, "to-qobuz"], [26, "id2"], [26, "id8"], [26, "id11"]], "From TIDAL": [[26, "from-tidal"], [26, "id10"]], "Synchronizing favorites": [[26, "synchronizing-favorites"]]}, "indexentries": {"minim": [[1, "module-minim"]], "module": [[1, "module-minim"], [2, "module-minim.audio"], [9, "module-minim.itunes"], [11, "module-minim.qobuz"], [13, "module-minim.spotify"], [16, "module-minim.tidal"], [19, "module-minim.utility"]], "minim.audio": [[2, "module-minim.audio"]], "audio (class in minim.audio)": [[3, "minim.audio.Audio"]], "convert() (minim.audio.audio method)": [[3, "minim.audio.Audio.convert"]], "set_metadata_using_itunes() (minim.audio.audio method)": [[3, "minim.audio.Audio.set_metadata_using_itunes"]], "set_metadata_using_qobuz() (minim.audio.audio method)": [[3, "minim.audio.Audio.set_metadata_using_qobuz"]], "set_metadata_using_spotify() (minim.audio.audio method)": [[3, "minim.audio.Audio.set_metadata_using_spotify"]], "set_metadata_using_tidal() (minim.audio.audio method)": [[3, "minim.audio.Audio.set_metadata_using_tidal"]], "flacaudio (class in minim.audio)": [[4, "minim.audio.FLACAudio"]], "convert() (minim.audio.flacaudio method)": [[4, "minim.audio.FLACAudio.convert"]], "set_metadata_using_itunes() (minim.audio.flacaudio method)": [[4, "minim.audio.FLACAudio.set_metadata_using_itunes"]], "set_metadata_using_qobuz() (minim.audio.flacaudio method)": [[4, "minim.audio.FLACAudio.set_metadata_using_qobuz"]], "set_metadata_using_spotify() (minim.audio.flacaudio method)": [[4, "minim.audio.FLACAudio.set_metadata_using_spotify"]], "set_metadata_using_tidal() (minim.audio.flacaudio method)": [[4, "minim.audio.FLACAudio.set_metadata_using_tidal"]], "write_metadata() (minim.audio.flacaudio method)": [[4, "minim.audio.FLACAudio.write_metadata"]], "mp3audio (class in minim.audio)": [[5, "minim.audio.MP3Audio"]], "convert() (minim.audio.mp3audio method)": [[5, "minim.audio.MP3Audio.convert"]], "set_metadata_using_itunes() (minim.audio.mp3audio method)": [[5, "minim.audio.MP3Audio.set_metadata_using_itunes"]], "set_metadata_using_qobuz() (minim.audio.mp3audio method)": [[5, "minim.audio.MP3Audio.set_metadata_using_qobuz"]], "set_metadata_using_spotify() (minim.audio.mp3audio method)": [[5, "minim.audio.MP3Audio.set_metadata_using_spotify"]], "set_metadata_using_tidal() (minim.audio.mp3audio method)": [[5, "minim.audio.MP3Audio.set_metadata_using_tidal"]], "write_metadata() (minim.audio.mp3audio method)": [[5, "minim.audio.MP3Audio.write_metadata"]], "mp4audio (class in minim.audio)": [[6, "minim.audio.MP4Audio"]], "convert() (minim.audio.mp4audio method)": [[6, "minim.audio.MP4Audio.convert"]], "set_metadata_using_itunes() (minim.audio.mp4audio method)": [[6, "minim.audio.MP4Audio.set_metadata_using_itunes"]], "set_metadata_using_qobuz() (minim.audio.mp4audio method)": [[6, "minim.audio.MP4Audio.set_metadata_using_qobuz"]], "set_metadata_using_spotify() (minim.audio.mp4audio method)": [[6, "minim.audio.MP4Audio.set_metadata_using_spotify"]], "set_metadata_using_tidal() (minim.audio.mp4audio method)": [[6, "minim.audio.MP4Audio.set_metadata_using_tidal"]], "write_metadata() (minim.audio.mp4audio method)": [[6, "minim.audio.MP4Audio.write_metadata"]], "oggaudio (class in minim.audio)": [[7, "minim.audio.OggAudio"]], "convert() (minim.audio.oggaudio method)": [[7, "minim.audio.OggAudio.convert"]], "set_metadata_using_itunes() (minim.audio.oggaudio method)": [[7, "minim.audio.OggAudio.set_metadata_using_itunes"]], "set_metadata_using_qobuz() (minim.audio.oggaudio method)": [[7, "minim.audio.OggAudio.set_metadata_using_qobuz"]], "set_metadata_using_spotify() (minim.audio.oggaudio method)": [[7, "minim.audio.OggAudio.set_metadata_using_spotify"]], "set_metadata_using_tidal() (minim.audio.oggaudio method)": [[7, "minim.audio.OggAudio.set_metadata_using_tidal"]], "write_metadata() (minim.audio.oggaudio method)": [[7, "minim.audio.OggAudio.write_metadata"]], "waveaudio (class in minim.audio)": [[8, "minim.audio.WAVEAudio"]], "convert() (minim.audio.waveaudio method)": [[8, "minim.audio.WAVEAudio.convert"]], "set_metadata_using_itunes() (minim.audio.waveaudio method)": [[8, "minim.audio.WAVEAudio.set_metadata_using_itunes"]], "set_metadata_using_qobuz() (minim.audio.waveaudio method)": [[8, "minim.audio.WAVEAudio.set_metadata_using_qobuz"]], "set_metadata_using_spotify() (minim.audio.waveaudio method)": [[8, "minim.audio.WAVEAudio.set_metadata_using_spotify"]], "set_metadata_using_tidal() (minim.audio.waveaudio method)": [[8, "minim.audio.WAVEAudio.set_metadata_using_tidal"]], "write_metadata() (minim.audio.waveaudio method)": [[8, "minim.audio.WAVEAudio.write_metadata"]], "minim.itunes": [[9, "module-minim.itunes"]], "searchapi (class in minim.itunes)": [[10, "minim.itunes.SearchAPI"]], "lookup() (minim.itunes.searchapi method)": [[10, "minim.itunes.SearchAPI.lookup"]], "search() (minim.itunes.searchapi method)": [[10, "minim.itunes.SearchAPI.search"]], "minim.qobuz": [[11, "module-minim.qobuz"]], "privateapi (class in minim.qobuz)": [[12, "minim.qobuz.PrivateAPI"]], "add_playlist_tracks() (minim.qobuz.privateapi method)": [[12, "minim.qobuz.PrivateAPI.add_playlist_tracks"]], "create_playlist() (minim.qobuz.privateapi method)": [[12, "minim.qobuz.PrivateAPI.create_playlist"]], "delete_playlist() (minim.qobuz.privateapi method)": [[12, "minim.qobuz.PrivateAPI.delete_playlist"]], "delete_playlist_tracks() (minim.qobuz.privateapi method)": [[12, "minim.qobuz.PrivateAPI.delete_playlist_tracks"]], "favorite_items() (minim.qobuz.privateapi method)": [[12, "minim.qobuz.PrivateAPI.favorite_items"]], "favorite_playlist() (minim.qobuz.privateapi method)": [[12, "minim.qobuz.PrivateAPI.favorite_playlist"]], "get_album() (minim.qobuz.privateapi method)": [[12, "minim.qobuz.PrivateAPI.get_album"]], "get_artist() (minim.qobuz.privateapi method)": [[12, "minim.qobuz.PrivateAPI.get_artist"]], "get_collection_streams() (minim.qobuz.privateapi method)": [[12, "minim.qobuz.PrivateAPI.get_collection_streams"]], "get_curated_tracks() (minim.qobuz.privateapi method)": [[12, "minim.qobuz.PrivateAPI.get_curated_tracks"]], "get_favorites() (minim.qobuz.privateapi method)": [[12, "minim.qobuz.PrivateAPI.get_favorites"]], "get_featured_albums() (minim.qobuz.privateapi method)": [[12, "minim.qobuz.PrivateAPI.get_featured_albums"]], "get_featured_playlists() (minim.qobuz.privateapi method)": [[12, "minim.qobuz.PrivateAPI.get_featured_playlists"]], "get_label() (minim.qobuz.privateapi method)": [[12, "minim.qobuz.PrivateAPI.get_label"]], "get_playlist() (minim.qobuz.privateapi method)": [[12, "minim.qobuz.PrivateAPI.get_playlist"]], "get_profile() (minim.qobuz.privateapi method)": [[12, "minim.qobuz.PrivateAPI.get_profile"]], "get_purchases() (minim.qobuz.privateapi method)": [[12, "minim.qobuz.PrivateAPI.get_purchases"]], "get_track() (minim.qobuz.privateapi method)": [[12, "minim.qobuz.PrivateAPI.get_track"]], "get_track_file_url() (minim.qobuz.privateapi method)": [[12, "minim.qobuz.PrivateAPI.get_track_file_url"]], "get_track_performers() (minim.qobuz.privateapi method)": [[12, "minim.qobuz.PrivateAPI.get_track_performers"]], "get_track_stream() (minim.qobuz.privateapi method)": [[12, "minim.qobuz.PrivateAPI.get_track_stream"]], "get_user_playlists() (minim.qobuz.privateapi method)": [[12, "minim.qobuz.PrivateAPI.get_user_playlists"]], "move_playlist_tracks() (minim.qobuz.privateapi method)": [[12, "minim.qobuz.PrivateAPI.move_playlist_tracks"]], "search() (minim.qobuz.privateapi method)": [[12, "minim.qobuz.PrivateAPI.search"]], "set_auth_token() (minim.qobuz.privateapi method)": [[12, "minim.qobuz.PrivateAPI.set_auth_token"]], "set_flow() (minim.qobuz.privateapi method)": [[12, "minim.qobuz.PrivateAPI.set_flow"]], "unfavorite_items() (minim.qobuz.privateapi method)": [[12, "minim.qobuz.PrivateAPI.unfavorite_items"]], "unfavorite_playlist() (minim.qobuz.privateapi method)": [[12, "minim.qobuz.PrivateAPI.unfavorite_playlist"]], "update_playlist() (minim.qobuz.privateapi method)": [[12, "minim.qobuz.PrivateAPI.update_playlist"]], "update_playlist_position() (minim.qobuz.privateapi method)": [[12, "minim.qobuz.PrivateAPI.update_playlist_position"]], "minim.spotify": [[13, "module-minim.spotify"]], "privatelyricsservice (class in minim.spotify)": [[14, "minim.spotify.PrivateLyricsService"]], "get_lyrics() (minim.spotify.privatelyricsservice method)": [[14, "minim.spotify.PrivateLyricsService.get_lyrics"]], "set_access_token() (minim.spotify.privatelyricsservice method)": [[14, "minim.spotify.PrivateLyricsService.set_access_token"]], "set_sp_dc() (minim.spotify.privatelyricsservice method)": [[14, "minim.spotify.PrivateLyricsService.set_sp_dc"]], "webapi (class in minim.spotify)": [[15, "minim.spotify.WebAPI"]], "add_playlist_cover_image() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.add_playlist_cover_image"]], "add_playlist_items() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.add_playlist_items"]], "add_to_queue() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.add_to_queue"]], "change_playlist_details() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.change_playlist_details"]], "check_followed_people() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.check_followed_people"]], "check_playlist_followers() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.check_playlist_followers"]], "check_saved_albums() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.check_saved_albums"]], "check_saved_audiobooks() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.check_saved_audiobooks"]], "check_saved_episodes() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.check_saved_episodes"]], "check_saved_shows() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.check_saved_shows"]], "check_saved_tracks() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.check_saved_tracks"]], "create_playlist() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.create_playlist"]], "follow_people() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.follow_people"]], "follow_playlist() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.follow_playlist"]], "get_album() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.get_album"]], "get_album_tracks() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.get_album_tracks"]], "get_albums() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.get_albums"]], "get_artist() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.get_artist"]], "get_artist_albums() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.get_artist_albums"]], "get_artist_top_tracks() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.get_artist_top_tracks"]], "get_artists() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.get_artists"]], "get_audiobook() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.get_audiobook"]], "get_audiobook_chapters() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.get_audiobook_chapters"]], "get_audiobooks() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.get_audiobooks"]], "get_categories() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.get_categories"]], "get_category() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.get_category"]], "get_category_playlists() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.get_category_playlists"]], "get_chapter() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.get_chapter"]], "get_chapters() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.get_chapters"]], "get_currently_playing() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.get_currently_playing"]], "get_devices() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.get_devices"]], "get_episode() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.get_episode"]], "get_episodes() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.get_episodes"]], "get_featured_playlists() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.get_featured_playlists"]], "get_followed_artists() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.get_followed_artists"]], "get_genre_seeds() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.get_genre_seeds"]], "get_markets() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.get_markets"]], "get_new_albums() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.get_new_albums"]], "get_playback_state() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.get_playback_state"]], "get_playlist() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.get_playlist"]], "get_playlist_cover_image() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.get_playlist_cover_image"]], "get_playlist_items() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.get_playlist_items"]], "get_playlists() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.get_playlists"]], "get_profile() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.get_profile"]], "get_queue() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.get_queue"]], "get_recently_played() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.get_recently_played"]], "get_recommendations() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.get_recommendations"]], "get_related_artists() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.get_related_artists"]], "get_saved_albums() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.get_saved_albums"]], "get_saved_audiobooks() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.get_saved_audiobooks"]], "get_saved_episodes() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.get_saved_episodes"]], "get_saved_shows() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.get_saved_shows"]], "get_saved_tracks() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.get_saved_tracks"]], "get_scopes() (minim.spotify.webapi class method)": [[15, "minim.spotify.WebAPI.get_scopes"]], "get_show() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.get_show"]], "get_show_episodes() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.get_show_episodes"]], "get_shows() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.get_shows"]], "get_top_items() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.get_top_items"]], "get_track() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.get_track"]], "get_track_audio_analysis() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.get_track_audio_analysis"]], "get_track_audio_features() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.get_track_audio_features"]], "get_tracks() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.get_tracks"]], "get_tracks_audio_features() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.get_tracks_audio_features"]], "get_user_playlists() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.get_user_playlists"]], "get_user_profile() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.get_user_profile"]], "pause_playback() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.pause_playback"]], "remove_playlist_items() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.remove_playlist_items"]], "remove_saved_albums() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.remove_saved_albums"]], "remove_saved_audiobooks() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.remove_saved_audiobooks"]], "remove_saved_episodes() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.remove_saved_episodes"]], "remove_saved_shows() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.remove_saved_shows"]], "remove_saved_tracks() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.remove_saved_tracks"]], "save_albums() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.save_albums"]], "save_audiobooks() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.save_audiobooks"]], "save_episodes() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.save_episodes"]], "save_shows() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.save_shows"]], "save_tracks() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.save_tracks"]], "search() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.search"]], "seek_to_position() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.seek_to_position"]], "set_access_token() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.set_access_token"]], "set_flow() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.set_flow"]], "set_playback_volume() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.set_playback_volume"]], "set_repeat_mode() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.set_repeat_mode"]], "skip_to_next() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.skip_to_next"]], "skip_to_previous() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.skip_to_previous"]], "start_playback() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.start_playback"]], "toggle_playback_shuffle() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.toggle_playback_shuffle"]], "transfer_playback() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.transfer_playback"]], "unfollow_people() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.unfollow_people"]], "unfollow_playlist() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.unfollow_playlist"]], "update_playlist_items() (minim.spotify.webapi method)": [[15, "minim.spotify.WebAPI.update_playlist_items"]], "minim.tidal": [[16, "module-minim.tidal"]], "api (class in minim.tidal)": [[17, "minim.tidal.API"]], "get_album() (minim.tidal.api method)": [[17, "minim.tidal.API.get_album"]], "get_album_by_barcode_id() (minim.tidal.api method)": [[17, "minim.tidal.API.get_album_by_barcode_id"]], "get_album_items() (minim.tidal.api method)": [[17, "minim.tidal.API.get_album_items"]], "get_albums() (minim.tidal.api method)": [[17, "minim.tidal.API.get_albums"]], "get_artist() (minim.tidal.api method)": [[17, "minim.tidal.API.get_artist"]], "get_artist_albums() (minim.tidal.api method)": [[17, "minim.tidal.API.get_artist_albums"]], "get_artists() (minim.tidal.api method)": [[17, "minim.tidal.API.get_artists"]], "get_similar_albums() (minim.tidal.api method)": [[17, "minim.tidal.API.get_similar_albums"]], "get_similar_artists() (minim.tidal.api method)": [[17, "minim.tidal.API.get_similar_artists"]], "get_similar_tracks() (minim.tidal.api method)": [[17, "minim.tidal.API.get_similar_tracks"]], "get_track() (minim.tidal.api method)": [[17, "minim.tidal.API.get_track"]], "get_track_by_isrc() (minim.tidal.api method)": [[17, "minim.tidal.API.get_track_by_isrc"]], "get_tracks() (minim.tidal.api method)": [[17, "minim.tidal.API.get_tracks"]], "get_video() (minim.tidal.api method)": [[17, "minim.tidal.API.get_video"]], "get_videos() (minim.tidal.api method)": [[17, "minim.tidal.API.get_videos"]], "search() (minim.tidal.api method)": [[17, "minim.tidal.API.search"]], "set_access_token() (minim.tidal.api method)": [[17, "minim.tidal.API.set_access_token"]], "set_flow() (minim.tidal.api method)": [[17, "minim.tidal.API.set_flow"]], "privateapi (class in minim.tidal)": [[18, "minim.tidal.PrivateAPI"]], "add_playlist_items() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.add_playlist_items"]], "block_artist() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.block_artist"]], "block_user() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.block_user"]], "create_playlist() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.create_playlist"]], "create_playlist_folder() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.create_playlist_folder"]], "delete_playlist() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.delete_playlist"]], "delete_playlist_folder() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.delete_playlist_folder"]], "delete_playlist_item() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.delete_playlist_item"]], "favorite_albums() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.favorite_albums"]], "favorite_artists() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.favorite_artists"]], "favorite_mixes() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.favorite_mixes"]], "favorite_playlists() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.favorite_playlists"]], "favorite_tracks() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.favorite_tracks"]], "favorite_videos() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.favorite_videos"]], "follow_user() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.follow_user"]], "get_album() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.get_album"]], "get_album_credits() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.get_album_credits"]], "get_album_items() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.get_album_items"]], "get_album_page() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.get_album_page"]], "get_album_review() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.get_album_review"]], "get_artist() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.get_artist"]], "get_artist_albums() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.get_artist_albums"]], "get_artist_biography() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.get_artist_biography"]], "get_artist_links() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.get_artist_links"]], "get_artist_mix_id() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.get_artist_mix_id"]], "get_artist_page() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.get_artist_page"]], "get_artist_radio() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.get_artist_radio"]], "get_artist_top_tracks() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.get_artist_top_tracks"]], "get_artist_videos() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.get_artist_videos"]], "get_blocked_artists() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.get_blocked_artists"]], "get_blocked_users() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.get_blocked_users"]], "get_collection_streams() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.get_collection_streams"]], "get_country_code() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.get_country_code"]], "get_favorite_albums() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.get_favorite_albums"]], "get_favorite_artists() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.get_favorite_artists"]], "get_favorite_ids() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.get_favorite_ids"]], "get_favorite_mixes() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.get_favorite_mixes"]], "get_favorite_tracks() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.get_favorite_tracks"]], "get_favorite_videos() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.get_favorite_videos"]], "get_image() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.get_image"]], "get_mix_items() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.get_mix_items"]], "get_mix_page() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.get_mix_page"]], "get_personal_playlist_folders() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.get_personal_playlist_folders"]], "get_personal_playlists() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.get_personal_playlists"]], "get_playlist() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.get_playlist"]], "get_playlist_etag() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.get_playlist_etag"]], "get_playlist_items() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.get_playlist_items"]], "get_playlist_recommendations() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.get_playlist_recommendations"]], "get_profile() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.get_profile"]], "get_session() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.get_session"]], "get_similar_albums() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.get_similar_albums"]], "get_similar_artists() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.get_similar_artists"]], "get_track() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.get_track"]], "get_track_composers() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.get_track_composers"]], "get_track_contributors() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.get_track_contributors"]], "get_track_credits() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.get_track_credits"]], "get_track_lyrics() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.get_track_lyrics"]], "get_track_mix_id() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.get_track_mix_id"]], "get_track_playback_info() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.get_track_playback_info"]], "get_track_recommendations() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.get_track_recommendations"]], "get_track_stream() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.get_track_stream"]], "get_user_followers() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.get_user_followers"]], "get_user_following() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.get_user_following"]], "get_user_playlist() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.get_user_playlist"]], "get_user_playlists() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.get_user_playlists"]], "get_user_profile() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.get_user_profile"]], "get_video() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.get_video"]], "get_video_page() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.get_video_page"]], "get_video_playback_info() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.get_video_playback_info"]], "get_video_stream() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.get_video_stream"]], "move_playlist() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.move_playlist"]], "move_playlist_item() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.move_playlist_item"]], "search() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.search"]], "set_access_token() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.set_access_token"]], "set_flow() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.set_flow"]], "set_playlist_privacy() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.set_playlist_privacy"]], "unblock_artist() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.unblock_artist"]], "unblock_user() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.unblock_user"]], "unfavorite_albums() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.unfavorite_albums"]], "unfavorite_artists() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.unfavorite_artists"]], "unfavorite_mixes() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.unfavorite_mixes"]], "unfavorite_playlist() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.unfavorite_playlist"]], "unfavorite_tracks() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.unfavorite_tracks"]], "unfavorite_videos() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.unfavorite_videos"]], "unfollow_user() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.unfollow_user"]], "update_playlist() (minim.tidal.privateapi method)": [[18, "minim.tidal.PrivateAPI.update_playlist"]], "minim.utility": [[19, "module-minim.utility"]], "levenshtein_ratio() (in module minim.utility)": [[20, "minim.utility.levenshtein_ratio"]], "multivalue_formatter() (in module minim.utility)": [[21, "minim.utility.multivalue_formatter"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["api", "api/minim", "api/minim.audio", "api/minim.audio.Audio", "api/minim.audio.FLACAudio", "api/minim.audio.MP3Audio", "api/minim.audio.MP4Audio", "api/minim.audio.OggAudio", "api/minim.audio.WAVEAudio", "api/minim.itunes", "api/minim.itunes.SearchAPI", "api/minim.qobuz", "api/minim.qobuz.PrivateAPI", "api/minim.spotify", "api/minim.spotify.PrivateLyricsService", "api/minim.spotify.WebAPI", "api/minim.tidal", "api/minim.tidal.API", "api/minim.tidal.PrivateAPI", "api/minim.utility", "api/minim.utility.format_multivalue", "api/minim.utility.gestalt_ratio", "api/minim.utility.levenshtein_ratio", "index", "notebooks/getting_started", "notebooks/user_guide/editing_audio_metadata", "notebooks/user_guide/getting_recommendations", "notebooks/user_guide/transferring_music_libraries", "user_guide"], "filenames": ["api.rst", "api/minim.rst", "api/minim.audio.rst", "api/minim.audio.Audio.rst", "api/minim.audio.FLACAudio.rst", "api/minim.audio.MP3Audio.rst", "api/minim.audio.MP4Audio.rst", "api/minim.audio.OggAudio.rst", "api/minim.audio.WAVEAudio.rst", "api/minim.itunes.rst", "api/minim.itunes.SearchAPI.rst", "api/minim.qobuz.rst", "api/minim.qobuz.PrivateAPI.rst", "api/minim.spotify.rst", "api/minim.spotify.PrivateLyricsService.rst", "api/minim.spotify.WebAPI.rst", "api/minim.tidal.rst", "api/minim.tidal.API.rst", "api/minim.tidal.PrivateAPI.rst", "api/minim.utility.rst", "api/minim.utility.format_multivalue.rst", "api/minim.utility.gestalt_ratio.rst", "api/minim.utility.levenshtein_ratio.rst", "index.rst", "notebooks/getting_started.ipynb", "notebooks/user_guide/editing_audio_metadata.ipynb", "notebooks/user_guide/getting_recommendations.ipynb", "notebooks/user_guide/transferring_music_libraries.ipynb", "user_guide.rst"], "titles": ["<no title>", "minim", "audio", "Audio", "FLACAudio", "MP3Audio", "MP4Audio", "OggAudio", "WAVEAudio", "itunes", "SearchAPI", "qobuz", "PrivateAPI", "spotify", "PrivateLyricsService", "WebAPI", "tidal", "API", "PrivateAPI", "utility", "format_multivalue", "gestalt_ratio", "levenshtein_ratio", "Minim", "Getting Started", "Editing Audio Metadata", "Getting Recommendations", "Transferring Music Libraries", "User Guide"], "terms": {"thi": [2, 3, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 24, 25, 26, 27], "modul": [2, 3, 9, 11, 13, 16, 19, 24], "provid": [2, 3, 4, 5, 6, 7, 8, 12, 14, 15, 17, 18, 20, 24, 25, 27], "conveni": [2, 12, 18, 25], "python": [2, 23, 24], "keep": [2, 15], "track": [2, 3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18, 25, 26, 27], "handl": [2, 27], "metadata": [2, 3, 4, 5, 6, 7, 8, 15, 17, 18, 23, 24, 27, 28], "convert": [2, 3, 4, 5, 6, 7, 8, 23], "between": [2, 3, 4, 5, 6, 7, 8, 10, 15, 23, 27], "differ": [2, 15, 24], "format": [2, 3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18, 20, 23, 25], "class": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 24, 25, 26, 27], "minim": [3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 15, 17, 18, 20, 21, 22, 25, 26, 27], "arg": [3, 4, 5, 6, 7, 8], "kwarg": [3, 4, 5, 6, 7, 8, 15], "sourc": [3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18, 20, 21, 22, 24, 27], "base": [3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18, 20, 24, 26], "object": [3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18, 24, 25, 26], "gener": [3, 15, 25, 26, 27], "file": [3, 4, 5, 6, 7, 8, 12, 14, 15, 17, 18, 23, 26], "handler": [3, 4, 5, 6, 7, 8, 25], "subclass": 3, "specif": [3, 15, 24, 25], "contain": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 24, 25], "includ": [3, 10, 15, 18, 25], "flacaudio": [3, 5, 6, 7, 8, 24, 25], "encod": [3, 10, 15, 18, 24], "us": [3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 15, 17, 18, 20, 24, 25, 26, 27], "free": [3, 27], "lossless": [3, 4, 5, 6, 7, 8, 12, 18, 24], "codec": [3, 4, 5, 6, 7, 8, 18, 24, 25], "flac": [3, 4, 5, 6, 7, 8, 12, 18, 24, 25], "mp3audio": [3, 24, 25], "store": [3, 10, 12, 14, 15, 17, 18, 24, 25, 26, 27], "mpeg": 3, "layer": 3, "iii": [3, 18], "mp3": [3, 4, 5, 6, 7, 8, 12, 18, 24, 25], "mp4audio": [3, 4, 5, 7, 8, 24], "advanc": 3, "code": [3, 4, 5, 6, 7, 8, 10, 12, 15, 17, 18, 24], "aac": [3, 4, 5, 6, 7, 8, 18, 24], "appl": [3, 10, 24, 25], "alac": [3, 4, 5, 6, 7, 8, 18, 24], "4": [3, 15, 24], "part": 3, "14": 3, "mp4": [3, 4, 5, 6, 7, 8, 18, 24], "m4a": [3, 4, 5, 6, 7, 8, 24], "oggaudio": [3, 24], "opu": [3, 4, 5, 6, 7, 8, 24], "vorbi": [3, 4, 5, 6, 7, 8, 24], "an": [3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18, 24, 26], "ogg": [3, 4, 5, 6, 7, 8], "waveaudio": [3, 24], "linear": 3, "puls": 3, "lpcm": [3, 4, 5, 6, 7, 8, 24], "waveform": 3, "wave": [3, 4, 5, 6, 7, 8, 24], "can": [3, 12, 14, 15, 17, 18, 23, 24, 25, 26, 27], "instanti": [3, 12, 14, 15, 17, 18, 24, 26, 27], "from": [3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18, 24, 25, 26], "list": [3, 4, 5, 6, 7, 8, 10, 12, 15, 17, 18, 20, 21, 22, 26], "abov": [3, 15, 24, 25, 26, 27], "examin": 3, "its": [3, 10, 12, 14, 15, 17, 18, 24, 25, 27], "extens": [3, 4, 5, 6, 7, 8, 18], "howev": [3, 25, 27], "mai": [3, 15, 18, 27], "instanc": 3, "when": [3, 10, 12, 14, 15, 17, 18, 20, 24, 25, 27], "detect": [3, 12, 24], "fail": [3, 18], "especi": [3, 27], "combin": [3, 12, 15], "i": [3, 4, 5, 6, 7, 8, 12, 14, 15, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27], "rare": 3, "seen": 3, "As": [3, 12, 14, 18, 24, 25], "alwai": [3, 25], "best": [3, 4, 5, 6, 7, 8, 12, 27], "directli": [3, 18, 25, 27], "one": [3, 14, 15, 17, 18, 24, 25], "creat": [3, 10, 12, 15, 18, 25, 26, 27], "your": [3, 10, 14, 15, 18, 24, 25, 26], "ar": [3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18, 20, 24, 26, 27], "known": [3, 24, 25], "paramet": [3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18, 20, 21, 22], "str": [3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18, 20, 21, 22, 24, 25], "pattern": [3, 4, 5, 6, 7, 8, 25], "tupl": [3, 4, 5, 6, 7, 8, 12, 18, 20], "keyword": [3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18, 20, 24, 25, 26], "onli": [3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18, 20, 24, 25, 26, 27], "option": [3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18, 24], "regular": [3, 4, 5, 6, 7, 8, 25], "express": [3, 4, 5, 6, 7, 8, 25], "search": [3, 4, 5, 6, 7, 8, 9, 10, 12, 15, 17, 18, 25, 27], "correspond": [3, 4, 5, 6, 7, 8, 15, 25, 27], "field": [3, 4, 5, 6, 7, 8, 15, 20, 25], "": [3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18, 20, 24, 25, 27], "valid": [3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18], "valu": [3, 4, 5, 6, 7, 8, 10, 12, 15, 17, 18, 20, 25], "The": [3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18, 24, 25, 26, 27], "support": [3, 4, 5, 6, 7, 8, 10, 15, 18, 20, 24, 27], "artist": [3, 4, 5, 6, 7, 8, 10, 12, 15, 17, 18, 25, 26, 27], "titl": [3, 4, 5, 6, 7, 8, 10, 12, 15, 17, 18, 24, 25, 27], "track_numb": [3, 4, 5, 6, 7, 8, 12, 15, 24], "number": [3, 4, 5, 6, 7, 8, 10, 12, 15, 17, 18, 25, 26, 27], "exampl": [3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18, 25, 26, 27], "match": [3, 4, 5, 6, 7, 8, 12, 15, 17, 18, 25, 27], "filenam": [3, 4, 5, 6, 7, 8, 18, 24, 25], "like": [3, 4, 5, 6, 7, 8, 12, 14, 15, 17, 18, 24, 25, 27], "taylor": [3, 4, 5, 6, 7, 8], "swift": [3, 4, 5, 6, 7, 8], "cruel": 3, "summer": 3, "d": [3, 4, 5, 6, 7, 8], "04": [3, 5, 6, 24], "man": 3, "13": [3, 10, 17, 25], "you": [3, 4, 5, 8, 10, 12, 14, 15, 18, 24, 25, 26], "need": [3, 15, 24, 25], "calm": 3, "down": [3, 15, 24], "multivalu": [3, 4, 5, 6, 7, 8, 20], "bool": [3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18, 20], "determin": [3, 4, 5, 6, 7, 8, 12, 14, 15, 17, 18, 20, 25], "whether": [3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18, 20], "tag": [3, 4, 5, 6, 7, 8, 12, 15, 17, 18, 20, 24], "If": [3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18, 20, 21, 22, 24, 25, 26], "fals": [3, 4, 5, 6, 7, 8, 10, 12, 15, 17, 18, 20, 24, 25, 26], "item": [3, 4, 5, 6, 7, 8, 10, 12, 15, 17, 18, 20, 24, 25, 26, 27], "concaten": [3, 4, 5, 6, 7, 8, 20], "separ": [3, 4, 5, 6, 7, 8, 15, 20, 25], "specifi": [3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18, 20, 24, 25, 26], "sep": [3, 4, 5, 6, 7, 8, 20], "default": [3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18, 20, 24, 25], "all": [3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 20, 24, 25, 27], "first": [3, 4, 5, 6, 7, 8, 10, 12, 15, 18, 20, 24, 25, 26, 27], "n": [3, 4, 5, 6, 7, 8, 24], "1": [3, 4, 5, 6, 7, 8, 10, 12, 15, 17, 18, 24, 25, 26, 27], "second": [3, 4, 5, 6, 7, 8, 18, 20, 25], "append": [3, 4, 5, 6, 7, 8, 15, 20, 27], "final": [3, 4, 5, 6, 7, 8, 20, 25, 26, 27], "attribut": [3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18, 26], "album": [3, 4, 5, 6, 7, 8, 10, 12, 15, 17, 18, 24, 25, 26, 27], "album_artist": 3, "artwork": [3, 4, 5, 6, 7, 8, 25], "byte": [3, 12, 15, 18, 25], "represent": 3, "url": [3, 10, 12, 14, 15, 17, 18, 24], "lead": 3, "cover": [3, 4, 5, 6, 7, 8, 15, 18, 24, 25, 26], "bit_depth": [3, 12, 24], "int": [3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18], "bit": [3, 4, 5, 6, 7, 8, 12, 18, 24, 25], "per": 3, "sampl": [3, 24, 25, 27], "bitrat": [3, 12, 24, 25], "b": [3, 4, 5, 6, 7, 8, 24], "channel_count": 3, "channel": [3, 25], "comment": [3, 4, 5, 6, 7, 8, 25], "compil": [3, 4, 5, 6, 7, 8, 15, 18, 25], "song": [3, 10, 12, 15, 24], "variou": [3, 27], "compos": [3, 4, 5, 6, 7, 8, 12, 18, 24, 25], "lyric": [3, 4, 5, 6, 7, 8, 13, 14, 18, 25], "writer": [3, 12], "copyright": [3, 4, 5, 6, 7, 8, 12, 15, 17, 18, 24, 25], "inform": [3, 4, 5, 6, 7, 8, 10, 12, 15, 17, 18, 24, 25, 26, 27], "date": [3, 12, 15, 18, 25], "releas": [3, 12, 15, 24], "disc_numb": [3, 15, 24], "disc": [3, 4, 5, 6, 7, 8, 25], "disc_count": 3, "total": [3, 12, 15, 17, 18, 24, 27], "genr": [3, 12, 15, 24, 25, 26], "isrc": [3, 12, 15, 17, 18, 24, 25, 27], "intern": 3, "standard": 3, "record": [3, 10, 12, 24], "sample_r": 3, "rate": [3, 25], "hz": [3, 24], "tempo": [3, 4, 5, 6, 7, 8, 15, 25], "beat": [3, 15], "minut": 3, "bpm": [3, 24], "track_count": [3, 12], "method": [3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18, 24, 25], "none": [3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18, 24, 25], "preserv": [3, 4, 5, 6, 7, 8], "true": [3, 4, 5, 6, 7, 8, 12, 14, 15, 17, 18, 24, 25, 27], "current": [3, 4, 5, 6, 7, 8, 12, 15, 18, 24, 27], "anoth": [3, 4, 5, 6, 7, 8, 25, 26], "requir": [3, 4, 5, 6, 7, 8, 12, 15, 17, 18, 24], "ffmpeg": [3, 4, 5, 6, 7, 8, 24], "automat": [3, 4, 5, 6, 7, 8, 12, 14, 15, 17, 18, 24, 25], "updat": [3, 4, 5, 6, 7, 8, 12, 14, 15, 17, 18, 23, 24, 25, 26, 27], "reflect": [3, 4, 5, 6, 7, 8], "new": [3, 4, 5, 6, 7, 8, 12, 14, 15, 17, 18, 24, 25, 26, 27], "For": [3, 4, 5, 6, 7, 8, 10, 12, 15, 17, 18, 24, 25, 27], "chang": [3, 4, 5, 6, 7, 8, 12, 14, 15, 17, 18, 24, 25], "mp4a": [3, 4, 5, 6, 7, 8], "lossi": [3, 4, 5, 6, 7, 8], "wav": [3, 4, 5, 6, 7, 8, 24], "which": [3, 4, 5, 6, 7, 8, 12, 14, 15, 17, 18, 24, 25, 26], "command": [3, 4, 5, 6, 7, 8, 24], "line": [3, 4, 5, 6, 7, 8, 14, 26], "exclud": [3, 4, 5, 6, 7, 8, 15], "input": [3, 4, 5, 6, 7, 8], "output": [3, 4, 5, 6, 7, 8, 26], "y": [3, 4, 5, 6, 7, 8, 14, 15, 17, 18], "flag": [3, 4, 5, 6, 7, 8, 10], "overwrit": [3, 4, 5, 6, 7, 8, 12, 15, 17, 18, 25], "c": [3, 4, 5, 6, 7, 8, 24], "v": [3, 4, 5, 6, 7, 8], "copi": [3, 4, 5, 6, 7, 8, 18, 24], "argument": [3, 4, 5, 6, 7, 8, 12, 14, 15, 17, 18, 24, 25, 26], "art": [3, 4, 5, 6, 7, 8, 18, 25, 26], "256k": [3, 4, 5, 6, 7, 8], "libfdk_aac": [3, 4, 5, 6, 7, 8], "wa": [3, 4, 5, 6, 7, 8, 15, 18], "enabl": [3, 4, 5, 6, 7, 8, 12, 15], "libfdk": [3, 4, 5, 6, 7, 8], "libmp3lam": [3, 4, 5, 6, 7, 8], "q": [3, 4, 5, 6, 7, 8, 15], "0": [3, 4, 5, 6, 7, 8, 12, 15, 17, 18, 24, 25, 26, 27], "libopu": [3, 4, 5, 6, 7, 8], "vn": [3, 4, 5, 6, 7, 8, 24], "strict": [3, 4, 5, 6, 7, 8, 12, 24], "experiment": [3, 4, 5, 6, 7, 8], "libvorbi": [3, 4, 5, 6, 7, 8], "pcm_s16le": [3, 4, 5, 6, 7, 8], "pcm_s24le": [3, 4, 5, 6, 7, 8], "depth": [3, 4, 5, 6, 7, 8, 12, 24, 25], "origin": [3, 4, 5, 6, 7, 8, 15, 25], "appropri": [3, 4, 5, 6, 7, 8, 26], "kept": [3, 4, 5, 6, 7, 8, 15], "set_metadata_using_itun": [3, 4, 5, 6, 7, 8, 25], "data": [3, 4, 5, 6, 7, 8, 12, 15, 17, 18, 24, 25, 26, 27], "dict": [3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18, 25], "ani": [3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 17, 18, 20], "album_data": [3, 4, 5, 6, 7, 8, 25], "artwork_s": [3, 4, 5, 6, 7, 8], "1400": [3, 4, 5, 6, 7, 8], "artwork_format": [3, 4, 5, 6, 7, 8], "jpg": [3, 4, 5, 6, 7, 8, 18, 24, 26], "popul": [3, 4, 5, 6, 7, 8, 25], "retriev": [3, 4, 5, 6, 7, 8, 12, 15, 17, 18, 24, 25], "itun": [3, 4, 5, 6, 7, 8, 10, 23, 25], "api": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 18, 23, 26, 27], "about": [3, 4, 5, 6, 7, 8, 12, 15, 18, 24, 25, 26, 27], "json": [3, 4, 5, 6, 7, 8, 10, 15, 25], "obtain": [3, 4, 5, 6, 7, 8, 12, 14, 15, 17, 18, 24], "via": [3, 4, 5, 6, 7, 8, 12, 15, 17, 18, 24, 25], "searchapi": [3, 4, 5, 6, 7, 8, 25], "lookup": [3, 4, 5, 6, 7, 8, 10, 25, 27], "unavail": [3, 4, 5, 6, 7, 8, 15, 24], "resiz": [3, 4, 5, 6, 7, 8], "size": [3, 4, 5, 6, 7, 8, 15, 17, 18, 24, 25], "pixel": [3, 4, 5, 6, 7, 8, 18], "raw": [3, 4, 5, 6, 7, 8], "uncompress": [3, 4, 5, 6, 7, 8], "high": [3, 4, 5, 6, 7, 8, 12, 18], "resolut": [3, 4, 5, 6, 7, 8, 12, 18], "imag": [3, 4, 5, 6, 7, 8, 12, 15, 17, 18, 24], "regardless": [3, 4, 5, 6, 7, 8], "png": [3, 4, 5, 6, 7, 8], "take": [3, 4, 5, 6, 7, 8, 15, 25], "preced": [3, 4, 5, 6, 7, 8], "exist": [3, 4, 5, 6, 7, 8, 12, 14, 15, 17, 18], "should": [3, 4, 5, 6, 7, 8, 12, 14, 15, 17, 18, 20], "overwritten": [3, 4, 5, 6, 7, 8], "set_metadata_using_spotifi": [3, 4, 5, 6, 7, 8, 25], "audio_featur": [3, 4, 5, 6, 7, 8, 15, 25], "spotifi": [3, 4, 5, 6, 7, 8, 14, 15, 18, 23, 25], "web": [3, 4, 5, 6, 7, 8, 12, 13, 14, 15, 18, 25, 26, 27], "servic": [3, 4, 5, 6, 7, 8, 13, 14, 15, 18, 23, 25, 27], "webapi": [3, 4, 5, 6, 7, 8, 25, 26, 27], "get_track": [3, 4, 5, 6, 7, 8, 12, 15, 17, 18], "featur": [3, 4, 5, 6, 7, 8, 12, 15, 25, 27], "get_track_audio_featur": [3, 4, 5, 6, 7, 8, 15, 25], "time": [3, 4, 5, 6, 7, 8, 12, 14, 15, 17, 18, 24, 25], "sync": [3, 4, 5, 6, 7, 8, 14, 18], "privatelyricsservic": [3, 4, 5, 6, 7, 8], "get_lyr": [3, 4, 5, 6, 7, 8, 14], "set_metadata_using_tid": [3, 4, 5, 6, 7, 8, 25], "1280": [3, 4, 5, 6, 7, 8], "tidal": [3, 4, 5, 6, 7, 8, 12, 17, 18, 23, 25], "privateapi": [3, 4, 5, 6, 7, 8, 25, 27], "get_album": [3, 4, 5, 6, 7, 8, 12, 15, 17, 18], "maximum": [3, 4, 5, 6, 7, 8, 12, 15, 18], "80": [3, 4, 5, 6, 7, 8], "get_track_compos": [3, 4, 5, 6, 7, 8, 18, 25], "get_track_contributor": [3, 4, 5, 6, 7, 8, 18], "get_track_credit": [3, 4, 5, 6, 7, 8, 18], "songwrit": [3, 4, 5, 6, 7, 8, 18, 24, 25], "credit": [3, 4, 5, 6, 7, 8, 12, 18, 25], "get_track_lyr": [3, 4, 5, 6, 7, 8, 18, 25], "descript": [3, 4, 5, 6, 7, 8, 12, 15, 18, 24, 27], "set_metadata_using_qobuz": [3, 4, 5, 6, 7, 8], "larg": [3, 4, 5, 6, 7, 8, 12, 15, 18, 24], "qobuz": [3, 4, 5, 6, 7, 8, 12, 23], "small": [3, 4, 5, 6, 7, 8, 12, 15, 18, 24], "thumbnail": [3, 4, 5, 6, 7, 8, 12, 24], "audio": [4, 5, 6, 7, 8, 10, 12, 15, 18, 23, 28], "_vorbiscom": [4, 7], "full": [4, 5, 6, 7, 8, 12, 15, 18], "see": [4, 5, 6, 7, 8, 10, 15, 17, 18, 25, 26, 27], "pathlib": [4, 5, 6, 7, 8, 18, 24, 25], "path": [4, 5, 6, 7, 8, 12, 18, 24, 25], "fearless": 4, "03": [4, 7, 25], "love": 4, "stori": [4, 6, 12, 26], "06": [4, 5, 7, 8, 24, 25], "belong": 4, "me": [4, 8, 24], "write_metadata": [4, 5, 6, 7, 8, 24, 25], "write": [4, 5, 6, 7, 8, 24, 25], "_id3": [5, 8], "red": 5, "knew": 5, "were": [5, 15], "troubl": [5, 26], "22": [5, 18, 24], "mine": 6, "speak": 6, "now": [6, 24, 25], "07": [6, 25], "u": [6, 10, 15, 17, 18, 24, 25, 26], "blank": 7, "space": [7, 10], "style": [7, 26], "shake": 7, "It": [7, 10, 14, 15, 17, 18], "off": [7, 15], "don": [8, 24, 25, 26], "t": [8, 15, 24, 25, 26], "blame": 8, "05": [8, 18, 24], "delic": 8, "look": [8, 10, 18, 25, 27], "what": [8, 15], "made": [8, 15, 24, 26], "do": [8, 24, 25, 27], "complet": [9, 12, 13, 15, 16, 25], "implement": [9, 11, 13, 15, 16, 24, 27], "endpoint": [9, 12, 13, 14, 15, 16, 17, 18, 24, 25], "client": [10, 12, 14, 15, 17, 18, 24, 26, 27], "allow": [10, 12, 15, 18, 25, 27], "varieti": 10, "content": [10, 12, 15, 17, 18], "app": [10, 12, 15, 24], "ibook": 10, "movi": 10, "podcast": [10, 15], "music": [10, 15, 18, 23, 25, 26, 28], "video": [10, 17, 18], "audiobook": [10, 15], "tv": [10, 18, 24], "show": [10, 15, 24, 25], "within": [10, 15], "mac": 10, "also": [10, 12, 14, 15, 17, 18, 24, 25], "id": [10, 12, 14, 15, 17, 18, 24, 25, 26, 27], "request": [10, 12, 14, 15, 17, 18, 24], "map": 10, "librari": [10, 15, 23, 25, 26, 28], "digit": 10, "catalog": [10, 12, 15, 17, 18, 25, 27], "more": [10, 15, 16, 17, 18, 26, 27], "document": [10, 12, 14, 18], "api_url": [10, 12, 15, 17, 18], "term": [10, 12, 14, 18], "countri": [10, 12, 15, 17, 18, 24], "media": [10, 12, 18, 24, 27], "entiti": [10, 15, 18, 24, 27], "limit": [10, 12, 15, 17, 18, 24, 26, 27], "lang": 10, "version": [10, 12, 18, 24, 27], "explicit": [10, 15, 18, 24], "text": [10, 14, 15, 18], "string": [10, 12, 15, 21, 22, 25], "replac": [10, 15, 24, 25], "plu": [10, 18, 24], "charact": [10, 17], "except": [10, 20, 25, 27], "letter": 10, "period": [10, 12], "dash": 10, "underscor": [10, 15], "_": [10, 24, 25], "asterisk": 10, "jack": 10, "johnson": 10, "two": [10, 15, 25, 26], "want": [10, 15, 25, 26], "front": 10, "iso": [10, 14, 15, 17, 18], "obp": 10, "type": [10, 12, 15, 17, 18, 24, 25, 27], "musicvideo": 10, "shortfilm": 10, "tvshow": 10, "softwar": [10, 18], "ebook": 10, "result": [10, 12, 15, 17, 18, 24, 25, 27], "return": [10, 12, 14, 15, 17, 18, 20, 21, 22, 24, 25, 27], "rel": [10, 26], "avail": [10, 12, 14, 15, 17, 18, 25, 26, 27], "tabl": 10, "2": [10, 15, 17, 18, 24, 25, 26], "associ": [10, 12, 14, 15, 17, 18], "movieartist": 10, "name": [10, 12, 15, 17, 18, 24, 25, 27], "allartist": 10, "allartistterm": 10, "Then": [10, 26, 27], "maroon": 10, "5": [10, 12, 15, 26, 27], "instead": [10, 15, 18, 24, 26], "who": 10, "have": [10, 12, 14, 15, 18, 24, 25, 27], "ever": 10, "word": [10, 12, 14], "must": [10, 12, 14, 15, 17, 18, 27], "200": [10, 17, 24], "50": [10, 12, 15, 18, 24, 26], "languag": [10, 12, 14, 15], "english": [10, 15], "japanes": 10, "five": 10, "codenam": 10, "en_u": 10, "ja_jp": 10, "kei": [10, 12, 15, 18], "receiv": 10, "back": [10, 12, 25], "A": [10, 12, 15, 17, 18, 24, 25], "indic": [10, 15], "ye": 10, "To": [10, 12, 15, 17, 18, 24, 25], "short": 10, "film": 10, "25": [10, 12, 25], "jim": 10, "jone": 10, "canada": 10, "ca": [10, 15, 24], "applic": [10, 12, 15, 17, 18, 24, 26], "yelp": 10, "unit": 10, "state": [10, 15], "amg_artist_id": 10, "amg_album_id": 10, "amg_video_id": 10, "bundle_id": 10, "upc": [10, 12, 15, 17, 18, 24, 27], "isbn": 10, "sort": [10, 18], "amg": 10, "ean": [10, 15, 17], "faster": 10, "fewer": 10, "posit": [10, 12, 15, 18, 24, 26], "bundl": 10, "appli": [10, 15, 17], "recent": [10, 12, 15], "up": [10, 12, 15, 18, 26, 27], "909253": 10, "284910350": 10, "468749": 10, "multipl": [10, 15, 17, 27], "5723": 10, "get": [10, 12, 14, 15, 17, 18, 25, 27, 28], "each": [10, 15, 18, 24], "top": [10, 15, 18, 24, 26], "most": [10, 12, 24, 25], "720642462928": 10, "15175": 10, "15176": 10, "15177": 10, "15178": 10, "15183": 10, "15184": 10, "15187": 10, "15190": 10, "15191": 10, "15195": 10, "15197": 10, "15198": 10, "17120": 10, "book": 10, "9780316069359": 10, "com": [10, 18, 24, 26], "yelpiphon": 10, "minimum": [11, 15, 16], "privat": [11, 12, 13, 15, 16, 18, 25, 26, 27], "app_id": [12, 24], "app_secret": [12, 24], "flow": [12, 15, 17, 18, 24, 27], "browser": [12, 14, 18, 24, 27], "user_ag": [12, 18], "email": [12, 15, 18, 24], "password": [12, 24, 27], "auth_token": [12, 24], "save": [12, 14, 15, 17, 18], "collect": [12, 15, 18, 19], "playlist": [12, 15, 18, 26], "perform": [12, 18, 24, 27], "queri": [12, 15, 17, 18, 25], "them": [12, 15, 18, 24, 26, 27], "offici": [12, 15, 18], "been": [12, 14, 15, 18, 24, 25], "watch": [12, 14, 18], "http": [12, 14, 15, 18, 24, 26, 27], "network": [12, 14, 18], "traffic": [12, 14, 18, 24], "design": [12, 14, 15, 18], "publicli": [12, 14, 18], "access": [12, 14, 15, 17, 18, 24, 26, 27], "disabl": [12, 14, 15, 17, 18], "remov": [12, 14, 15, 18, 24], "ensur": [12, 14, 15, 18], "complianc": [12, 14, 18], "while": [12, 15, 18, 25], "necessari": [12, 15, 18, 24, 27], "public": [12, 15, 16, 18, 24, 26, 27], "person": [12, 15, 18], "stream": [12, 15, 18, 27], "activ": [12, 15, 18, 24], "In": [12, 14, 15, 17, 18, 26, 27], "latter": [12, 18], "case": [12, 14, 15, 17, 18, 24, 27], "accompani": [12, 14, 15, 17, 18, 24], "token": [12, 14, 15, 17, 18, 24], "header": [12, 14, 15, 17, 18], "grant": [12, 15], "inher": 12, "unsaf": 12, "sinc": [12, 15, 26], "ha": [12, 24, 25], "mechan": 12, "multifactor": 12, "brute": 12, "forc": 12, "attack": 12, "highli": [12, 15], "encourag": 12, "yourself": 12, "through": [12, 15], "player": [12, 14, 15, 18, 24, 25], "android": [12, 18, 24], "io": [12, 18, 24], "maco": [12, 18, 24], "window": [12, 18, 24], "secret": [12, 15, 17, 18], "constructor": [12, 14, 15, 17, 18, 24, 25, 26], "credenti": [12, 15, 17, 18, 24, 26, 27], "qobuz_private_app_id": 12, "qobuz_private_app_secret": 12, "oper": [12, 14, 15, 17, 18, 23], "system": [12, 14, 15, 17, 18, 26], "environ": [12, 14, 15, 17, 18, 24, 26, 27], "variabl": [12, 14, 15, 17, 18, 24, 26, 27], "thei": [12, 15, 24, 26, 27], "set_flow": [12, 15, 17, 18], "set_auth_token": 12, "respect": [12, 14, 15, 17, 18, 21, 22, 24, 25, 26, 27], "manag": [12, 14, 15, 17, 18], "properti": [12, 14, 15, 17, 18, 25], "acquir": [12, 14, 15, 17, 18], "configur": [12, 14, 15, 17, 18, 26], "load": [12, 14, 15, 17, 18, 25, 26], "next": [12, 14, 15, 17, 18, 24, 25], "behavior": [12, 14, 15, 17, 18, 25], "secur": [12, 14, 15, 17, 18], "concern": [12, 14, 15, 17, 18], "comput": [12, 14, 15, 17, 18, 21, 22], "being": [12, 14, 15, 17, 18], "share": [12, 14, 15, 17, 18], "devic": [12, 14, 15, 17, 18, 24, 26, 27], "author": [12, 17, 24], "open": [12, 15, 18, 24, 26, 27], "login": [12, 24], "page": [12, 15, 17, 18, 24], "playwright": [12, 15, 18], "framework": [12, 15, 18, 24, 27], "microsoft": [12, 15, 18], "account": [12, 15, 18, 24], "agent": [12, 18], "send": [12, 14, 15, 17, 18], "address": [12, 18], "here": [12, 14, 15, 17, 18, 24], "found": [12, 14, 15, 17, 18, 26], "process": [12, 14, 15, 17, 18, 24, 25, 27], "bypass": [12, 14, 15, 17, 18], "newli": [12, 14, 15, 17, 18, 27], "web_url": [12, 18], "set": [12, 14, 15, 17, 18, 26, 27], "album_id": [12, 17, 18, 27], "singl": [12, 15, 17, 25], "0060254735180": 12, "maximum_bit_depth": [12, 24], "media_count": [12, 24], "albums_count": [12, 24], "slug": [12, 24], "pictur": [12, 17, 18, 24], "role": [12, 18], "released_at": [12, 24], "label": [12, 15, 24], "supplier_id": [12, 24], "qobuz_id": [12, 24], "durat": [12, 15, 17, 18, 24], "parental_warn": [12, 24], "popular": [12, 15, 17, 18, 23, 24, 25], "tracks_count": [12, 24, 27], "color": [12, 14, 18, 24], "maximum_channel_count": [12, 24], "maximum_sampling_r": [12, 24], "articl": [12, 18], "release_date_origin": [12, 24], "release_date_download": [12, 24], "release_date_stream": [12, 24], "purchas": [12, 24], "streamabl": [12, 24], "preview": [12, 18, 24, 25], "sampleabl": [12, 24], "download": [12, 15, 18, 24], "display": [12, 24], "purchasable_at": [12, 24], "streamable_at": [12, 24], "hire": [12, 24], "hires_stream": [12, 24], "award": 12, "description_languag": 12, "goodi": 12, "area": 12, "catchlin": 12, "created_at": [12, 24], "genres_list": 12, "is_offici": 12, "maximum_technical_specif": 12, "product_sales_factors_monthli": 12, "product_sales_factors_weekli": 12, "product_sales_factors_yearli": 12, "product_typ": 12, "product_url": 12, "recording_inform": 12, "relative_url": 12, "release_tag": 12, "release_typ": 12, "subtitl": [12, 18], "offset": [12, 15, 17, 18, 24], "audio_info": [12, 24], "replaygain_track_peak": [12, 24], "float": [12, 15, 18, 21, 22], "replaygain_track_gain": [12, 24], "work": [12, 18, 24], "media_numb": [12, 24], "release_date_purchas": [12, 24], "get_featured_album": 12, "seller": 12, "editor": 12, "pick": 12, "ideal": [12, 24], "discographi": 12, "press": [12, 24], "qobuzissim": 12, "harmonia": 12, "mundi": 12, "univers": 12, "classic": [12, 15], "jazz": 12, "jeuness": 12, "chanson": 12, "index": [12, 15, 18], "get_artist": [12, 15, 17, 18], "artist_id": [12, 17, 18, 27], "extra": 12, "tracks_appears_on": 12, "albums_with_last_releas": 12, "effect": 12, "albums_as_primary_artist_count": 12, "albums_as_primary_composer_count": 12, "medium": [12, 18, 24], "extralarg": [12, 24], "mega": [12, 24], "similar_artist_id": 12, "biographi": [12, 18], "summari": [12, 18], "get_label": 12, "label_id": 12, "1153": 12, "get_playlist": [12, 15, 18, 24, 27], "playlist_id": [12, 15], "15732665": 12, "image_rectangle_mini": 12, "featured_artist": 12, "timestamp_posit": 12, "images300": [12, 24], "updated_at": [12, 24], "percent": 12, "image_rectangl": 12, "owner": [12, 15, 24], "users_count": [12, 24], "images150": [12, 24], "is_collabor": [12, 24, 27], "featured_tag_id": 12, "name_json": 12, "genre_tag": 12, "is_discov": 12, "public_at": [12, 24], "is_publ": [12, 24, 27], "is_featur": [12, 24], "null": 12, "playlist_track_id": [12, 24], "get_featured_playlist": [12, 15], "last": [12, 15, 18, 20, 25, 26, 27], "get_user_playlist": [12, 15, 18, 24, 27], "custom": [12, 15, 26], "favorit": [12, 26], "500": [12, 18, 24], "is_publish": 12, "published_to": [12, 24], "welcom": 12, "published_from": [12, 24], "create_playlist": [12, 15, 18, 24, 26, 27], "collabor": [12, 15, 24, 27], "brief": [12, 18], "update_playlist": [12, 18, 24], "privaci": [12, 18], "own": [12, 15, 18], "17737508": 12, "update_playlist_posit": 12, "from_playlist_id": 12, "to_playlist_id": 12, "organ": [12, 25], "move": [12, 15, 18], "swap": 12, "17737509": 12, "add_playlist_track": [12, 24, 27], "track_id": [12, 14, 17, 18], "duplic": 12, "add": [12, 15, 18, 24, 26, 27], "24393122": 12, "24393138": 12, "ad": [12, 15, 18, 24, 27], "move_playlist_track": 12, "insert_befor": [12, 15], "same": [12, 15, 27], "delete_playlist_track": 12, "delet": [12, 15, 18], "delete_playlist": [12, 18, 24], "favorite_playlist": [12, 18], "subscrib": 12, "unfavorite_playlist": [12, 18], "unsubscrib": 12, "hi_r": [12, 18], "new_releas": 12, "10": [12, 15, 17, 18, 24], "categori": [12, 15, 18, 24], "mainartist": [12, 24], "releasenam": [12, 24], "exact": 12, "phrase": 12, "focu": 12, "name_superbloc": 12, "accroch": 12, "genre_id": 12, "root_categori": 12, "abstract": 12, "image_origin": 12, "category_id": [12, 15], "source_imag": 12, "published_at": 12, "section_slug": 12, "description_short": 12, "display_d": 12, "get_track_perform": 12, "unformat": 12, "call": [12, 24], "filter": [12, 15, 18], "special": 12, "composerlyricist": [12, 24], "lyricist": [12, 18], "featuredartist": 12, "produc": [12, 24], "co": [12, 24], "mixer": 12, "musicpublish": 12, "etc": [12, 18, 27], "dictionari": [12, 15, 17, 18], "contributor": [12, 18, 24], "snake": 12, "get_track_file_url": 12, "format_id": 12, "27": [12, 24, 25], "playback": [12, 15, 18], "hi": [12, 18], "re": [12, 18, 24], "qualiti": [12, 18], "constant": 12, "320": [12, 18, 24], "kbp": [12, 18], "6": [12, 15], "cd": [12, 24], "16": [12, 18, 24, 25], "44": [12, 18, 24], "khz": [12, 18], "7": [12, 24], "24": [12, 18, 24], "96": [12, 18], "192": 12, "mime_typ": 12, "restrict": [12, 15], "sampling_r": 12, "get_curated_track": 12, "weekli": 12, "curat": [12, 18], "baselin": 12, "step_pagin": 12, "graphic": 12, "background": [12, 14], "foreground": 12, "generated_at": 12, "expires_on": 12, "get_track_stream": [12, 18], "mime": [12, 18], "get_collection_stream": [12, 18], "get_profil": [12, 15, 18], "profil": [12, 15, 18, 24], "publicid": 12, "firstnam": [12, 18], "lastnam": [12, 18], "display_nam": [12, 15], "country_cod": [12, 17, 18], "language_cod": 12, "zone": 12, "avatar": 12, "ag": [12, 24], "creation_d": 12, "offer": 12, "start_dat": 12, "end_dat": 12, "is_cancel": 12, "household_size_max": 12, "lossy_stream": 12, "lossless_stream": 12, "hires_purchases_stream": 12, "mobile_stream": 12, "offline_stream": 12, "hfp_purchas": 12, "included_format_group_id": 12, "color_schem": 12, "logo": 12, "short_label": 12, "last_upd": 12, "favorite_album": [12, 18, 27], "favorite_artist": [12, 18, 27], "favorite_track": [12, 18, 26], "store_featur": 12, "editori": 12, "club": 12, "wallet": 12, "weeklyq": 12, "autoplai": 12, "inapp_purchase_subscripton": 12, "opt_in": 12, "music_import": 12, "get_favorit": [12, 27], "get_purchas": 12, "favorite_item": [12, 27], "unfavorite_item": 12, "unfavorit": 12, "sp_dc": [14, 15, 24], "access_token": [14, 15, 17, 18, 24], "expiri": [14, 15, 17, 18, 24], "datetim": [14, 15, 17, 18], "power": [14, 24], "musixmatch": 14, "petitlyr": 14, "japan": 14, "interfac": [14, 23], "so": [14, 15, 17, 18, 24, 25, 26, 27], "develop": [14, 18], "cooki": [14, 15, 24], "either": [14, 15, 17, 18, 24, 26], "spotify_sp_dc": [14, 15, 24], "extract": [14, 18], "local": [14, 15, 25], "storag": [14, 24], "after": [14, 15], "log": [14, 24], "exchang": [14, 15, 18], "recommend": [14, 15, 17, 18, 27, 28], "other": [14, 15, 17, 18, 24, 25], "authent": [14, 15, 17, 24, 26, 27], "relat": [14, 15, 17, 18, 24], "expir": [14, 15, 17, 18, 24], "set_sp_dc": 14, "set_access_token": [14, 15, 17, 18], "former": [14, 15, 17, 18], "relev": [14, 15, 17, 18, 27], "refresh": [14, 15, 17, 18, 24], "8601": [14, 15, 17, 18], "m": [14, 15, 17, 18, 24], "dt": [14, 15, 17, 18], "h": [14, 15, 17, 18], "sz": [14, 15, 17, 18, 24], "user": [14, 15, 17, 24, 26, 27], "reauthent": [14, 15, 17, 18], "lyrics_url": 14, "token_url": [14, 15, 17, 18], "session": [14, 15, 17, 18], "timestamp": [14, 15, 17, 18], "0vjijw4gluzamyd2vxmi3b": 14, "synctyp": 14, "starttimem": 14, "syllabl": 14, "endtimem": 14, "providerlyricsid": [14, 18], "providerdisplaynam": 14, "synclyricsuri": 14, "isdensetypefac": 14, "altern": [14, 15, 27], "isrtllanguag": 14, "fullscreenact": 14, "showupsel": 14, "highlighttext": 14, "hasvocalremov": 14, "client_id": [15, 17, 18, 24], "client_secret": [15, 17, 18, 24], "web_play": 15, "port": [15, 24], "8888": [15, 24], "redirect_uri": 15, "refresh_token": [15, 18, 24], "creation": 15, "interact": [15, 26], "control": 15, "visual": [15, 26], "form": 15, "refer": [15, 17, 21, 22], "without": [15, 18, 24, 25], "proof": [15, 18], "pkce": [15, 18, 24, 27], "These": [15, 18], "oauth": [15, 17, 18], "spotify_client_id": [15, 24], "spotify_client_secret": [15, 24], "guid": [15, 17], "how": [15, 17, 25], "advantag": 15, "function": [15, 17, 18], "redirect": [15, 24], "uri": [15, 18, 24], "localhost": [15, 24], "callback": [15, 18, 24], "where": 15, "approach": [15, 24], "resort": 15, "deprec": 15, "unless": 15, "authorization_cod": 15, "client_credenti": [15, 17, 18], "server": [15, 24, 27], "built": 15, "flask": 15, "get_scop": [15, 24, 27], "possibl": [15, 17, 18], "auth_url": [15, 18], "web_player_token_url": 15, "classmethod": 15, "ugc": 15, "upload": 15, "spotify_connect": 15, "connect": 15, "read": [15, 26], "modifi": 15, "plai": 15, "remot": 15, "follow": [15, 18, 24, 26, 27], "listening_histori": 15, "histori": 15, "substr": 15, "e": [15, 24], "market": 15, "4aawyab9vmqn3uq7fjrgti": 15, "3166": [15, 17, 18], "alpha": [15, 17, 18], "prioriti": 15, "over": 15, "neither": 15, "consid": 15, "album_typ": [15, 24], "total_track": [15, 24, 27], "available_market": [15, 24], "external_url": [15, 24], "href": [15, 24], "height": [15, 17, 18, 24, 26], "width": [15, 17, 18, 24, 26], "release_d": [15, 24], "release_date_precis": [15, 24], "reason": 15, "external_id": [15, 24, 27], "previou": [15, 18, 24, 25], "duration_m": [15, 24], "is_play": 15, "linked_from": 15, "preview_url": [15, 24], "is_loc": [15, 24], "sever": 15, "identifi": [15, 24], "comma": 15, "20": 15, "382obepsp2rxgrnsizn5tx": 15, "1a2gtwgtffwp7ksqtwwoyo": 15, "2norn2aes5aonvsu6iwthc": 15, "get_album_track": 15, "000": [15, 24], "get_saved_album": [15, 27], "added_at": [15, 24], "save_album": [15, 27], "remove_saved_album": 15, "check_saved_album": 15, "check": 15, "alreadi": [15, 18, 24, 25], "arrai": 15, "boolean": 15, "get_new_album": 15, "shown": 15, "brows": 15, "tab": 15, "particular": 15, "omit": 15, "se": [15, 24], "album_group": 15, "uniqu": [15, 25], "0tnoyisbd1xyrbk9myaseg": 15, "2cimqhirsu0mqqyyhq0eox": 15, "57dn52uhvrhoxijzpigu3": 15, "1vcwhac5f2us3yhpwwbia6": 15, "get_artist_album": [15, 17, 18], "include_group": 15, "suppli": 15, "promot": 15, "appears_on": 15, "appear": [15, 18, 25], "main": [15, 17, 24, 27], "get_artist_top_track": [15, 18], "get_related_artist": 15, "similar": [15, 17, 18, 21, 22, 26, 27], "given": [15, 17], "analysi": 15, "commun": 15, "listen": 15, "get_audiobook": 15, "uk": 15, "ireland": 15, "zealand": 15, "australia": 15, "7ihfbu1ypacw6ozpafjtq": 15, "html_descript": 15, "edit": [15, 18, 28], "media_typ": 15, "narrat": 15, "publish": 15, "total_chapt": 15, "chapter": 15, "audio_preview_url": 15, "chapter_numb": 15, "resume_point": 15, "fully_plai": 15, "resume_position_m": 15, "episod": [15, 24], "18yvqkdbdrvs24c0ilj2ci": 15, "1hgw3j3nxzo1tp1bttvhpz": 15, "get_audiobook_chapt": 15, "get_saved_audiobook": 15, "save_audiobook": 15, "remove_saved_audiobook": 15, "check_saved_audiobook": 15, "get_categori": 15, "dinner": 15, "desir": [15, 18], "consist": 15, "639": 15, "join": 15, "american": 15, "es_mx": 15, "spanish": 15, "mexico": 15, "icon": 15, "nformat": 15, "get_chapt": 15, "0d5wendkdwbqlrhoaj9g29": 15, "0isxvp0jmcb2adse338gkk": 15, "3zxb8fkzgu0ehalyx6uczu": 15, "get_episod": 15, "512ojhouo1ktjprkbvckyq": 15, "is_externally_host": 15, "total_episod": 15, "77o6bivlym3msb4mmil1jh": 15, "0q86acnrm6v9gyx55sxkwf": 15, "get_saved_episod": 15, "save_episod": 15, "remove_saved_episod": 15, "check_saved_episod": 15, "get_genre_se": 15, "seed": [15, 26], "get_recommend": [15, 26], "acoust": 15, "afrobeat": 15, "get_market": 15, "br": [15, 24], "IT": [15, 24], "get_playback_st": 15, "additional_typ": 15, "progress": 15, "besid": 15, "introduc": 15, "maintain": [15, 24], "might": 15, "futur": 15, "is_act": 15, "is_private_sess": 15, "is_restrict": 15, "volume_perc": 15, "repeat_st": 15, "shuffle_st": 15, "context": 15, "progress_m": 15, "is_plai": 15, "currently_playing_typ": 15, "action": 15, "interrupting_playback": 15, "paus": 15, "resum": 15, "seek": 15, "skipping_next": 15, "skipping_prev": 15, "toggling_repeat_context": 15, "toggling_shuffl": 15, "toggling_repeat_track": 15, "transferring_playback": 15, "transfer_playback": 15, "device_id": 15, "transfer": [15, 28], "start": [15, 25, 26, 27], "although": 15, "accept": 15, "than": [15, 24, 25], "400": 15, "bad": 15, "74aszwbe4lxaubb36ztrgx": 15, "happen": [15, 25], "get_devic": 15, "get_currently_plai": 15, "start_playback": 15, "context_uri": 15, "position_m": 15, "target": [15, 17, 18], "0d1841b0976bae2a3a310dd74c0f3df354899bc8": 15, "1je1imulbxcx1fz0we7opt": 15, "4iv5w9uyedyuva79axb7rh": 15, "1301wleyt98msxvhpzca6m": 15, "zero": 15, "neg": 15, "repres": 15, "sixth": 15, "millisecond": 15, "pass": [15, 24, 25, 26], "greater": 15, "length": 15, "caus": 15, "pause_playback": 15, "skip_to_next": 15, "skip": [15, 18, 24], "queue": 15, "skip_to_previ": 15, "seek_to_posit": 15, "25000": 15, "set_repeat_mod": 15, "repeat": [15, 25], "mode": [15, 18], "turn": 15, "set_playback_volum": 15, "volum": 15, "100": [15, 18, 24, 26], "inclus": 15, "toggle_playback_shuffl": 15, "toggl": 15, "shuffl": 15, "get_recently_plai": 15, "befor": [15, 24, 25, 27], "doesn": 15, "unix": 15, "cursor": [15, 18], "1484811043508": 15, "played_at": 15, "get_queu": 15, "make": [15, 17, 18, 24, 26], "currently_plai": 15, "add_to_queu": 15, "end": 15, "3ceypja9oz9gipac4ash4n": 15, "dot": [15, 24], "non": 15, "reoccur": 15, "parenthes": 15, "drill": 15, "nest": 15, "prefix": 15, "exclam": 15, "mark": 15, "just": 15, "added_bi": [15, 24], "adder": 15, "snapshot_id": [15, 24], "change_playlist_detail": [15, 24], "detail": [15, 17, 27], "cours": 15, "my": [15, 18, 24], "becom": 15, "abl": 15, "displai": [15, 26], "get_playlist_item": [15, 18, 27], "add_playlist_item": [15, 18, 24, 26, 27], "exce": 15, "bodi": 15, "insert": 15, "order": [15, 18], "third": [15, 27], "snapshot": 15, "update_playlist_item": 15, "range_start": 15, "range_length": 15, "reorder": 15, "depend": [15, 24], "clear": 15, "mutual": 15, "exclus": 15, "togeth": 15, "simpli": [15, 24], "9": 15, "amount": 15, "rang": 15, "begin": 15, "subsequ": 15, "against": 15, "remove_playlist_item": 15, "even": [15, 25], "user_id": [15, 18], "smedjan": 15, "empti": 15, "until": 15, "doe": [15, 18, 24, 25, 27], "coolest": 15, "yyyi": 15, "mm": 15, "ddthh": 15, "ss": 15, "tailor": 15, "dai": [15, 24], "revert": 15, "utc": 15, "2014": 15, "23t09": 15, "00": [15, 24, 25], "whose": 15, "am": [15, 24], "messag": [15, 17, 24], "get_category_playlist": 15, "get_playlist_cover_imag": 15, "dimens": 15, "add_playlist_cover_imag": [15, 26], "base64": [15, 26], "jpeg": 15, "payload": 15, "256": [15, 24], "kb": 15, "narrow": 15, "year": 15, "hipster": 15, "certain": 15, "g": [15, 18], "1955": 15, "1960": 15, "past": [15, 24], "week": 15, "lowest": [15, 25], "remast": 15, "doxi": 15, "mile": 15, "davi": 15, "across": [15, 27], "hit": [15, 24], "both": [15, 18, 24], "get_show": 15, "38bs44xjbvvz3no3byf1dj": 15, "5cfcwki5pz28u0uozxkdh": 15, "5as3akmn2k11yfdddsrvaz": 15, "get_show_episod": 15, "get_saved_show": 15, "save_show": 15, "remove_saved_show": 15, "check_saved_show": 15, "11dfghvxanmlkmjxsncbnl": 15, "7oumywpwj422jrcdaszb7p": 15, "4vqporuhp5edpber92t6lq": 15, "2takcwoaazwixqijphix7b": 15, "get_saved_track": [15, 26], "save_track": 15, "remove_saved_track": 15, "check_saved_track": 15, "analysis_url": 15, "danceabl": 15, "energi": 15, "instrument": 15, "live": 15, "loud": 15, "speechi": 15, "time_signatur": 15, "track_href": 15, "valenc": 15, "get_tracks_audio_featur": 15, "get_track_audio_analysi": 15, "low": [15, 18], "level": 15, "describ": 15, "structur": 15, "rhythm": 15, "pitch": 15, "timbr": 15, "audio_analysi": 15, "meta": 15, "analyzer_vers": 15, "platform": 15, "detailed_statu": 15, "status_cod": 15, "analysis_tim": 15, "input_process": 15, "num_sampl": 15, "sample_md5": 15, "offset_second": 15, "window_second": 15, "analysis_sample_r": 15, "analysis_channel": 15, "end_of_fade_in": 15, "start_of_fade_out": 15, "tempo_confid": 15, "time_signature_confid": 15, "key_confid": 15, "mode_confid": 15, "codestr": 15, "code_vers": 15, "echoprintstr": 15, "echoprint_vers": 15, "synchstr": 15, "synch_vers": 15, "rhythmstr": 15, "rhythm_vers": 15, "bar": 15, "confid": 15, "section": [15, 24], "segment": 15, "loudness_start": 15, "loudness_max": 15, "loudness_max_tim": 15, "loudness_end": 15, "tatum": 15, "seed_artist": 15, "seed_genr": 15, "seed_track": [15, 26], "suffici": 15, "pool": 15, "veri": [15, 25], "obscur": 15, "enough": 15, "train": 15, "machin": 15, "learn": 15, "ai": 15, "model": 15, "4nhqugzhttlfvgf5szeslk": 15, "0c6xiddpze81m2q797orda": 15, "unusu": 15, "imposs": 15, "debug": [15, 24], "tunabl": [15, 26], "afterfilterings": 15, "afterrelinkings": 15, "initialpools": 15, "usernam": [15, 18], "explicit_cont": 15, "filter_en": 15, "filter_lock": 15, "product": [15, 24], "get_top_item": 15, "time_rang": 15, "calcul": 15, "affin": 15, "frame": 15, "long_term": 15, "medium_term": 15, "approxim": 15, "month": 15, "short_term": 15, "get_user_profil": [15, 18], "follow_playlist": 15, "unfollow_playlist": [15, 24], "unfollow": [15, 18], "get_followed_artist": [15, 27], "0i2xqvxqhscxjhhk6ayyr": 15, "follow_peopl": [15, 27], "sent": 15, "unfollow_peopl": 15, "check_followed_peopl": 15, "check_playlist_follow": 15, "jmperezperez": 15, "thelinmichael": 15, "wizzler": 15, "robust": 16, "expos": 17, "build": [17, 25, 26], "tidal_client_id": [17, 24], "tidal_client_secret": [17, 24], "regist": [17, 24], "set_auflow": 17, "251380836": [17, 18], "barcodeid": 17, "released": [17, 18, 24], "imagecov": 17, "videocov": [17, 18, 24], "numberofvolum": [17, 18], "numberoftrack": [17, 18, 24, 27], "numberofvideo": [17, 18, 24], "mediametadata": [17, 18, 24], "275646830": [17, 18], "resourc": [17, 24, 26], "statu": [17, 18, 24], "success": [17, 24], "failur": 17, "get_album_item": [17, 18], "pagin": [17, 18], "artifacttyp": 17, "tracknumb": [17, 18, 24], "volumenumb": [17, 18, 24], "get_album_by_barcode_id": 17, "barcode_id": 17, "barcod": 17, "196589525444": 17, "get_similar_album": [17, 18, 26], "1566": [17, 18], "7804": [17, 18], "get_similar_artist": [17, 18, 26], "251380837": [17, 18], "251380838": [17, 18], "get_track_by_isrc": 17, "usual": 17, "compris": 17, "12": [17, 24], "alphanumer": 17, "ussm12209515": 17, "get_similar_track": [17, 26], "get_video": [17, 18], "video_id": [17, 18], "75623239": [17, 18], "59727844": [17, 18], "beyonc\u00e9": [17, 18], "worldwid": 17, "r_usr": 18, "tidal_private_client_id": 18, "tidal_private_client_secret": 18, "desktop": [18, 24], "device_cod": 18, "manual": [18, 26], "termin": 18, "w_usr": 18, "w_sub": 18, "temporarili": 18, "block": 18, "ip": 18, "too": 18, "quickli": 18, "login_url": 18, "redirect_url": 18, "resources_url": 18, "streamreadi": [18, 24], "adsupportedstreamreadi": [18, 24], "djreadi": [18, 24], "stemreadi": [18, 24], "streamstartd": [18, 24], "allowstream": [18, 24], "premiumstreamingonli": [18, 24], "vibrantcolor": [18, 24], "audioqu": [18, 24], "audiomod": [18, 24], "totalnumberofitem": 18, "replaygain": [18, 24], "peak": [18, 24], "mix": [18, 24, 26], "track_mix": [18, 24], "get_album_credit": 18, "get_album_review": 18, "review": 18, "synopsi": 18, "lastupd": [18, 24], "get_favorite_album": [18, 27], "order_direct": 18, "desc": 18, "direct": 18, "asc": 18, "on_artifact_not_found": 18, "unfavorite_album": 18, "artisttyp": [18, 24], "artistrol": [18, 24], "categoryid": [18, 24], "artist_mix": [18, 24], "subset": 18, "epsandsingl": 18, "get_artist_video": 18, "imagepath": 18, "imageid": 18, "adsurl": 18, "adsprepaywallonli": 18, "get_artist_mix_id": 18, "mix_id": 18, "000ec0b01da1ddd752ec5dee553d48": 18, "get_artist_radio": 18, "inspir": 18, "ident": 18, "get_mix_item": 18, "get_artist_biographi": 18, "biograph": 18, "get_artist_link": 18, "link": 18, "websit": 18, "sitenam": 18, "banner": 18, "relationtyp": 18, "similar_artist": 18, "get_favorite_artist": [18, 27], "unfavorite_artist": 18, "get_blocked_artist": 18, "block_artist": 18, "radio": 18, "unblock_artist": 18, "unblock": 18, "get_country_cod": 18, "get_imag": 18, "uuid": [18, 24, 27], "anim": 18, "d3c4372b": 18, "a652": 18, "40e0": 18, "bdb1": 18, "fc8d032708f6": 18, "userprofil": 18, "get_favorite_mix": 18, "datead": 18, "mixtyp": 18, "subtitletextinfo": 18, "detailimag": 18, "master": 18, "titletextinfo": 18, "lastmodifiedat": 18, "favorite_mix": 18, "000dd748ceabd5508947c6a5d3880a": 18, "unfavorite_mix": 18, "get_album_pag": 18, "device_typ": 18, "phone": 18, "mobil": 18, "smart": 18, "submodul": 18, "get_artist_pag": 18, "get_mix_pag": 18, "get_video_pag": 18, "playlist_uuid": 18, "36ea71a8": 18, "445e": 18, "41a4": 18, "82ab": 18, "6628c581535d": 18, "creator": [18, 24], "publicplaylist": 18, "squareimag": [18, 24], "promotedartist": [18, 24], "lastitemaddedat": [18, 24], "get_playlist_etag": 18, "etag": 18, "1698984074453": 18, "get_playlist_recommend": 18, "folder_id": 18, "root": 18, "4261748a": 18, "4287": 18, "4758": 18, "aaab": 18, "6d5be3e99e52": 18, "folder": 18, "place": 18, "under": 18, "move_playlist": 18, "e09ab9c": 18, "2e87": 18, "41b8": 18, "b404": 18, "3cd712bf706e": 18, "contentbehavior": [18, 24], "sharinglevel": [18, 24], "trn": [18, 24], "followinfo": [18, 24], "nroffollow": [18, 24], "tidalresourcenam": [18, 24], "followtyp": [18, 24], "userid": 18, "get_personal_playlist": 18, "folder_uuid": 18, "itemtyp": 18, "addedat": 18, "parent": [18, 24, 25, 26], "readi": [18, 24], "set_playlist_privaci": [18, 24], "from_playlist_uuid": 18, "on_dupl": 18, "move_playlist_item": 18, "from_index": 18, "to_index": 18, "delete_playlist_item": 18, "get_personal_playlist_fold": 18, "flatten": 18, "include_onli": 18, "date_upd": 18, "createdat": 18, "create_playlist_fold": 18, "delete_playlist_fold": 18, "92b3c1ea": 18, "245a": 18, "4e5a": 18, "a5a4": 18, "c215f7a65b9f": 18, "tophit": 18, "collection_id": 18, "audio_qu": 18, "video_qu": 18, "max_resolut": 18, "2160": 18, "playback_mod": 18, "asset_present": 18, "streaming_session_id": 18, "immers": 18, "hifi": 18, "plan": 18, "price": 18, "dolbi": 18, "atmo": 18, "64": [18, 24], "1411": 18, "9216": 18, "mqa": 18, "audio_onli": 18, "vertic": 18, "offlin": 18, "asset": [18, 24, 26], "present": 18, "30": [18, 25], "get_video_stream": 18, "tommi": 18, "wright": 18, "kelman": 18, "duran": 18, "teriu": 18, "dream": 18, "de": [18, 24], "diamant": 18, "mike": [18, 26], "dean": 18, "trackid": [18, 24], "lyricsprovid": 18, "providercommontrackid": 18, "isrighttoleft": 18, "get_track_mix_id": 18, "tidal_id": 18, "0017159e6a1f34ae3d981792d72ecf": 18, "get_track_playback_info": 18, "hc": 18, "en": 18, "360004255778": 18, "info": 18, "assetpresent": 18, "manifestmimetyp": 18, "manifesthash": 18, "manifest": 18, "albumreplaygain": 18, "albumpeakamplitud": 18, "trackreplaygain": 18, "trackpeakamplitud": 18, "get_track_recommend": 18, "suggested_track": 18, "get_favorite_track": 18, "unfavorite_track": 18, "countrycod": 18, "fullnam": 18, "nicknam": 18, "citi": 18, "postalcod": 18, "usstat": 18, "phonenumb": 18, "birthdai": 18, "channelid": 18, "parentid": 18, "acceptedeula": 18, "facebookuid": 18, "appleuid": 18, "googleuid": 18, "accountlinkcr": 18, "emailverifi": 18, "newus": 18, "get_sess": 18, "sessionid": 18, "partnerid": 18, "authorizedforofflin": 18, "authorizedforofflined": 18, "get_favorite_id": 18, "172311284": 18, "numberoffollow": 18, "prompt": [18, 24], "primari": [18, 20], "secondari": 18, "updatedtim": 18, "supportedcontenttyp": 18, "profiletyp": 18, "get_user_follow": 18, "peopl": [18, 27], "imfollow": 18, "follow_us": 18, "unfollow_us": 18, "get_blocked_us": 18, "block_us": 18, "unblock_us": 18, "get_video_playback_info": 18, "videoid": 18, "streamtyp": 18, "videoqu": 18, "get_favorite_video": 18, "favorite_video": 18, "unfavorite_video": 18, "util": [20, 21, 22, 25], "ndarrai": [21, 22], "levenshtein": [22, 25], "ratio": [21, 22, 25], "measur": [21, 22], "compar": [21, 22], "numpi": [21, 22, 25], "instal": [21, 22], "otherwis": [21, 22, 25], "lightweight": 23, "3": [23, 24, 25, 26], "packag": 24, "pip": 24, "come": [24, 26], "pypi": 24, "conda": 24, "forg": 24, "onc": 24, "pep": 24, "541": 24, "resolv": [24, 25], "grab": 24, "repositori": 24, "git": 24, "clone": 24, "github": 24, "bbye98": 24, "enter": [24, 25], "directori": [24, 25], "virtual": 24, "prevent": 24, "conflict": 24, "requirements_minim": 24, "txt": 24, "env": 24, "f": [24, 25, 26, 27], "yml": 24, "venv": 24, "bin": 24, "posix": 24, "bash": 24, "zsh": 24, "script": 24, "bat": 24, "cmd": 24, "ex": 24, "ps1": 24, "powershel": 24, "alongsid": 24, "step": [24, 27], "r": [24, 25], "virtualenv": 24, "linux": 24, "done": 24, "try": [24, 27], "import": [24, 25, 26, 27], "error": 24, "modulenotfounderror": 24, "No": 24, "rais": 24, "successfulli": 24, "out": [24, 25, 26], "box": 24, "few": 24, "addit": [24, 27], "prerequisit": 24, "cach": 24, "client_itun": [24, 25], "client_qobuz": [24, 27], "protect": 24, "qobuz_email": 24, "qobuz_password": 24, "post": 24, "spawn": 24, "normal": 24, "launch": 24, "find": [24, 26, 27], "chromium": 24, "f12": 24, "devtool": 24, "navig": 24, "firefox": 24, "shift": 24, "f9": 24, "inspector": 24, "nagiv": 24, "client_spotify_lyr": 24, "choic": [24, 26], "spotify_port": 24, "client_spotifi": [24, 25, 26, 27], "scope": [24, 26, 27], "get_authorization_scop": 24, "autom": 24, "click": 24, "agre": 24, "jot": 24, "client_tid": [24, 25, 26, 27], "client_tidal_priv": 24, "proxi": 24, "tool": 24, "intercept": 24, "instruct": 24, "consol": 24, "edm": 24, "group": 24, "galanti": [24, 26], "musicartist": 24, "wrappertyp": 24, "artistnam": [24, 25], "artistlinkurl": 24, "543322169": 24, "uo": 24, "artistid": 24, "amgartistid": 24, "2616267": 24, "primarygenrenam": 24, "danc": 24, "primarygenreid": 24, "17": 24, "static": 24, "8dcf30e5c8e30281ecbb13b0886426c8": 24, "127": 24, "865362": 24, "4stqvofp9vemcemlw50sbu": 24, "3382444": [], "pop": 24, "v1": 24, "640": 24, "scdn": 24, "ab6761610000e5eb7bda087d6fb48d481efd3344": 24, "ab676161000051747bda087d6fb48d481efd3344": 24, "160": 24, "ab6761610000f1787bda087d6fb48d481efd3344": 24, "67": [], "4676988": 24, "a627e21c": 24, "60f7": 24, "4e90": 24, "b2bb": 24, "e50b178c4f0b": 24, "1024x256": 24, "1024": 24, "1080x720": 24, "1080": 24, "720": 24, "160x107": 24, "107": 24, "160x160": 24, "320x214": 24, "214": 24, "320x320": 24, "480x480": 24, "480": 24, "640x428": 24, "428": 24, "750x500": 24, "750": 24, "750x750": 24, "www": 24, "72": 24, "11": [24, 25], "engin": 24, "team": 24, "000202a7e72fd90d0c0df2ed56ddea": 24, "everybodi": 24, "talk": 24, "neon": 24, "tree": 24, "kind": 24, "315816847": [], "collectionid": [24, 25], "578054990": [], "578054997": [], "glee": [], "cast": [], "collectionnam": 24, "season": [], "vol": 24, "tracknam": [24, 25], "collectioncensorednam": 24, "trackcensorednam": 24, "artistviewurl": 24, "collectionviewurl": 24, "trackviewurl": 24, "previewurl": 24, "ssl": 24, "audiopreview125": [], "v4": 24, "86": [], "4b": [], "3f": [], "864b3f23": [], "9155": [], "9ce8": [], "c1c0": [], "fc115a8af80a": [], "mzaf_13828074306318913858": [], "p": 24, "artworkurl30": 24, "is1": 24, "mzstatic": 24, "thumb": 24, "music115": [], "57": 24, "6d": [], "4e": [], "576d4e7a": [], "7860": [], "595a": [], "5ccd": [], "05e965413df5": [], "886443746404": [], "30x30bb": 24, "artworkurl60": 24, "60x60bb": 24, "artworkurl100": 24, "100x100bb": 24, "collectionpric": 24, "99": 24, "trackpric": 24, "29": 24, "2012": 24, "05t12": [], "00z": [24, 25], "collectionexplicit": 24, "notexplicit": 24, "trackexplicit": 24, "disccount": 24, "discnumb": 24, "trackcount": 24, "tracktimemilli": 24, "179280": [], "usa": 24, "currenc": 24, "usd": 24, "isstream": 24, "track_qobuz": 24, "2022": [24, 25], "arko": 24, "boom": 24, "todd": 24, "15899504": 24, "fc": 24, "7v": 24, "ilfmuz10e7vfc_230": 24, "ilfmuz10e7vfc_50": 24, "ilfmuz10e7vfc_600": 24, "0859766309663": 24, "1665180000": 24, "4026379": 24, "95": 24, "speedi": 24, "178369185": 24, "536": 24, "133": 24, "0070ef": 24, "hip": 24, "hop": 24, "rap": 24, "ilfmuz10e7vfc": 24, "1689231600": 24, "08": 24, "15899505": 24, "tcagm2280786": 24, "178369187": 24, "track_spotifi": 24, "0rpddszuhfncuwnjxkosji": 24, "au": 24, "AT": 24, "BE": 24, "bo": 24, "bg": 24, "cl": 24, "cr": 24, "cy": 24, "cz": 24, "dk": 24, "ec": 24, "ee": 24, "sv": 24, "fi": 24, "fr": 24, "gr": 24, "gt": 24, "hn": 24, "hk": 24, "hu": 24, "ie": 24, "lv": 24, "lt": 24, "lu": 24, "mt": 24, "nl": 24, "nz": 24, "ni": 24, "NO": 24, "pa": 24, "py": 24, "pe": 24, "ph": 24, "pl": 24, "pt": 24, "sg": 24, "sk": 24, "ch": 24, "tw": 24, "tr": 24, "ui": 24, "gb": 24, "li": [24, 27], "mc": 24, "th": 24, "ro": 24, "il": 24, "za": 24, "sa": 24, "ae": 24, "bh": 24, "qa": 24, "om": 24, "kw": 24, "eg": 24, "tn": 24, "lb": 24, "jo": 24, "IN": 24, "BY": 24, "kz": 24, "md": 24, "ua": 24, "al": 24, "ba": 24, "hr": 24, "mk": 24, "si": 24, "kr": 24, "bd": 24, "pk": 24, "lk": 24, "gh": 24, "ke": 24, "ng": 24, "tz": 24, "ug": 24, "bb": 24, "bz": 24, "bt": 24, "bw": 24, "bf": 24, "cv": 24, "cw": 24, "dm": 24, "fj": 24, "gm": 24, "gd": 24, "gw": 24, "gy": 24, "ht": 24, "jm": 24, "ki": 24, "l": 24, "lr": 24, "mw": 24, "mv": 24, "ml": 24, "mh": 24, "fm": 24, "na": 24, "nr": 24, "ne": 24, "pw": 24, "pg": 24, "w": 24, "st": 24, "sn": 24, "sc": 24, "sl": 24, "sb": 24, "kn": 24, "lc": 24, "vc": 24, "sr": 24, "tl": 24, "TO": 24, "tt": 24, "az": 24, "bn": 24, "bi": 24, "kh": 24, "cm": 24, "td": 24, "km": 24, "gq": 24, "ga": 24, "gn": 24, "kg": 24, "la": 24, "mo": 24, "mr": 24, "mn": 24, "np": [24, 25], "rw": 24, "tg": 24, "uz": 24, "zw": 24, "bj": 24, "mg": 24, "mu": 24, "mz": 24, "ao": 24, "ci": 24, "dj": 24, "zm": 24, "cg": 24, "iq": 24, "tj": 24, "ve": 24, "xk": 24, "0urfz92jmjwdbzbb7hebir": 24, "ab67616d0000b2734a6c0376235e5aa44e59d2c2": 24, "300": 24, "ab67616d00001e024a6c0376235e5aa44e59d2c2": 24, "ab67616d000048514a6c0376235e5aa44e59d2c2": 24, "01": 24, "177280": 24, "usum71119189": 24, "2iumqdfgzchihs3b9e9ewq": 24, "81": [], "14492425": 24, "451": 24, "due": 24, "demand": 24, "right": [24, 27], "holder": 24, "prohibit": 24, "track_tidal_priv": 24, "177": 24, "999969": 24, "17t00": 24, "0000": 24, "55": 24, "mercuri": 24, "2011": 24, "umg": 24, "inc": 24, "stereo": 24, "3665225": 24, "e6f17398": 24, "759e": 24, "45a0": 24, "9673": 24, "6ded6811e199": 24, "14492422": 24, "1c2d7c90": 24, "034e": 24, "485a": 24, "be1f": 24, "24a669c7e6e": 24, "f8af88": 24, "0019768c833a193c29829e5bf473fc": 24, "we": [24, 25, 26, 27], "playlist_qobuz": 24, "ilfmuz10e7vfc_150": 24, "1701053442": [], "ilfmuz10e7vfc_300": 24, "1701053443": [], "18171379": [], "52": [], "3865979203": [], "playlist_spotifi": 24, "3vsxl8ftlyoqgewazcz5d": [], "primary_color": 24, "myw0ndk1ngnlmze0m2e1otbkmtg0otdkn2m4mgi1nmi3zji5ymmxytgz": [], "2023": [24, 25, 26, 27], "27t02": [], "45z": [], "video_thumbnail": 24, "playlist_tidal_priv": 24, "e9f6aff1": [], "f39e": [], "462b": [], "90c4": [], "41686877a555": [], "unrestrict": 24, "8e75fac4": [], "cf24": [], "45c8": [], "8bd2": [], "98ab69f7f74b": [], "eefe947a": [], "5cdb": [], "40ee": [], "8057": [], "213941ff48d5": [], "45": [], "504": [], "46": [], "085": [], "mutagen": 24, "common": 24, "test": [24, 25], "middle_c": 24, "notat": 24, "getattr": 24, "attr": 24, "print": [24, 25], "capit": [24, 25], "middl": 24, "squar": 24, "game": 24, "similarli": 24, "setattr": 24, "261": 24, "63": 24, "forget": [24, 25], "convers": [24, 25], "middle_c_alac": 24, "116kb": 24, "02": [], "930": [], "3kbit": [], "speed": [24, 25], "177x": [], "point": [24, 25], "novemb": [25, 26, 27], "glob": 25, "audio_fil": 25, "suffix": 25, "dive": 25, "def": 25, "print_metadata": 25, "__dict__": 25, "startswith": 25, "upper": 25, "els": 25, "below": [25, 27], "highlight": 25, "involv": 25, "spektrem_shin": 25, "0x7fb5cdaeb790": [], "let": 25, "spektrem": 25, "shine": 25, "count": 25, "1030107": 25, "44100": 25, "had": 25, "pull": 25, "At": 25, "yet": 25, "written": 25, "compat": 25, "1032kb": 25, "09": [], "280": [], "9kbit": 25, "68": 24, "5x": [], "With": 25, "280593": 25, "persist": 25, "typic": 25, "accur": 25, "good": 25, "idea": 25, "select": [25, 26, 27], "closest": 25, "choos": 25, "distanc": 25, "levenshtein_ratio": 25, "lower": 25, "itunes_result": 25, "itunes_track": 25, "argmax": 25, "itunes_album": 25, "2013": 25, "gfted": 25, "06t12": 25, "electron": 25, "fill": 25, "By": 25, "set_metadata_us": 25, "spotify_result": 25, "spotify_track": [25, 27], "gb2ld0901581": 25, "128": 25, "correct": [25, 27], "get_track_compo": 25, "tidal_result": 25, "tidal_track": [25, 27], "tidal_compos": 25, "tidal_lyr": 25, "did": 25, "sometim": [25, 27], "tobu_back_to_y": 25, "0x7fb6744afdd0": [], "tobu": 25, "tom": 25, "burkovski": 25, "nc": 25, "06t07": 25, "hous": [25, 26], "gb2ld2210368": 25, "1104053": 25, "poorli": 25, "miss": 25, "fix": 25, "three": 25, "25t12": 25, "98": 25, "voil\u00e0": 25, "twice": 25, "becaus": 25, "There": 25, "eleg": 25, "solut": 25, "problem": 25, "unfortun": [25, 27], "19": [26, 27], "help": 26, "discov": 26, "leverag": 26, "suggest": 26, "b64encod": 26, "random": 26, "ipython": 26, "html": 26, "ifram": 26, "ipywidget": 26, "gridspeclayout": 26, "sure": 26, "0jz9tvoltzjagqiyc4hyzx": 26, "avicii": 26, "0bmb3nzquhbfi6nm4setvu": 26, "cash": 26, "surrend": 26, "1pq8ywty9v2ivzwj7gyxxb": 26, "mako": 26, "our": 26, "70iflb5egla8wufwgxborz": 26, "william": 26, "fallin": 26, "6jspbxzld2yemjtjz2gqot": 26, "passion": 26, "pit": 26, "76b6ljxtolasgxlanjnndr": 26, "sick": 26, "individu": 26, "2v65y3px4dkrhy1djlxd9p": 26, "swedish": 26, "mafia": 26, "worri": 26, "child": 26, "feat": 26, "john": 26, "martin": 26, "1gpf8iwqqj8qoevjhfiidu": 26, "zedd": 26, "matthew": 26, "koma": 26, "miriam": 26, "bryant": 26, "randomli": 26, "recommended_track": 26, "k": 26, "spotify_playlist": [26, 27], "global": 26, "_dh": 26, "minim_mix_smal": 26, "rb": 26, "nifti": 26, "emb": 26, "grid": 26, "len": 26, "enumer": 26, "framebord": 26, "lazi": 26, "152": 26, "510": 26, "divmod": 26, "procedur": [26, 27], "51073951": 26, "62082351": 26, "32553484": 26, "147258423": 26, "109273852": 26, "237059212": 26, "17271290": 26, "27171015": 26, "similar_track": 26, "div": 26, "pad": 26, "bottom": 26, "overflow": 26, "hidden": 26, "max": 26, "src": 26, "layout": 26, "gridifi": 26, "allowfullscreen": 26, "absolut": 26, "left": 26, "1px": 26, "min": 26, "margin": 26, "auto": 26, "tunemymus": 27, "assum": 27, "destin": 27, "challeng": 27, "often": 27, "difficult": 27, "barebon": 27, "pair": 27, "fine": 27, "tune": 27, "complex": 27, "those": 27, "remix": 27, "qobuz_playlist_id": 27, "17865119": 27, "qobuz_playlist": 27, "new_spotify_playlist": 27, "equival": 27, "simpl": 27, "spotify_track_uri": 27, "qobuz_track": 27, "new_tidal_playlist": 27, "confirm": 27, "tidal_track_id": 27, "spotify_playlist_id": 27, "3rw9qy60ceh6dfjauwdxmh": 27, "new_qobuz_playlist": 27, "thankfulli": 27, "qobuz_track_id": 27, "tidal_playlist_uuid": 27, "40052e73": 27, "58d4": 27, "4abb": 27, "bc1c": 27, "abace76d2f15": 27, "tidal_playlist": 27, "tidal_playlist_item": 27, "qobuz_favorit": 27, "qobuz_favorite_album": 27, "qobuz_favorite_artist": 27, "align": 27, "spotify_album_id": 27, "qobuz_album": 27, "spotify_album": 27, "indexerror": 27, "break": 27, "follow_artist": 27, "spotify_artist_id": 27, "qobuz_artist": 27, "spotify_artist": 27, "tidal_album_id": 27, "tidal_album": 27, "lstrip": 27, "tidal_artist_id": 27, "tidal_artist": 27, "spotify_favorite_album": 27, "spotify_favorite_artist": 27, "qobuz_album_id": 27, "qobuz_artist_id": 27, "tidal_favorite_album": 27, "tidal_favorite_artist": 27, "gestalt": 21, "ratcliff": 21, "obershelp": 21, "keyerror": [], "traceback": [], "cell": [], "mnt": [], "benjamin": [], "700": [], "__init__": [], "self": [], "693": [], "config": [], "_name": [], "fallback": [], "695": [], "696": [], "697": [], "698": [], "699": [], "701": [], "1036": [], "1029": [], "_expiri": [], "1030": [], "strptime": [], "1031": [], "isinst": [], "1032": [], "1034": [], "_flow": [], "1035": [], "_sp_dc": [], "_user_id": [], "9108": [], "9054": [], "9055": [], "9056": [], "9103": [], "9104": [], "9106": [], "_check_scop": [], "_get_json": [], "843": [], "823": [], "825": [], "826": [], "827": [], "respons": [], "840": [], "841": [], "_request": [], "912": [], "retri": [], "887": [], "888": [], "construct": [], "889": [], "908": [], "909": [], "911": [], "_refresh_access_token": [], "914": [], "915": [], "299": [], "867": [], "855": [], "client_b64": [], "urlsafe_b64encod": [], "856": [], "_client_id": [], "_client_secret": [], "857": [], "decod": [], "858": [], "859": [], "860": [], "864": [], "basic": [], "865": [], "bearer": [], "868": [], "_refresh_token": [], "869": [], "870": [], "timedelta": [], "expires_in": [], "126": 24, "3375748": [], "350172836": [], "1443469527": [], "1443469581": [], "audiopreview122": [], "5c": [], "5c29bf6b": [], "ca2c": [], "4e8b": [], "2be6": [], "c51a282c7da": [], "mzaf_1255557534804450018": [], "e3": [], "80e39565": [], "35f9": [], "2496": [], "c6f8": [], "6572490c4a7b": [], "12umgim12509": [], "rgb": [], "19t12": [], "contentadvisoryr": [], "justin": [], "meldal": [], "johnsen": [], "guitar": [], "keyboard": [], "percuss": [], "programm": [], "associatedperform": [], "tim": [], "pagnotta": [], "greg": [], "collin": [], "studiopersonnel": [], "weslei": [], "seidman": [], "asst": [], "tyler": [], "glenn": [], "matt": [], "wigger": [], "bill": [], "bush": [], "470727": [], "42": [], "54": [], "0060252795442_230": [], "0060252795442_50": [], "0060252795442_600": [], "0060252795442": [], "1325372400": [], "17487": [], "774": [], "5653617": [], "2785": [], "112": [], "119": [], "113": [], "indi": [], "alternatif": [], "et": [], "ind": [], "1683529200": [], "583118": [], "5653620": [], "1683702000": [], "0060252795442_150": [], "1699766986": [], "0060252795442_300": [], "1699766987": [], "17864724": [], "31": [], "3775088385": [], "193pq0l1m0ykfekbrb4c1v": [], "myxhzgzkzdk4m2m0ogy2zwvmytuxyweymjawm2mzmde5nze5ndq4ode0": [], "12t05": [], "49z": [], "771dc2db": [], "c763": [], "4e71": [], "9c87": [], "f5d82bfa4153": [], "9412a3c1": [], "7d10": [], "40b3": [], "b9b4": [], "96f0791dee9c": [], "74d8c599": [], "cfbd": [], "464f": [], "8e70": [], "80d51a6482bd": [], "155": 24, "740": [], "161x": [], "0x7f126c60b150": [], "0kb": [24, 25], "1891": 25, "2kbit": 25, "813x": [], "256kb": 25, "89": 25, "150": 25, "768kb": 25, "28": 25, "222": [], "1x": 25, "281": 25, "1kbit": 25, "28x": [], "attributeerror": [], "8": [], "0x7efd3873e650": [], "3363420": 24, "112115157": 24, "583394431": 24, "583394802": 24, "workout": 24, "35": 24, "unmix": 24, "gym": 24, "jog": 24, "run": 24, "cycl": 24, "cardio": 24, "fit": 24, "audiopreview115": 24, "c4": 24, "8d": 24, "c4fc8d9a": 24, "0b75": 24, "55fb": 24, "6413": 24, "6bdbf7d17e65": 24, "mzaf_7998633680287936907": 24, "music114": 24, "b4": 24, "a7": 24, "dc": 24, "b4a7dc27": 24, "6fcd": 24, "22ba": 24, "c9a6": 24, "564166a4c43d": 24, "35tophitswom3_2400": 24, "03t12": 24, "34": 24, "179055": 24, "79": 24, "1703541258": [], "1703541259": [], "18794965": [], "4056401760": [], "0nnctudbv2hxvrsbtw9uvd": [], "miwyywm2ywywymm2otmzmjfiogu1mdi5odjmzwrlndgwn2y5zjazzjyi": [], "25t21": 24, "21z": [], "4d1dc535": [], "556c": [], "4368": [], "a6cc": [], "2fa0e373e4da": [], "af52f4df": [], "06f8": [], "40ad": [], "9ebd": [], "4ad993523c39": [], "7b203db1": [], "e8f4": [], "4fbc": [], "a87f": [], "a5032bcdcbd7": [], "21": 25, "876": [], "633": [], "577014": 24, "32": 24, "77": 24, "0kbit": [24, 25], "92": 24, "1023": 24, "4kbit": 24, "163x": [], "0x7fb2b0648090": [], "652x": [], "83": [], "141": [], "6x": 25, "1024kb": [], "279": [], "7kbit": [], "1703541385": [], "1703541386": [], "18794976": [], "4056413118": [], "3r7m5jqsbyhqraljwmxop5": [], "miwymjgwzmy1ngnhnmeymdcynme4oda0nwfkmmmwzdvjyzjimdq5odc0": [], "56": [], "28z": [], "999521e8": [], "cc89": [], "40e2": [], "b5e4": [], "feef8fc55e2b": [], "9e9beafc": [], "fe9e": [], "41b5": [], "a3e2": [], "2165c7eb9ea5": [], "7be303ac": [], "90c3": [], "461a": [], "9e9c": [], "29b2e9737a93": [], "025": [], "411": [], "143x": [], "0x7f2a63fc6090": [], "773x": [], "146": [], "5kbit": [], "4x": [], "58": [], "228": [], "2x": [], "0x7f2a63fc5150": [], "1703541443": 24, "1703541444": 24, "18794997": 24, "4056419200": 24, "6lsdixcynk4tviweun0r2x": 24, "miw1zdi0njy3zjzkoddkndm0mjcwyjnkywe4ntk2m2mwymm4nti4yjy4": 24, "25z": 24, "f7db0333": 24, "9032": 24, "4410": 24, "8092": 24, "33e2fd57a9a0": 24, "dd039132": 24, "45a2": 24, "a7cc": 24, "0c5a6de9b202": 24, "c951760e": 24, "df32": 24, "469e": 24, "9022": 24, "a0f96adbbd51": 24, "26": 24, "548": 24, "131": 24, "158x": 24, "0x7fa51e606090": 25, "746x": 25, "223": 25, "0x7fa5e9463ed0": 25}, "objects": {"": [[1, 0, 0, "-", "minim"]], "minim": [[2, 0, 0, "-", "audio"], [9, 0, 0, "-", "itunes"], [11, 0, 0, "-", "qobuz"], [13, 0, 0, "-", "spotify"], [16, 0, 0, "-", "tidal"], [19, 0, 0, "-", "utility"]], "minim.audio": [[3, 1, 1, "", "Audio"], [4, 1, 1, "", "FLACAudio"], [5, 1, 1, "", "MP3Audio"], [6, 1, 1, "", "MP4Audio"], [7, 1, 1, "", "OggAudio"], [8, 1, 1, "", "WAVEAudio"]], "minim.audio.Audio": [[3, 2, 1, "", "convert"], [3, 2, 1, "", "set_metadata_using_itunes"], [3, 2, 1, "", "set_metadata_using_qobuz"], [3, 2, 1, "", "set_metadata_using_spotify"], [3, 2, 1, "", "set_metadata_using_tidal"]], "minim.audio.FLACAudio": [[4, 2, 1, "", "convert"], [4, 2, 1, "", "set_metadata_using_itunes"], [4, 2, 1, "", "set_metadata_using_qobuz"], [4, 2, 1, "", "set_metadata_using_spotify"], [4, 2, 1, "", "set_metadata_using_tidal"], [4, 2, 1, "", "write_metadata"]], "minim.audio.MP3Audio": [[5, 2, 1, "", "convert"], [5, 2, 1, "", "set_metadata_using_itunes"], [5, 2, 1, "", "set_metadata_using_qobuz"], [5, 2, 1, "", "set_metadata_using_spotify"], [5, 2, 1, "", "set_metadata_using_tidal"], [5, 2, 1, "", "write_metadata"]], "minim.audio.MP4Audio": [[6, 2, 1, "", "convert"], [6, 2, 1, "", "set_metadata_using_itunes"], [6, 2, 1, "", "set_metadata_using_qobuz"], [6, 2, 1, "", "set_metadata_using_spotify"], [6, 2, 1, "", "set_metadata_using_tidal"], [6, 2, 1, "", "write_metadata"]], "minim.audio.OggAudio": [[7, 2, 1, "", "convert"], [7, 2, 1, "", "set_metadata_using_itunes"], [7, 2, 1, "", "set_metadata_using_qobuz"], [7, 2, 1, "", "set_metadata_using_spotify"], [7, 2, 1, "", "set_metadata_using_tidal"], [7, 2, 1, "", "write_metadata"]], "minim.audio.WAVEAudio": [[8, 2, 1, "", "convert"], [8, 2, 1, "", "set_metadata_using_itunes"], [8, 2, 1, "", "set_metadata_using_qobuz"], [8, 2, 1, "", "set_metadata_using_spotify"], [8, 2, 1, "", "set_metadata_using_tidal"], [8, 2, 1, "", "write_metadata"]], "minim.itunes": [[10, 1, 1, "", "SearchAPI"]], "minim.itunes.SearchAPI": [[10, 2, 1, "", "lookup"], [10, 2, 1, "", "search"]], "minim.qobuz": [[12, 1, 1, "", "PrivateAPI"]], "minim.qobuz.PrivateAPI": [[12, 2, 1, "", "add_playlist_tracks"], [12, 2, 1, "", "create_playlist"], [12, 2, 1, "", "delete_playlist"], [12, 2, 1, "", "delete_playlist_tracks"], [12, 2, 1, "", "favorite_items"], [12, 2, 1, "", "favorite_playlist"], [12, 2, 1, "", "get_album"], [12, 2, 1, "", "get_artist"], [12, 2, 1, "", "get_collection_streams"], [12, 2, 1, "", "get_curated_tracks"], [12, 2, 1, "", "get_favorites"], [12, 2, 1, "", "get_featured_albums"], [12, 2, 1, "", "get_featured_playlists"], [12, 2, 1, "", "get_label"], [12, 2, 1, "", "get_playlist"], [12, 2, 1, "", "get_profile"], [12, 2, 1, "", "get_purchases"], [12, 2, 1, "", "get_track"], [12, 2, 1, "", "get_track_file_url"], [12, 2, 1, "", "get_track_performers"], [12, 2, 1, "", "get_track_stream"], [12, 2, 1, "", "get_user_playlists"], [12, 2, 1, "", "move_playlist_tracks"], [12, 2, 1, "", "search"], [12, 2, 1, "", "set_auth_token"], [12, 2, 1, "", "set_flow"], [12, 2, 1, "", "unfavorite_items"], [12, 2, 1, "", "unfavorite_playlist"], [12, 2, 1, "", "update_playlist"], [12, 2, 1, "", "update_playlist_position"]], "minim.spotify": [[14, 1, 1, "", "PrivateLyricsService"], [15, 1, 1, "", "WebAPI"]], "minim.spotify.PrivateLyricsService": [[14, 2, 1, "", "get_lyrics"], [14, 2, 1, "", "set_access_token"], [14, 2, 1, "", "set_sp_dc"]], "minim.spotify.WebAPI": [[15, 2, 1, "", "add_playlist_cover_image"], [15, 2, 1, "", "add_playlist_items"], [15, 2, 1, "", "add_to_queue"], [15, 2, 1, "", "change_playlist_details"], [15, 2, 1, "", "check_followed_people"], [15, 2, 1, "", "check_playlist_followers"], [15, 2, 1, "", "check_saved_albums"], [15, 2, 1, "", "check_saved_audiobooks"], [15, 2, 1, "", "check_saved_episodes"], [15, 2, 1, "", "check_saved_shows"], [15, 2, 1, "", "check_saved_tracks"], [15, 2, 1, "", "create_playlist"], [15, 2, 1, "", "follow_people"], [15, 2, 1, "", "follow_playlist"], [15, 2, 1, "", "get_album"], [15, 2, 1, "", "get_album_tracks"], [15, 2, 1, "", "get_albums"], [15, 2, 1, "", "get_artist"], [15, 2, 1, "", "get_artist_albums"], [15, 2, 1, "", "get_artist_top_tracks"], [15, 2, 1, "", "get_artists"], [15, 2, 1, "", "get_audiobook"], [15, 2, 1, "", "get_audiobook_chapters"], [15, 2, 1, "", "get_audiobooks"], [15, 2, 1, "", "get_categories"], [15, 2, 1, "", "get_category"], [15, 2, 1, "", "get_category_playlists"], [15, 2, 1, "", "get_chapter"], [15, 2, 1, "", "get_chapters"], [15, 2, 1, "", "get_currently_playing"], [15, 2, 1, "", "get_devices"], [15, 2, 1, "", "get_episode"], [15, 2, 1, "", "get_episodes"], [15, 2, 1, "", "get_featured_playlists"], [15, 2, 1, "", "get_followed_artists"], [15, 2, 1, "", "get_genre_seeds"], [15, 2, 1, "", "get_markets"], [15, 2, 1, "", "get_new_albums"], [15, 2, 1, "", "get_playback_state"], [15, 2, 1, "", "get_playlist"], [15, 2, 1, "", "get_playlist_cover_image"], [15, 2, 1, "", "get_playlist_items"], [15, 2, 1, "", "get_playlists"], [15, 2, 1, "", "get_profile"], [15, 2, 1, "", "get_queue"], [15, 2, 1, "", "get_recently_played"], [15, 2, 1, "", "get_recommendations"], [15, 2, 1, "", "get_related_artists"], [15, 2, 1, "", "get_saved_albums"], [15, 2, 1, "", "get_saved_audiobooks"], [15, 2, 1, "", "get_saved_episodes"], [15, 2, 1, "", "get_saved_shows"], [15, 2, 1, "", "get_saved_tracks"], [15, 2, 1, "", "get_scopes"], [15, 2, 1, "", "get_show"], [15, 2, 1, "", "get_show_episodes"], [15, 2, 1, "", "get_shows"], [15, 2, 1, "", "get_top_items"], [15, 2, 1, "", "get_track"], [15, 2, 1, "", "get_track_audio_analysis"], [15, 2, 1, "", "get_track_audio_features"], [15, 2, 1, "", "get_tracks"], [15, 2, 1, "", "get_tracks_audio_features"], [15, 2, 1, "", "get_user_playlists"], [15, 2, 1, "", "get_user_profile"], [15, 2, 1, "", "pause_playback"], [15, 2, 1, "", "remove_playlist_items"], [15, 2, 1, "", "remove_saved_albums"], [15, 2, 1, "", "remove_saved_audiobooks"], [15, 2, 1, "", "remove_saved_episodes"], [15, 2, 1, "", "remove_saved_shows"], [15, 2, 1, "", "remove_saved_tracks"], [15, 2, 1, "", "save_albums"], [15, 2, 1, "", "save_audiobooks"], [15, 2, 1, "", "save_episodes"], [15, 2, 1, "", "save_shows"], [15, 2, 1, "", "save_tracks"], [15, 2, 1, "", "search"], [15, 2, 1, "", "seek_to_position"], [15, 2, 1, "", "set_access_token"], [15, 2, 1, "", "set_flow"], [15, 2, 1, "", "set_playback_volume"], [15, 2, 1, "", "set_repeat_mode"], [15, 2, 1, "", "skip_to_next"], [15, 2, 1, "", "skip_to_previous"], [15, 2, 1, "", "start_playback"], [15, 2, 1, "", "toggle_playback_shuffle"], [15, 2, 1, "", "transfer_playback"], [15, 2, 1, "", "unfollow_people"], [15, 2, 1, "", "unfollow_playlist"], [15, 2, 1, "", "update_playlist_items"]], "minim.tidal": [[17, 1, 1, "", "API"], [18, 1, 1, "", "PrivateAPI"]], "minim.tidal.API": [[17, 2, 1, "", "get_album"], [17, 2, 1, "", "get_album_by_barcode_id"], [17, 2, 1, "", "get_album_items"], [17, 2, 1, "", "get_albums"], [17, 2, 1, "", "get_artist"], [17, 2, 1, "", "get_artist_albums"], [17, 2, 1, "", "get_artists"], [17, 2, 1, "", "get_similar_albums"], [17, 2, 1, "", "get_similar_artists"], [17, 2, 1, "", "get_similar_tracks"], [17, 2, 1, "", "get_track"], [17, 2, 1, "", "get_track_by_isrc"], [17, 2, 1, "", "get_tracks"], [17, 2, 1, "", "get_video"], [17, 2, 1, "", "get_videos"], [17, 2, 1, "", "search"], [17, 2, 1, "", "set_access_token"], [17, 2, 1, "", "set_flow"]], "minim.tidal.PrivateAPI": [[18, 2, 1, "", "add_playlist_items"], [18, 2, 1, "", "block_artist"], [18, 2, 1, "", "block_user"], [18, 2, 1, "", "create_playlist"], [18, 2, 1, "", "create_playlist_folder"], [18, 2, 1, "", "delete_playlist"], [18, 2, 1, "", "delete_playlist_folder"], [18, 2, 1, "", "delete_playlist_item"], [18, 2, 1, "", "favorite_albums"], [18, 2, 1, "", "favorite_artists"], [18, 2, 1, "", "favorite_mixes"], [18, 2, 1, "", "favorite_playlists"], [18, 2, 1, "", "favorite_tracks"], [18, 2, 1, "", "favorite_videos"], [18, 2, 1, "", "follow_user"], [18, 2, 1, "", "get_album"], [18, 2, 1, "", "get_album_credits"], [18, 2, 1, "", "get_album_items"], [18, 2, 1, "", "get_album_page"], [18, 2, 1, "", "get_album_review"], [18, 2, 1, "", "get_artist"], [18, 2, 1, "", "get_artist_albums"], [18, 2, 1, "", "get_artist_biography"], [18, 2, 1, "", "get_artist_links"], [18, 2, 1, "", "get_artist_mix_id"], [18, 2, 1, "", "get_artist_page"], [18, 2, 1, "", "get_artist_radio"], [18, 2, 1, "", "get_artist_top_tracks"], [18, 2, 1, "", "get_artist_videos"], [18, 2, 1, "", "get_blocked_artists"], [18, 2, 1, "", "get_blocked_users"], [18, 2, 1, "", "get_collection_streams"], [18, 2, 1, "", "get_country_code"], [18, 2, 1, "", "get_favorite_albums"], [18, 2, 1, "", "get_favorite_artists"], [18, 2, 1, "", "get_favorite_ids"], [18, 2, 1, "", "get_favorite_mixes"], [18, 2, 1, "", "get_favorite_tracks"], [18, 2, 1, "", "get_favorite_videos"], [18, 2, 1, "", "get_image"], [18, 2, 1, "", "get_mix_items"], [18, 2, 1, "", "get_mix_page"], [18, 2, 1, "", "get_personal_playlist_folders"], [18, 2, 1, "", "get_personal_playlists"], [18, 2, 1, "", "get_playlist"], [18, 2, 1, "", "get_playlist_etag"], [18, 2, 1, "", "get_playlist_items"], [18, 2, 1, "", "get_playlist_recommendations"], [18, 2, 1, "", "get_profile"], [18, 2, 1, "", "get_session"], [18, 2, 1, "", "get_similar_albums"], [18, 2, 1, "", "get_similar_artists"], [18, 2, 1, "", "get_track"], [18, 2, 1, "", "get_track_composers"], [18, 2, 1, "", "get_track_contributors"], [18, 2, 1, "", "get_track_credits"], [18, 2, 1, "", "get_track_lyrics"], [18, 2, 1, "", "get_track_mix_id"], [18, 2, 1, "", "get_track_playback_info"], [18, 2, 1, "", "get_track_recommendations"], [18, 2, 1, "", "get_track_stream"], [18, 2, 1, "", "get_user_followers"], [18, 2, 1, "", "get_user_following"], [18, 2, 1, "", "get_user_playlist"], [18, 2, 1, "", "get_user_playlists"], [18, 2, 1, "", "get_user_profile"], [18, 2, 1, "", "get_video"], [18, 2, 1, "", "get_video_page"], [18, 2, 1, "", "get_video_playback_info"], [18, 2, 1, "", "get_video_stream"], [18, 2, 1, "", "move_playlist"], [18, 2, 1, "", "move_playlist_item"], [18, 2, 1, "", "search"], [18, 2, 1, "", "set_access_token"], [18, 2, 1, "", "set_flow"], [18, 2, 1, "", "set_playlist_privacy"], [18, 2, 1, "", "unblock_artist"], [18, 2, 1, "", "unblock_user"], [18, 2, 1, "", "unfavorite_albums"], [18, 2, 1, "", "unfavorite_artists"], [18, 2, 1, "", "unfavorite_mixes"], [18, 2, 1, "", "unfavorite_playlist"], [18, 2, 1, "", "unfavorite_tracks"], [18, 2, 1, "", "unfavorite_videos"], [18, 2, 1, "", "unfollow_user"], [18, 2, 1, "", "update_playlist"]], "minim.utility": [[20, 3, 1, "", "format_multivalue"], [21, 3, 1, "", "gestalt_ratio"], [22, 3, 1, "", "levenshtein_ratio"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "function", "Python function"]}, "titleterms": {"minim": [1, 23, 24], "audio": [2, 3, 24, 25], "file": [2, 24, 25], "object": 2, "softwar": [3, 4, 5, 6, 7, 8], "depend": [3, 4, 5, 6, 7, 8], "flacaudio": 4, "mp3audio": 5, "mp4audio": 6, "oggaudio": 7, "waveaudio": 8, "itun": [9, 24], "searchapi": [10, 24], "qobuz": [11, 24, 27], "privateapi": [12, 18, 24], "sampl": [12, 14, 15, 17, 18], "respons": [12, 14, 15, 17, 18], "user": [12, 18, 28], "authent": [12, 18], "subscript": [12, 18], "spotifi": [13, 24, 26, 27], "privatelyricsservic": [14, 24], "webapi": [15, 24], "author": [15, 18], "scope": [15, 18], "tidal": [16, 24, 26, 27], "api": [17, 24, 25], "util": 19, "function": [19, 25], "levenshtein_ratio": 22, "multivalue_formatt": [], "get": [24, 26], "start": 24, "instal": 24, "usag": 24, "music": [24, 27], "servic": 24, "search": 24, "privat": 24, "lyric": 24, "web": 24, "exampl": 24, "artist": 24, "track": 24, "creat": 24, "modifi": 24, "delet": 24, "person": 24, "playlist": [24, 27], "handler": 24, "load": 24, "edit": [24, 25], "convert": [24, 25], "between": 24, "format": 24, "metadata": 25, "setup": 25, "instanti": 25, "client": 25, "find": 25, "defin": 25, "helper": 25, "tag": 25, "an": 25, "exist": 25, "recommend": 26, "transfer": 27, "librari": 27, "prerequisit": 27, "move": 27, "from": 27, "To": 27, "synchron": 27, "favorit": 27, "guid": 28, "format_multivalu": 20, "gestalt_ratio": 21}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.viewcode": 1, "sphinx": 60}, "alltitles": {"gestalt_ratio": [[21, "gestalt-ratio"]], "levenshtein_ratio": [[22, "levenshtein-ratio"]], "minim": [[1, "module-minim"]], "audio": [[2, "module-minim.audio"]], "Audio file objects": [[2, "audio-file-objects"]], "qobuz": [[11, "module-minim.qobuz"]], "Qobuz": [[11, "id1"]], "SearchAPI": [[10, "searchapi"]], "itunes": [[9, "module-minim.itunes"]], "iTunes": [[9, "id1"]], "Audio": [[3, "audio"]], "Software dependency": [[3, null], [5, null], [4, null], [7, null], [8, null], [6, null]], "MP3Audio": [[5, "mp3audio"]], "FLACAudio": [[4, "flacaudio"]], "OggAudio": [[7, "oggaudio"]], "WAVEAudio": [[8, "waveaudio"]], "MP4Audio": [[6, "mp4audio"]], "PrivateLyricsService": [[14, "privatelyricsservice"]], "Sample response": [[14, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [17, null], [17, null], [17, null], [17, null], [17, null], [17, null], [17, null], [17, null], [17, null], [17, null], [17, null], [17, null], [17, null], [17, null], [17, null], [17, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null]], "spotify": [[13, "module-minim.spotify"]], "Spotify": [[13, "id1"], [26, "spotify"]], "PrivateAPI": [[12, "privateapi"], [18, "privateapi"]], "User authentication": [[12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [18, null]], "Subscription": [[12, null], [12, null], [12, null]], "format_multivalue": [[20, "format-multivalue"]], "Authorization scope": [[18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null], [15, null]], "User authentication and authorization scope": [[18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null], [18, null]], "User authentication, authorization scope, and\n subscription": [[18, null], [18, null], [18, null], [18, null], [18, null]], "User authentication and subscription": [[18, null]], "utility": [[19, "module-minim.utility"]], "Utility functions": [[19, "utility-functions"]], "API": [[17, "api"]], "WebAPI": [[15, "webapi"]], "Sample": [[15, null], [15, null], [15, null], [15, null], [15, null], [15, null]], "tidal": [[16, "module-minim.tidal"]], "TIDAL": [[16, "id1"], [26, "tidal"]], "Minim": [[23, "minim"]], "Getting Started": [[24, "getting-started"]], "Installation": [[24, "installation"]], "Usage": [[24, "usage"]], "Music service APIs": [[24, "music-service-apis"]], "iTunes Search API (minim.itunes.SearchAPI)": [[24, "itunes-search-api-minim-itunes-searchapi"]], "Private Qobuz API (minim.qobuz.PrivateAPI)": [[24, "private-qobuz-api-minim-qobuz-privateapi"]], "Private Spotify Lyrics Service (minim.spotify.PrivateLyricsService)": [[24, "private-spotify-lyrics-service-minim-spotify-privatelyricsservice"]], "Spotify Web API (minim.spotify.WebAPI)": [[24, "spotify-web-api-minim-spotify-webapi"]], "TIDAL API (minim.tidal.API)": [[24, "tidal-api-minim-tidal-api"]], "Private TIDAL API (minim.tidal.PrivateAPI)": [[24, "private-tidal-api-minim-tidal-privateapi"]], "Examples": [[24, "examples"], [24, "id9"]], "Searching for artists": [[24, "searching-for-artists"]], "iTunes Search API": [[24, "itunes-search-api"], [24, "id1"]], "Private Qobuz API": [[24, "private-qobuz-api"], [24, "id2"], [24, "id6"]], "Spotify Web API": [[24, "spotify-web-api"], [24, "id3"], [24, "id7"]], "TIDAL API": [[24, "tidal-api"], [24, "id4"]], "Private TIDAL API": [[24, "private-tidal-api"], [24, "id5"], [24, "id8"]], "Searching for tracks": [[24, "searching-for-tracks"]], "Creating, modifying, and deleting a personal playlist": [[24, "creating-modifying-and-deleting-a-personal-playlist"]], "Audio file handlers": [[24, "audio-file-handlers"]], "Loading and editing audio files": [[24, "loading-and-editing-audio-files"]], "Converting between audio formats": [[24, "converting-between-audio-formats"]], "Getting Recommendations": [[26, "getting-recommendations"]], "Editing Audio Metadata": [[25, "editing-audio-metadata"]], "Setup": [[25, "setup"]], "Instantiating API clients": [[25, "instantiating-api-clients"]], "Finding audio files": [[25, "finding-audio-files"]], "Defining helper functions": [[25, "defining-helper-functions"]], "Converting and tagging an audio file with no metadata": [[25, "converting-and-tagging-an-audio-file-with-no-metadata"]], "Tagging an audio file with existing metadata": [[25, "tagging-an-audio-file-with-existing-metadata"]], "Transferring Music Libraries": [[27, "transferring-music-libraries"]], "Prerequisites": [[27, "prerequisites"]], "Moving playlists": [[27, "moving-playlists"]], "From Qobuz": [[27, "from-qobuz"], [27, "id4"]], "To Spotify": [[27, "to-spotify"], [27, "id3"], [27, "id5"], [27, "id12"]], "To TIDAL": [[27, "to-tidal"], [27, "id1"], [27, "id6"], [27, "id9"]], "From Spotify": [[27, "from-spotify"], [27, "id7"]], "To Qobuz": [[27, "to-qobuz"], [27, "id2"], [27, "id8"], [27, "id11"]], "From TIDAL": [[27, "from-tidal"], [27, "id10"]], "Synchronizing favorites": [[27, "synchronizing-favorites"]], "User Guide": [[28, "user-guide"]]}, "indexentries": {}}) \ No newline at end of file diff --git a/docs/source/api/minim.utility.format_multivalue.rst b/docs/source/api/minim.utility.format_multivalue.rst new file mode 100644 index 0000000..d8c7901 --- /dev/null +++ b/docs/source/api/minim.utility.format_multivalue.rst @@ -0,0 +1,6 @@ +format\_multivalue +================== + +.. currentmodule:: minim.utility + +.. autofunction:: format_multivalue \ No newline at end of file diff --git a/docs/source/api/minim.utility.gestalt_ratio.rst b/docs/source/api/minim.utility.gestalt_ratio.rst new file mode 100644 index 0000000..4611a99 --- /dev/null +++ b/docs/source/api/minim.utility.gestalt_ratio.rst @@ -0,0 +1,6 @@ +gestalt\_ratio +============== + +.. currentmodule:: minim.utility + +.. autofunction:: gestalt_ratio \ No newline at end of file diff --git a/docs/source/api/minim.utility.multivalue_formatter.rst b/docs/source/api/minim.utility.multivalue_formatter.rst deleted file mode 100644 index 62bbc35..0000000 --- a/docs/source/api/minim.utility.multivalue_formatter.rst +++ /dev/null @@ -1,6 +0,0 @@ -multivalue\_formatter -===================== - -.. currentmodule:: minim.utility - -.. autofunction:: multivalue_formatter \ No newline at end of file diff --git a/docs/source/api/minim.utility.rst b/docs/source/api/minim.utility.rst index 1247157..da455d2 100644 --- a/docs/source/api/minim.utility.rst +++ b/docs/source/api/minim.utility.rst @@ -1,4 +1,4 @@ -utility +utility ======= .. automodule:: minim.utility @@ -15,8 +15,9 @@ utility :toctree: :nosignatures: + format_multivalue + gestalt_ratio levenshtein_ratio - multivalue_formatter diff --git a/docs/user_guide.html b/docs/user_guide.html index b22bacc..c5199e3 100644 --- a/docs/user_guide.html +++ b/docs/user_guide.html @@ -9,7 +9,7 @@User Guide - Minim 1.0.0 documentation - + @@ -197,8 +197,9 @@- utility
diff --git a/src/minim/audio.py b/src/minim/audio.py index 904334c..bd2e3bc 100644 --- a/src/minim/audio.py +++ b/src/minim/audio.py @@ -397,9 +397,9 @@ class Audio: * :code:`("(.*) - (.*)", ("artist", "title"))` matches filenames like "Taylor Swift - Cruel Summer.flac". - * :code:`("(\d*) - (.*)", ("track_number", "title"))` matches + * :code:`("(\\d*) - (.*)", ("track_number", "title"))` matches filenames like "04 - The Man.m4a". - * :code:`("(\d*) (.*)", ("track_number", "title"))` matches + * :code:`("(\\d*) (.*)", ("track_number", "title"))` matches filenames like "13 You Need to Calm Down.mp3". multivalue : `bool` @@ -1189,9 +1189,9 @@ class FLACAudio(Audio, _VorbisComment): * :code:`("(.*) - (.*)", ("artist", "title"))` matches filenames like "Taylor Swift - Fearless.flac". - * :code:`("(\d*) - (.*)", ("track_number", "title"))` matches + * :code:`("(\\d*) - (.*)", ("track_number", "title"))` matches filenames like "03 - Love Story.flac". - * :code:`("(\d*) (.*)", ("track_number", "title"))` matches + * :code:`("(\\d*) (.*)", ("track_number", "title"))` matches filenames like "06 You Belong with Me.flac". multivalue : `bool` @@ -1266,9 +1266,9 @@ class MP3Audio(Audio, _ID3): * :code:`("(.*) - (.*)", ("artist", "title"))` matches filenames like "Taylor Swift - Red.mp3". - * :code:`("(\d*) - (.*)", ("track_number", "title"))` matches + * :code:`("(\\d*) - (.*)", ("track_number", "title"))` matches filenames like "04 - I Knew You Were Trouble.mp3". - * :code:`("(\d*) (.*)", ("track_number", "title"))` matches + * :code:`("(\\d*) (.*)", ("track_number", "title"))` matches filenames like "06 22.mp3". multivalue : `bool` @@ -1342,9 +1342,9 @@ class MP4Audio(Audio): * :code:`("(.*) - (.*)", ("artist", "title"))` matches filenames like "Taylor Swift - Mine.m4a". - * :code:`("(\d*) - (.*)", ("track_number", "title"))` matches + * :code:`("(\\d*) - (.*)", ("track_number", "title"))` matches filenames like "04 - Speak Now.m4a". - * :code:`("(\d*) (.*)", ("track_number", "title"))` matches + * :code:`("(\\d*) (.*)", ("track_number", "title"))` matches filenames like "07 The Story of Us.m4a". multivalue : `bool` @@ -1542,9 +1542,9 @@ class OggAudio(Audio, _VorbisComment): * :code:`("(.*) - (.*)", ("artist", "title"))` matches filenames like "Taylor Swift - Blank Space.ogg". - * :code:`("(\d*) - (.*)", ("track_number", "title"))` matches + * :code:`("(\\d*) - (.*)", ("track_number", "title"))` matches filenames like "03 - Style.ogg". - * :code:`("(\d*) (.*)", ("track_number", "title"))` matches + * :code:`("(\\d*) (.*)", ("track_number", "title"))` matches filenames like "06 Shake It Off.ogg". multivalue : `bool` @@ -1637,9 +1637,9 @@ class WAVEAudio(Audio, _ID3): * :code:`("(.*) - (.*)", ("artist", "title"))` matches filenames like "Taylor Swift - Don't Blame Me.wav". - * :code:`("(\d*) - (.*)", ("track_number", "title"))` matches + * :code:`("(\\d*) - (.*)", ("track_number", "title"))` matches filenames like "05 - Delicate.wav". - * :code:`("(\d*) (.*)", ("track_number", "title"))` matches + * :code:`("(\\d*) (.*)", ("track_number", "title"))` matches filenames like "06 Look What You Made Me Do.wav". multivalue : `bool` diff --git a/src/minim/utility.py b/src/minim/utility.py index 11a6086..de83ec7 100644 --- a/src/minim/utility.py +++ b/src/minim/utility.py @@ -70,7 +70,7 @@ def format_multivalue( return [value] return value -def gestalt_ratios( +def gestalt_ratio( reference: str, strings: Union[str, list[str]] ) -> Union[float, list[float], "np.ndarray[float]"]: @@ -102,7 +102,7 @@ def gestalt_ratios( return np.fromiter(gen, dtype=float, count=len(strings)) return list(gen) -def levenshtein_ratios( +def levenshtein_ratio( reference: str, strings: Union[str, list[str]] ) -> Union[float, list[float], "np.ndarray[float]"]: diff --git a/tests/data/samples/middle_c.flac b/tests/data/samples/middle_c.flac index 4ed952d..ad24392 100644 Binary files a/tests/data/samples/middle_c.flac and b/tests/data/samples/middle_c.flac differ diff --git a/tests/data/samples/middle_c.mp3 b/tests/data/samples/middle_c.mp3 index 823ea95..b90450e 100644 Binary files a/tests/data/samples/middle_c.mp3 and b/tests/data/samples/middle_c.mp3 differ diff --git a/tests/data/samples/middle_c_16bit.wav b/tests/data/samples/middle_c_16bit.wav index d9a127f..1cd39d6 100644 Binary files a/tests/data/samples/middle_c_16bit.wav and b/tests/data/samples/middle_c_16bit.wav differ diff --git a/tests/data/samples/middle_c_aac.m4a b/tests/data/samples/middle_c_aac.m4a index 5890612..b4a3b41 100644 Binary files a/tests/data/samples/middle_c_aac.m4a and b/tests/data/samples/middle_c_aac.m4a differ diff --git a/tests/data/samples/middle_c_alac.m4a b/tests/data/samples/middle_c_alac.m4a index b6e34cf..2ef1e32 100644 Binary files a/tests/data/samples/middle_c_alac.m4a and b/tests/data/samples/middle_c_alac.m4a differ diff --git a/tests/data/samples/middle_c_flac.ogg b/tests/data/samples/middle_c_flac.ogg index f96f127..2f78b49 100644 Binary files a/tests/data/samples/middle_c_flac.ogg and b/tests/data/samples/middle_c_flac.ogg differ diff --git a/tests/data/samples/middle_c_opus.ogg b/tests/data/samples/middle_c_opus.ogg index 568ef1d..1bd54f7 100644 Binary files a/tests/data/samples/middle_c_opus.ogg and b/tests/data/samples/middle_c_opus.ogg differ diff --git a/tests/data/samples/middle_c_vorbis.ogg b/tests/data/samples/middle_c_vorbis.ogg index 130d99c..c0a6219 100644 Binary files a/tests/data/samples/middle_c_vorbis.ogg and b/tests/data/samples/middle_c_vorbis.ogg differ
multivalue_formatter
- - + +++ + ++ Next ++gestalt_ratio+Previous-levenshtein_ratio+utilitymultivalue_formatter
-
-
Utility functions
-
-- -Compute the Levenshtein ratio, a measure of similarity, for string(s) with respect to a reference string.
+ +Format a field value based on whether multivalue for that field is supported.
++ +Compute the Gestalt or Ratcliff–Obershelp ratios, a measure of similarity, for strings with respect to a reference string.
+ +Compute the Levenshtein ratios, a measure of similarity, for strings with respect to a reference string.
Utility functions - +
Next-levenshtein_ratio+format_multivaluediff --git a/docs/api/minim.utility.levenshtein_ratio.html b/docs/api/minim.utility.levenshtein_ratio.html index ef5a180..fb8d628 100644 --- a/docs/api/minim.utility.levenshtein_ratio.html +++ b/docs/api/minim.utility.levenshtein_ratio.html @@ -3,13 +3,13 @@ - + levenshtein_ratio - Minim 1.0.0 documentation - + @@ -197,8 +197,9 @@levenshtein_ratio#
- multivalue_formatter
diff --git a/docs/api/minim.utility.gestalt_ratio.html b/docs/api/minim.utility.gestalt_ratio.html
new file mode 100644
index 0000000..d9d940e
--- /dev/null
+++ b/docs/api/minim.utility.gestalt_ratio.html
@@ -0,0 +1,352 @@
+
+
+
+
+
+
+
+
+