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

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

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

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

  1. Обвинять его в тетонах по Modest Mouse
  2. У девушки нет веры в медицине у белых полос.
  3. Момбаса Ханса Циммера, из Саундтрека к фильму
  4. Перерыв Рассвета Майкла Джексона
  5. Отсутствующие слова Марка Ронсона и Делового Интернационала.

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

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

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

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

153 голоса | спросил Josh Hunt 26 PM00000030000003631 2011, 15:24:36

7 ответов


202

Сводная версия

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

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

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

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

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

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

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

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

Итак, как вы получаете iTunes для создания нового порядка тасования?

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

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

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

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

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

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

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

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

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

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

ответил Ian C. 26 PM00000050000001531 2011, 17:42:15
17

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

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

ответил graup 27 J000000Friday12 2012, 23:22:46
8

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

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

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

ответил Vic 27 J000000Friday12 2012, 19:35:09
2

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

ответил Gardner 28 J000000Saturday12 2012, 00:11:52
2

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

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

  

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

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

  

введите описание изображения здесь>> </p>
</blockquote>

<p> См. <a href= здесь для вывода . Затем вы выбираете начальное значение, используя системные часы, и hey presto - обратимая случайная последовательность.

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

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

ответил bazzargh 28 J000000Saturday12 2012, 00:11:55
0

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

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

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

ответил alesplin 31 AM00000030000004131 2011, 03:23:41
-1

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

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

ответил Maj 28 J000000Saturday12 2012, 03:47:35

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132