# Multiple artists and/or genres

**URL:** <http://support.symfonium.app/t/multiple-artists-and-or-genres/2551>\
**Category:** Support\
**Tags:** handled\
**Created:** [October 7, 2023, 6:33pm UTC](http://support.symfonium.app/t/multiple-artists-and-or-genres/2551 "2023-10-07T18:33:06Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![duftendstarkersalama](http://support.symfonium.app/letter_avatar_proxy/v4/letter/d/6bbea6/32.png) [@duftendstarkersalama](http://support.symfonium.app/u/duftendstarkersalama)\
**Post date:** [October 7, 2023, 6:33pm UTC](http://support.symfonium.app/t/multiple-artists-and-or-genres/2551/1 "2023-10-07T18:33:06Z")

</div>

## Issue description:

When tagging, I initially decided not to append every artist and genre of a single track with a separators. So I added multiple fields with the same name (ARTIST, or GENRE). The server (gonic) seems to support that, as I could see in the logs.  
In Symfonium I can only see one artist for every track. The same for the genres. Are multiple fields with the same name just not supported, and I have to use a separator, or what am I doing wrong? 🤔

## Logs:

[debug.log](http://support.symfonium.app/uploads/short-url/9eofN6XbcEIJQ3ZlAMk2wbd8XIZ.log) (351,3 KB)

## Screenshots:

 ![Screenshot_20231007-202708_Symfonium](http://support.symfonium.app/uploads/default/original/2X/0/01b4ee5b0b7561f36285b05e73da327a8bf7324c.jpeg)  
 ![Screenshot_20231007-202717_Symfonium](http://support.symfonium.app/uploads/default/original/2X/d/d9ae1e28af737433d795b766d6f2e156608ded5d.png)

## Additional information:

Here should be the relevant excerpt of a track with multiple artist- and genre-tags:

```auto
2023-10-07 20:13:16.060 Verbose/ExoPlayer: tracks [eventTime=559.18, mediaPos=0.00, window=0, period=0
2023-10-07 20:13:16.060 Verbose/ExoPlayer: group [
2023-10-07 20:13:16.061 Verbose/ExoPlayer: [X] Track:0, id=null, mimeType=audio/flac, channels=2, sample_rate=96000, supported=YES
2023-10-07 20:13:16.061 Verbose/ExoPlayer: ]
2023-10-07 20:13:16.061 Verbose/ExoPlayer: Metadata [
2023-10-07 20:13:16.061 Verbose/ExoPlayer: VC: ALBUM=Random Access Memories (10th Anniversary Edition)
2023-10-07 20:13:16.061 Verbose/ExoPlayer: VC: 1T_TAGGEDDATE=2023-10-07 14:20:29_AT
2023-10-07 20:13:16.061 Verbose/ExoPlayer: VC: DISCNUMBER=1
2023-10-07 20:13:16.062 Verbose/ExoPlayer: VC: DATE=2013-05-20
2023-10-07 20:13:16.062 Verbose/ExoPlayer: VC: INITIALKEY=Gbm
2023-10-07 20:13:16.062 Verbose/ExoPlayer: VC: TITLE=Touch (feat. Paul Williams)
2023-10-07 20:13:16.062 Verbose/ExoPlayer: VC: ALBUMARTIST=Daft Punk
2023-10-07 20:13:16.062 Verbose/ExoPlayer: VC: TRACKNUMBER=7
2023-10-07 20:13:16.063 Verbose/ExoPlayer: VC: GENRE=electro
2023-10-07 20:13:16.063 Verbose/ExoPlayer: VC: GENRE=filter house
2023-10-07 20:13:16.063 Verbose/ExoPlayer: VC: GENRE=rock
2023-10-07 20:13:16.063 Verbose/ExoPlayer: VC: ARTIST=Daft Punk
2023-10-07 20:13:16.063 Verbose/ExoPlayer: VC: ARTIST=Paul Williams
2023-10-07 20:13:16.063 Verbose/ExoPlayer: VC: TRACKTOTAL=22
2023-10-07 20:13:16.063 Verbose/ExoPlayer: Picture: mimeType=image/jpeg, description=
2023-10-07 20:13:16.064 Verbose/ExoPlayer: ]
2023-10-07 20:13:16.064 Verbose/ExoPlayer: ]

```

Sorry if this is a duplicate of [that](https://support.symfonium.app/t/observation-on-multiple-artists/308) topic, but I’m not sure if both scenarios are the same.

---

<div class="post-metadata">

**Author:** ![Tolriq](http://support.symfonium.app/user_avatar/support.symfonium.app/tolriq/32/726_2.png) [@Tolriq](http://support.symfonium.app/u/Tolriq)\
**Post date:** [October 7, 2023, 6:38pm UTC](http://support.symfonium.app/t/multiple-artists-and-or-genres/2551/2 "2023-10-07T18:38:27Z")

</div>

Gonic does not yet support multiple artists / genres and many things on it’s API as it’s not supported on Subsonic. (It’s documented ;))

But the good news is that after months of efforts the OpenSubsonic initiative I started is moving.  
[Expose many new fields to clients by Tolriq · Pull Request #51 · opensubsonic/open-subsonic-api · GitHub](https://github.com/opensubsonic/open-subsonic-api/pull/51) will be merged tomorrow and will be official. And Gonic is already on the rails to support most of it with 0.16.

You can thanks @sentriz for being efficient on the implementation 🙂

Support in Symfonium will follow up when Gonic 0.16 is officially out.

---

<div class="post-metadata">

**Author:** ![duftendstarkersalama](http://support.symfonium.app/letter_avatar_proxy/v4/letter/d/6bbea6/32.png) [@duftendstarkersalama](http://support.symfonium.app/u/duftendstarkersalama)\
**Post date:** [October 7, 2023, 6:42pm UTC](http://support.symfonium.app/t/multiple-artists-and-or-genres/2551/3 "2023-10-07T18:42:53Z")

</div>

Oh, thanks for the immediate answer. I wasn’t sure because of the snippet of the logs and misinterpreted it. Thanks for clarification.

These are great news! That will be a much cleaner solution as using the separators.

(Thanks @sentriz 🥰 🥳)

---

<div class="post-metadata">

**Author:** ![sentriz](http://support.symfonium.app/user_avatar/support.symfonium.app/sentriz/32/624_2.png) [@sentriz](http://support.symfonium.app/u/sentriz)\
**Post date:** [October 7, 2023, 7:39pm UTC](http://support.symfonium.app/t/multiple-artists-and-or-genres/2551/4 "2023-10-07T19:39:33Z")

</div>

thats right it will be there for v0.16 👍 however if you want to try it out already (and help me test too before the release) you can try the gonic :nightly tag

`https://github.com/sentriz/gonic/#multi-valued-tags-v016`

---

<div class="post-metadata">

**Author:** ![Tolriq](http://support.symfonium.app/user_avatar/support.symfonium.app/tolriq/32/726_2.png) [@Tolriq](http://support.symfonium.app/u/Tolriq)\
**Post date:** [October 7, 2023, 8:29pm UTC](http://support.symfonium.app/t/multiple-artists-and-or-genres/2551/5 "2023-10-07T20:29:40Z")

</div>

There’s no support yet for him to test in Symfonium.

I hope you’ll update the server I have access to for my tests and implementation @sentriz 🙂

---

<div class="post-metadata">

**Author:** ![sentriz](http://support.symfonium.app/user_avatar/support.symfonium.app/sentriz/32/624_2.png) [@sentriz](http://support.symfonium.app/u/sentriz)\
**Post date:** [October 7, 2023, 9:35pm UTC](http://support.symfonium.app/t/multiple-artists-and-or-genres/2551/6 "2023-10-07T21:35:35Z")

</div>

ah I see 👍 the server you have access to is running all the latest stuff

---

<div class="post-metadata">

**Author:** ![Tolriq](http://support.symfonium.app/user_avatar/support.symfonium.app/tolriq/32/726_2.png) [@Tolriq](http://support.symfonium.app/u/Tolriq)\
**Post date:** [October 8, 2023, 8:17am UTC](http://support.symfonium.app/t/multiple-artists-and-or-genres/2551/7 "2023-10-08T08:17:20Z")

</div>

Ok I need to finish some stuff first but I’ll do that hopefully soon. This should be fast as it’s just a few mapping to make.

---

<div class="post-metadata">

**Author:** ![655321](http://support.symfonium.app/user_avatar/support.symfonium.app/655321/32/1975_2.png) [@655321](http://support.symfonium.app/u/655321)\
**Post date:** [October 8, 2023, 11:15am UTC](http://support.symfonium.app/t/multiple-artists-and-or-genres/2551/8 "2023-10-08T11:15:44Z")

</div>

> [@sentriz](#):
>
> however if you want to try it out already (and help me test too before the release) you can try the gonic :nightly tag

I’d also volunteer to test stuff if that’s useful for you. I have literally tens of thousands of multi value tags (a mix of either separated by "; " or as multiple tag fields like OP.  
The fact that jellyfin supports these is pretty much the only reason why I use it for Symfonium currently.  
The GUI performance is atrocious with my library size.

![grafik](http://support.symfonium.app/uploads/default/original/2X/d/d0783f37f8a365585ddc4926df97cfa834f39784.png)

If gonic has issues with large libraries I’d probably find out.

 ![grafik](http://support.symfonium.app/uploads/default/original/2X/c/c5c69a13691d4472694a9becf06794d6fe6f6db8.png)  
Does this mean a mixed usage (multiple fields and a delimiter like in my case) isn’t supported?  
Also is there a reason why you limit multi value tags to albumartist and genre? I also use it for composer and artist.

---

<div class="post-metadata">

**Author:** ![Tolriq](http://support.symfonium.app/user_avatar/support.symfonium.app/tolriq/32/726_2.png) [@Tolriq](http://support.symfonium.app/u/Tolriq)\
**Post date:** [October 8, 2023, 11:37am UTC](http://support.symfonium.app/t/multiple-artists-and-or-genres/2551/9 "2023-10-08T11:37:04Z")

</div>

Gonic currently have a major limitation (at least for me) as it does not support track artists and only album artists.

But I’m sure @sentriz will handle this at some point. (And no support for Composers / contributors yet too).

The first one to have all those will be LMS @itm [GitHub - epoupon/lms at develop](https://github.com/epoupon/lms/tree/develop)

This can be followed at [Server implementation follow up · opensubsonic/open-subsonic-api · Discussion #55 · GitHub](https://github.com/opensubsonic/open-subsonic-api/discussions/55#discussioncomment-7211767)

---

<div class="post-metadata">

**Author:** ![655321](http://support.symfonium.app/user_avatar/support.symfonium.app/655321/32/1975_2.png) [@655321](http://support.symfonium.app/u/655321)\
**Post date:** [October 8, 2023, 12:13pm UTC](http://support.symfonium.app/t/multiple-artists-and-or-genres/2551/10 "2023-10-08T12:13:07Z")

</div>

> [@Tolriq](#):
>
> The first one to have all those will be LMS

Very interesting. I’ll definitely keen LMS on my radar then. Thanks for the info.

---

<div class="post-metadata">

**Author:** ![Tolriq](http://support.symfonium.app/user_avatar/support.symfonium.app/tolriq/32/726_2.png) [@Tolriq](http://support.symfonium.app/u/Tolriq)\
**Post date:** [October 23, 2023, 5:54am UTC](http://support.symfonium.app/t/multiple-artists-and-or-genres/2551/11 "2023-10-23T05:54:52Z")

</div>

@655321 might want to test LMS 3.42.0 works well with last Beta , have all fields and relatively nice sync speed with large libraries.

---

<div class="post-metadata">

**Author:** ![655321](http://support.symfonium.app/user_avatar/support.symfonium.app/655321/32/1975_2.png) [@655321](http://support.symfonium.app/u/655321)\
**Post date:** [October 23, 2023, 8:25pm UTC](http://support.symfonium.app/t/multiple-artists-and-or-genres/2551/12 "2023-10-23T20:25:44Z")

</div>

I tried but the docker container doesn’t seem to like me.

I’ve turned the code from the docker documentation:

```auto
docker create \
--name=lms \
--user <user_id:group_id> \
-p <port>:5082 \
-v <path_to_music>:/music:ro \
-v <path_to_persistent_data>:/var/lms \
--restart unless-stopped \
epoupon/lms

```

into docker compose and adjusted the values for my mounts etc.:

```auto
version: '3.3'
services:
    lms:
        container_name: lms
        user: '1000:1000'
        ports:
            - '5082:5082'
        volumes:
            - '/mnt/music:/music:ro'
            - '/opt/lms:/var/lms'
        restart: unless-stopped
        image: epoupon/lms

```

I’m using the exact same mounts (except for /opt/navidrome instead of /opt/lms) and the same user and group ids for my navidrome server which works as expected.

However lms initially refused to start with loads of permission denied errors until I chowned the /opt/lms folder to the 1000:1000 user. I’ve never had to do that with other containers.

And now that it’s up and running it does not scan my music. As per instructions I’ve typed in /music here  
 ![lms](http://support.symfonium.app/uploads/default/original/2X/a/add07e082ff841275d293f333a9732c72038444c.png)  
and then hit scan. It finishes instantly with:  
 ![lms1](http://support.symfonium.app/uploads/default/original/2X/4/45073356436bbf42da1627c72b6e4ab04bfc4b64.png)  
And the log of the container shows:

```auto
[2023-Oct-23 20:21:58.302] 1 - [error] - 140639162977080 [DB UPDATER] Cannot process entry '': No such file or directory

```

Edit: I also just noticed that the TZ of the log is off by 2 hours. So adding

```auto
environment:
      - TZ=Europe/Berlin

```

(at least fo my case) also seems prudent.

Am I doing something fundamentally wrong?

---

<div class="post-metadata">

**Author:** ![Tolriq](http://support.symfonium.app/user_avatar/support.symfonium.app/tolriq/32/726_2.png) [@Tolriq](http://support.symfonium.app/u/Tolriq)\
**Post date:** [October 23, 2023, 8:28pm UTC](http://support.symfonium.app/t/multiple-artists-and-or-genres/2551/13 "2023-10-23T20:28:00Z")

</div>

This is questions for @itm

---

<div class="post-metadata">

**Author:** ![655321](http://support.symfonium.app/user_avatar/support.symfonium.app/655321/32/1975_2.png) [@655321](http://support.symfonium.app/u/655321)\
**Post date:** [October 23, 2023, 8:33pm UTC](http://support.symfonium.app/t/multiple-artists-and-or-genres/2551/14 "2023-10-23T20:33:48Z")

</div>

True. I just thought you might notice an obvious error in my compose as you seem to have lms deployed successfully.

---

<div class="post-metadata">

**Author:** ![Tolriq](http://support.symfonium.app/user_avatar/support.symfonium.app/tolriq/32/726_2.png) [@Tolriq](http://support.symfonium.app/u/Tolriq)\
**Post date:** [October 23, 2023, 8:39pm UTC](http://support.symfonium.app/t/multiple-artists-and-or-genres/2551/15 "2023-10-23T20:39:24Z")

</div>

I usually use portainer or Synology container manager not a docker expert.

But he will answer.

---

<div class="post-metadata">

**Author:** ![itm](http://support.symfonium.app/letter_avatar_proxy/v4/letter/i/da6949/32.png) [@itm](http://support.symfonium.app/u/itm)\
**Post date:** [October 24, 2023, 11:08am UTC](http://support.symfonium.app/t/multiple-artists-and-or-genres/2551/16 "2023-10-24T11:08:33Z")

</div>

Indeed you need to specify a user id (and its group id) that has read perms on the music folder and write perms on the data folder.

---

<div class="post-metadata">

**Author:** ![655321](http://support.symfonium.app/user_avatar/support.symfonium.app/655321/32/1975_2.png) [@655321](http://support.symfonium.app/u/655321)\
**Post date:** [October 24, 2023, 5:56pm UTC](http://support.symfonium.app/t/multiple-artists-and-or-genres/2551/17 "2023-10-24T17:56:37Z")

</div>

That’s the weird part. The user I specified (1000:1000) does have read permissions on the music folder.  
Since it’s a samba mount within the ubuntu server VM that is already mounted as read-only, ANY user within the ubuntu VM has read permissions on that folder to be precise.  
Or do I have to match the uid of the user on the TrueNAS server which I used to mount the samba share?

![lms](http://support.symfonium.app/uploads/default/original/2X/1/15e5ca715ce1acba55a8095f76b89d1b26f9a818.png)

I just tested that I 100% have read permissions on that music mount.

---

<div class="post-metadata">

**Author:** ![itm](http://support.symfonium.app/letter_avatar_proxy/v4/letter/i/da6949/32.png) [@itm](http://support.symfonium.app/u/itm)\
**Post date:** [October 25, 2023, 6:51am UTC](http://support.symfonium.app/t/multiple-artists-and-or-genres/2551/18 "2023-10-25T06:51:49Z")

</div>

What if you run the container in interactive mode (-it) with the entrypoint /bin/sh (–entrypoint /bin/sh) and check the /music folder?

---

<div class="post-metadata">

**Author:** ![655321](http://support.symfonium.app/user_avatar/support.symfonium.app/655321/32/1975_2.png) [@655321](http://support.symfonium.app/u/655321)\
**Post date:** [October 25, 2023, 12:34pm UTC](http://support.symfonium.app/t/multiple-artists-and-or-genres/2551/19 "2023-10-25T12:34:57Z")

</div>

![lms](http://support.symfonium.app/uploads/default/original/2X/a/a03d42e0eed7c91a31fe0db8c379ee98ec2633b1.png)

```auto
docker run -it \
--name=lms \
--user 1000:1000 \
--entrypoint /bin/sh \
-p 5082:5082 \
-v /mnt/music:/music:ro \
-v /opt/lms:/var/lms \
--restart unless-stopped \
epoupon/lms

```

I ran it like this and I cleary have read permissions on the music mount within the container.

Which still begs the question why this does not work.

```auto
version: '3.3'
services:
    lms:
        container_name: lms
        user: '1000:1000'
        environment:
            - TZ=Europe/Berlin
        ports:
            - '5082:5082'
        volumes:
            - '/mnt/music:/music:ro'
            - '/opt/lms:/var/lms'
        restart: unless-stopped
        image: epoupon/lms

```

---

<div class="post-metadata">

**Author:** ![itm](http://support.symfonium.app/letter_avatar_proxy/v4/letter/i/da6949/32.png) [@itm](http://support.symfonium.app/u/itm)\
**Post date:** [October 25, 2023, 1:56pm UTC](http://support.symfonium.app/t/multiple-artists-and-or-genres/2551/20 "2023-10-25T13:56:43Z")

</div>

Does it work when you run lms via the docker run command?

[Next page](http://support.symfonium.app/t/multiple-artists-and-or-genres/2551.md?page=2)
