Pourquoi iTunes n'est-il pas aléatoire?

157

C’est un problème qui m’a posé des problèmes au cours des 5 dernières années, sur plusieurs appareils, systèmes d’exploitation et installations d’iTunes et iPod.

J'ai trouvé que la fonction iTunes Shuffle ne permet pas de mélanger les chansons de manière aléatoire. En fait, je peux prédire avec précision la séquence exacte des chansons que iTunes va jouer. Cela me frustre sans fin parce que j'aime écouter ma musique au hasard, mais j'ai quelques chansons préférées avec lesquelles je commence toujours.

Par exemple, si je sélectionne la chanson «Quelqu'un que j'avais l'habitude de connaître» de Gotye, elle suivra toujours avec cette séquence exacte de chansons:

  1. Blame It On The Tetons de Modest Mouse
  2. Fille, tu n'as aucune foi en médecine par The White Stripes
  3. Mombassa de Hans Zimmer, de Inception Soundtrack
  4. Pause de l'aube par Michael Jackson
  5. Mots manquants de Mark Ronson et de Business International

La méthode que j'utilise pour démarrer les chansons n'a pas d'importance. J'ai essayé de sélectionner la chanson dans iTunes, de la rechercher et de la lire avec Coversutra , ou de la rechercher depuis iTunes, de la lire, puis de la désélectionner. Les trois méthodes joueront exactement la même séquence de chansons.

Je pensais que cela était peut-être dû à l'utilisation de la même graine, mais je reçois la même séquence après avoir redémarré iTunes ou même mon ordinateur. La séquence est la même d'une journée à l'autre. Attendre la fin de la chanson ou frapper ensuite ne change rien non plus.

J'ai ce problème (mais avec des séquences différentes) aussi longtemps que je me souvienne sur mon PC Windows, mon MacBook et mon iMac. Toutes les différentes versions d'iTunes et des systèmes d'exploitation, couvrant une période de 5 ans.

Pourquoi iTunes échoue-t-il si durement et si facilement? Y at-il un moyen que je puisse résoudre ce problème?

Josh Hunt
la source
Avez-vous essayé d'utiliser iTunes DJ à la place? J'ai trouvé que ça marche mieux.
daviesgeek
4
Que se passe-t-il lorsque vous désactivez puis réactivez le mode aléatoire? Cela fonctionne toujours pour moi, comme de mélanger le jeu de cartes une autre fois. Êtes-vous dans une liste de lecture normale ou quelque chose avec "smarts" comme DJ ou une liste de lecture intelligente?
bmike

Réponses:

205

La version récapitulative

Il est aléatoire, mais l'ordre est seulement une fois brassé, lorsque vous activez la lecture aléatoire. Si vous souhaitez modifier l’ordre, désactivez la lecture aléatoire, puis rallumez-la.

La version détaillée

Je ne pense pas que ce soit un bug, c'est une fonctionnalité. Bien que je puisse comprendre comment cela peut sembler cassé.

iTunes ne mélange pas l'ordre des pistes chaque fois que vous appuyez sur Play (ou sur un autre bouton de contrôle). Une autre façon de le dire est qu’il utilise la même graine pour votre liste de lecture à chaque fois que vous lui dites d’utiliser une autre graine.

Cela peut sembler contraire à l’idée de lecture aléatoire, mais c’est vraiment utile: cela permet aux boutons de sauter en arrière et d’avancer en avant d’une manière qui a du sens. Je peux reculer de 5 chansons quand il est en mode aléatoire d'entendre la chanson que j'ai entendue il y a 5 chansons, puis iTunes lit toutes les chansons que je viens d'entendre pour me ramener à l'endroit où j'étais avant de revenir à 5 chansons.

Je crois que la commande est vraiment aléatoire la première fois qu'elle est générée. Le problème est qu’il n’est jamais évident de recréer l’ordre par la suite, de sorte que votre cerveau, qui est vraiment doué pour reconnaître les motifs, est une technique de survie pratique lorsque vous chassez et que vous cueillez, commence à apprendre cet ordre au fil du temps. Il commence à trouver des modèles.

Vous pouvez voir que c'est le cas avec cette petite expérience. Réglez iTunes pour mélanger toute votre bibliothèque. Choisissez une piste. Jouez 5 pistes et écrivez-les. Choisissez maintenant une autre piste et laissez iTunes lire un ou deux morceaux après cela. Maintenant, retournez à votre première piste et recommencez à partir de là. Il va jouer cette piste et les cinq mêmes après celle que vous avez notée. Changer de piste n'a pas réenseminé le générateur de nombres aléatoires.

La traversée de vos pistes est vraiment aléatoire, mais cet ordre aléatoire n'est pas rafraîchi assez souvent pour qu'il commence à se sentir non aléatoire.

Alors, comment obtenez-vous iTunes pour générer une nouvelle commande aléatoire?

Vous décochez et revérifiez le bouton de lecture aléatoire. Cela oblige iTunes à recréer le chemin de traversée aléatoire dans votre liste de lecture (ou dans toute la bibliothèque). Il réensemence le générateur de nombres aléatoires.

