FreeOZ论坛

标题: DIY了一个简单的无线硬盘播放机 [打印本页]

作者: 江南柴进    时间: 28-4-2009 20:00
标题: DIY了一个简单的无线硬盘播放机
我把asus的wl-700ge带250g硬盘的无线路由器简单地处理了一下:编译openwrt新内核,安装alsa音效,安装mpd播放器支持flac mp3 wav文件播放,安装lighttpd支持web客户端控制。然后在国内订购了一个mini usb dac套件自己焊好。播放器遥控器用支持无线和web的PSP,或者是firefox的插件minion。

播放效果还可以,但是由于我的音箱和功放很一般,Jamo E650和NAD 3120(没钱,Ebay上淘的老机器,换上了新的大电解电容,并做了中点电压调整和空闲电流调整,比没有动手术之前效果好一点),加上我是木耳,实在不知道这种弄法效果好不好。

有哪位同好有兴趣,交流一下?

[ 本帖最后由 mohan29 于 29-4-2009 16:23 编辑 ]
作者: lilianaya    时间: 28-4-2009 21:58
感谢分享,你太强了。
作者: 清风不写字    时间: 29-4-2009 10:59
DIY牛人啊!
作者: cello    时间: 29-4-2009 11:07
楼主确实够强的。你搞个生意卖这玩艺,我当你的客户
作者: 小波    时间: 29-4-2009 11:47

发烧了
作者: 江南柴进    时间: 29-4-2009 16:08
楼上各位谬赞了。这个工作很简单的,真正的高手是那些自己做wav播放器的高人。
顺便给一个国内出的mini usb dac套件的链接:
http://shop.hifidiy.net/product/227.htm

也许音质还入得一些发烧高人的法眼。
作者: 江南柴进    时间: 29-4-2009 16:11
cello有兴趣啊?可惜Cello兄不在墨尔本,否则我可以帮你焊一个带补品电容的加强版dac。我目前的电容都是在www.rsaustralia.com买的松下,Muse电容太贵,舍不得,听不出区别,浪费。

[ 本帖最后由 mohan29 于 29-4-2009 15:25 编辑 ]
作者: ritz    时间: 29-4-2009 16:18
强人啊!
这个是不是转到数码硬件版更好?
作者: bg1pdq    时间: 29-4-2009 16:25
我在玩 DAC1USB + SB3 + NAS:  http://www.pandeqiang.com/hi-fi-topsy-ape-flac-lossless-audio.htm

最近我下载了超过 100G 的 FLAC/APE, 很爽.
作者: 江南柴进    时间: 29-4-2009 16:28
bg1pdq:
正是受兄台启发,才搞出这么个想法。Benchmark的DAC-1要一千美金,不是我等没米之人消受得起的。SB3嘛,本来打算买一个,但感觉有这个无线播放器,用不上了。除非音质真好很多,将来可以考虑买一个,然后diy电源。
作者: cello    时间: 29-4-2009 16:29
原帖由 mohan29 于 29-4-2009 14:41 发表
cello有兴趣啊?可惜Cello兄不在墨尔本,否则我可以帮你焊一个带补品电容的加强版dac。我目前的电容都是在www.rsaustralia.com买的松下,Muse电容太贵,舍不得,听不出区别,浪费。

我有兴趣弄个CD转盘的替代品。PDQ那个太发烧,硬盘播放器,只要DAC部分别太次,我就满意了。

我前天还在墨尔本转机呆了一整个白天,可惜电话里面的联系人一个都找不到,其他人我又没有电话,只好自己一个人转了圈晚上就做飞机走了。
作者: bg1pdq    时间: 29-4-2009 16:39
SB3 的数码输出, 比楼主 DIY 的这个强太多了. 你有空到我这儿来试试吧.
作者: cello    时间: 29-4-2009 16:42
原帖由 bg1pdq 于 29-4-2009 15:09 发表
SB3 的数码输出, 比楼主 DIY 的这个强太多了. 你有空到我这儿来试试吧.

