找回密码
 -注册-
查看: 46607|回复: 127
打印 上一主题 下一主题

自制PC音乐播放器SounDevil

[复制链接]
跳转到指定楼层
1
发表于 2022-1-10 12:18 | 显示全部楼层 |只看大图 回帖奖励 |倒序浏览 |阅读模式 来自 广东省湛江市
想要一个音质好,简洁漂亮,小而精的本地音乐播放器,找了一圈都不满意,常被提及的那些,要么太老不支持新的软硬件(新OS,高分屏),要么太商业(专有格式,直播),要么大而全却不精,有的丑还难用但音质好?略懂C++,于是自己做了一个.
音频引擎是自己设计的,部分解码器和通用算法是用的开源库,参考了几乎所有常见的软件/引擎,几乎每种路线都动手实现过,终于得到满意的结果.
UI是在类DuiLib上改的,原版渲染引擎基于GDI,对高分屏支持不好,刷新率不高,图片显示质量差,于是基于Direct2D重做了引擎.
自觉不错,献给大家
百度网盘: https://pan.baidu.com/s/1Kmt2Bq-zwIVYzSkDnI5TBw 提取码: wgd3

音频引擎为Surreal Engine(超现实引擎)
输入文件格式,支持WAV,DSD,FLAC,APE,MP3.
输出界面,支持ASIO,WASAPI独占模式.
输出格式,支持PCM,DSD native,DoP.
DSP使用64位浮点数,采用现代高质量算法,支持现代高性能指令集,具有声道转换,采样率转换(软件升频),编码转换,参数滤波器,卷积滤波器,音量控制等功能.
用户界面为DiVect UI(直接矢量界面)
渲染引擎为Direct2D,使用显卡加速,速度远超传统的GDI/GDI+,画质也更好.
采用浮点坐标和矢量图形,支持任意比例无损缩放.
支持高分屏,动态刷新率,多显示器环境.
支持多种语言.




2
 楼主| 发表于 2022-1-11 20:19 | 显示全部楼层 来自 广东省湛江市

近期不会开源,还在快速更新中,过早开源会限制接口改进,拖慢开发进度.
回复

使用道具 举报

3
 楼主| 发表于 2022-1-11 20:20 | 显示全部楼层 来自 广东省湛江市
tly1987 发表于 2022-1-11 19:14
下载了,试用!能否整理硬盘中的音乐文件,或者按照某个主题自建音乐播放列表

下个版本重心就是媒体库和歌单
回复

使用道具 举报

4
 楼主| 发表于 2022-1-11 20:22 | 显示全部楼层 来自 广东省湛江市
luwj657 发表于 2022-1-11 20:15
膜拜大佬,如何升级?

Q群会频繁更新,网盘会更新稳定版
回复

使用道具 举报

5
 楼主| 发表于 2022-1-11 21:21 | 显示全部楼层 来自 广东省湛江市
pipi1818 发表于 2022-1-11 21:18
我下了1月8号的那个,跟1月10号的有区别吗?

功能没区别,看版本号就行
回复

使用道具 举报

6
 楼主| 发表于 2022-1-12 19:58 | 显示全部楼层 来自 广东省湛江市
复制情感 发表于 2022-1-12 19:47
强力为楼主点赞!
一直用FB或毛子的APlayer,终于见到国人自己写的高码播放软件。
使用了两天,真心感觉 ...

正常的,停止状态按"播放"会重新播放当前歌曲.如果播放顺序不是单曲XX,按"下一个"就会播放新加入的歌曲
回复

使用道具 举报

7
 楼主| 发表于 2022-1-13 09:03 | 显示全部楼层 来自 广东省湛江市
leonbernieni 发表于 2022-1-13 07:47
抓到个小虫,拉丁字符会认错

我模仿了图中的路径,是可以打开的.请先确认文件存在.
如果是,
请在资源管理器-右键点击文件-属性-安全-对象名称,将文件路径复制给我(不是截图,是文字).


如果您是在网络下载的,可以提供下载地址给我.
感谢!


回复

使用道具 举报

8
 楼主| 发表于 2022-1-13 09:53 | 显示全部楼层 来自 广东省湛江市
leonbernieni 发表于 2022-1-13 09:30
实际这个文件与目录同样是café blue,但是软件做播放列表索引的时候,目录的解析是对的,而里面的dff文 ...