Vous pouvez vous convaincre que cela est vrai avec une petite expérience. Prenez un album dont les métadonnées contiennent des numéros de piste, sélectionnez les pistes 1 à 5, puis sélectionnez Fichier -> Nouvelle liste de lecture à partir de la sélection ... dans le menu. Vous aurez maintenant une liste de lecture avec 5 chansons.

Sélectionnez cette liste de lecture et assurez-vous que le bouton de lecture aléatoire est éteint et que les numéros de piste sont affichés dans la fenêtre. iTunes vous montrera les pistes dans l'ordre: 1, 2, 3, 4, 5.

Maintenant, appuyez sur le bouton de lecture aléatoire.

iTunes vous montrera les pistes en panne. Je reçois: 4, 2, 1, 3, 5.

Appuyez maintenant sur le bouton de lecture aléatoire pour l'éteindre. Et rallumez-le.

Je reçois maintenant: 5, 2, 3, 4, 1.

Répétez autant de fois et vous avez besoin de vous convaincre qu'iTunes est en train de régénérer une séquence de parcours aléatoire à travers les pistes de votre liste de lecture.

C'est la même chose pour parcourir toute votre bibliothèque: si vous ne décochez et ne revérifiez jamais le bouton de lecture aléatoire, l'ordre ne sera jamais régénéré, de sorte que les choses commenceront à sembler non aléatoires. Après avoir décoché et revérifié shuffle et commencé à jouer toute ma bibliothèque à partir de la piste de départ originale de mon deuxième paragraphe ci-dessus, j'ai eu 5 chansons différentes après. L'ordre a donc été modifié, c'est moins évident quand vous regardez votre bibliothèque entière au lieu d'une playlist.

Il y a une mise en garde à cela: iTunes DJ (alias Party Shuffle) fonctionne différemment. Avec Party Shuffle, vous pouvez influencer la sélection de manière à attribuer une pondération aux chansons les plus populaires de votre bibliothèque. Ce n'est évidemment pas la lecture aléatoire. Donc, si vous voulez une lecture vraiment aléatoire, vous voulez mélanger toute votre bibliothèque à partir de la vue Musique de la barre latérale, et non de la vue iTunes DJ. Et vous voulez décocher et revérifier ce bouton de lecture aléatoire avant chaque session d'écoute pour le garder réellement imprévisible.

Ian C.
la source
15
Enfin une réponse utile à cette question! Je ne sais pas combien de fois il a été congédié.
Bryan Matthews
2
Votre réponse explique pourquoi je n'ai jamais vécu cela. Au cours de la journée, j'écoute les albums que je sélectionne et j'écoute les pistes dans l'ordre. Quand il reste une heure dans ma journée de travail, je passe en revue toute ma bibliothèque.
Cleggy
3
C'est vrai. J'ai implémenté la logique Shuffle dans une application iPhone appelée "Ambiance" et je devais le faire de cette façon pour les mêmes raisons: navigation en arrière et en avant.
coneybeare
2
J'ai adoré le moment où vous avez dit "Cela commence à trouver des motifs" et ça sonnait un peu comme "Ce n'est pas le problème d'iTunes, c'est votre cerveau qui est en faute ici!"
Badp
2
@Bombe iTunes génère un ordre totalement aléatoire de votre liste entière, pas seulement un numéro unique. Cela permet aux boutons avant et arrière de fonctionner de manière judicieuse, même en mode aléatoire. L'expérience de la playlist en est une illustration.
Ian C.
19

Une autre raison pour laquelle iTunes ne génère le hasard qu’une fois est qu’elle permet de garantir que chaque piste est lue une fois sans duplication .

Si vous avez 1000 pistes en mode aléatoire, vous les aurez toutes écoutées après 1000 lectures. Cela ne fonctionnerait jamais si vous choisissiez une piste au hasard à chaque fois que vous jouez ou que vous terminez la piste précédente, vous obtiendrez des doublons à un moment donné.

graup
la source
1
De plus, vous ne pourriez pas utiliser les boutons sauter / inverser correctement.
Timothy Mueller-Harder
9

Je me souviens d’avoir lu quelque part que Apple utilisait à l’origine le véritable caractère aléatoire de la lecture aléatoire, mais les gens se plaignaient que la même chanson serait jouée deux ou trois fois de suite (ce qui est presque une certitude compte tenu du nombre d’utilisateurs). Ils l'ont rapidement changée et Steve Jobs l'a (plutôt bien) filé en "Les iPod sont maintenant moins aléatoires pour paraître aléatoires" lorsqu'il a publié le long métrage.

Shuffle a donc été modifié pour que la liste des pistes soit randomisée à chaque fois que vous la sélectionniez plutôt que de randomiser la chanson suivante - pour éliminer le risque de lectures doubles, triples, quadruples, etc.

Je me sens juste désolé pour le gars qui a coupé la même chanson 5 fois de suite malgré des milliers de chansons dans son iPod. Il y avait sûrement au moins un ...

Vic
la source
4