好啊。可是SB3我还要解决前面的部分,比如你的nas。我希望有个简单的系统。反正扩音机,音箱都是很一般的货色。另外,我家那里没有宽带,很多其他应用比如网络收音机之类的用不上。
作者: 江南柴进    时间: 29-4-2009 16:48
原帖由 bg1pdq 于 29-4-2009 15:39 发表
SB3 的数码输出, 比楼主 DIY 的这个强太多了. 你有空到我这儿来试试吧.


真希望能用你的cambridge前后级试一下,没有比较,还真不知道哪里需要改进。DAC-1不是也有USB输入吗?USB难道就这么不堪?
而且,到底sb3的同轴输出能比cd的同轴输出强多少呢?我没有听过,估计我听不出。

[ 本帖最后由 mohan29 于 29-4-2009 15:57 编辑 ]
作者: bg1pdq    时间: 29-4-2009 16:54
<P>
原帖由 <I>cello</I> 于 2009/4/29 15:12 发表 <A href="http://www.freeoz.org/forum/redirect.php?goto=findpost&amp;pid=1970170&amp;ptid=836278" target=_blank><IMG alt="" src="http://www.freeoz.org/forum/images/common/back.gif" border=0></A> 好啊。可是SB3我还要解决前面的部分,比如你的nas。我希望有个简单的系统。反正扩音机,音箱都是很一般的货色。另外,我家那里没有宽带,很多其他应用比如网络收音机之类的用不上。
</P>
<P>&nbsp;</P>
<P>楼主的方案, 最大的优点是: 省电.</P>
<P>&nbsp;</P>
<P>缺点也是很明显: 不发烧,</P>
<P>&nbsp;</P>
<P>说白了, 他的原理相当于把 mini usb dac 当成了华硕盒子的外置声卡, 然后通过浏览器去控制盒子里的播放软件, 使用起来也麻烦.</P>
<P>&nbsp;</P>
<P>&nbsp;</P>
作者: 江南柴进    时间: 29-4-2009 17:12
原帖由 cello 于 29-4-2009 15:42 发表

好啊。可是SB3我还要解决前面的部分,比如你的nas。我希望有个简单的系统。反正扩音机,音箱都是很一般的货色。另外,我家那里没有宽带,很多其他应用比如网络收音机之类的用不上。


对于cello这个情况,这么一个无线播放器还真合适。下次来墨尔本找我吧。我把手机短信给你。

我对发烧没有研究,这个东西效果不如那些hifi设备,我也知道,但是我对usb输出也不是一点也没有好感,至少,现在很多东西都用usb了。
usb dac,换个说法就是外置声卡。两种不同的心态。

[ 本帖最后由 mohan29 于 29-4-2009 16:14 编辑 ]
作者: bg1pdq    时间: 29-4-2009 17:13
<P>
原帖由 <I>mohan29</I> 于 2009/4/29 15:18 发表 <A href="http://www.freeoz.org/forum/redirect.php?goto=findpost&amp;pid=1970201&amp;ptid=836278" target=_blank><IMG alt="" src="http://www.freeoz.org/forum/images/common/back.gif" border=0></A> 真希望能用你的cambridge前后级试一下,没有比较,还真不知道哪里需要改进。DAC-1不是也有USB输入吗?USB难道就这么不堪?而且,到底sb3的同轴输出能比cd的同轴输出强多少呢?我没有听过,估计我听不出。
</P>
<P>&nbsp;</P>
<P>我们要是在一个城市里就好了, 乐趣就会很多. 玩HIFI, 众乐乐比独乐乐好.</P>
<P>&nbsp;</P>
<P>USB 接口, 在传输重放的数字信号时, jitter 远比同轴输出要高. 这个问题是USB规格自身带来的,无法克服,甚至即将发布的 USB 3.0 规范,仍然无能为力.</P>
<P>&nbsp;</P>
<P>这也就是为什么 DAC 厂商一哄而上 USB 接口之后, 现在又纷纷推出 1394 接口产品的原因了.</P>
<P>&nbsp;</P>
<P>&nbsp;</P>
作者: 江南柴进    时间: 29-4-2009 17:19
原帖由 bg1pdq 于 29-4-2009 16:13 发表