文件夹内是不是有同名的cue文件,如果是的话,我可能知道问题在哪了,方便时请将cue发给我验证,谢谢
回复

使用道具 举报

9
 楼主| 发表于 2022-1-13 18:27 | 显示全部楼层 来自 广东省湛江市
leonbernieni 发表于 2022-1-13 17:39
链接: https://pan.baidu.com/s/1LC72I5hjcc-z08O79Xc8Iw 提取码: d95w
cue请查收。谢谢。

厉害了,确实是因为把UTF当作ANSI,因为当时看的资料说CUE只有ANSI编码,请在致谢名单留下您的大名,是leonbernieni吗?
回复

使用道具 举报

10
 楼主| 发表于 2022-1-20 12:50 | 显示全部楼层 来自 广东省湛江市
linbin 发表于 2022-1-20 09:25
楼主,解释一下,怎么会报有木马的动态链接库?

您好,感谢试用SounDevil,请问您是在哪里下载的?杀毒软件是哪个?有木马的是哪个动态链接库?何种木马?
回复

使用道具 举报

11
 楼主| 发表于 2022-1-20 23:25 | 显示全部楼层 来自 广东省湛江市
pipi1818 发表于 2022-1-20 23:13
播放过程中发生错误
原因: 外部函数 失败
影响: 播放终止

请将文件发到邮箱soundevil@qq.com,谢谢
回复

使用道具 举报

12
 楼主| 发表于 2022-1-21 00:00 | 显示全部楼层 来自 广东省湛江市
pipi1818 发表于 2022-1-20 23:29
请问应该发什么文件,音乐文件还是?

音乐文件
回复

使用道具 举报

13
 楼主| 发表于 2022-1-23 01:27 | 显示全部楼层 来自 广东省湛江市
版本1.2
新增:
输入AAC(.m4a).
输入DTS, DTS-HD, DTS-in-WAV.
DSD直通模式 (不转换为PCM).
WASAPI共享模式.
以命令行参数添加歌曲并播放, 可以将文件的打开方式设为SounDevil,在资源管理器里双击打开歌曲,或者右键菜单->用SounDevil"打开".
(系统更新或者重装驱动后)WASAPI设备ID改变后, 如果设备名字没有改变, 能自动迁移设置.
更改:
输入WAV, 大幅改进了兼容性, 可以支持更多的子格式和"状况".
CUE, 现在支持ANSI, UTF-8, UTF8 BOM, UTF16 LE, UTF 16 BE.
MP3解码输出格式 改为 32位浮点数.
修正:
某些芯片(如Realtek)输出格式为24bit时沙沙声噪音.
MP3,某些文件播放将近结束时, 出现错误"mp3dec_ex_read failed".
主窗口大小现在可以自动恢复上次关闭时的状态.
回复

使用道具 举报

14
 楼主| 发表于 2022-1-27 16:30 | 显示全部楼层 来自 广东省湛江市
SounDevil 1.2.1
新增:
输入AC3, AIFF, ALAC, TAK, MPC, OGG, WAVPACK, WMA.
WASAPI, 以32bit封装的有效位深是24bit的PCM.
更改:
音源数据错误, 可以继续播放的不再终止播放, 不弹出对话框, 在引擎状态 查看错误时间点和详情.
修正:
软件路径有中文会无法再次启动,(由于TOML的bug).
ASIO:
一些导致播放中止的情况 给出提示, 通常是由于在播放期间 通过(驱动/系统)控制面板修改了设置而引起.
有的驱动控制面板 不能显示.
有的驱动控制面板 会造成播放器窗口 卡住.

回复

使用道具 举报

15
 楼主| 发表于 2022-1-28 09:47 | 显示全部楼层 来自 广东省湛江市
复制情感 发表于 2022-1-28 06:20
继续使用中!
如果:1、加入网络电台播放。毛子的APlayer里面内置的网络电台有好多是高码推送,音质棒棒 ...

非常好的建议
回复

使用道具 举报

16
 楼主| 发表于 2022-1-28 09:49 | 显示全部楼层 来自 广东省湛江市
复制情感 发表于 2022-1-28 07:00
播放DSD256文件时,有以下提示:(解码器是支持硬解到256的)

准备播放时发生错误

