Moode Forum
Integration of analog music collection - Printable Version

+- Moode Forum (https://moodeaudio.org/forum)
+-- Forum: Community (https://moodeaudio.org/forum/forumdisplay.php?fid=18)
+--- Forum: General Discussion (https://moodeaudio.org/forum/forumdisplay.php?fid=21)
+--- Thread: Integration of analog music collection (/showthread.php?tid=6608)



Integration of analog music collection - schmidtjr - 06-14-2024

Hi all,

This might be a little bit offtopic for a streaming application, but let me explain Smile
This topic here might serve as a brainstorming session. To get some ideas, inputs from people who are more familiar with moode and it's ecosystem (e.g. mpd) then I am.

I'm currently building a moode system. It will reside next to my turntables. On the moode player one can then navigate through my digital music collection and streaming and radio... So far so known.
But since I then have a small touchscreen display next to my vinyl record collection, I thought "How cool would it be if I could navigate through my record collection as well.". So, you might wonder "why the hell would one want to do this?". Well, the thing is, the record collection is growing and growing. And I'm getting older and older Smile. The records are spread over multiple cabinets and racks. And to be fair, sometimes I don't know that I have a specific record. And if I know it, I often don't know in which cabinet this specific record is located.
Of course, playing such offline music is not possible. (I'm not going to digitize them, that's not the scope). But having a screen to navigate them (or at a party, let people select something), that would be nice.
Ah yeah, one more important information. The whole records collection is maintained at discogs.com. So there's  "digital twin" available. Discogs has a nice API that allows me to get my data from them. Defining which record is located where could be done in discogs as well (e.g. using folders).

So, maybe I try to create a list of requirements:
- possibilty to navigate a non-playable music library
- shouldn't interfere with current playback
- separate library, so when I do "random playback" on the MP3 lib, it shouldn't select a vinyl
- of course nice representation with cover art and so (can get this from discogs)
- as seamless as possible integrated into moode ui
- shouldn't be possible to select a song for playback


Well, that's my rough idea. I've searched around a bit but haven't found such a thing. Maybe nobody besides me thinks this is useful Smile. Or I had the wrong searchterms....

I'm happy to get some input on this idea. Like, how could it be done. What parts of moode would I need to look at (plugins, players, custom frontend...) or is it possible with a simple script that creates a "fake" library in mpd? Like with empty files or such hacky things?
Or maybe a simple separate website and I just inject a link to this site on the moode ui?

Extracting the data from discogs should not be the topic. I think that's possible. Either on the fly or on demand or in a weekly job or whatever. Defining a local datastructure should also be not such a big deal. The question is really how do I get it into "the system".

To be fair, the last time I worked with php was like 20years ago, so that's all new to me.



Thanks for discussing this strange idea with me Smile
Kind regards,
Martin


RE: Integration of analog music collection - Nutul - 06-14-2024

(06-14-2024, 06:33 PM)schmidtjr Wrote: Hi all,

This might be a little bit offtopic for a streaming application, but let me explain Smile
This topic here might serve as a brainstorming session. To get some ideas, inputs from people who are more familiar with moode and it's ecosystem (e.g. mpd) then I am.

I'm currently building a moode system. It will reside next to my turntables. On the moode player one can then navigate through my digital music collection and streaming and radio... So far so known.
But since I then have a small touchscreen display next to my vinyl record collection, I thought "How cool would it be if I could navigate through my record collection as well.". So, you might wonder "why the hell would one want to do this?". Well, the thing is, the record collection is growing and growing. And I'm getting older and older Smile. The records are spread over multiple cabinets and racks. And to be fair, sometimes I don't know that I have a specific record. And if I know it, I often don't know in which cabinet this specific record is located.
Of course, playing such offline music is not possible. (I'm not going to digitize them, that's not the scope). But having a screen to navigate them (or at a party, let people select something), that would be nice.
Ah yeah, one more important information. The whole records collection is maintained at discogs.com. So there's  "digital twin" available. Discogs has a nice API that allows me to get my data from them. Defining which record is located where could be done in discogs as well (e.g. using folders).

So, maybe I try to create a list of requirements:
- possibilty to navigate a non-playable music library
- shouldn't interfere with current playback
- separate library, so when I do "random playback" on the MP3 lib, it shouldn't select a vinyl
- of course nice representation with cover art and so (can get this from discogs)
- as seamless as possible integrated into moode ui
- shouldn't be possible to select a song for playback


Well, that's my rough idea. I've searched around a bit but haven't found such a thing. Maybe nobody besides me thinks this is useful Smile. Or I had the wrong searchterms....

I'm happy to get some input on this idea. Like, how could it be done. What parts of moode would I need to look at (plugins, players, custom frontend...) or is it possible with a simple script that creates a "fake" library in mpd? Like with empty files or such hacky things?
Or maybe a simple separate website and I just inject a link to this site on the moode ui?

Extracting the data from discogs should not be the topic. I think that's possible. Either on the fly or on demand or in a weekly job or whatever. Defining a local datastructure should also be not such a big deal. The question is really how do I get it into "the system".

To be fair, the last time I worked with php was like 20years ago, so that's all new to me.



Thanks for discussing this strange idea with me Smile
Kind regards,
Martin

TTYTT I read the second half of it very quickly, in an almost TL;DR form, but nevertheless, this is what I came out with:

1. create, somehow, a 10-seconds silence file (MP3, preferably, as it will never play, it's just a placeholder for every single vinyl.
2. make a copy, properly named, of this file for every single vinyl disc you want to classify
3. tag it correctly (artist / title / etc.)
3.1. in the COMMENT tag, add useful information about WHERE in your shelves / racks the physical vinyl is (like "right cabinet, below TV", or "left rack, 3rd shelf")
3.2. in the GENRE tag, add the string "VINYL CATALOGUE" (it doesn't make sense as a genre, I do know, but this is the whole meaning of the trick I am descibing here...)

Now, you should put all the files in a separate folder on your HDD / SSD / whatever your phisycal library is made of, so that you can filter them out when chosing actual playable music... like /CATALOGUE/VINYL/<artist>/<album>/<fake mp3 file>

If you add a cover-art to the files, doing a library update in moOde will get all your vinyls show up.

When you want to play one for real, just click on it in the library view (TAG, or ALBUM, or even FOLDER, it's not relevant), then select "Audio Info", and read what the COMMENT tag contains... go get the vinyl and play it.

If you do not want any random play to involve your fake vinyl, then just implement a filter in the library which EXCLUDES any GENRE like "VINYL CATALOGUE", so that from that moment on, your library will only show playable content (an none of the fake vinyls... to have them back, just disable the filter).

For information about how the filters work, refer to the user-guide, or read the (i) text in the library filtering (advanced search).

HTH


RE: Integration of analog music collection - Tim Curtis - 06-15-2024

That's a cool approach :-)

Theres a Preferences, Library setting for the comment tag that could be useful

Comment tag [Yes|No]
The comment text is displayed in Tag/Album views after the year in the album title or as an album heading in the track list if "Album key" is set to include @AlbumID.


RE: Integration of analog music collection - schmidtjr - 06-16-2024

Hi,
awesome. thanks for your replies. That sounds like the "fake" library method in MPD I had roughly in mind, but absolutely no clue about the details. I will try this out!
Thank you for pointing me to the filters and to the library settings. Will have a closer look at this and play around with it all.

Will let you know about the outcome, but might take a while Smile

Thank you!!!

Kind regards,
Martin


RE: Integration of analog music collection - schmidtjr - 07-15-2024

Hi,

just wanted to give a quick update here. Project is ongoing. Enclosure design and milling will take some time. waiting for the final Pi4 to use for it.... So, until the final version it'll take some time.

But... Prototypes have been succesful so far. And the discogs extraction script seems ready. I thought I'll post it here, maybe someone else is interested in it.
https://gitlab.com/schmidtjr/discogstompd/

Thanks for the great support here so far!

Kind regards,
Martin


RE: Integration of analog music collection - Nutul - 07-15-2024

(07-15-2024, 07:10 PM)schmidtjr Wrote: Hi,

just wanted to give a quick update here. Project is ongoing. Enclosure design and milling will take some time. waiting for the final Pi4 to use for it.... So, until the final version it'll take some time.

But... Prototypes have been succesful so far. And the discogs extraction script seems ready. I thought I'll post it here, maybe someone else is interested in it.
https://gitlab.com/schmidtjr/discogstompd/

Thanks for the great support here so far!

Kind regards,
Martin

Happy to see my idea resulted in something feasible and useful, in the end. :-)