&nbsp;
我们要是在一个城市里就好了, 乐趣就会很多. 玩HIFI, 众乐乐比独乐乐好.
&nbsp;
USB 接口, 在传输重放的数字信号时, jitter 远比同轴输出要高. 这个问题是USB规格自身带来的,无法克服,甚至即将发布的 US ...

是啊。
照这种说法,usb音乐前途大大地不妙啊。不过我的设备太一般,也许我应该说太差,还没有感到usb输出的不足。有机会弄一个sb3试试。那个DAC兄台有没有什么看法,感觉数字部分无可挑剔,前级是仿solo耳放的电路,现在电路都是大同小异,真不知道还有什么真出色的。
作者: bg1pdq    时间: 29-4-2009 17:22
<P>
原帖由 <I>mohan29</I> 于 2009/4/29 15:42 发表 <A href="http://www.freeoz.org/forum/redirect.php?goto=findpost&amp;pid=1970269&amp;ptid=836278" target=_blank><IMG alt="" src="http://www.freeoz.org/forum/images/common/back.gif" border=0></A> 对于cello这个情况,这么一个无线播放器还真合适。下次来墨尔本找我吧。我把手机短信给你。 我对发烧没有研究,这个东西效果不如那些hifi设备,我也知道,但是我对usb输出也不是一点也没有好感,至少,现在很 ...
</P>
<P>&nbsp;</P>
<P>不知道你的盒子的硬件规格, 但我建议楼主把 APE 全部转换成 FLAC 格式, 因为同样作为无损格式, 解码 FLAC 时, 运算量小, 只需要整数运算播放, 会节省一些系统资源.</P>
作者: bg1pdq    时间: 29-4-2009 17:27
<P>
原帖由 <I>mohan29</I> 于 2009/4/29 15:49 发表 <A href="http://www.freeoz.org/forum/redirect.php?goto=findpost&amp;pid=1970294&amp;ptid=836278" target=_blank><IMG alt="" src="http://www.freeoz.org/forum/images/common/back.gif" border=0></A> 是啊。照这种说法,usb音乐前途大大地不妙啊。不过我的设备太一般,也许我应该说太差,还没有感到usb输出的不足。有机会弄一个sb3试试。那个DAC兄台有没有什么看法,感觉数字部分无可挑剔,前级是仿solo耳放的电 ...
</P>
<P>&nbsp;</P>
<P>这个 480 块的套件, 我也是刚刚收到. 目前还没有时间去焊. 还缺少趁手的工具, 加上焊工也不太好,眼神也不行....慢慢来了...</P>
<P>&nbsp;</P>
<P>等弄好了, 再交流听感吧. </P>
<P>&nbsp;</P>
<P>SOLO 被耳机俱乐部论坛的"小白"吹上天了, 我很有兴趣弄一台来试试....</P>
<P>&nbsp;</P>
<P>&nbsp;</P>
作者: 江南柴进    时间: 29-4-2009 17:29
原帖由 bg1pdq 于 29-4-2009 16:22 发表

&nbsp;
不知道你的盒子的硬件规格, 但我建议楼主把 APE 全部转换成 FLAC 格式, 因为同样作为无损格式, 解码 FLAC 时, 运算量小, 只需要整数运算播放, 会节省一些系统资源.


mpd暂时不支持ape. 只能转flac。播放的时候cpu占用总是很小。