您使用的是WASAPI DoP, 同一个设备, DoP支持的最高频率 可能比ASIO DSD native 低一档, 您可以用ASIO试试.
回复

使用道具 举报

17
 楼主| 发表于 2022-2-7 16:13 | 显示全部楼层 来自 广东省茂名市
hongyi0200 发表于 2022-2-6 21:51
准备播放时发生错误
原因: 终端 不支持 该格式
影响: 不能开始播放

您好, 这个错误的原因是ASIO驱动表示它并不支持DSD native(原生DSD), 您的设备宣传支持DSD可能是指DoP(包装成PCM的DSD).SounDevil目前不支持ASIO接口的DoP, 您可以在终端列表选择WASAPI接口的该设备, 看样本里是否有DoP, 如果有可以尝试使用.我从网上搜的资料说AUNE S16最高支持到DSD128, 您的foobar可能并非以DSD512输出(虽然输入是DSD512, 但是可能转为其它格式输出).


如果方便请到群内详谈.
谢谢!
回复

使用道具 举报

18
 楼主| 发表于 2022-2-10 23:26 | 显示全部楼层 来自 广东省茂名市
版本1.3
新增:
终端支持格式, 可以手动排除 实际上不支持的格式.
WASAPI 推送模式(push).
输入DSD, 支持48000Hz频率系列, 实验性支持DSD512和DSD1024直通 或者 转PCM.
MMCSS 自定义.
播放控制栏快捷选择终端.
更改:
设置保存文件(config.toml)的内容 改为 树状结构, 旧版不能用于新版. 终端设置 放入 config.toml.
可以只显示封面或者歌词.
修正:
WASAPI, 如果终端只支持共享模式, 可以正常使用了.
ASIO, 驱动名字超过31个字符时,发生错误:loadAsioDriver failed.
ASIO, 某些驱动(例如 意大利卡Amanero)在开始播放时 闪退.
声道转换, 离散规则下, 输入声道数小于输出声道数时, 剩余声道 忘记 设为静音.
SRC算法设置更改后没有生效.
输入WAV, 文件尾部存在非RIFF标准的内容(例如APE标签), 可以正常播放了.
输入DSD, 随机显示MSB或LSB.
输入DSD, 部分DSF文件(或者seek某些位置后)末尾爆音.
用户数据迁移办法: 将user文件夹复制到新版, 删除其中的config.toml和endpoints文件夹.
回复

使用道具 举报

19
 楼主| 发表于 2022-3-1 14:43 来自手机 | 显示全部楼层 来自 广东省佛山市
jichao 发表于 2022-3-1 10:15
dsd 转换pcm时报错,机器配置低了?

应该不是配置的问题,刷新终端状态试试。如果不行,请进群聊吧
回复

使用道具 举报

20
 楼主| 发表于 2022-3-14 14:26 | 显示全部楼层 来自 广东省茂名市
SounDevil 1.4
2022年3月14日
新增:
下载封面,歌词,调整时间.
歌单, 显示总数和总时长, 搜索歌曲, 定位当前播放歌曲, 拖放添加文件 可以 选择新建列表或添加到指定列表, 显示正在添加文件并且可以取消, 显示添加文件遇到的问题, 显示歌曲时长, 打开文件所在位置.
DSD转PCM滤波器 自定义.
图形均衡器(EQ).
平滑音量变化.
手动停止时淡出, 定位(Seek)时淡入淡出.
A-B循环播放.
播放控制栏, 显示 频率, 声道.
迷你频谱 显示立体声.
更改:
歌单显示改用虚拟列表.
歌单保存格式更改, 不兼容旧版.
封面, 歌词, 优先读取音源同路径外部文件.
修正:
程序缩放不是100%时, 重启窗口大小错误.
文件扩展名不是小写时 不会加入歌单.
歌词时间使用毫秒时,不能读取.
参数滤波器 仅有 主增益 生效, 滤波器未生效.
参数滤波器 一处内存泄漏.
连续快速seek可能导致进度条不再走动(声音是正常的).
FFmpeg输入, seek到接近文件尾部 偶尔会报错.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | -注册-

本版积分规则

Archiver|手机版|粤icp备09046054号|耳机网-耳机大家坛

粤公网安备 44030602000598号 耳机大家坛、www.erji.net、网站LOGO图形均为注册商标

GMT+8, 2024-5-19 23:32

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表