@Bombe et @IanC - il existe des générateurs de nombres pseudo-aléatoires réversibles, vous n'avez donc besoin que d'un seul nombre, pas de la séquence complète. Pensez-y, le temps pris pour générer la séquence ne dépend pas de la taille de votre collection musicale. Les algorithmes de chiffrement offrent une approche, car tout algorithme de chiffrement qui ne modifie pas la longueur de l’entrée (par exemple, la machine Enigma, Caesar Ciphers) vous donnera des valeurs aléatoires que vous pouvez traiter en tant que nombre et vous pouvez déchiffrer toute chaîne. inverser la séquence.

Cependant, il est beaucoup plus simple d'utiliser un simple générateur de congruence linéaire, de la forme:

entrez la description de l'image ici

Si les constantes sont choisies de manière à générer chaque valeur inférieure à m, il s'avère qu'il existe un ensemble différent de constantes a ', c' qui inverse la séquence. Vous (ou Apple) devez seulement calculer le deuxième ensemble de constantes une fois. Une paire de générateurs inversés est la suivante:

entrez la description de l'image ici

Voir ici pour la dérivation . Vous choisissez ensuite une valeur de départ en utilisant votre horloge système, et hop - une séquence aléatoire réversible.

Il suffit ensuite de mapper des numéros de la plage [0, 2 32 -1] aux chansons de votre collection, ce qui est assez simple.

Si Shuffle fonctionne réellement en reproduisant les chansons dans le même ordre à chaque fois (comme l’indique le questionneur), Apple ne conserve pas un nombre aléatoire indépendant de la chanson en cours, car plusieurs numéros dans la plage 0..2 32 -1 mapper à la même chanson avec différentes chansons suivantes. Au lieu de cela, ils doivent utiliser la position de la chanson dans votre collection en tant que x n , puis mapper de x n + 1 sur une position de chanson. Cela signifierait que vous obtiendrez exactement l'effet décrit dans la question. La seule variation serait le point de départ, qui consisterait en un mappage de l’horloge sur x n , puis en calculant x n + 1 et en mappant celui-ci sur une position de morceau.

Bazzargh
la source
1
Avec iTunes au moins, l'application est obligée de montrer toute la séquence aléatoire de numéros générés pour une liste de lecture ou une bibliothèque, de sorte que l'utilisation de quelque chose de moins que simple ne semble pas avantageux. Dans tous les cas, il doit sortir les N pistes complètes. Et oui, ils utilisent l'index des chansons de votre collection (ou une liste de lecture) comme numéro de chanson lorsque vous créez un vecteur pour parcourir une collection. Bien que ce que vous décrivez dans le dernier paragraphe soit incorrect. Vous obtenez un vecteur différent à chaque lecture aléatoire. Pas simplement un point de départ différent.
Ian C.
3

Bien sûr, ce n'est pas vraiment aléatoire. Il y a de nombreuses années, Steve Jobs était le conférencier principal pour l'une des principales annonces de produits iPod. Il a déclaré que le mélange vraiment aléatoire pouvait aligner la même chanson deux fois ou plus à la suite. Ils ont donc retravaillé le shuffle pour le rendre moins aléatoire. D'une part, il a suivi les chansons de sorte qu'une seule chanson ne soit pas lue plus d'une fois dans une liste de lecture aléatoire. C'est donc une fonctionnalité et non un bug. Introduit par nul autre que Jobs lui-même.

Gardner
la source
1

Si vous remarquez que lorsque vous entrez dans une liste de lecture pour la première fois et que vous sélectionnez l'icône de lecture aléatoire, celle-ci est instantanément mélangée, puis lue dans cet ordre de manière séquentielle.

Si vous triez manuellement la liste de lecture différemment, par exemple, par artiste, puis sélectionnez l'icône de lecture aléatoire, votre liste de lecture ne sera pas modifiée visuellement et si vous commencez à écouter une chanson particulière, elle passera à la piste suivante de manière aléatoire à la fin de la chanson. que de passer séquentiellement à travers votre playlist.

Si vous fermez iTunes ou écoutez une liste de lecture différente pendant un certain temps, puis revenez à la liste originale et sélectionnez la même première chanson. La chanson suivante sera alors différente de la dernière fois (sauf pour une raison quelconque, la lecture aléatoire). la sélection est la même, mais cela se produira avec une fréquence décroissante à mesure que vos listes de lecture s'agrandissent).

alesplin
la source
-1

CNet a mené une étude il y a quelque temps qui prouvait qu'iTunes Shuffle lisait des chansons de studios spécifiques, des studios qui avaient des partenariats avec Apple plus souvent.

Donc, si vous vous demandez pourquoi vous entendez plus souvent des chansons pop lorsque vous utilisez la lecture aléatoire dans iTunes, vous savez maintenant pourquoi.

Maj
la source
Cette page ne dit pas si leurs résultats sont statistiquement significatifs ou non. Il n’est pas évident pour moi que leurs résultats seraient improbables étant donné une distribution parfaitement aléatoire.
Tanner Swett