Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support local audio files #3

Closed
brnwlshubh opened this issue Feb 13, 2022 · 7 comments
Closed

Support local audio files #3

brnwlshubh opened this issue Feb 13, 2022 · 7 comments
Labels
enhancement New feature or request low priority This will be worked on only if other issues are solved

Comments

@brnwlshubh
Copy link

Local music player support for any audio files saved in the phone.

@z-huang
Copy link
Owner

z-huang commented Feb 16, 2022

This is the main problem when I started to make this project: whether to import local media files to the library or not? Currently, I don't plan to introduce this feature for these aspects below.

  1. User Experience
    To show a song's information clearly, we need at least the name, artist, and if better, the artwork. However, they should be accessed through the ID3 metadata of a local song, which is often not set properly. Though people may put the information in the filename, the format varies. It's difficult to analyze song names and artists automatically. Therefore, songs may lack artist names and artwork, and look ugly. If all songs are added from YouTube (Music), they will have an initial metadata attached and look pretty.

  2. Consistency
    Actually, almost every song is available in YouTube or YouTube Music, so there won't be a problem that you can't find a song in the app. Also, many streaming services such as Spotify, KKBOX, MyMusic don't let you import local songs. You should discover and add them by yourself. In addition, there won't be the problem of duplicate songs. Songs from a maintained source should be better and cause less problems.

  3. Implementation Difficulty
    It's hard to manage songs from YouTube and in local storage together. Since the source is different, operations such as download, delete, edit can be confusing and not unified. Also, if the app is designed this way, users might well download music from other places and use a music player to play all local songs.

In conclusion, the goal of this app is to provide a free streaming service with downloadable contents. There are features like exporting songs through Android SAF planned to be implemented to enhance convenience.
If you have any thoughts about an ideal concept for this app, don't hesitate to tell me and I'll put it into consideration. 😀

@z-huang z-huang added the enhancement New feature or request label Feb 16, 2022
@brnwlshubh
Copy link
Author

brnwlshubh commented Feb 16, 2022

So, can you implement YouTube music folder/tab which contains playlist or songs on the website/app?

As this feature can give some recommendations to play songs else (currently)it seems to remember the songs /artist title and search the result and enjoy the song.
By adding recommendation tab it will be much easier to get the latest recommendations.

@z-huang
Copy link
Owner

z-huang commented Feb 17, 2022

Yes, I'm planning to do so, but it can take a considerable amount of time since NewPipeExtractor doesn't provide the YouTube Music kiosk extractor. Now the explore tab in the app is lack of content and recommendations are expected to be put there. There are some libraries regarding YouTube Music API written in python, and I'll dig into them and try to implement the feature in Kotlin.

@z-huang z-huang changed the title [Feature] Support local audio files Feb 17, 2022
@z-huang
Copy link
Owner

z-huang commented May 23, 2022

As #43 has a more descriptive title, I'll close this one.

@z-huang z-huang closed this as completed May 23, 2022
z-huang pushed a commit that referenced this issue Jun 15, 2022
@noClaps
Copy link

noClaps commented Jun 30, 2022

Actually, almost every song is available in YouTube or YouTube Music

There's some songs that aren't available on YT Music or YouTube that are available on other platforms. An example of this would be songs from the album Pebble Brain by Lovejoy.

Also, many streaming services such as Spotify

Most popular streaming services allow you to import local songs. I know for a fact that both Spotify, YT Music, and Deezer allow this, and I'm pretty sure others do too.

It's hard to manage songs from YouTube and in local storage together

Why not have a separate section for local music? YT Music does this, for example.

Therefore, songs may lack artist names and artwork, and look ugly.

That should be up to the user to get proper metadata for their files. This would affect any local music player as well, if the songs weren't tagged properly. Optionally, you could provide a tag editor, though that probably isn't necessary for a streaming app such as this.

Since the source is different, operations such as download, delete, edit can be confusing and not unified.

Maybe you can mark the local songs as downloaded? As for delete, I think the delete option for local songs should delete the song file from the device. I think Retro Music does this. Otherwise, you can leave it up to the user to delete the song file manually, like how Auxio does.

In addition, there won't be the problem of duplicate songs.

Probably should be up to the user to not have duplicates in their library. If you want, you can add a source tag for each song, if it came from local storage or from YT Music.

if the app is designed this way, users might well download music from other places and use a music player to play all local songs.

We could, but one of the benefits of using this app is that I can stream and not have to carry around gigabytes of music files to every device I use, and I can add and remove songs quickly without having to delete the music file, and download new music and then transfer it to my phone.

@z-huang
Copy link
Owner

z-huang commented Jun 30, 2022

Okay, you convinced me that local audio files should be supported. I'll reopen this issue.
I haven't figured out how to design the database to support it. When I'm done with feature/innertube and other trivial bugs or enhancement, I'll go back on this.

@z-huang z-huang reopened this Jun 30, 2022
@z-huang z-huang added the low priority This will be worked on only if other issues are solved label Aug 25, 2022
z-huang pushed a commit that referenced this issue Oct 23, 2022
@owencz1998 owencz1998 mentioned this issue Jan 29, 2023
3 tasks
@z-huang
Copy link
Owner

z-huang commented Jun 16, 2023

Not planned because it's too "advanced".

@z-huang z-huang closed this as not planned Won't fix, can't repro, duplicate, stale Jun 16, 2023
@z-huang z-huang mentioned this issue Jul 22, 2023
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request low priority This will be worked on only if other issues are solved
Projects
None yet
Development

No branches or pull requests

3 participants