Giter VIP home page Giter VIP logo

groove's Introduction

logo

Groove Music

A cross-platform music player based on PyQt5

Python 3.8.6 PyQt 5.15.2 Platform Win32 | Linux | macOS

English | 简体中文

界面

Features

  • Play local music

    local music

  • Search, play and download online music

    online music

  • Create and manage custom playlist

    custom playlist

  • View and edit song meta data

    song meta data

  • Watch and download MV

    MV

Quick start

  1. Create virtual environment:

    conda create -n Groove python=3.8
    conda activate Groove
    pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
  2. Download decoder:

    • For the Win32, you should install LAV Filters.
    • For the Linux, you should install GStreamer.
  3. Open Groove music:

    cd app
    conda activate Groove
    python Groove.py

Install

Win32

Installer

  1. Download and install LAV Filters
  2. Download Groove_v*.*.*_x64_setup.exe from release page
  3. Run Groove_v*.*.*_x64_setup.exe as administrator and install Groove
  4. Start to enjoy your music~~

Portable Edition

  1. Download and install LAV Filters
  2. Download Groove_v*.*.*_windows_x64.zip from release page
  3. Unzip Groove_v*.*.*_windows_x64.zip
  4. Go to Groove folder, find and double click Groove.exe
  5. Start to enjoy your music~~

Linux

  1. Install GStreamer
  2. Download Groove_v*.*.*_linux_x64.zip from release page
  3. Unzip Groove_v*.*.*_linux_x64.zip
  4. Go to Groove folder, find and double click the Groove executable file
  5. Start to enjoy your music~~

Document

Want to know more about Groove Music? Please read the help document 👈

See also

groove's People

Contributors

zhiyiyo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

groove's Issues

Windows 程序权限处理不当导致的问题

Describe the bug

  1. 双击运行桌面快捷方式提示permission denied每次使用必须获取管理员权限。

To Reproduce

双击桌面快捷方式提示permission denied

报错信息

Expected behavior
A clear and concise description of what you expected to happen.

Environment(please complete the following information):

  • OS: Microsoft Windows 11 专业工作站版(22H2) x64
  • DPI scaling: 125%

Additional context

看了日志文件,没有什么特别的(因为就是空的)。

个人意见

可以将Windows 的安装目录修改为C:\Users\用户名名称\AppData\Local\Programs避免权限不足造成的不必要报错。

在最大化时非播放界面的状况,点击更多操作按钮菜单不显示。

Describe the bug
在最大化时非播放界面的状况,点击更多操作按钮菜单不显示(不在屏幕显示范围)。

To Reproduce
在非播放界面且最大化的状况点击更多操作按钮

Expected behavior
在合理区域跳出更多操作的菜单

Environment(please complete the following information):

  • OS: Windows 7 Aero Mode
  • DPI scaling: Default
  • Version: 1.2.1

Additional context
image
(正常)
image
(已点击,在 Focus 状态 )

Portable App

Hi,

Can the app be made as portable as well ? like other https://portableapps.com/

Is it possible to carry the app and music in pen drive and play in any computer?

Thanks

可以帮忙看一下用nuitka打包后双击exe啥反应也没有的问题么

Describe the bug
用nuitka打包后双击exe啥反应也没有
To Reproduce
打包命令为:
python -m nuitka --follow-imports --standalone --enable-plugin=pyqt5 --windows-disable-console --enable-plugin=numpy .\Groove.py
另外参考网上的资料在groove.py中加入了两行代码,为了解决提示某dll缺失的问题

import sys, os
if hasattr(sys, 'frozen'):
    os.environ['PATH'] = sys._MEIPASS + ";" + os.environ['PATH']

Expected behavior
A clear and concise description of what you expected to happen.

Environment(please complete the following information):

  • OS: Win10 21h2
  • DPI scaling: [e.g. 125%]

Additional context
我用上述命令打包了一个叫cleanmywechat的pyqt5应用,运行正常