这个无线硬盘盒的好处是传文件比一般的要快,我以前用d-link的,2.1M不得了了。现在这个,隔一个房间,还有2.6M。不过,有线传输,没有超过5M的,实在没能全部利用100M网卡的速度。你的QNAP应该好多了吧?
作者: 江南柴进    时间: 29-4-2009 17:34
要不寄过来我帮你焊?注意焊IC的时候,对着白炽灯透过PCB看,就一清二楚情况了。
最好有一个放大镜,否则焊IC太吃力。我是一个脚一个脚焊的,眼睛受苦了。
作者: bg1pdq    时间: 29-4-2009 17:42
<P>
原帖由 <I>mohan29</I> 于 2009/4/29 15:59 发表 <A href="http://www.freeoz.org/forum/redirect.php?goto=findpost&amp;pid=1970333&amp;ptid=836278" target=_blank><IMG alt="" src="http://www.freeoz.org/forum/images/common/back.gif" border=0></A> mpd暂时不支持ape. 只能转flac。播放的时候cpu占用总是很小。 这个无线硬盘盒的好处是传文件比一般的要快,我以前用d-link的,2.1M不得了了。现在这个,隔一个房间,还有2.6M。不过,有线传输,没有超过5M的, ...
</P>
<P>&nbsp;</P>
<P>CD每秒钟的码率是 44.1KHZ(采样率)*16(编码位数)* 2(双声道)=1411.2Kbps。这点数据,对 802.11g 来讲,足够对付了。</P>
<P>&nbsp;</P>
<P>我在家布的是千兆网,辅以 802.11g。</P>
<P>&nbsp;</P>
<P>这几天,我在下载&nbsp;<FONT color=#ff3300><SPAN class=hilite>192</SPAN><SPAN class=hilite>kHz</SPAN></FONT>/<FONT color=#ff3300><SPAN class=hilite>24</SPAN><SPAN class=hilite>bit</SPAN></FONT> 音乐文件,质量等同于母带,文件很大,尝尝是啥滋味....&nbsp;</P>

[ 本帖最后由 bg1pdq 于 29-4-2009 16:14 编辑 ]
作者: bg1pdq    时间: 29-4-2009 17:44
<P>
原帖由 <I>mohan29</I> 于 2009/4/29 16:04 发表 <A href="http://www.freeoz.org/forum/redirect.php?goto=findpost&amp;pid=1970354&amp;ptid=836278" target=_blank><IMG alt="" src="http://www.freeoz.org/forum/images/common/back.gif" border=0></A> 要不寄过来我帮你焊?注意焊IC的时候,对着白炽灯透过PCB看,就一清二楚情况了。最好有一个放大镜,否则焊IC太吃力。我是一个脚一个脚焊的,眼睛受苦了。
</P>
<P>&nbsp;</P>
<P>谢谢老兄的建议。</P>
<P>&nbsp;</P>
<P>这东西的乐趣还是DIY,我自己慢慢搞,嘿嘿....</P>
<P>&nbsp;</P>
<P>&nbsp;</P>

[ 本帖最后由 bg1pdq 于 29-4-2009 16:18 编辑 ]
作者: bg1pdq    时间: 29-4-2009 18:01
帮 cello 查了一下, 楼主的盒子 WL-700Ge router 使用的是一个 266Mhz 处理器和 64Mbyte 内存. 系统资源不足,无法运行支撑 SB3 的服务器软件 SqueezeCenter 7.x 系统, 会丢包.....
作者: 江南柴进    时间: 29-4-2009 18:19
slimserver(squeasecenter的前身)应该没有问题。我已经装的差不多了。但是没有sb3,没有运行。
作者: cello    时间: 29-4-2009 22:41
我自己想了一下,其实我需要的就是一个USB DAC,然后用我的手提电脑作音源。对于我的应用来说,这个足以。当然最好是DAC带个可以推耳机的前级。那么以后选个不太糟糕的后级就能构成个过得去的系统。其他的无线啊之类的功能,对于我来说意义都不大。

