Почему iTunes не случайный случайный выбор?

157

Эта проблема беспокоила меня в течение последних 5 лет на разных устройствах, в операционных системах и при установке iTunes и iPod.

Я обнаружил, что функция iTunes shuffle не воспроизводит песни в случайном порядке. На самом деле, я могу точно предсказать точную последовательность песен, которые будет воспроизводить iTunes. Это разочаровывает меня без конца, потому что я люблю слушать мою музыку в случайном порядке, но у меня есть несколько любимых песен, с которых я всегда начинаю.

Например, если я выберу песню «Somebody That I Used To Know» Готье, она всегда будет следовать с такой точной последовательностью песен:

  1. Во всем виноваты скромные мыши
  2. Девушка, у тебя нет веры в медицину белыми полосами
  3. Момбасса Ханса Циммера, из саундтрека к началу
  4. Рассвет Майкла Джексона
  5. Недостающие слова Марка Ронсона и Business International

Метод, который я использую для запуска песен, не имеет значения. Я попытался выбрать песню в iTunes, найти ее и воспроизвести с помощью Coversutra или выполнить поиск в iTunes, воспроизвести песню и затем очистить поиск. Все три метода будут воспроизводить одну и ту же последовательность песен.

Я подумал, что это может быть из-за того же семени, но я получаю ту же последовательность после перезапуска iTunes или даже моего компьютера. Последовательность одинакова для разных дней. Ожидание, пока песня закончится, или нажатие следующей ничего не меняет.

У меня была эта проблема (но с разными последовательностями), сколько я себя помню, на моем ПК с Windows, MacBook и iMac. Все разные версии iTunes и операционные системы, охватывающие 5 лет.

Почему iTunes терпит неудачу так сильно и так легко? Есть ли способ, как я могу это исправить?

Джош Хант
источник
Вы пытались использовать iTunes DJ вместо этого? Я обнаружил, что это работает лучше.
daviesgeek
4
Что происходит, когда вы выключаете режим перемешивания и снова включаете его? Это всегда работает для меня как перетасовывание колоды карт в другой раз. У вас нормальный плейлист или что-то с "умом", например, DJ или умный плейлист?
bmike

Ответы:

205

Краткая версия

Это является случайным, но порядок только перемешивается один раз, когда вы включаете воспроизведение в случайном порядке на. Если вы хотите перетасовать порядок, выключите и снова включите воспроизведение в случайном порядке.

Подробная версия

Я не думаю, что это ошибка, это особенность. Хотя я могу понять, как это может показаться сломанным.

iTunes не меняет порядок дорожек каждый раз, когда вы нажимаете кнопку воспроизведения (или любую другую кнопку управления). Другой способ сказать это: он использует одно и то же начальное число для вашего плейлиста каждый раз, пока вы не скажете ему использовать другое начальное число.

Это может показаться противоречащим идее тасования, но на самом деле оно служит цели: оно позволяет кнопкам пропуска назад и пропуска вперед работать таким образом, который имеет смысл. Я могу переместить 5 песен назад, пока они в случайном порядке, чтобы услышать песню, которую я услышал 5 песен назад, а затем iTunes воспроизводит все песни, которые я только что услышал, чтобы вернуть меня к месту, в котором я находился, прежде чем вернуться к 5 песням.

Я верю, что порядок является действительно случайным при первом создании. Проблема в том, что никогда не очевидно, как после этого заново сгенерировать порядок, так что ваш мозг, который действительно хорошо распознает шаблоны, поскольку это удобный навык выживания, когда вы охотитесь и собираете, начинает изучать порядок со временем. Начинает искать закономерности.

Вы можете видеть, что это имеет место с этим небольшим экспериментом. Установите iTunes, чтобы перемешать всю вашу библиотеку. Выберите трек. Сыграйте 5 треков и запишите их. Теперь выберите любой другой трек и позвольте iTunes воспроизвести одну или две песни после этого. Теперь вернитесь к своему первому треку и играйте оттуда снова. Он будет воспроизводить этот трек и те же пять после него, которые вы записали. Смена треков не заполнила генератор случайных чисел.

Обход ваших треков действительно случайный, но этот случайный порядок обновляется недостаточно часто, поэтому он начинает казаться неслучайным.

Так как же заставить iTunes генерировать новый порядок случайного воспроизведения?

Вы снимаете галочку и перепроверяете кнопку перемешивания. Это приводит к тому, что iTunes воссоздает случайный путь прохождения через ваш плейлист (или всю библиотеку). Это заново запускает генератор случайных чисел.