支持搜索子文件夹

Is your feature request related to a problem? Please describe.
我是使用一个文件夹包着另外几个小文件夹(歌手分类),如果要把它们全部加入媒体库需要很长一段时间

Describe the solution you'd like
支持搜索子文件夹

Describe alternatives you've considered
无。

Additional context
无。

PIL.Image 转换为 QPixmap的bug

在common/image_process_utils.py文件中的 getBlurPixmap函数中
image = gaussianBlur(imagePath, blurRadius, brightFactor, blurPicSize) # 这里返回的是 Numpy图像
return Image.fromarray(image).toqpixmap()

在我的win10系统 python3.7.7 Pillow==8.4.0 PyQt5==5.15.6 的环境中 程序会崩溃
这可能是 PIL和PyQt5的bug PIL.Image 对象转QPixmap对象时的bug
以下的链接是 一种解决方式
https://stackoverflow.com/questions/34697559/pil-image-to-qpixmap-conversion-issue

打开软件后提示`no OPENSSL_Applink`

Describe the bug
使用的版本:Groove_v1.3.1_windows_x64.zip
Windows11系统

作者您好,我下载打开软件后,有如下错误提示,这种是什么情况呢?
image

Font Option To Change The Fonts Of Lyrics or Song Title

Hi,

Is it possible to provide an option to change the font of the lyrics or song title both permanently as well temporary ?

Also the font size

Attached an image from another player which has the font option just for reference

image

Thank You.

歌单功能异常

Describe the bug
我在歌单播放页面确定将某歌曲添加到了自建歌单,但是之后查看歌单里面是没有该歌曲的

To Reproduce
Steps to reproduce the behavior

  1. 通过搜索的方式播放任意音乐
  2. 点击左下角进入播放页
  3. 在播放页点击显示播放列表
  4. 在播放列表右键-添加到-新的播放列表
  5. 新建任意名称列表
  6. 查看列表为空
  7. 再次返回音乐列表,右键-添加到-xxx列表
  8. 查看列表为空

Expected behavior
添加到列表后,我在列表的页面应该看到该歌曲

Environment(please complete the following information):

  • OS: Windows 11 64
  • Python:3.6(本机) / 3.8(虚拟环境)

Sort Option like in Datatable

Hi,

Is it possible to add sort option in Headers in datatables or somehow to sort by

  1. Song Name
  2. Date Added
  3. Artist Name

image

Thanks

Equalizer and Presets

Hi,

It will be really good if we have equalizer and presets of setup with different choosing via option...

Any basic or anything would be fine....Below are few examples

image

image

image

image

Thanks

大佬的ui是怎么设计的?

小白最近在学习pyqt,书上教的是用qt designer设计好,然后把.ui文件转成.py文件。不知道大佬怎么设计的这么好看的?
顺便问一下这么大的项目建议从哪里入手看鸭?

播放本地音乐时持续报错

Describe the bug
如题,在播放本地音乐时疯狂的报错,然后你什么也干不了。

To Reproduce
把音乐加入媒体库
播放音乐

Expected behavior
正常播放

Environment(please complete the following information):

  • OS: Windows 7 (64bit, 繁体中文版)
  • DPI scaling: Default
  • Version: 1.2.1

Additional context
record.webm
真的会疯掉.png

测试文件运行

我将项目克隆后用pycharm打开,运行test下的测试文件,报错找不到模块,我只知道可以将导包写成绝对导入解决,但是特别麻烦,有什么解决办法嘛?

Speed Slow Option

VLC, AIMP and many player has the option

  1. Normal
  2. Low Speed
  3. High Speed

Low speed is very useful for translation or transcription

Even some has by shortcuts which can be done gradually as well

