Home of the Squeezebox™ & Transporter® network music players.
Page 3 of 4 FirstFirst 1234 LastLast
Results 21 to 30 of 36
  1. #21
    Senior Member
    Join Date
    Aug 2012
    Location
    Austria
    Posts
    740
    Quote Originally Posted by dermicha View Post
    The creation of the mix needs 12 minutes to finish and it doesn┬┤t matter what seed track I use, I get always "Amy Winehouse - Back to Black" flac24 tracks. Always the same album. If I jump to the last track, I get the same tracks again.
    Run the app with debug logging (--log-level DEBUG), and check the lines
    Code:
    LMSWorker: seed track url=
    which is the song the next tracks will be based on.Is it always the same track?

    The static mix works without any problem, but it also needs about 12 minutes to finish and uses 100% cpu on one core for this time.
    See next post.

  2. #22
    Senior Member
    Join Date
    Aug 2012
    Location
    Austria
    Posts
    740

    New version

    V0.0.2 has been released. It includes a new feature (persisting a jukebox to the file system), which decreases startup times significantly.
    See the homepage for details on how to use it (section "writejukebox")

    Speedup is quite dramatic (on a RPi3 with 3000 tracks 5s vs. 2m6s):
    Code:
    $ time ./lmsmusly.py  --log-level INFO --db-path ~/tmp/soft/musly/ static --lms raspi3-64  --lms-player 00:11:22:33:44:55  20
    INFO:__main__:player 00:11:22:33:44:55: 20 tracks added
    real	2m6.303s
    
    $ time ./lmsmusly.py  --log-level INFO --db-path ~/tmp/soft/musly/ static --lms raspi3-64  --lms-player 00:11:22:33:44:55 --read-jukebox 20
    INFO:__main__:player 00:11:22:33:44:55: 20 tracks added
    real	0m5.064s

  3. #23
    Senior Member bakker_be's Avatar
    Join Date
    May 2009
    Location
    Kwaadmechelen, Belgium
    Posts
    695
    Quote Originally Posted by Roland0 View Post
    I'd suggest either using nohup (which will keep the process running after you log out), or tmux / GNU screen (which let you detach / re-attach your terminal session).
    In the latter case, set the log to debug, pipe the output to tee and grep for INFO, then you can easily have debug to a file and info to the screen without any fiddling with the code.
    Thanks for the nohup tip. In the meantime I'd discovered that indeed just closing putty actually terminates the session, not leaving the process running This saved me the time to search for a solution to that. It's running against my "Various Artists" compilation folder now, ▒30K tracks. Based on what I saw from a few earlier test runs, that should take around 11.5 hours on my system, as it averages 1.4 seconds/track.

    EDIT:
    It's run it's course. some numbers:
    Code:
    Start			End		Elapsed Time	Total tracks	Avg time/track
    7/01/2018 13:05		7/01/2018 13:11	0:06:23			277		00:00:01,383
    7/01/2018 13:22		7/01/2018 13:41	0:19:14			811		00:00:01,423
    8/01/2018 7:43		8/01/2018 18:36	10:53:04		29505		00:00:01,328
    Last edited by bakker_be; 2018-01-08 at 12:43.
    Main System: Touch; Marantz SR-5004 + TMA Premium 905 + TMA Premium 901 + Teufel Ultima 20 Mk 2 + BK Monolith+ FF + Lenovo T460 + Kodi + Pioneer PDP-LX5090H
    Workshop: iPad 32GB Wifi + Squeezepad (local playback activated)
    Wherever needed: Acer Iconia Tab A700 + Squeezeplayer
    Kitchen: iPhone 5s + iPeng (local playback activated) + NAD 312 + Teufel Ultima 20 Mk 2
    Headphone (cozy corner): Lenovo T550 + Squeezelite-X + Cyrus Soundkey + Topping A30 + Focal Elear
    Car: TBC ...

  4. #24
    Senior Member bakker_be's Avatar
    Join Date
    May 2009
    Location
    Kwaadmechelen, Belgium
    Posts
    695

    Playlist generation tests with v0.0.2

    First run, without jukebox LMS_MUSLY_001.txt
    Code:
    2018-01-08 21:07:44 __main__     INFO     database: /mnt/music/lmsmusly.db 
    2018-01-08 21:07:44 requests.packages.urllib3.connectionpool INFO     Starting new HTTP connection (1): 192.168.1.100
    2018-01-08 21:07:44 __main__     INFO     Server info: 192.168.1.100:9000 (7.9.1)
    	 - player: T550_SqueezeLite [54:ee:75:8a:f0:f9] @ 192.168.1.132:62641
    2018-01-08 21:17:15 lmsmusly.libmusly.musly INFO     add_tracks: added 29361 tracks
    2018-01-08 21:17:15 __main__     INFO     static_playlist: building playlist based on track /mnt/music/Various/Long Version Dossier/4722-Medley (P. Machinery-Relax).mp3
    2018-01-08 21:17:15 requests.packages.urllib3.connectionpool INFO     Resetting dropped connection: 192.168.1.100
    2018-01-08 21:17:18 __main__     INFO     player 54:ee:75:8a:f0:f9: 25 tracks added
    Jukebox creation
    Code:
    2018-01-08 21:25:51 __main__     INFO     database: /mnt/music/lmsmusly.db 
    2018-01-08 21:25:51 __main__     INFO     reading database
    2018-01-08 21:35:20 lmsmusly.libmusly.musly INFO     add_tracks: added 29361 tracks
    2018-01-08 21:35:20 __main__     INFO     created jukebox with 29361 tracks
    2018-01-08 21:35:20 __main__     INFO     jukebox written to /mnt/music/jukebox.bin
    Second run, using jukebox LMS_MUSLY_002.txt
    Code:
    2018-01-08 21:37:02 __main__     INFO     database: /mnt/music/lmsmusly.db 
    2018-01-08 21:37:02 requests.packages.urllib3.connectionpool INFO     Starting new HTTP connection (1): 192.168.1.100
    2018-01-08 21:37:02 __main__     INFO     Server info: 192.168.1.100:9000 (7.9.1)
    	 - player: T550_SqueezeLite [54:ee:75:8a:f0:f9] @ 192.168.1.132:62641
    2018-01-08 21:37:06 lmsmusly.libmusly.musly INFO     read_jukebox: musly_jukebox_fromfile: 29361 tracks
    2018-01-08 21:37:06 __main__     INFO     static_playlist: building playlist based on track /mnt/music/Various/Tour Of Duty/03-Born To Be Wild.flac
    2018-01-08 21:37:09 __main__     INFO     player 54:ee:75:8a:f0:f9: 25 tracks added
    With the exception of some repeated tracks the mixes seem OK. IMO this now needs 2 major changes:
    1. a way to limit the number of repetitions. Spicefly SugarCube, the best MusicIP implementation for LMS allows for several weighting optionsName:  20180108_MusicIP.PNG
