Dlaczego iTunes nie jest losowy?

157

Jest to problem, który mnie martwił przez ostatnie 5 lat na wielu urządzeniach, systemach operacyjnych i instalacjach iTunes i iPodów.

Odkryłem, że funkcja losowego odtwarzania iTunes nie losowo losuje utworów. W rzeczywistości mogę dokładnie przewidzieć dokładną sekwencję utworów, które odtworzy iTunes. To mnie frustruje bez końca, ponieważ lubię słuchać mojej muzyki losowo, ale mam kilka ulubionych piosenek, od których zawsze zaczynam.

Na przykład, jeśli wybiorę utwór Gotse „Somebody That I Know To Know”, zawsze będzie następować następująca sekwencja utworów:

  1. Obwiniaj tetony od Skromnej Myszy
  2. Dziewczyna, której nie wierzysz w medycynę przez białe paski
  3. Mombassa Hansa Zimmera z ścieżki dźwiękowej Inception
  4. Break of Dawn Michaela Jacksona
  5. Brakujące słowa Marka Ronsona i Business International

Metoda, której używam do rozpoczęcia piosenek nie ma znaczenia. Próbowałem wybrać utwór w iTunes, wyszukać go i odtworzyć za pomocą Coversutra lub wyszukać w iTunes, odtworzyć utwór, a następnie wyczyścić wyszukiwanie. Wszystkie trzy metody będą odtwarzać dokładnie tę samą sekwencję utworów.

Myślałem, że może to być spowodowane tym samym użytym ziarnem, ale otrzymuję tę samą sekwencję po ponownym uruchomieniu iTunes lub nawet mojego komputera. Sekwencja jest taka sama dla różnych dni. Oczekiwanie na zakończenie utworu lub kliknięcie go nie zmieni niczego.

Miałem ten problem (ale z różnymi sekwencjami) tak długo, jak pamiętam na komputerze z systemem Windows, MacBook i iMac. Wszystkie różne wersje iTunes i systemów operacyjnych, obejmujące 5 lat.

Dlaczego iTunes zawodzi tak mocno i coś tak łatwego? Czy jest jakiś sposób, aby to naprawić?

Josh Hunt
źródło
Czy zamiast tego próbowałeś używać iTunes DJ? Odkryłem, że działa lepiej.
daviesgeek
4
Co się stanie po wyłączeniu i ponownym włączeniu trybu losowego? To zawsze działa dla mnie jak tasowanie talii kart innym razem. Czy korzystasz z normalnej listy odtwarzania lub czegoś z „inteligentnymi”, takimi jak DJ lub inteligentna lista odtwarzania?
bmike

Odpowiedzi:

205

Wersja podsumowująca

To jest przypadkowe, ale kolejność jest tasuje tylko raz, po włączeniu na losowej. Jeśli chcesz ponownie przetasować kolejność, wyłącz losowe odtwarzanie, a następnie włącz je ponownie.

Wersja szczegółowa

Nie sądzę, że to błąd, to funkcja. Chociaż rozumiem, jak może się wydawać zepsuty.

iTunes nie zmienia kolejności utworów za każdym razem, gdy naciskasz przycisk odtwarzania (lub jakikolwiek inny przycisk sterujący). Innym sposobem powiedzenia tego jest: używa tego samego materiału siewnego do listy odtwarzania za każdym razem, dopóki nie powiesz mu, aby używał innego materiału siewnego.

Może się to wydawać sprzeczne z pomysłem tasowania, ale w rzeczywistości służy temu cel: pozwala przyciskom przewijania do tyłu i przewijania do przodu działać w sposób, który ma sens. Mogę cofnąć się o 5 utworów, gdy jest losowo, aby usłyszeć piosenkę, którą słyszałem 5 piosenek temu, a następnie iTunes odtwarza wszystkie utwory, które właśnie usłyszałem, aby przywrócić mnie do miejsca, w którym byłem, przed powrotem 5 utworów.