Reference
https://static.listoffreeware.com/wp-content/uploads/mpc-hc64_music-player-with-speed-control_2018-03-29_09-51-58.png
https://static.listoffreeware.com/wp-content/uploads/smplayer_music-player-with-speed-control_2018-03-29_09-58-37.png
https://static.listoffreeware.com/wp-content/uploads/sigmaplayer_music-player-with-speed-control_2018-03-29_10-26-32.png

Please add this feature if possible.

高分屏下软件看起来很小

如图:
image

软件做得跟系统带的grove简直一模一样(外观),但是还有一些地方可以改进。
1、歌手那个按钮的功能好像还没实现。
2、我点击歌曲、歌手、专辑时字体会放大,这跟系统自带的有点不一样,而且由于我的高分屏,点击之后字大得有一部分看不到了。
3、系统自带得grove的左边条是半透明的。
4、高分屏下软件看起来很小。

部分本地音乐导入时,歌曲资讯无法读取。

Describe the bug
如题,本地音乐导入后,部分音乐会读取不到音乐资讯(如附图)
image
但是在 Explorer 中读的到(如附图)
image

推测是音乐未正确导入导致(报错如下)

  File "D:\Music\Soft\Groove\app\View\main_window\main_window.py", line 1042, in onSongTabSongCardPlay
    self.mediaPlaylist.setCurrentSong(songInfo)
  File "D:\Music\Soft\Groove\app\components\media_player\media_playlist.py", line 116, in setCurrentSong
    self.setCurrentIndex(self.playlist.index(songInfo))

ValueError: SongInfo(file='D:/Music/Music/本兮/奇怪我不懂得爱.mp3', title='奇怪,我不懂得爱', singer='本兮', album='                              ', year=0, genre='未知流派', duration=256, track=0, trackTotal=1, disc=1, discTotal=1, createTime=1668186807, modifiedTime=1667539606) is not in list

To Reproduce
导入音乐

Expected behavior
正常显示资讯

Environment(please complete the following information):

  • OS: Windows 7 (繁体中文版)
  • DPI scaling: Default
  • Version: 6b894f7(在 1.2.1 版本相同)

Additional context
无。

视频无法播放

系统:Windows 11 22521
软件版本:1.1.4

视频解析失败(这首歌肯定有视频)
图片
但最离谱的是,不可以直接播放,但可以下载,并且下载完还可以打开
图片
图片

上下滚动音乐列表后左右移动鼠标引发实体挤压会导致鼠标抖动

Describe the bug
上下滚动 音乐列表(或者歌词) 后左右移动鼠标引发实体挤压会导致 鼠标抖动

To Reproduce
https://user-images.githubusercontent.com/61670738/201526730-2b30d218-59d4-4a10-b877-bc14bb43f588.mp4

Expected behavior
鼠标可以正常滚动

Environment(please complete the following information):

  • OS: Win10 (Arch Linux 经测试同样会引发这个bug)
  • DPI scaling: 125%

Additional context
我前年做滚动的时候也尝试解决过这玩意,最后没啥好办法,如果解决希望可以让我参考参考 :)

Add button is not working to add audio files in Windows 10

Hi,

Add button is not working to add audio files in Windows 10
Is there a way to enable log or is it possible for you to verify in windows 10? if you don't have you can install via virtual box and try
Mine is 64-bit Windows 10
Add to shows the playlist name but no popup appears to add the song

Thanks

一扫描本地歌曲就报FileNotFoundError: [WinError 3] 系统找不到指定的路径

Describe the bug
一扫描本地歌曲就报FileNotFoundError: [WinError 3] 系统找不到指定的路径。: 'cache\Album_Cover\July_Time...'
然后启动也会报这个,然后就再也启动不了主界面了。