Views: 136
Size:  17.4 KB
    2. it should use the last track of the current playlist in stead of the first. This would allow for a more "meandering" selection throughout the time music is played. This would also alleviate the fact that you get two times the exact same tracks when you execute the command twice in a row.
    Last edited by bakker_be; 2018-01-08 at 15:56. Reason: eleborated second enhancement
    Main System: Touch; Marantz SR-5004 + TMA Premium 905 + TMA Premium 901 + Teufel Ultima 20 Mk 2 + BK Monolith+ FF + Lenovo T460 + Kodi + Pioneer PDP-LX5090H
    Workshop: iPad 32GB Wifi + Squeezepad (local playback activated)
    Wherever needed: Acer Iconia Tab A700 + Squeezeplayer
    Kitchen: iPhone 5s + iPeng (local playback activated) + NAD 312 + Teufel Ultima 20 Mk 2
    Headphone (cozy corner): Lenovo T550 + Squeezelite-X + Cyrus Soundkey + Topping A30 + Focal Elear
    Car: TBC ...

  5. #25
    Senior Member
    Join Date
    Aug 2012
    Location
    Austria
    Posts
    740
    Quote Originally Posted by bakker_be View Post
    a way to limit the number of repetitions. Spicefly SugarCube, the best MusicIP implementation for LMS allows for several weighting options
    edit src/lmsmusly/utils/config.py:
    MSKIPDUPS = True

    it should use the last track of the current playlist in stead of the first. This would allow for a more "meandering" selection throughout the time music is played.
    edit src/lmsmusly/utils/config.py:
    LMS_SEEDTRACKIDX = 9

    Important: you'll have to start with a 10 track playlist for the latter to work

    Both of this options haven't really been tested, expect weird behavior

  6. #26
    Senior Member bakker_be's Avatar
    Join Date
    May 2009
    Location
    Kwaadmechelen, Belgium
    Posts
    695
    After 16 hours the analysis crashed, no specific message in the log ...
    Main System: Touch; Marantz SR-5004 + TMA Premium 905 + TMA Premium 901 + Teufel Ultima 20 Mk 2 + BK Monolith+ FF + Lenovo T460 + Kodi + Pioneer PDP-LX5090H
    Workshop: iPad 32GB Wifi + Squeezepad (local playback activated)
    Wherever needed: Acer Iconia Tab A700 + Squeezeplayer
    Kitchen: iPhone 5s + iPeng (local playback activated) + NAD 312 + Teufel Ultima 20 Mk 2
    Headphone (cozy corner): Lenovo T550 + Squeezelite-X + Cyrus Soundkey + Topping A30 + Focal Elear
    Car: TBC ...

  7. #27
    Senior Member
    Join Date
    Aug 2012
    Location
    Austria
    Posts
    740
    Quote Originally Posted by bakker_be View Post
    After 16 hours the analysis crashed, no specific message in the log ...
    Well, that makes finding the issue tricky.
    I'd suggest you analyze in batches. While I don't thing the size of the collection is the issue (someone wrote he analyzed ~120K songs successfully), it will narrow it down, and the tracks analyzed will be in the DB.
    One way to do it (adjust for your setup):
    Code:
    find /mnt/music/ -type f|split -l 10000 -d - tracks.
    for i in tracks.*; do ./lmsmusly.py analyze --db-path XXXX "$i"; done

  8. #28
    Senior Member
    Join Date
    Aug 2012
    Location
    Austria
    Posts
    740

    New version released

    v0.0.3 includes a web interface (note this requires cherrypy to be installed - see homepage for specifics)

  9. #29
    Ok, I tried with jukebox and now it is only Amy Winehouse...

    Code:
    DEBUG:lmsmusly.libmusly.musly:get_tracks_db: 155943 rows
    DEBUG:lmsmusly.libmusly.musly:read_jukebox: jukebox path: /opt/musly-0.2/db/jukebox.bin
    INFO:lmsmusly.libmusly.musly:read_jukebox: musly_jukebox_fromfile: 155943 tracks
    DEBUG:lmsmusly.libmusly.musly:get_jukebox_from_file: success
    DEBUG:__main__:init_muslytracksadded get_jukebox_from_file: numtracks 155943/155943/155943
    INFO:__main__:static_playlist: building playlist based on track /mnt/MUSIC_2/MUSIC/MUSIK_2/LOSSLESS/D/Disconnect - Indivision (2011)/02 - Good Intentions (Part I).flac
    DEBUG:lmsmusly.libmusly.musly:get_similars: seedtrack = <lmsmusly.libmusly.musly.c_float_Array_351 object at 0x7fc1342d19d8> numres=11
    DEBUG:__main__:static_playlist result id:   1 sim:      nan file: /mnt/MUSIC_1/MUSIC/MUSIK/24BIT_LOSSLESS/A/Amy Winehouse - Back To Black (24,96000) (2007)/02 - You Know I'm No Good.flac
    DEBUG:lmsmusly.lms.player:playlist_add: url= file:///mnt/MUSIC_1/MUSIC/MUSIK/24BIT_LOSSLESS/A/Amy%20Winehouse%20-%20Back%20To%20Black%20%2824%2C96000%29%20%282007%29/02%20-%20You%20Know%20I%27m%20No%20Good.flac
    DEBUG:requests.packages.urllib3.connectionpool:"POST /jsonrpc.js HTTP/1.1" 200 224
    DEBUG:__main__:static_playlist result id:   4 sim:      nan file: /mnt/MUSIC_1/MUSIC/MUSIK/24BIT_LOSSLESS/A/Amy Winehouse - Back To Black (24,96000) (2007)/05 - Back To Black.flac
    DEBUG:lmsmusly.lms.player:playlist_add: url= file:///mnt/MUSIC_1/MUSIC/MUSIK/24BIT_LOSSLESS/A/Amy%20Winehouse%20-%20Back%20To%20Black%20%2824%2C96000%29%20%282007%29/05%20-%20Back%20To%20Black.flac
    DEBUG:requests.packages.urllib3.connectionpool:"POST /jsonrpc.js HTTP/1.1" 200 202
    DEBUG:__main__:static_playlist result id:   7 sim:      nan file: /mnt/MUSIC_1/MUSIC/MUSIK/24BIT_LOSSLESS/A/Amy Winehouse - Back To Black (24,96000) (2007)/08 - Wake Up Alone.flac
    DEBUG:lmsmusly.lms.player:playlist_add: url= file:///mnt/MUSIC_1/MUSIC/MUSIK/24BIT_LOSSLESS/A/Amy%20Winehouse%20-%20Back%20To%20Black%20%2824%2C96000%29%20%282007%29/08%20-%20Wake%20Up%20Alone.flac
    DEBUG:requests.packages.urllib3.connectionpool:"POST /jsonrpc.js HTTP/1.1" 200 213
    DEBUG:__main__:static_playlist result id:   5 sim:      nan file: /mnt/MUSIC_1/MUSIC/MUSIK/24BIT_LOSSLESS/A/Amy Winehouse - Back To Black (24,96000) (2007)/06 - Love Is A Losing Game.flac
    DEBUG:lmsmusly.lms.player:playlist_add: url= file:///mnt/MUSIC_1/MUSIC/MUSIK/24BIT_LOSSLESS/A/Amy%20Winehouse%20-%20Back%20To%20Black%20%2824%2C96000%29%20%282007%29/06%20-%20Love%20Is%20A%20Losing%20Game.flac
    DEBUG:requests.packages.urllib3.connectionpool:"POST /jsonrpc.js HTTP/1.1" 200 220
    DEBUG:__main__:static_playlist result id:   8 sim:      nan file: /mnt/MUSIC_1/MUSIC/MUSIK/24BIT_LOSSLESS/A/Amy Winehouse - Back To Black (24,96000) (2007)/09 - Some Unholy War.flac
    DEBUG:lmsmusly.lms.player:playlist_add: url= file:///mnt/MUSIC_1/MUSIC/MUSIK/24BIT_LOSSLESS/A/Amy%20Winehouse%20-%20Back%20To%20Black%20%2824%2C96000%29%20%282007%29/09%20-%20Some%20Unholy%20War.flac
    DEBUG:requests.packages.urllib3.connectionpool:"POST /jsonrpc.js HTTP/1.1" 200 209
    DEBUG:__main__:static_playlist result id:   9 sim:      nan file: /mnt/MUSIC_1/MUSIC/MUSIK/24BIT_LOSSLESS/A/Amy Winehouse - Back To Black (24,96000) (2007)/10 - He Can Only Hold Her.flac
    DEBUG:lmsmusly.lms.player:playlist_add: url= file:///mnt/MUSIC_1/MUSIC/MUSIK/24BIT_LOSSLESS/A/Amy%20Winehouse%20-%20Back%20To%20Black%20%2824%2C96000%29%20%282007%29/10%20-%20He%20Can%20Only%20Hold%20Her.flac
    DEBUG:requests.packages.urllib3.connectionpool:"POST /jsonrpc.js HTTP/1.1" 200 214
    DEBUG:__main__:static_playlist result id:  10 sim:      nan file: /mnt/MUSIC_1/MUSIC/MUSIK/24BIT_LOSSLESS/A/Amy Winehouse - Back To Black (24,96000) (2007)/11 - You Know I'm No Good.flac
    DEBUG:lmsmusly.lms.player:playlist_add: url= file:///mnt/MUSIC_1/MUSIC/MUSIK/24BIT_LOSSLESS/A/Amy%20Winehouse%20-%20Back%20To%20Black%20%2824%2C96000%29%20%282007%29/11%20-%20You%20Know%20I%27m%20No%20Good.flac
    DEBUG:requests.packages.urllib3.connectionpool:"POST /jsonrpc.js HTTP/1.1" 200 222
    DEBUG:__main__:static_playlist result id:   6 sim:      nan file: /mnt/MUSIC_1/MUSIC/MUSIK/24BIT_LOSSLESS/A/Amy Winehouse - Back To Black (24,96000) (2007)/07 - Tears Dry On Their Own.flac
    DEBUG:lmsmusly.lms.player:playlist_add: url= file:///mnt/MUSIC_1/MUSIC/MUSIK/24BIT_LOSSLESS/A/Amy%20Winehouse%20-%20Back%20To%20Black%20%2824%2C96000%29%20%282007%29/07%20-%20Tears%20Dry%20On%20Their%20Own.flac
    DEBUG:requests.packages.urllib3.connectionpool:"POST /jsonrpc.js HTTP/1.1" 200 223
    DEBUG:__main__:static_playlist result id:   2 sim:      nan file: /mnt/MUSIC_1/MUSIC/MUSIK/24BIT_LOSSLESS/A/Amy Winehouse - Back To Black (24,96000) (2007)/03 - Me & Mr Jones.flac
    DEBUG:lmsmusly.lms.player:playlist_add: url= file:///mnt/MUSIC_1/MUSIC/MUSIK/24BIT_LOSSLESS/A/Amy%20Winehouse%20-%20Back%20To%20Black%20%2824%2C96000%29%20%282007%29/03%20-%20Me%20%26%20Mr%20Jones.flac
    DEBUG:requests.packages.urllib3.connectionpool:"POST /jsonrpc.js HTTP/1.1" 200 216
    DEBUG:__main__:static_playlist result id:   0 sim:      nan file: /mnt/MUSIC_1/MUSIC/MUSIK/24BIT_LOSSLESS/A/Amy Winehouse - Back To Black (24,96000) (2007)/01 - Rehab.flac
    DEBUG:lmsmusly.lms.player:playlist_add: url= file:///mnt/MUSIC_1/MUSIC/MUSIK/24BIT_LOSSLESS/A/Amy%20Winehouse%20-%20Back%20To%20Black%20%2824%2C96000%29%20%282007%29/01%20-%20Rehab.flac
    DEBUG:requests.packages.urllib3.connectionpool:"POST /jsonrpc.js HTTP/1.1" 200 204
    INFO:__main__:player 01:21:9a:cf:17:b4: 10 tracks added
    Static or dynamic, doesn┤t matter.

    If I jump to the last tracks, the log says

    Code:
    DEBUG:lmsmusly.lms.worker:LMSWorker: seed track already used, trying another
    and uses another Amy Winehouse song from the same album and so on...

    EDIT: I tried a static with 1000 tracks and the playlist are 24bit albums, full album after full album.
    Last edited by dermicha; 2018-01-11 at 14:08.
    2x Transporter, 4x Touch, 5x Radio, H/K Onyx (AirPlay-Bridge), Marantz Consolette (AirPlay-Bridge), iPhone 6 (iPeng), iMac-5k (SqueezePlay)

  10. #30
    Senior Member bakker_be's Avatar
    Join Date
    May 2009
    Location
    Kwaadmechelen, Belgium
    Posts
    695
    Quote Originally Posted by Roland0 View Post
    v0.0.3 includes a web interface (note this requires cherrypy to be installed - see homepage for specifics)
    Are you certain? Even v0.0.4 doesn't seem to know about it
    Code:
    bart@up-server:~/LMSmusly-0.0.4/src$ sudo ./lmsmusly.py -h
    usage: lmsmusly.py [-h] [-V] [--log-level {CRITICAL,ERROR,WARNING,INFO,DEBUG}]
                       --db-path DB_PATH [--pid-file PID_FILE]
                       {analyze,static,dynamic,info,writejukebox} ...
    
    LMSmusly -- integrates musly into LMS
    
            LMSmusly v0.0.4.
            Copyright 2017 R.S.U. GPL v3. All rights reserved.
            https://www.nexus0.net/pub/sw/lmsmusly
    
    USAGE
    
    optional arguments:
      -h, --help            show this help message and exit
      -V, --version         show program's version number and exit
      --log-level {CRITICAL,ERROR,WARNING,INFO,DEBUG}
                            set log level (default: INFO)
      --db-path DB_PATH     Database path
      --pid-file PID_FILE   write PID to a file
    
    operation modes:
      {analyze,static,dynamic,info,writejukebox}
        analyze             analyze music
        static              create static playlist
        dynamic             serve dynamic playlist
        info                print information
        writejukebox        create on-disk jukebox
    bart@up-server:~/LMSmusly-0.0.4/src$ cls
    No command 'cls' found, but there are 18 similar ones
    cls: command not found
    bart@up-server:~/LMSmusly-0.0.4/src$ sudo ./lmsmusly.py --db-path /mnt/music --webui
    usage: lmsmusly.py [-h] [-V] [--log-level {CRITICAL,ERROR,WARNING,INFO,DEBUG}]
                       --db-path DB_PATH [--pid-file PID_FILE]
                       {analyze,static,dynamic,info,writejukebox} ...
    lmsmusly.py: error: unrecognized arguments: --webui
    bart@up-server:~/LMSmusly-0.0.4/src$
    Main System: Touch; Marantz SR-5004 + TMA Premium 905 + TMA Premium 901 + Teufel Ultima 20 Mk 2 + BK Monolith+ FF + Lenovo T460 + Kodi + Pioneer PDP-LX5090H
    Workshop: iPad 32GB Wifi + Squeezepad (local playback activated)
    Wherever needed: Acer Iconia Tab A700 + Squeezeplayer
    Kitchen: iPhone 5s + iPeng (local playback activated) + NAD 312 + Teufel Ultima 20 Mk 2
    Headphone (cozy corner): Lenovo T550 + Squeezelite-X + Cyrus Soundkey + Topping A30 + Focal Elear
    Car: TBC ...

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •