Bug #1707
closedСлабая случайность в режиме случайной очереди воспроизведения.
100%
Description
даже при беглом взгляде на сырые данные журнала воспроизведения, выявляются повторящиеся последовательности и закономерные шаблоны
STR:
Здесь описан метод сбора данных для статанализа.
1. создадим базу данных, в которую будем их собирать:
sqlite3 /tmp/tracks.db 'create table tlog (url,album,title,artist);'
2. Скрипт ведущий лог:
/tmp/tlog.sh #! /bin/sh sqlite3 /tmp/tracks.db "insert into tlog values (\"$1\",\"$2\",\"$3\",\"$4\");" qdbus org.mpris.MediaPlayer2.LMP /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Next
4. настройки AN вызывающие логгер при смене трека:
5. выставляем режим воспроизведения очереди в случайное
6. загружаем плейлист
7. звук желательно отключить
8. жать play
Expected result:
Здесь должен был быть кусок статистики и теорвера, но не судьба.
Actual result:
На самом деле всё плохо, анализ данных можете провести сами, а в качестве примера вот:
% sqlite3 /tmp/tracks.db 'select count(*),url from tlog group by url having count(*) > 9;' | sort -rg 283|file:///var/lib/mpd/music/c85.ar/(C85)(同人音楽)[Hollow Mellow] Hollow Mellow -Sweet Greed- (v0+jpg)/01. Candy Prison -グレーテル-.mp3 140|file:///var/lib/mpd/music/c85.ar/(C85)(同人音楽)[Hollow Mellow] Hollow Mellow -Sweet Greed- (v0+jpg)/02. Control Me -醜いアヒルの娘-.mp3 104|file:///var/lib/mpd/music/c85.ar/(C85)(同人音楽)[Hollow Mellow] Hollow Mellow -Sweet Greed- (v0+jpg)/03. Lonely Prince -おおかみと3匹の子豚-.mp3 67|file:///var/lib/mpd/music/c85.ar/(C85)(同人音楽)[Hollow Mellow] Hollow Mellow -Sweet Greed- (v0+jpg)/04. Just one more dance -灰かぶり-.mp3 57|file:///var/lib/mpd/music/c85.ar/(C85)(同人音楽)[Queen of Wand] Queen of Wand〜年越しディスク〜 (v0+jpg)/01. ラブソング.mp3 55|file:///var/lib/mpd/music/c85.ar/(C85)(同人音楽)[Kikuo Sound Works] KIKUOWORLD3 (flac+log+png)/(C85)(同人音楽)[Kikuo Sound Works] KIKUOWORLD3 (flac+log+png)/Sight, Noise, Life and the Earth.flac 39|file:///var/lib/mpd/music/c85.ar/(C85)(同人音楽)[Queen of Wand] Queen of Wand〜年越しディスク〜 (v0+jpg)/02. ピアノ想奏曲第3番<恋>.mp3 34|file:///var/lib/mpd/music/c85.ar/(C85)(同人音楽)[Queen of Wand] Queen of Wand〜年越しディスク〜 (v0+jpg)/03. Message from 睦鬼.mp3 33|file:///var/lib/mpd/music/c85.ar/(C85)(同人音楽)[うさちゃんスタジオ] ヲワリ奏でし塵芥 (v0+jpg)/02. 兎演舞〜instrumental〜.mp3 25|file:///var/lib/mpd/music/c85.ar/(C85)(同人音楽)[六弦アリス] 不思議の国の音哲樂 夢語り篇 -先見- (v0+jpg)/01. クロノ・イリュージョン.mp3 23|file:///var/lib/mpd/music/c85.ar/(C85)(同人音楽)[うさちゃんスタジオ] ヲワリ奏でし塵芥 (v0+jpg)/01. 奏上天斬華.mp3 22|file:///var/lib/mpd/music/c85.ar/(C85)(同人音楽)[埼玉最終兵器 & Aether] Critical Unbalance (320k)/01 懐かしき東方の血 ~ Old World.mp3 20|file:///var/lib/mpd/music/c85.ar/(C85)(同人音楽)[六弦アリス] 不思議の国の音哲樂 夢語り篇 -先見- (v0+jpg)/02. 被検体一号 エドワード.mp3 19|file:///var/lib/mpd/music/c85.ar/(C85)(同人音楽)[うさちゃんスタジオ] ヲワリ奏でし塵芥 (v0+jpg)/03. 夕凪岬.mp3 18|file:///var/lib/mpd/music/c85.ar/(C85)(同人音楽)[埼玉最終兵器 & Aether] Critical Unbalance (320k)/02 幻視の夜 ~ Ghostly Eyes [Ver.CU].mp3 17|file:///var/lib/mpd/music/c85.ar/(C85)(同人音楽)[六弦アリス] 不思議の国の音哲樂 夢語り篇 -先見- (v0+jpg)/04. Bonus.mp3 16|file:///var/lib/mpd/music/c85.ar/(C85)(同人音楽)[埼玉最終兵器 & Aether] Critical Unbalance (320k)/05 リバースイデオロギー.mp3 16|file:///var/lib/mpd/music/c85.ar/(C85)(同人音楽)[埼玉最終兵器 & Aether] Critical Unbalance (320k)/04 月まで届け、不死の煙.mp3 16|file:///var/lib/mpd/music/c85.ar/(C85)(同人音楽)[六弦アリス] 不思議の国の音哲樂 夢語り篇 -先見- (v0+jpg)/03. 春、来タリテ.mp3 14|file:///var/lib/mpd/music/c85.ar/(C85)(同人音楽)[うさちゃんスタジオ] ヲワリ奏でし塵芥 (v0+jpg)/04. 無銘刀.mp3 14|file:///var/lib/mpd/music/c85.ar/(C85)[131230] IRON ATTACK! - THUNDER CRACK [FLAC]/(C85)[131230] IRON ATTACK! - THUNDER CRACK [FLAC]/02 - Thundercrack.flac 13|file:///var/lib/mpd/music/c85.ar/(C85)(同人音楽)[埼玉最終兵器 & Aether] Critical Unbalance (320k)/06 輝く針の小人族 ~ Little Princess.mp3 12|file:///var/lib/mpd/music/c85.ar/(C85)(同人音楽)[木製みゅーと] 神楽ノ花 (v0+jpg)/05. 木の葉、ひとひら.mp3 12|file:///var/lib/mpd/music/c85.ar/(C85)(同人音楽)[木製みゅーと] 神楽ノ花 (v0+jpg)/02. 七つ柊水光.mp3 12|file:///var/lib/mpd/music/c85.ar/(C85)(同人音楽)[木製みゅーと] 神楽ノ花 (v0+jpg)/01. 七つ一旋桜.mp3 12|file:///var/lib/mpd/music/c85.ar/(C85)[131230] IRON ATTACK! - THUNDER CRACK [FLAC]/(C85)[131230] IRON ATTACK! - THUNDER CRACK [FLAC]/01 - Cloud covers.flac 11|file:///var/lib/mpd/music/c85.ar/(C85)(同人音楽)[発熱巫女~ず] アルカロイド (FLAC)/(C85)(同人音楽)[発熱巫女~ず] アルカロイド (FLAC)/06 Vampire's Walk.flac 11|file:///var/lib/mpd/music/c85.ar/(C85)(同人音楽)[発熱巫女~ず] アルカロイド (FLAC)/(C85)(同人音楽)[発熱巫女~ず] アルカロイド (FLAC)/01 あしおと-introduction.flac 11|file:///var/lib/mpd/music/c85.ar/(C85)[131230] TAMUSIC - 東方弦奏歌-INFINITY- [FLAC]/(C85)[131230] TAMUSIC - 東方弦奏歌-INFINITY- [FLAC]/08 - inflation.flac 11|file:///var/lib/mpd/music/c85.ar/(C85)[131230] IRON ATTACK! - THUNDER CRACK [FLAC]/(C85)[131230] IRON ATTACK! - THUNDER CRACK [FLAC]/03 - HAMMER'S BUTT.flac 10|file:///var/lib/mpd/music/c85.ar/(C85)(同人音楽)[埼玉最終兵器 & Aether] Critical Unbalance (320k)/03 竹取飛翔 ~ Lunatic Princess [Ver.CU].mp3
Самая мякотка по альбомам:
% sqlite3 /tmp/tracks.db 'select count(*),album from tlog group by album having count(*) > 9;' | sort -rg 602|Hollow Mellow -Sweet Greed- 131|Queen of Wand~年越しディスク~ 105|Critical Unbalance 96|WEE OST 91|ヲワリ奏でし塵芥 81|不思議の国の音哲樂 夢語り篇 -先見- 80|THUNDER CRACK 56|幻想遊戯<集> ~ Museum of marasy 56|KIKUOWORLD3 55|神楽ノ花 53|東方弦奏歌-INFINITY- 51|アルカロイド 47|Clock M 41|燃ゆる海原 ~Sail up~ 39|Touhou Project pops arranged instruments4 36|Comte 32|le Grimoire De reve 31|DECADE OF EXPOSE 27|Midnight 26| 25|東方爆音ジャズ5 20|東方映画音楽選 - TOHO FILM MUSIC SELECTION - ~ 花舞う調べ 17|Grow Color 17|Amateras Records Exclusive Disc 2013 Winter 15|夜鳥弦樂祭 15|RAVER'S NEST 2 TOHO RAVE PARTY 15|AD: Trance 3 13|No Crap on Tap! 13|Misty Lake In Wonderland 12|TWILIGHT SYMPHONY 12|The Definitive Tutti Sound vol.1 12|Hello and Again LP 11|TANO*C Extra Disc 2: DJ Noriken vs P*Light Mix 11|Over the Mythologia 11|Grand-Guignol 11|DEAD SILENCE 10|艦これメタルアレンジCD~鋼材マシマシ~ 10|destrUctioN <=> resurrectiON
Ну, и да, если кто-то возомнит, что это норм, то вот самая повторяющаяся последовательность из лога:
% sqlite3 /tmp/tracks.db 'select album,title from tlog;' | less Hollow Mellow -Sweet Greed-|Candy Prison -グレーテル- ... Hollow Mellow -Sweet Greed-|Just one more dance -灰かぶり- Hollow Mellow -Sweet Greed-|Candy Prison -グレーテル- ... Hollow Mellow -Sweet Greed-|Lonely Prince -おおかみと3匹の子豚- Hollow Mellow -Sweet Greed-|Candy Prison -グレーテル- ... Hollow Mellow -Sweet Greed-|Lonely Prince -おおかみと3匹の子豚- Hollow Mellow -Sweet Greed-|Candy Prison -グレーテル- ... Hollow Mellow -Sweet Greed-|Control Me -醜いアヒルの娘- Hollow Mellow -Sweet Greed-|Candy Prison -グレーテル- ... Hollow Mellow -Sweet Greed-|Control Me -醜いアヒルの娘- Hollow Mellow -Sweet Greed-|Candy Prison -グレーテル- ...
К отчету прилагаются файлы баз данных коллекции LMP и журнала воспроизведения, а также плейлист.
Вывод выше приведенных команд анализа базы данных журнала может отличаться от вашего, так как сбор данных продолжается пока готовлю этот отчет.
% emerge --info lc-core lc-lmp qtcore qtmultimedia dev-qt/qt-mobility boost boost-build Portage 2.2.12 (python 3.3.5-final-0, hardened/linux/amd64, gcc-4.8.3, glibc-2.19-r1, 3.14.16-gentoo x86_64) ================================================================= System Settings ================================================================= System uname: Linux-3.14.16-gentoo-x86_64-Intel-R-_Core-TM-_i5_CPU_M_460_@_2.53GHz-with-gentoo-2.2 KiB Mem: 8040296 total, 1262448 free KiB Swap: 16777196 total, 13780832 free Timestamp of tree: Tue, 19 Aug 2014 14:30:01 +0000 ld GNU ld (GNU Binutils) 2.23.2 ccache version 3.1.9 [disabled] app-shells/bash: 4.2_p45 dev-java/java-config: 2.2.0 dev-lang/python: 2.7.7, 3.3.5-r1 dev-util/ccache: 3.1.9-r3 dev-util/cmake: 2.8.12.2-r1 dev-util/pkgconfig: 0.28-r2 sys-apps/baselayout: 2.2 sys-apps/openrc: 0.12.4 sys-apps/sandbox: 2.6-r1 sys-devel/autoconf: 2.13, 2.69 sys-devel/automake: 1.10.3, 1.11.6, 1.12.6, 1.13.4 sys-devel/binutils: 2.23.2 sys-devel/gcc: 4.7.3-r1, 4.8.3, 4.9.1 sys-devel/gcc-config: 1.7.3 sys-devel/libtool: 2.4.2-r1 sys-devel/make: 3.82-r4 sys-kernel/linux-headers: 3.13 (virtual/os-headers) sys-libs/glibc: 2.19-r1 Repositories: gentoo local rusxmms science mpd Installed sets: @kde-4.13, @leechcraft-my-live ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="*" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=native -mtune=native -O2 -pipe -flto" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /lib64/udev/rules.d/40-usb_modeswitch.rules /sbin/mount.ntfs /sbin/mount.ntfs-3g /usr/bin/lesspipe.sh /usr/bin/localepurge /usr/bin/mpDris2 /usr/bin/offimport_cd.sh /usr/bin/proxyresolv /usr/sbin/zram-init /usr/share/1X11/locale/locale.dir /usr/share/X11/locale/compose.dir /usr/share/X11/locale/locale.alias /usr/share/X11/locale/ru_RU.UTF-8 /usr/share/X11/xkb /usr/share/alsa/alsa.conf /usr/share/autostart /usr/share/awesome/lib/vicious/widgets/fs.lua /usr/share/config /usr/share/easy-rsa /usr/share/gnupg/qualified.txt /usr/share/hibernate/scriptlets.d/fbsplash /usr/share/recoll/filters /usr/share/services/kontact/basket.desktop /usr/share/shorewall/configfiles /usr/share/themes/oxygen-gtk/gtk-2.0 /usr/share/themes/oxygen-gtk/gtk-3.0 /usr/share/usb_modeswitch/05c6:2001:sVe=Rover /var/bind /var/lib/hsqldb /var/lib/neatx/home" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CXXFLAGS="-march=native -mtune=native -O2 -pipe -flto" DISTDIR="/mnt/usb_storage/archive/distfiles/gentoo/distfiles" EMERGE_DEFAULT_OPTS="--with-bdeps=y --keep-going -j2" FCFLAGS="-march=native -mtune=native -O2 -pipe -flto" FEATURES="assume-digests binpkg-logs candy cgroup config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync metadata-transfer news parallel-fetch parallel-install preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-march=native -mtune=native -O2 -pipe -flto" GENTOO_MIRRORS="http://gentoo.tups.lv/source/ ftp://ftp.ds.karen.hj.se/gentoo/ http://trumpetti.atm.tut.fi/gentoo/ http://distfiles.gentoo.org" LANG="ru_RU.UTF-8" LC_ALL="" LDFLAGS="-Wl,-O1 -Wl,--as-needed,--hash-style=gnu,--sort-common -flto" MAKEOPTS="-j5" PKGDIR="/mnt/usb_storage/archive/distfiles/gentoo/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/portage-overlay/local /usr/portage-overlay/layman/rusxmms /usr/portage-overlay/layman/science /usr/portage-overlay/layman/mpd" USE="7zip X a52 aac acl acpi alsa amd64 amr asf avahi bash-completion berkdb bluetooth branding bzip2 cairo canna caps cdda cdparanoia cdr cjk clamav cli consolekit cracklib crypt cups curl curlwrappers cxx dbus declarative directfb djvu dri dts dv dvd dvdr elf emboss encode exif expat fam fbcon fbsplash ffmpeg finger firefox flac fontconfig foomaticdb ftp gcj gd gdbm geoip gif gimp gmp gnutls gpm gps gsm gstreamer gzip handbook hardened hddtemp iconv icu idn imagemagick imap imlib ipv6 jabber jack java6 javascript jingle jit jpeg justify kde kipi kontact ladspa latex lcms ldap libass libnotify libsamplerate lm_sensors logrotate lzma lzo m17n-lib mad maildir matroska mbox memlimit mikmod mime mmap mms mmx mmxext mng modplug modules mp3 mp4 mpeg mplayer mtp multilib musepack musicbrainz nas ncurses networkmanager nls nntp nocd nptl nsplugin ntlm offensive ogg opengl openmp orc osc pam pango pcntl pcre pda pdf phonon plasma png policykit posix postscript pulseaudio qt3support qt4 quicktime rar raw readline recode reiserfs rtc samba scanner sdl semantic-desktop session sharedmem shorten slang smp sndfile sockets socks5 sound sox speex spell sse sse2 sse4 sse4_1 sse4a ssl ssse3 startup-notification svg syslog sysvipc szip taglib tcpd theora threads tiff timidity truetype ucs2 udev udisks unicode upower urandom usb userlocales v4l vcd vdpau vhosts videos vnc vorbis wavpack wifi wmf x264 xattr xcb xcomposite xface xfs xft xinerama xml xmpp xosd xpm xrandr xscreensaver xtpax xv xvid xvmc zeroconf zlib zsh-completion" ABI_X86="64" ALSA_CARDS="hda-intel" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="directory template uvc" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="evdev synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer wiki-publisher" LINGUAS="ru ru_RU" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_3" RUBY_TARGETS="ruby19 ruby20" SANE_BACKENDS="epson snapscan" USERLAND="GNU" VIDEO_CARDS="nvidia v4l" XTABLES_ADDONS="account chaos checksum condition delude dhcpmac dnetmap echo fuzzy geoip gradm iface ipmark ipp2p ipv4options length2 logmark lscan pknock psd quota2 rawnat steal sysrq tarpit tee" Unset: CPPFLAGS, CTARGET, INSTALL_MASK, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, SYNC, USE_PYTHON ================================================================= Package Settings ================================================================= app-leechcraft/lc-core-9999 was built with the following: USE="debug qwt sqlite -doc -postgres" ABI_X86="64" CFLAGS="-march=native -mtune=native -O2 -pipe -flto -fno-lto -ggdb -fno-lto" CXXFLAGS="-march=native -mtune=native -O2 -pipe -flto -fno-lto -ggdb -fno-lto" LDFLAGS="-Wl,-O1 -Wl,--as-needed,--hash-style=gnu,--sort-common -flto -fno-lto -fno-lto" app-leechcraft/lc-lmp-9999 was built with the following: USE="(consolekit) debug fradj graffiti guess mp3tunes mpris (policykit) potorchu" ABI_X86="64" CFLAGS="-march=native -mtune=native -O2 -pipe -flto -fno-lto -ggdb -fno-lto" CXXFLAGS="-march=native -mtune=native -O2 -pipe -flto -fno-lto -ggdb -fno-lto" LDFLAGS="-Wl,-O1 -Wl,--as-needed,--hash-style=gnu,--sort-common -flto -fno-lto -fno-lto" dev-qt/qtcore-4.8.5-r2 was built with the following: USE="debug exceptions glib iconv icu qt3support ssl (-aqua) (-pch)" ABI_X86="64" CFLAGS="-march=native -mtune=native -O2 -pipe -flto -fno-lto -ggdb" CXXFLAGS="-march=native -mtune=native -O2 -pipe -flto -fno-lto -ggdb" LDFLAGS="-Wl,-O1 -Wl,--as-needed,--hash-style=gnu,--sort-common -flto -fno-lto" dev-qt/qtmultimedia-4.8.5 was built with the following: USE="alsa (consolekit) debug exceptions (policykit) (-aqua) (-pch)" ABI_X86="64" CFLAGS="-march=native -mtune=native -O2 -pipe -flto -fno-lto -ggdb" CXXFLAGS="-march=native -mtune=native -O2 -pipe -flto -fno-lto -ggdb" LDFLAGS="-Wl,-O1 -Wl,--as-needed,--hash-style=gnu,--sort-common -flto -fno-lto" dev-qt/qt-mobility-1.2.2_p20130703 was built with the following: USE="bluetooth contacts debug multimedia networkmanager pulseaudio qml tools -bearer -connectivity -doc -feedback -gallery -location -messaging -organizer -publishsubscribe -sensors -serviceframework -systeminfo -versit" ABI_X86="64" CFLAGS="-march=native -mtune=native -O2 -pipe -flto -fno-lto -ggdb" CXXFLAGS="-march=native -mtune=native -O2 -pipe -flto -fno-lto -ggdb" LDFLAGS="-Wl,-O1 -Wl,--as-needed,--hash-style=gnu,--sort-common -flto -fno-lto" dev-libs/boost-1.55.0-r2 was built with the following: USE="icu nls python threads -context -debug -doc -mpi -static-libs -tools" ABI_X86="64 -32 -x32" PYTHON_TARGETS="python2_7 python3_3 -python3_2 -python3_4" CFLAGS="-march=native -mtune=native -O2 -pipe -flto -fno-lto" CXXFLAGS="-march=native -mtune=native -O2 -pipe -flto -fno-lto -std=gnu++98" LDFLAGS="-Wl,-O1 -Wl,--as-needed,--hash-style=gnu,--sort-common -flto -fno-lto" dev-util/boost-build-1.55.0 was built with the following: USE="-examples -python -test" ABI_X86="64"
System information:
LeechCraft 0.6.70-456-gfddf823
Built with Qt 4.8.5, running with Qt 4.8.5
Running on: Gentoo/Linux x86_64 3.14.16-gentoo #1 SMP PREEMPT Tue Aug 12 07:14:12 MSK 2014
Files