Вы можете убедить себя в этом с небольшим экспериментом. Возьмите альбом с номерами треков в метаданных и выберите треки с 1 по 5, затем в меню выберите «Файл» -> «Новый список воспроизведения из списка ...». Теперь у вас есть плейлист с 5 песнями.

Выберите этот список воспроизведения и убедитесь, что кнопка воспроизведения в случайном порядке не горит и номера треков отображаются в окне. iTunes покажет вам треки в порядке: 1, 2, 3, 4, 5.

Теперь нажмите кнопку перемешивания.

iTunes покажет вам треки не по порядку. Я получаю: 4, 2, 1, 3, 5.

Теперь нажмите кнопку перемешивания, чтобы выключить его. И включи его снова.

Теперь я получаю: 5, 2, 3, 4, 1.

Повторите столько раз, сколько нужно, чтобы убедиться, что iTunes на самом деле генерирует случайную последовательность обходов по дорожкам в вашем плейлисте.

Это то же самое, что и обход всей вашей библиотеки: если вы никогда не снимаете галочку и не перепроверяете кнопку перемешивания, ордер никогда не восстанавливается, поэтому все начинает казаться неслучайным. После того, как я снял флажок и перепроверил случайное воспроизведение и начал играть всю мою библиотеку с моего исходного начального трека из моего второго абзаца выше, на этот раз я получил 5 разных песен. Таким образом, порядок был изменен, он становится менее очевидным, когда вы смотрите на всю свою библиотеку вместо списка воспроизведения.

Есть предостережение ко всему этому: iTunes DJ (он же Party Shuffle) работает по-другому. С помощью Party Shuffle вы можете влиять на выбор, так что в вашей библиотеке есть вес, присвоенный более популярным песням. Это, очевидно, не случайное воспроизведение. Поэтому, если вы хотите действительно случайное воспроизведение, вы хотите перетасовать всю библиотеку из представления «Музыка» на боковой панели, а не из представления iTunes DJ. И вы хотите снять и перепроверить эту кнопку перемешивания перед каждым сеансом прослушивания, чтобы сохранить ее действительно непредсказуемой.

Ян С.
источник
15
Наконец-то полезный ответ на этот вопрос! Я не знаю, сколько раз его увольняли с рук.
Брайан Мэтьюз
2
Ваш ответ объясняет, почему я никогда не сталкивался с этим. В течение дня я слушаю выбранные альбомы, слушая треки по порядку. Когда в моем рабочем дне остается час, я переключаюсь, чтобы перетасовать всю мою библиотеку.
Cleggy
3
Это правда. Я реализовал логику Shuffle в приложении для iPhone под названием «Ambiance», и мне пришлось делать это по тем же причинам: навигация назад и вперед.
coneybeare
2
Мне очень понравился момент, когда вы сказали: «Он начинает находить шаблоны», и это звучало так: «Это не проблема iTunes, это ваш мозг, который виноват здесь!»
Badp
2
@Bombe iTunes генерирует абсолютно случайный порядок всего списка, а не только одного числа. Это позволяет кнопкам «Вперед» и «Назад» работать разумно, даже если они находятся в режиме произвольного воспроизведения. Эксперимент с плейлистом иллюстрирует это.
Ян С.
19

Еще одна причина, по которой iTunes генерирует случайность только один раз, заключается в том, что таким образом он может гарантировать, что каждый трек воспроизводится один раз без дубликатов .

Если у вас есть 1000 треков в режиме случайного воспроизведения, после 1000 прослушиваний вы прослушаете их все. Это никогда не сработало бы, если бы случайным образом выбирался трек каждый раз, когда вы нажимали кнопку воспроизведения или предыдущий трек заканчивался, в какой-то момент вы получите дубликаты.

graup
источник
1
Кроме того, вы не сможете правильно использовать кнопки пропуска / реверса.
Тимоти Мюллер-Хардер
9

Я помню, как читал где-то, что яблоко изначально использовало настоящую случайность в случайном порядке, но люди жаловались, что одна и та же песня будет проигрываться два или три раза подряд (что можно было бы ожидать почти как уверенность, учитывая количество пользователей). Они быстро изменили его, и Стив Джобс (довольно хорошо) раскрутил его: «iPod теперь стал менее случайным, чтобы казаться случайным», когда он выпустил эту функцию.

Таким образом, в случайном порядке был изменен случайный список треков при каждом выборе, а не случайный выбор следующей песни - чтобы исключить риск двойного, тройного, четырехкратного воспроизведения и т. Д.

Мне просто жаль парня, который копировал одну и ту же песню 5 раз подряд, несмотря на то, что у него в iPod тысячи песен. Конечно, был хотя бы один ...