Wierzę, że kolejność jest naprawdę losowa przy pierwszym wygenerowaniu. Problem polega na tym, że nigdy nie jest oczywiste, jak ponownie wygenerować kolejność, więc twój mózg, który jest naprawdę dobry w rozpoznawaniu wzorów, ponieważ jest to przydatna umiejętność przetrwania, gdy polujesz i zbierasz, zaczyna uczyć się kolejności z czasem. Zaczyna znajdować wzorce.

Widać, że tak jest w przypadku tego małego eksperymentu. Ustaw iTunes, aby przetasował całą bibliotekę. Wybierz utwór. Odtwórz 5 utworów i zapisz je. Teraz wybierz inną ścieżkę i pozwól iTunes odtworzyć jeden lub dwa utwory po tym. Teraz wróć do pierwszego utworu i stuknij ponownie. Odtworzy ten utwór i te same pięć po nim, które zapisałeś. Zmiana ścieżek nie spowodowała resetu generatora liczb losowych.

Przechodzenie przez twoje ścieżki jest naprawdę losowe, ale ta losowa kolejność nie jest odświeżana wystarczająco często, więc zaczyna wydawać się nieprzypadkowa.

Jak więc zmusić iTunes do wygenerowania nowego porządku losowego?

Odznacz i ponownie zaznacz przycisk odtwarzania losowego. W ten sposób iTunes odtworzy losową ścieżkę przechodzenia przez listę odtwarzania (lub całą bibliotekę). Ponownie uruchamia generator liczb losowych.

Możesz przekonać się, że to prawda, przeprowadzając mały eksperyment. Weź album z numerami utworów w metadanych i wybierz utwory od 1 do 5, a następnie wybierz z menu Plik -> Nowa lista odtwarzania z wyboru ... Będziesz teraz mieć listę odtwarzania z 5 utworami.

Wybierz tę listę odtwarzania i upewnij się, że przycisk odtwarzania losowego nie jest podświetlony, a numery ścieżek są wyświetlane w oknie. iTunes wyświetla utwory w kolejności: 1, 2, 3, 4, 5.

Teraz naciśnij przycisk odtwarzania losowego.

iTunes pokaże utwory w porządku. Dostaję: 4, 2, 1, 3, 5.

Teraz naciśnij przycisk odtwarzania losowego, aby go wyłączyć. I włącz go ponownie.

Teraz dostaję: 5, 2, 3, 4, 1.

Powtórz tyle razy i musisz się przekonać, że iTunes faktycznie regeneruje losową sekwencję przechodzenia przez ścieżki na liście odtwarzania.

To samo dotyczy przeszukiwania całej biblioteki: jeśli nigdy nie odznaczysz i nie sprawdzisz przycisku losowego, kolejność nigdy nie zostanie zregenerowana, więc rzeczy zaczną wydawać się nieprzypadkowe. Po tym, jak odznaczyłem i ponownie sprawdziłem odtwarzanie losowe i zacząłem odtwarzać całą bibliotekę z mojego początkowego utworu z drugiego akapitu powyżej, tym razem otrzymałem 5 różnych piosenek. Więc kolejność została zmieniona, jest to po prostu mniej oczywiste, gdy patrzysz na całą bibliotekę zamiast listy odtwarzania.

Jest to zastrzeżenie: iTunes DJ (inaczej Party Shuffle) działa inaczej. Za pomocą funkcji Party Shuffle możesz wpływać na wybór, aby przypisywać wagę bardziej popularnym utworom w bibliotece. To oczywiście nie jest losowe odtwarzanie. Więc jeśli chcesz naprawdę losowego odtwarzania, chcesz przetasować całą bibliotekę z widoku Muzyka na pasku bocznym, a nie z widoku iTunes DJ. I chcesz odznaczyć i ponownie zaznaczyć ten przycisk losowy przed każdą sesją odsłuchową, aby był naprawdę nieprzewidywalny.