2022-10-12 22:05:47,050 - ERROR - Unhandled exception
Traceback (most recent call last):
  File "View\main_window\main_window.py", line 1312, in onReloadFinished
  File "View\my_music_interface\my_music_interface.py", line 166, in updateWindow
  File "View\my_music_interface\album_tab_interface\album_tab_interface.py", line 35, in updateWindow
  File "View\my_music_interface\album_tab_interface\album_card_interface.py", line 327, in updateAllAlbumCards
  File "components\album_card\album_card_base.py", line 34, in __init__
  File "components\album_card\album_card_base.py", line 128, in __setAlbumInfo
  File "common\cover.py", line 46, in path
  File "common\cover.py", line 46, in <listcomp>
  File "pathlib.py", line 1140, in glob
  File "pathlib.py", line 534, in _select_from
FileNotFoundError: [WinError 3] 系统找不到指定的路径。: 'cache\\Album_Cover\\July_Time...'

To Reproduce

Expected behavior
A clear and concise description of what you expected to happen.

Environment(please complete the following information):

  • OS: win10 21h2
  • DPI scaling: [e.g. 125%]

Additional context
如果需要我提供我的本地歌曲库来复现的话,我可以打包上传到阿里云盘给你验证一下哈~

亚克力板拖动

也许可以在拖动时暂时关闭亚克力板的效果来提升流畅性。

拖动时导航栏正好是处于收缩的状态,是否开启亚克力板效果区别不大,但是能大幅提高流畅性。

在 Windows 7 上关闭、最小化等按钮错位

Describe the bug
如题,在 Windows7 的关闭等按钮发生错位。
image
(见图右上角)

To Reproduce
Steps to reproduce the behavior(you can use GIF to demonstrate :)

  1. 将鼠标移到右上角。
  2. 装饰的关闭按钮等对不上实际的关闭按钮。

Expected behavior
可正常进行关闭、最大化、最小化以及窗口化等功能。

Environment(please complete the following information):

  • OS: Win7 (未开启 Aero)
  • DPI scaling: 正常
  • Version: 1.2.1

Additional context
image
另外也导致了这个问题...

使用中的一些小问题 :)

Salve! 首先衷心赞叹,您的程序制作能力让我折服,您的设计与代码已经达到了艺术品的标准!
但在学习的过程中,我发现了一些瑕不掩瑜的小问题:

  1. 我在我的Win10和Win11系统上的测试中,均出现了播放列表一点击就闪退的情况,同时弹出以下报错:
    image
  2. 当在播放页面通过三个点的窗口添加歌曲到个人播放列表时,会默认将当前播放列表内的所有歌曲全部添加(默认为17首歌被全部添加);
  3. 在Win10系统上使用时,程序刚启动的阶段,会出现软件卡在屏幕上部的情况且无法移动,此时需手动点击边框才能恢复;
  4. 如图,搜索结果的显示中会出现文字被遮盖的现象,不能完全显示(Win10):
    image

以及一些个人的小建议:

  1. 导航栏中的最小化按钮可否设计为“鼠标移入触发,且当鼠标移除导航栏时自动收回“与”鼠标点击时导航栏常驻,但再次点击其他窗口部件时自动回收“?
  2. 在歌曲的播放页面中通过三个点添加歌曲至自定义歌单,默认均为新建一个歌单,可否添加歌曲至已存在的歌单?

以上,感谢 ~

歌词无法解析(.lrc)

Describe the bug
歌词文件无法解析
bug

To Reproduce
1.使用外部歌词文件
2.歌词无法解析

Expected behavior
歌词正常显示

Environment(please complete the following information):

  • OS: Win10
  • DPI scaling: 125%
  • Ver : 1.2.1

Additional context
这是无法导入的歌词文件和其相对应的音频,可以尝试复现一下,我没看出来啥问题
music.zip

Is Type-ahead search of file name is possible for local songs

Hi,

I have added many songs to the list and on search the results are coming for local and online

  1. How to disable the online songs which i don't need?
  2. Is it possible to provide type-ahead search for local song i.e show results on typing

image

Thanks

How to specify hour in LRC file ?

Hi,

Can you please provide an example on how to specify LRC file format for hours?

Basically one audio is having more than 2 hours...

I couldn't achieve hours ..Pls advise

Thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.