What do you use as an interface to your scripts

Create issue
Issue #4 on hold
Former user created an issue

These programs and scripts look great. I am trying to determine what kind of interface I want to use, ie. MPD, Squeezeserver, etc. What are you using? I need to be able to queue songs and albums, modify the queue and change volume.


Comments (6)

  1. frank_l repo owner

    In my system I use a 'python' script on the command line. I don't include it here because I store my music in a non-standard way (one flac-file for a whole album plus a 'cddbinfo' and 'cd.toc' file for track names and durations), so it is not useful for anyone else.

    Of course, one can (and some people do) use utilities provided by this project in a pipe output of MPD and probably in other setups. But in terms of sound quality I prefer to have full control of the data flow from the file on disk to my DAC.

  2. mike

    I use one flac file per song without tags. Each file name is the song title, folders are used as artist name and subfolders are album name. I like your method using cddbinfo and cd.toc. Does your script have the ability to queue song and modify the queue on the fly? Does it handle gapless playback between albums? Do you run the script remotely from a tablet using ssh?. I may have to build something simple to meet my needs since I'd like to avoid mpd, squeezebox etc since they usually use a database and require flac to be tagged along with other issues and complexity. Your script may be useful to me for my needs. Thanks again, Mike.

  3. mike

    I have had some success integrating with mpd using a pipe and getting the format info as follows:
    INRATE="$(echo -e "status \n" | nc localhost 6600 | awk -F':' '/audio/{print $2}')" INBITS="$(echo -e "status \n" | nc localhost 6600 | awk -F':' '/audio/{print $3}')"

    Unfortunately I ran into a roadblock with 24 bit flac files, they are sent as raw in the pipe and are in an audio_format of :24:2 instead of :32:2. I can't seem to md5sum the raw data, no luck from the developer since 'pipe' is an unsupported plugin. Maybe the above will help someone else. Lost trust in mpd and am trying to determine how to handle playback. Maybe something like a addon to Kodi or a web server to control everything. How do you handle gapless? or do you simply play whole albums since you are using one flac file per album.

  4. mike

    Thanks for the link, it was a very interesting read. Using alsa directly is an interesting option with mpd, as is using a fifo, but I did get mpd to ouput from a pipe correctly. The trick was to force 32 bit integer from mpd :32:. mpd is then padding some audio files with zeros which is not an issue since sox is then converting to 64bit float. I was then able to sucessfully checksum files from mpd. Sound quality wise I have noticed differences from simple scripts and os tuning, etc. One thing I have done that has really reduced the issue of os tuning, cpu load, etc is to stream to a small computer, cubox, then remove the ground shield and the power wires with an adapter at the DAC input. My theory is that the computer generates noise on the shield which makes the usb input on the dac work much harder. One major problem with this solution is that some dacs require the power and or ground connections at the usb input. The second issue is that you have to measure any ground potential between the dac and the feeding computer. Any large voltage could eventually damage the dac.

    I would prefer not to use mpd, simpler is always better, and have done a little work on scripts to replace mpd but always run into issues like sox not liking m3u files with different sample rates. A simple web interface would be the ideal solution to allow easy remote control.

    Thanks again Mike

  5. Log in to comment