Ian C.
źródło
15
Wreszcie przydatna odpowiedź na to pytanie! Nie wiem, ile razy był zwalniany z ręki.
Bryan Matthews
2
Twoja odpowiedź wyjaśnia, dlaczego nigdy tego nie doświadczyłem. W ciągu dnia słucham wybranych albumów, słucham kolejno utworów. Gdy w moim dniu pracy pozostała godzina, przełączam się na całą bibliotekę.
Cleggy
3
To prawda. Zaimplementowałem logikę Shuffle w aplikacji iPhone'a o nazwie „Ambiance” i musiałem to zrobić z tych samych powodów: nawigacja wstecz i do przodu.
coneybeare
2
Podobał mi się moment, w którym powiedziałeś „Zaczyna znajdować wzorce” i brzmiało to jak „To nie jest problem z iTunes”, to wina twojego mózgu !
badp
2
@Bombe iTunes generuje całkowicie losowe uporządkowanie całej listy, a nie tylko pojedynczej liczby. Dzięki temu przyciski do przodu i do tyłu działają w rozsądny sposób, nawet jeśli są w trybie losowym. Ilustruje to eksperyment z listą odtwarzania.
Ian C.
19

Innym powodem, dla którego iTunes generuje losowość tylko raz, jest to, że w ten sposób można zapewnić, że każdy utwór zostanie odtworzony jeden raz, bez duplikatów .

Jeśli masz 1000 utworów w trybie odtwarzania losowego, po 1000 odtworzeniach wysłuchasz ich wszystkich. To nigdy nie zadziałałoby, gdyby losowo wybierał utwór za każdym razem, gdy grasz lub kończysz poprzedni utwór, w pewnym momencie otrzymujesz duplikaty.

graup
źródło
1
Ponadto nie można prawidłowo używać przycisków pomijania / cofania.
Timothy Mueller-Harder
9

Pamiętam, że czytałem gdzieś, że jabłko początkowo używało prawdziwej przypadkowości w tasowaniu, ale ludzie narzekali, że ta sama piosenka będzie odtwarzana dwa lub trzy razy z rzędu (czego można by oczekiwać z całą pewnością, biorąc pod uwagę liczbę użytkowników). Szybko to zmienili i Steve Jobs przekręcił (raczej dobrze) na „iPody są teraz mniej losowe, aby wydawać się losowe”, kiedy wypuścił tę funkcję.

Tak więc losowo zmieniono losowanie listy utworów za każdym razem, gdy ją wybierasz, a nie losowanie następnego utworu - aby wyeliminować ryzyko podwójnego, potrójnego, poczwórnego itd. Odtwarzania.

Żal mi tylko faceta, który skopiował tę samą piosenkę 5 razy z rzędu, mimo że miał tysiące piosenek na iPodzie. Z pewnością był co najmniej jeden ...

Vic
źródło
4

@Bombe i @IanC - istnieją odwracalne generatory liczb pseudolosowych, więc potrzebujesz tylko jednej liczby, a nie całej sekwencji. Pomyśl o tym, czas potrzebny na wygenerowanie sekwencji nie zależy od wielkości Twojej kolekcji muzycznej. Algorytmy szyfrowania oferują jedno podejście, ponieważ każdy algorytm szyfrowania, który nie zmienia długości danych wejściowych (np. Enigma Machine, Caesar Ciphers), da ci wartości losowe, które możesz traktować jako liczbę, i możesz odszyfrować dowolny ciąg znaków, aby odwrócić sekwencję.

Jednak o wiele prostsze jest użycie prostego liniowego generatora kongruencjalnego o postaci:

wprowadź opis zdjęcia tutaj

Jeśli stałe zostaną wybrane w taki sposób, że każda wartość mniejsza niż m zostanie wygenerowana, okaże się, że istnieje inny zestaw stałych a ', c', które odwracają sekwencję. Ty (lub Apple) musisz tylko raz obliczyć drugi zestaw stałych. Jedna para generatorów, które są odwrotnymi względem siebie, to:

wprowadź opis zdjęcia tutaj

Zobacz tutaj, aby uzyskać pochodzenie . Następnie wybierasz wartość początkową za pomocą zegara systemowego i hej presto - odwracalna losowa sekwencja.

