Streamer Firmware 3.7.1 support of M3U on USB

in Streamer Firmware 3.7.1 (NDX2), it says it now includes M3U playlist playback via USB. This sounds like a feature I asked for last year, and was pleased to see it in there.

I have tried multiple combinations of relative paths, full paths, back slashes, forward slashes, but have been unsuccessful to date

I’ve tried showing root as /Front, \front, Front, /media/sda1/, \media\sda1, etc

Has anyone got this to work, if so can you please provides the top few lines of an M3U file that works?

Thank You!

Hi @Naim.Marketing, sorry to trouble you but is there anyone at Naim that may be able o help me on this?

I will ask software team in morning

1 Like

Thank you Clare!

The support must have been there before, because people reported that 3.7 broke their playlists on USB devices. I assume, 3.7.1 has a fix for this.

As to how those lists did look like, which broke, I cannot say.
The simplest ones I remember are just flat, I.e. list and files all in the same folder and not using any pah information.

Let’s see, what Naim says.

Steve Harris says:
I created a test set for the test team. So based on two FLAC files in the root of a USB track, the M3U file was:

#EXTM3U
#EXTINF:286,Smith/Kotzen - Taking My Chances
#EXTVLCOPT:file-caching=1000
01.%20SmithKotzen%20-%20Taking%20My%20Chances.flac
#EXTINF:189,Samantha Fish - All Ice No Whiskey
#EXTVLCOPT:file-caching=1000
02.%20Samantha%20Fish%20-%20All%20Ice%20No%20Whiskey.flac

Hi Clare/Steve - many thanks for your very quick response, I probably should have been more specific - my apologies.

Typically a playlist for me would include several tracks in different subfolders, and the m3u file might be at the root, or in a /Playlist subfolder. The problem is how to reference tracks in a different folder, is that possible?

e.g. something like:

#EXTM3U
#EXTINF:189,Samantha Fish - All Ice No Whiskey
#EXTVLCOPT:file-caching=1000
/Samantha Fish/02.%20Samantha%20Fish%20-%20All%20Ice%20No%20Whiskey.flac

I’ll loop @Stevesky in directly here, rather than be the middlewoman :slight_smile:

Thanks you Clare

Hi @GadgetMan! Since the USB drive would be mounted on some mount point (beyond your control), using absolute paths (meaning: those starting with a slash /) in the playlist will be problematic. Relative paths (meaning: not starting with a slash) should work (maybe @Stevesky can confirm), so something like:

#EXTM3U
#EXTINF:189,Samantha Fish - All Ice No Whiskey
#EXTVLCOPT:file-caching=1000
Samantha%20Fish/02.%20Samantha%20Fish%20-%20All%20Ice%20No%20Whiskey.flac

(assuming the .m3u file is in the root folder of your USB drive, and the FLAC file is in a sub-folder Samantha Fish)
should be able to do the trick. It’s probably wise to properly encode those spaces (as %20).

Many thanks. When I first looked at this several months back, I tried all sort of combinations of full paths that Linux systems use, but none worked. Also as Linux is case sensitive, it means there are numerous more combination to try, not to mention not knowing if the software uses slashes or back slashes. However I was told by Naim support that it wasn’t supported at the time, and so stopped investigating.

I didn’t encode the non-alphabetic characters at the time. The exported M3U’s from iTunes that I will use as a basis did not have encoding, but happy to try it. My original intention was to take these files, and pass them through a “sed” script to convert them to something the NDX2 could recognise. I’ll go back to first principles as per Clare’s/Steve’s example, and build up from there, and report back over the weekend. Thank you for your interest

Hi @GadgetMan

The M3U playlist should use relative paths, rather than absolute ones.

To give a working example I’ve included a dropbox link to a zip file that contains 3 MP3 test files and a M3U file that references them. Unzip and place the files on a USB drive.

Test Tracks A and Test Track B are in the root.
Test Track C is in a test folder.

The M3U is in the root and gives a working example of referencing stuff in the root, vs stuff in a subfolder.

For reference this has never been an officially supported feature, but some customers found it and started using it. When it stopped working in v3.7 we got the feedback and had a look. We will aim to keep this as an officially supported feature in the future.

Hope that helps

Best regards

Steve Harris
Software Director
Naim Audio Ltd.

3 Likes

Steve, thank you so much for that, I probably spent far too much time trying to get full paths working, but in the usual manner of KISS, what you have given me is brilliant, and actually makes it very simple to change my current playlist from iTunes into that format.

Thanks Again

I’ve just included the sample below for others in the future. Feel free to remove it if you like.

#EXTM3U
#EXTINF:30,Naim  - Test Track A
#EXTVLCOPT:file-caching=1000
Test%20Track%20A.mp3
#EXTINF:30,Naim  - Test Track B
#EXTVLCOPT:file-caching=1000
Test%20Track%20B.mp3
#EXTINF:30,Naim  - Test Track C
#EXTVLCOPT:file-caching=1000
Test%20Folder/Test%20Track%20C.mp3

And there being no formal specification of the M3U format isn’t helping at all of course. Whatever works or doesn’t work in various players is mostly trial-and-error. Glad to see Naim have now given an example of what can be expected to work, and have it on their radar to keep supporting that! :ok_hand:

Well I spent the most part of the afternoon writing a script to convert my 70+ m3u files into a format my NDX2 would understand, and Success!

In short (and this is for @Stevesky should he want to further enhance this non-supported feature in the future) DO NOT HAVE SPACES IN YOUR M3U FILENAMES.

Now you would think this was easily spotted, but took me a couple of hours scratching my head, as I was assuming it was my script.

A couple of things to note.

  1. Encoding spaces to %20 didn’t seem to be required. I dont see it in the general description of the m3U format, but it does look like VLC exports with %20’s
  2. I didn’t add the #EXTVLCOPT:file-caching=1000 line in any of mine. I suspect this isn’t required, but possibly there from an export Steve did. - might be wrong
  3. This does not put the M3U playlists into the Naim App Playlist menu, or under Local Music/Playlists. This would be a nice feature for the future. So instead you can only see them and play them when you browse the USB

In the end I did implement 1) as it was easy, but not 2, however as Naim have described this in their sample, it may have to go in.

Overall, I am very pleased to have it working, and very grateful for @Stevesky and @Naim.Marketing help

Thank You

3 Likes

since I updated to 3.7.1 about 20% of my His Res Files (mostly but not only 24/192) cannot start anymore via usb.

Firstly have you tried powering off your streamer for 30 mins, and restart your device with the app.

Also any screenshots of what the tracks look like on the app. Do they play under Servers/Local Files?

I play under local file. the files appears as usual on the app or on the screen of the ndx 2. they just don’t respond.
when one file is not playing all the files of the album are not playing
the cover of the album appears on the app as usual.
If I make a fresch copy of the album on a different hard drive, it does not play either.

Did you try the power off test - it has cleared a few issues discussed on this Forum, and for me.

did not work. Do you know if there is possibility to downgrade ?