如果是这样,不太多的投资,有什么好建议呢?
作者: 江南柴进    时间: 29-4-2009 23:05
那么cello可以买一个这个东西,带耳房前级。有纪念版,用的元器件发烧一点。上www.hifidiy.net上看看吧。仿solo耳房电路,说好的人还不少。
作者: cello    时间: 29-4-2009 23:23
我焊工不行,有没有卖成品的?
作者: bg1pdq    时间: 29-4-2009 23:24
<P>
原帖由 <I>mohan29</I> 于 2009/4/29 21:35 发表 <A href="http://www.freeoz.org/forum/redirect.php?goto=findpost&amp;pid=1971255&amp;ptid=836278" target=_blank><IMG alt="" src="http://www.freeoz.org/forum/images/common/back.gif" border=0></A> 那么cello可以买一个这个东西,带耳房前级。有纪念版,用的元器件发烧一点。上www.hifidiy.net上看看吧。仿solo耳房电路,说好的人还不少。
</P>
<P>&nbsp;</P>
<P>这台 mini usb dac 还确实适合 cello 这家伙玩。</P>
<P>&nbsp;</P>
<P>cello 可以看这个贴: <A href="http://forum.xitek.com/showthread.php?threadid=496744">http://forum.xitek.com/showthread.php?threadid=496744</A></P>
作者: 四香油饼    时间: 30-4-2009 15:57
这个转到俺们版吧,俺给你加精
作者: 江南柴进    时间: 30-4-2009 21:17
墨尔本怎么就没有同好可以交流交流呢?转到那边如有的话,也是好事情啊。
作者: 江南柴进    时间: 1-7-2009 22:45
应为现在还用这个播放机做视频文件服务器,然后用wii实现无线播放。硬盘空间不够用了,周末去买个1.5T的硬盘,再买一个IDE转SATA的卡,换上它。

新硬盘,要重新安装,是不是顺便试试OpenWrt kamikaze8.09.1版,编译一下linux2.6核心,如果成功,就能让我的USB 3G上网速度快起来,这又可以多一个无线3G路由器的功能。

咳咳...是不是追求功能太多了?NAS、音频播放、视频流提供、ftp服务、web服务、无线HUB、3G路由器、USB充电...,还可以实现全天候电驴下载,因为带宽不够,懒得弄了。

顺便问一下版主,能不能将这个帖子移到电脑版去,似乎发这里发错了。

[ 本帖最后由 mohan29 于 1-7-2009 21:51 编辑 ]
作者: cello    时间: 2-7-2009 00:08
从mel回来,发现你那个古乐团的四季很不错。
作者: 江南柴进    时间: 17-11-2009 22:24
这两天有点闲,把MPD播放器重新编译了一遍,终于可以摆脱OSS,直接用ALSA输出了。还省掉了两个模块的加载,节约一点内存,在/etc/module.d/70-alsa文件注释掉:

#snd-mixer-oss
#snd-pcm-oss

装了kmod-alsa,就不需要kmod-usb-audio模块了,他是为oss准备的。

而且,MPD_0.15.5还支持居多文件格式,APE就是其中一个,以后不用搞格式转换了,呵呵。可惜不支持cue文件播放,还是要分割音轨。

Supported decoders:

[mad] mp3 mp2
[vorbis] ogg oga
[oggflac] ogg oga
[flac] flac
[audiofile] wav au aiff aif
[faad] aac
[mpcdec] mpc
[wavpack] wv
[ffmpeg] 16sv 3g2 3gp 4xm 8svx aa3 aac ac3 afc aif aifc aiff al alaw amr anim apc ape asf atrac au aud avi avm2 avs bap bfi c93 cak cin cmv cpk daud dct divx dts dv dvd dxa eac3 film flac flc fli fll flx flv g726 gsm gxf iss m1v m2v m2t m2ts m4a m4v mad mj2 mjpeg mjpg mka mkv mlp mm mmf mov mp+ mp1 mp2 mp3 mp4 mpc mpeg mpg mpga mpp mpu mve mvi mxf nc nsv nut nuv oga ogm ogv ogx oma ogg omg psp pva qcp qt r3d ra ram rl2 rm rmvb roq rpl rvc shn smk snd sol son spx str swf tgi tgq tgv thp ts tsp tta xa xvid uv uv2 vb vid vob voc vp6 vmd wav wma wmv wsaud wsvga wv wve

原来播放FLAC音轨开始的时候,不是很流畅,查了一下,还是linux 下OSS声音驱动的问题, 所以打算不再用ALSA模拟OSS,而直接用ALSA输出。

但是,Openwrt上MPD一直不是很顺畅,播放效果不好,编译也问题多多。因此采用Optware方案。