Wszystko, co jest wtedy potrzebne, to sposób mapowania liczb w zakresie [0, 2 32 -1] na utwory z Twojej kolekcji, co jest dość proste.

Jeśli odtwarzanie losowe naprawdę działa, odtwarzając utwory w tej samej kolejności za każdym razem (zgodnie z pytaniem), Apple nie utrzymuje losowej liczby niezależnie od bieżącego utworu - ponieważ wiele liczb z zakresu 0..2 32 -1 odwzoruj na tę samą piosenkę z różnymi kolejnymi utworami. Zamiast tego muszą używać pozycji utworu w Twojej kolekcji jako x n , a następnie odwzorować z x n + 1 z powrotem na pozycję utworu. Oznaczałoby to, że uzyskasz dokładnie efekt opisany w pytaniu. Jedyną odmianą byłby punkt początkowy, którym byłoby odwzorowanie z zegara na x n , a następnie obliczenie x n + 1 i odwzorowanie tego z powrotem na pozycję utworu.

bazzargh
źródło
1
W przypadku iTunes aplikacja jest zobowiązana do pokazywania całej losowej sekwencji liczb wygenerowanych dla listy odtwarzania lub biblioteki, więc używanie czegoś mniej niż prostego wydaje się być niekorzystne. W każdym razie musi generować wartości pełne N ścieżek wartości. I tak, używają indeksu utworów w Twojej kolekcji (lub listy odtwarzania) jako numeru utworu podczas tworzenia wektora do przeglądania kolekcji. Chociaż to, co opisujesz w ostatnim akapicie, jest nieprawidłowe. Otrzymujesz inny wektor za każdym losowaniem. Nie tylko inny punkt wyjścia.
Ian C.
3

Oczywiście nie jest to przypadek. Wiele lat temu Steve Jobs wygłaszał Keynote dla jednego z głównych ogłoszeń na temat iPoda. Stwierdził, że naprawdę losowe odtwarzanie losowe może ustawić tę samą piosenkę dwa lub więcej razy z rzędu. Więc przerobili losowanie, aby było mniej losowe. Z jednej strony śledził utwory, aby pojedynczy utwór nie był odtwarzany więcej niż jeden raz na losowej liście odtwarzania. Jest to więc funkcja, a nie błąd. Przedstawiony przez samego Jobsa.

Gardner
źródło
1

Jeśli zauważysz, że po wejściu na listę odtwarzania po raz pierwszy i wybraniu ikony odtwarzania losowego natychmiast tasuje ona listę odtwarzania, a następnie odtwarza kolejno w tej kolejności.

Jeśli ręcznie posortujesz listę odtwarzania inaczej, na przykład według wykonawcy, a następnie wybierzesz ikonę odtwarzania losowego, lista odtwarzania nie zmieni się wizualnie, a jeśli zaczniesz słuchać określonego utworu, przeskoczy on na losowy następny utwór po zakończeniu utworu, a raczej niż sekwencyjne przeglądanie listy odtwarzania.

Jeśli zamkniesz iTunes lub posłuchasz innej listy odtwarzania na jakiś czas, a następnie wrócisz do oryginalnej i wybierzesz tę samą pierwszą piosenkę, kolejna odtwarzana piosenka będzie inna niż poprzednia (chyba że z jakiegoś powodu losowa wybór jest taki sam, ale nastąpi to wraz ze spadkiem częstotliwości, w miarę powiększania się list odtwarzania).

alesplin
źródło
-1

CNet przeprowadził jakiś czas temu badanie , które wykazało, że iTunes Shuffle częściej odtwarza utwory określonych studiów, które współpracowały z Apple.

Jeśli więc zastanawiasz się, dlaczego częściej słuchasz ###### popowych piosenek podczas korzystania z losowego odtwarzania w iTunes, teraz wiesz, dlaczego.

Maj
źródło
Ta strona nie mówi, czy ich wyniki są istotne statystycznie, czy nie. Nie jest dla mnie oczywiste, że ich wyniki byłyby mało prawdopodobne, gdyby miały całkowicie losowy rozkład.
Tanner Swett