Vic
источник
4

@Bombe и @IanC - существуют обратимые генераторы псевдослучайных чисел, поэтому вам нужен только один номер, а не вся последовательность. Подумайте об этом, время, затрачиваемое на создание последовательности, не зависит от размера вашей музыкальной коллекции. Алгоритмы шифрования предлагают один подход, так как любой алгоритм шифрования, который не изменяет длину ввода (например, Enigma Machine, Caesar Ciphers), даст вам значения случайных чисел, которые вы можете рассматривать как число, и вы можете расшифровать любую строку до в обратном порядке.

Однако гораздо проще просто использовать простой линейный конгруэнтный генератор в форме:

введите описание изображения здесь

Если константы выбраны так, что будет сгенерировано каждое значение меньше m, то оказывается, что существует другой набор констант a ', c', которые обращают последовательность в обратном порядке. Вы (или Apple) должны рассчитать второй набор констант только один раз. Одна пара генераторов, которые противоположны друг другу:

введите описание изображения здесь

Смотрите здесь для вывода . Затем вы выбираете начальное значение, используя ваши системные часы, и эй presto - обратимую случайную последовательность.

Все, что тогда нужно, - это способ сопоставить числа в диапазоне [0, 2 32 -1] с песнями в вашей коллекции, что довольно просто.

Если shuffle действительно работает, воспроизводя песни в одном и том же порядке каждый раз, хотя (как описывает спрашивающий), то Apple не будет поддерживать случайное число, независимое от текущей песни - так как несколько чисел в диапазоне 0..2 32 -1 будет сопоставьте одну и ту же песню с различными последующими песнями. Вместо этого они должны использовать позицию песни в вашей коллекции как x n , а затем отображать из x n + 1 обратно в позицию песни. Это будет означать, что вы получите именно тот эффект, который описан в вопросе. Единственным изменением будет отправная точка, которая будет отображаться с часов на x n , затем вычисляться x n + 1 и отображаться обратно в позицию песни.

bazzargh
источник
1
По крайней мере, в случае iTunes приложение обязано показывать всю случайную последовательность чисел, сгенерированных для списка воспроизведения или библиотеки, поэтому использование чего-то менее простого кажется невыгодным. В любом случае он должен вывести значения из N треков. И да, они используют индекс песен в вашей коллекции (или список воспроизведения) в качестве номера для песни при создании вектора для обхода коллекции. Хотя то, что вы описываете в последнем абзаце, неверно. Вы получаете разные вектора каждый случай. Не просто другая отправная точка.
Ян С.
3

Конечно, это не совсем случайно. Много лет назад Стив Джобс делал Keynote для одного из главных анонсов продуктов iPod. Он заявил, что действительно случайный случайный случай может выстроить одну и ту же песню два или более раз подряд. Поэтому они переработали случайность, чтобы сделать ее менее случайной. Во-первых, он отслеживал песни, чтобы одна песня не воспроизводилась более одного раза в произвольном списке воспроизведения. Так что это особенность, а не ошибка. Представлено не кем иным, как самим Джобсом.

Гарднер
источник
1

Если вы заметили, что когда вы впервые вводите список воспроизведения и выбираете значок воспроизведения в случайном порядке, он мгновенно перетасовывает ваш список воспроизведения, а затем последовательно воспроизводится в этом порядке.

Если вы вручную сортируете плейлист по-разному, например, по исполнителю, затем выбираете значок воспроизведения в случайном порядке, ваш плейлист не будет смещаться визуально, и если вы начнете слушать конкретную песню, по окончании песни вы перейдете к случайному следующему треку, скорее чем последовательно просматривая ваш плейлист.

Если вы закрываете iTunes или некоторое время слушаете другой плейлист, затем возвращаетесь к исходному и выбираете ту же самую первую песню, следующая песня, которую она воспроизводит, будет отличаться от предыдущей (если, по какой-то причине, случайный выбор такой же, но это будет происходить с уменьшением частоты, поскольку ваши плейлисты становятся больше).

alesplin
источник
-1

Некоторое время назад CNet провела исследование , которое доказало, что iTunes Shuffle воспроизводит песни определенных студий, которые чаще всего сотрудничают с Apple.

Так что, если вам интересно, почему вы слышите попсовые песни ###### чаще, когда используете iTunes в случайном порядке, теперь вы знаете, почему.

Maj
источник
На этой странице не сказано, являются ли их результаты статистически значимыми или нет. Для меня не очевидно, что их результаты вряд ли будут иметь совершенно случайное распределение.
Таннер Светт