该方案比较复杂,因为Optwera支持的MPD是不带ALSA输出plugin的,必须自己编译alsa-lib。还有一个bug,也让编译不顺。不过最终还是搞定了,
具体方法如下,因为是发MPD论坛的,所以用英语,很蹩脚,凑合看吧:

To start, get Optware installed:

svn co http://svn.nslu2-linux.org/svnroot/optware/trunk optware

cd ./optware

Create compile target, my platform is wl-700ge, which is openwrt-brcm24:

make openwrt-brcm24-target

cd openwrt-brcm24

make directories

make ipkg-utils

make toolchain

Now compiling environment is ready.

Packages can be compiled now, but there could be a few problems, autoconf version is one, so we can download automake1.9:

sudo apt-get install automake1.9

and gettext

sudo apt-get install gettext

According to Optware compiling best practice, libtool from Ubuntu 9.04 and later can be problematic, so a vertion os libtool from Ubuntu 8.04 or 8.10 is needed, the deb package of which can be downloaded from ubuntu archive sites.

Also, there has been a bug with libavcodec/imgresample.c, a patch can to applied here:

***********************************************************
Index: libavcodec/imgresample.c
===================================================================
--- libavcodec/imgresample.c        (revision 16975)
+++ libavcodec/imgresample.c        (working copy)
@@ -517,10 +517,10 @@

static const AVClass context_class = { "imgresample", context_to_name, NULL };

-struct SwsContext *sws_getContext(int srcW, int srcH, int srcFormat,
-                                  int dstW, int dstH, int dstFormat,
+struct SwsContext *sws_getContext(int srcW, int srcH, enum PixelFormat srcFormat,
+                                  int dstW, int dstH, enum PixelFormat dstFormat,
                                   int flags, SwsFilter *srcFilter,
-                                  SwsFilter *dstFilter, double *param)
+                                  SwsFilter *dstFilter, const double *param)
{
     struct SwsContext *ctx;

@@ -575,9 +575,10 @@
  * asumed to remain valid.
  */
struct SwsContext *sws_getCachedContext(struct SwsContext *ctx,
-                        int srcW, int srcH, int srcFormat,
-                        int dstW, int dstH, int dstFormat, int flags,
-                        SwsFilter *srcFilter, SwsFilter *dstFilter, double *param)
+                                        int srcW, int srcH, enum PixelFormat srcFormat,
+                                        int dstW, int dstH, enum PixelFormat dstFormat,
+                                        int flags, SwsFilter *srcFilter,
+                                        SwsFilter *dstFilter, const double *param)
{
     if (ctx != NULL) {
         if ((ctx->resampling_ctx->iwidth != srcW) ||
*************************************************************************

Before mpd is compiled, compile alsa-lib first,

make alsa-lib

In case alsa-lib-1.0.8.tar.bz2 is not downloadible from site specified by the alsa-lib.mk file, get it from the Internet

After alsa-lib is compiled, all files and directories need to be copied to ./builds/mpc/alsa/ to make sure header files are accessible by Optware compiler.

And libasound.so file under ./alsa-lib/src/.libs/ has to be copied to ./staging/opt/lib/, otherwise alsa output plugin will not work.


Now, fire make mpd, it should be OK.

Then create ipk package by issuing:

make mpd-ipk

mpd_0.15.5-1_mipsel.ipk can be found under ./builds/


Have fun!

[ 本帖最后由 mohan29 于 22-11-2009 05:20 编辑 ]
作者: 四香油饼    时间: 19-11-2009 12:34
牛人,不光会拆车,还会高科技
作者: WOWO    时间: 29-11-2009 23:07
先收藏
作者: kendychen    时间: 8-2-2010 17:58
DIY达人
作者: ubuntuhk    时间: 30-3-2010 14:02
mark一下,有点感冒了
作者: 四天晒网    时间: 30-3-2010 14:56
弓虽 人!
作者: boblee    时间: 22-5-2010 19:17
这个俺喜欢,等俺空下来了得好好花点时间研究一下




欢迎光临 FreeOZ论坛 (https://www.freeoz.org/ibbs/) Powered by Discuz! X3.2