效果赶超高级CD/转盘的PC音响解决方案: Squeezebox
329164 2504
[2264 楼] 米山闲人 [禁言中]
10-3-7 00:13
抓轨大家用的EAC哪个版本比较靠谱啊?
[2263 楼] Lamm [泡菜]
10-3-6 22:28
原文由 jzw111 在2010-03-06 12:02发表
请教下DIY NAS的朋友:
Atom230 + 1G 的机器可以顺利的跑SB server & BT/Emule吗?
现在考虑几个方案:
1. EEEbox 最简单美观方便
2. DIY atom230 + 1G 最便宜
3. DIY atom510 + 2G 价格能控制在“1”左右,但还能顺带连投影看720p


我的是DIY atom510 + 2G + 1.5T 运行SB server版本7.33后电脑变的很慢,鼠标开始发飘,估计干不了别的事了,看高清还是建议用N板,Atom可能不行。
[2262 楼] jzw111 [泡菜]
10-3-6 19:02
请教下DIY NAS的朋友:
Atom230 + 1G 的机器可以顺利的跑SB server & BT/Emule吗?
现在考虑几个方案:
1. EEEbox 最简单美观方便
2. DIY atom230 + 1G 最便宜
3. DIY atom510 + 2G 价格能控制在“1”左右,但还能顺带连投影看720p
[2261 楼] 春天上树 [泡菜]
10-3-6 15:52
原文由 春天上树 在2010-03-06 15:25发表

Moose V0.69a
菜单Tools → Perferences的Scanning页中
Library data source:MySQL DB该怎么填?


以前在公司用Windows版SC时默认的选项就对了,家里的QNAP怎么也联不上。
[2260 楼] 春天上树 [泡菜]
10-3-6 15:25
原文由 hanshanson 在2010-03-06 00:09发表

春天兄说的是这个么:
CLI port : 9090,Web Server port : 9001

Moose V0.69a
菜单Tools → Perferences的Scanning页中
Library data source:MySQL DB该怎么填?
[2259 楼] GUOQ [泡菜]
10-3-6 11:15
更新播CUE曲目音轨定位算法(SqueezeboxServer版本7.4.2 )

上次采用定位FFFFFFFF位置来区分音轨首尾办法,实际使用中发现许多flac文件音轨首尾没有FFFFFFFF,定位不正确。只好再研究flac文件格式,这次算法按音轨时间定位,应该没有大问题了。
(这一版定位算法只支持SampleRate = 44100和BloclSize = 4608的FLAC文件,好在我用dBpoweramp转换出来的FLAC文件基本都是这个格式。)

被修改文件为 squeezeboxserver/Slim/Formats/Playlists/CUE.pm,修改分两处,首先文件顶部加引用:
原文件第20行左右,原来代码:
use Slim::Utils::Misc;
use Slim::Utils::Unicode;

my $log = logger('formats.playlists');

改为:
use Slim::Utils::Misc;
use Slim::Utils::Unicode;

#GUOQ 20100305 CUE track positioning
use Encode;

my $log = logger('formats.playlists');

其次增加定位算法:
原文件第462行左右,原来代码:
else {
$attributesHash->{'AUDIO_OFFSET'} = $header + $startbytes;
$attributesHash->{'SIZE'} = $endbytes - $startbytes;
}

$attributesHash->{'SECS'} = $duration;

修改为:
else {
$attributesHash->{'AUDIO_OFFSET'} = $header + $startbytes;
$attributesHash->{'SIZE'} = $endbytes - $startbytes;
                
                #GUOQ 20100305 CUE track positioning
                if ( $attributesHash->{'CONTENT_TYPE'} eq 'flc' ) {
                    $endbytes -= $startbytes;
                    my $path = Slim::Utils::Misc:: pathFromFileURL( $attributesHash->{'FILENAME'} );
                    open( my $fh, $path );
                    
    my $TrackTime = $start;
    my $SampleRate = 44100;
    my $BloclSize = 4608;
                    my $FrameNumber = $TrackTime * $SampleRate / $BloclSize;
                    $FrameNumber = encode_utf8(pack("U*",$FrameNumber));
                    my $readfile_s_e;
        my $locate_s_e = 0;
                    my $str_s_e = "\xFF\xF8\x59";
                    my $str_s_e_2 = "\x00";
                    my $num;
                    my $num2;
                     
                    for ($num = 0; $num < 128; $num++) {
                  sysseek($fh, $startbytes + ($num*2040) ,0);
                         sysread($fh, $readfile_s_e,2048 );
                  $locate_s_e = index($readfile_s_e,$str_s_e);
                  if ($locate_s_e>=0){
                         $str_s_e_2 = substr($readfile_s_e,$locate_s_e + 4,length $FrameNumber);
                          $startbytes += $locate_s_e + $num*2040;
                          $num = 300;
                  }
        }
                     
        for ($num = 0; $num < 2048; $num++) {
                  if($str_s_e_2 gt $FrameNumber){
                        $startbytes -= 4096;
                        if($startbytes>0){
                           sysseek($fh, $startbytes, 0);
                           sysread($fh, $readfile_s_e,4096 );
                           $locate_s_e = index($readfile_s_e,$str_s_e);
                        if ($locate_s_e>=0){
                          $str_s_e_2 = substr($readfile_s_e,$locate_s_e + 4,length $FrameNumber);    
                        }
                    } else {
                               $startbytes =0;
                               $num = 3000;
                        }
                  } else {
                            $num = 3000;
                         }
                    }
                                                              
                    for ($num = 0; $num < 4096; $num++) {
                         sysseek($fh, $startbytes + ($num*2040) ,0);
                         sysread($fh, $readfile_s_e,2048 );
                         for ($num2 = 0; $num2 < 2048 ; $num2++ ) {
                              $locate_s_e = index($readfile_s_e,$str_s_e,$num2);
                              if ($locate_s_e>=0){
                                  $str_s_e_2 = substr($readfile_s_e,$locate_s_e + 4,length $FrameNumber);
                                  if($str_s_e_2 ge $FrameNumber){
                                     $locate_s_e += $num*2040;
                                     $startbytes += $locate_s_e;
                                     $num2 = 3000;
                                     $num = 5000;
                                  } else {
                                     $num2 = $locate_s_e + 3;
                                  }
                              } else {
                                 $num2 = 3000;
                              }
                         }      
                    }
                    $attributesHash->{'AUDIO_OFFSET'} = $startbytes;
                    $endbytes += $startbytes;
    $TrackTime = $end;
                    $FrameNumber = $TrackTime * $SampleRate / $BloclSize;
                    $FrameNumber = encode_utf8(pack("U*",$FrameNumber));
        $locate_s_e = 0;
                    $str_s_e = "\xFF\xF8\x59";
                    $str_s_e_2 = "\x00";
                     
                    for ($num = 0; $num < 128; $num++) {
                  sysseek($fh, $endbytes + ($num*2040) ,0);
                         sysread($fh, $readfile_s_e,2048 );
                  $locate_s_e = index($readfile_s_e,$str_s_e);
                  if ($locate_s_e>=0){
                         $str_s_e_2 = substr($readfile_s_e,$locate_s_e + 4,length $FrameNumber);
                          $endbytes += $locate_s_e + $num*2040;
                          $num = 300;
                  }
        }
                     
        for ($num = 0; $num < 2048; $num++) {
                  if($str_s_e_2 gt $FrameNumber){
                        $endbytes -= 4096;
                        if($endbytes>0){
                           sysseek($fh, $endbytes, 0);
                           sysread($fh, $readfile_s_e,4096 );
                           $locate_s_e = index($readfile_s_e,$str_s_e);
                        if ($locate_s_e>=0){
                          $str_s_e_2 = substr($readfile_s_e,$locate_s_e + 4,length $FrameNumber);    
                        }
                    } else {
                               $endbytes =0;
                               $num = 3000;
                        }
                  } else {
                            $num = 3000;
                         }
                    }
                                                              
                    for ($num = 0; $num < 4096; $num++) {
                         sysseek($fh, $endbytes + ($num*2040) ,0);
                         sysread($fh, $readfile_s_e,2048 );
                         for ($num2 = 0; $num2 < 2048 ; $num2++ ) {
                              $locate_s_e = index($readfile_s_e,$str_s_e,$num2);
                              if ($locate_s_e>=0){
                                  $str_s_e_2 = substr($readfile_s_e,$locate_s_e + 4,length $FrameNumber);
                                  if($str_s_e_2 ge $FrameNumber){
                                     $locate_s_e += $num*2040;
                                     $endbytes += $locate_s_e;
                                     $num2 = 3000;
                                     $num = 5000;
                                  } else {
                                     $num2 = $locate_s_e + 3;
                                  }
                              } else {
                                 $num2 = 3000;
                              }
                         }      
                    }
                    $attributesHash->{'SIZE'} = $endbytes - $startbytes;
                    close $fh;
                }
                 
}

$attributesHash->{'SECS'} = $duration;
[2258 楼] hanshanson [陈年泡菜]
10-3-6 00:09
原文由 春天上树 在2010-03-03 14:22发表

hanshanson,好久不见,SSOTS3.18(QPKG版)+SC4.21,Moose的Sql数据库接口该怎么设?

春天兄说的是这个么:
CLI port : 9090,Web Server port : 9001
[2257 楼] M16 [资深泡菜]
10-3-5 13:33
这东西相当于高清播放器,不过只能播音乐,不能播影像。

还不如买个新款高清播放器,直接通过HDMI输出7.1声道信号给AV功放,也是WAV, FLAC, MP3, WMV(有损/无损)都能播放,家庭影院/Hi-Fi都可以兼顾了。
[2256 楼] hanshanson [陈年泡菜]
10-3-5 12:43
原文由 春天上树 在2010-03-03 14:22发表

hanshanson,好久不见,SSOTS3.18(QPKG版)+SC4.21,Moose的Sql数据库接口该怎么设?

恩好久不见啦
等我晚上回去看一下我的设置.
[2255 楼] Lamm [泡菜]
10-3-5 11:16
自从用上Duit后,发现遥控器的电池在手里把玩没多久就没电了,这玩意儿太费电了。今天在淘宝上转了一圈,竟然发现有卖此原装充电电池的,嘿嘿。想来也应该有卖的,因为电池上写的MADE IN CHINA嘛!

我已经订了一块,还不知道好不好用。这里提供个链接:http://item.※※※※※※.com/auction/item_detail-0db2-8f4bbdc2df8810c4662fad310b8032cb.jhtml?cm_cat=0
[2254 楼] Lamm [泡菜]
10-3-5 11:09
原文由 linuslv 在2010-02-26 14:56发表
我的无线猫没有外置天线,我一直对无线信号很不满
是说可以再买个无线路由然后用来做中继吗?需要买同一型号的吗?我的是Netgear DG834PN,Modem+ wireless Router的


要看一下你的路由器支持WDS无线中继功能不,如果支持,再买一个支持WDS无线中继功能的路由器就可以做中继网络,理论上可以不用同一品牌同一型号,但是为了少点兼容麻烦,并且同型号NETGEAR的无线中继加密功能更强大,建议还是用同型号的组网。
[2253 楼] 春天上树 [泡菜]
10-3-3 14:22
原文由 hanshanson 在2010-03-02 09:36发表

我也遇到了同样的问题


hanshanson,好久不见,SSOTS3.18(QPKG版)+SC4.21,Moose的Sql数据库接口该怎么设?
[2252 楼] hanshanson [陈年泡菜]
10-3-2 09:36
原文由 春天上树 在2010-02-28 23:01发表
为什么Moose在0.69a - 21st November 2008之后的3个版本都不支持中文了?还是需要在哪里设置一下
http://www.rusticrhino.com/drlovegrove/

我也遇到了同样的问题
[2251 楼] GUOQ [泡菜]
10-3-2 00:53
原文由 春天上树 在2010-02-28 23:01发表
为什么Moose在0.69a - 21st November 2008之后的3个版本都不支持中文了?还是需要在哪里设置一下
http://www.rusticrhino.com/drlovegrove/


我试了一下,中文显示正常哦.
[2250 楼] GUOQ [泡菜]
10-3-1 21:58
原文由 春天上树 在2010-02-28 22:58发表

原来踢开SSODS直接安装了,强人啊


没办法呀,我的NAS不是用的QNAP产品,硬件配置低,试装过SSODS,不管用哦,
只好自己安装部件了,昨天安装成功flac和mac,终于能在squeezebox放ape格式
曲子了,不过只认mac自己压出来的ape文件,估计是音乐标签导致,又播放ape
文件不能快进和后退,决定还是将ape转换成flac格式算了。
[2249 楼] 春天上树 [泡菜]
10-2-28 23:01
为什么Moose在0.69a - 21st November 2008之后的3个版本都不支持中文了?还是需要在哪里设置一下
http://www.rusticrhino.com/drlovegrove/
[2248 楼] 春天上树 [泡菜]
10-2-28 22:58
原文由 GUOQ 在2010-02-28 21:38发表
test

[2010-02-28 22:25 补充如下]

看到正式发布7.4.2了,以前试着升级没有成功,这次仔细试验了一把,终于升级成功,赶紧把过程记下来:

1.去官网下载perl源码版本:
  http://downloads.slimdevices.com/SqueezeboxServer_v7.4.2/squeezeboxserver-7.4.2.tgz

2.复制到dns-323网路存储目录 /ffp/t ......


原来踢开SSODS直接安装了,强人啊
[2247 楼] 春天上树 [泡菜]
10-2-28 22:56
原文由 GUOQ 在2010-02-28 21:38发表
test

[2010-02-28 22:25 补充如下]

看到正式发布7.4.2了,以前试着升级没有成功,这次仔细试验了一把,终于升级成功,赶紧把过程记下来:

1.去官网下载perl源码版本:
  http://downloads.slimdevices.com/SqueezeboxServer_v7.4.2/squeezeboxserver-7.4.2.tgz

2.复制到dns-323网路存储目录 /ffp/t ......


QNAP论坛有个帖子说要先安装QPKG版4.4后再装4.6
[HowTo] Installing SSOTS 4.6 on x09
http://forum.qnap.com/viewtopic.php?f=123&t=26774
[2246 楼] GUOQ [泡菜]
10-2-28 22:28
(本贴重复,不知道怎样删除哦。)

[GUOQ 编辑于 2010-02-28 22:29]
[2245 楼] GUOQ [泡菜]
10-2-28 21:38
test

[2010-02-28 22:25 补充如下]

看到正式发布7.4.2了,以前试着升级没有成功,这次仔细试验了一把,终于升级成功,赶紧把过程记下来:

1.去官网下载perl源码版本:
  http://downloads.slimdevices.com/SqueezeboxServer_v7.4.2/squeezeboxserver-7.4.2.tgz

2.复制到dns-323网路存储目录 /ffp/tmp/ 下。
  解压: cd /ffp/tmp
        tar xzf squeezeboxserver-7.4.2.tgz
  移到正式地方: mv  /ffp/tmp/squeezeboxserver-7.4.2-30215 /ffp/lib/squeezeboxserver-7.4.2-30215
  删除7.4.1版本的链接:rm /ffp/lib/squeezeboxserver
  创建7.4.2版本的链接:ln -s /ffp/lib/squeezeboxserver-7.4.2-30215 /ffp/lib/squeezeboxserver
  
3.放宽权限: chmod -R 777 /ffp/lib/squeezeboxserver

4.删除影响运行组件文件:  rm -r /ffp/lib/squeezeboxserver/CPAN/arch/*
                          rm /ffp/lib/squeezeboxserver/CPAN/YAML/Syck.pm

5.修改pl文件头声明perl程序位置:
   vi /ffp/lib/squeezeboxserver/cleanup.pl
      第一行改为:#!/ffp/bin/perl -w -ICPAN
   vi /ffp/lib/squeezeboxserver/scanner.pl
      第一行改为:#!/ffp/bin/perl -w
   vi /ffp/lib/squeezeboxserver/slimserver.pl
      第一行改为:#!/ffp/bin/perl -w
   vi /ffp/lib/squeezeboxserver/slimservice.pl
      第一行改为:#!/ffp/bin/perl -w

6.升级Audio::Scan组件:
   下载源码:http://search.cpan.org/CPAN/authors/id/A/AG/AGRUNDMA/Audio-Scan-0.58.tar.gz
   复制到dns-323网路存储目录 /ffp/tmp/ 下。
   解压:  cd /ffp/tmp
          tar xzf Audio-Scan-0.58.tar.gz
   编译安装: cd  ffp/tmp/Audio-Scan-0.58
              perl  Makefile.PL
              make
              make install

7.增加用户(可能重启系统后会丢失用户,这个步骤可能需要加到启动脚本中。): useradd squeezecenter

8.修改配置:
   转到目录:cd /ffp/lib/squeezeboxserver
   第一次运行: ./slimserver.pl --user=squeezecenter
   出错退出后修改权限:chown -R squeezecenter:500 Cache/ Logs/ prefs/
   第二次运行: ./slimserver.pl --user=squeezecenter
   出错退出后修改权限:chown -R squeezecenter:500 Cache/ Logs/ prefs/
   修改mysql配置:vi prefs/server.prefs
                  找到行 dbsource: dbi:mysql:hostname=127.0.0.1;port=9099;database=squeezecenter
                  修改成 dbsource: dbi:mysql:database=slimserver

   再次运行  ./slimserver.pl --user=squeezecenter 应该就ok了。
[2244 楼] 春天上树 [泡菜]
10-2-28 18:52
原文由 bg1pdq 在2010-02-27 09:30发表

我猜:可能是 touch 现行的硬件规格有点不够用,官方试图用优化软件的方法解决,以节省硬件成本。结果一直没搞定,最后弄成了现在这个样子。

如果我没有猜错,最后的结局是,要么他们从软件上解决了(继续拖时间),要么重新修订硬件规格。

[bg1pdq 编辑于 2010-02-27 09:32]


不如用iPad或iPod Touch来touch,呵呵
[2243 楼] 春天上树 [泡菜]
10-2-28 18:51
原文由 bg1pdq 在2010-02-27 23:42发表

用 find 指令寻找 Code2000.TFF 这个文件的位置。

格式:find / -name "code2000.TFF" -print


谢谢,因为Cue中文问题,最后还是老老实实地用3.18+4.21
[2242 楼] sonata [资深泡菜]
10-2-28 09:25
原文由 bg1pdq 在2010-02-27 09:30发表

我猜:可能是 touch 现行的硬件规格有点不够用,官方试图用优化软件的方法解决,以节省硬件成本。结果一直没搞定,最后弄成了现在这个样子。

如果我没有猜错,最后的结局是,要么他们从软件上解决了(继续拖时间),要么重新修订硬件规格。

[bg1pdq 编辑于 2010-02-27 09:32]


好像bug不多了。

https://bugs.slimdevices.com/buglist.cgi?priority=P1&query_format=advanced&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&target_milestone=7.5.0
[2241 楼] bg1pdq [资深泡菜]
10-2-27 23:42
原文由 春天上树 在2010-02-27 23:27发表
TS-209 Pro,QPKG封装的SSOTS 4.6(old ARM)装不上,到http://oinkzwurgl.org/上找了原版装上了,7.42还是不能识别整盘Cue的中文,失望

想替换字体,没找到Code2000.TFF的位置,请教大家


用 find 指令寻找 Code2000.TFF 这个文件的位置。

格式:find / -name "code2000.TFF" -print
[2240 楼] 春天上树 [泡菜]
10-2-27 22:27
TS-209 Pro,QPKG封装的SSOTS 4.6(old ARM)装不上,到http://oinkzwurgl.org/上找了原版装上了,7.42还是不能识别整盘Cue的中文,失望

想替换字体,没找到Code2000.TFF的位置,请教大家
[2239 楼] bg1pdq [资深泡菜]
10-2-27 09:30
原文由 BYY 在2010-02-26 21:03发表
SB Touch是怎么回事? 从12月推迟到2月,现在又推到4月。按说这咚咚没什么太高的技术啊。


我猜:可能是 touch 现行的硬件规格有点不够用,官方试图用优化软件的方法解决,以节省硬件成本。结果一直没搞定,最后弄成了现在这个样子。

如果我没有猜错,最后的结局是,要么他们从软件上解决了(继续拖时间),要么重新修订硬件规格。

[bg1pdq 编辑于 2010-02-27 09:32]
[2238 楼] linuslv [泡菜]
10-2-26 21:56
我的无线猫没有外置天线,我一直对无线信号很不满
是说可以再买个无线路由然后用来做中继吗?需要买同一型号的吗?我的是Netgear DG834PN,Modem+ wireless Router的
[2237 楼] BYY [禁言中]
10-2-26 20:03
SB Touch是怎么回事? 从12月推迟到2月,现在又推到4月。按说这咚咚没什么太高的技术啊。
[2236 楼] 紧张兮兮 [泡菜]
10-2-26 10:45
原文由 紧张兮兮 在2010-02-24 23:14发表
今天更新了7.4.2,发现汉字显示更失败

[2010-02-26 10:44 补充如下]

原来是我没有重启。

7.4.2相比7.4.1有什么优化?


原来是我没有重启。

7.4.2相比7.4.1有什么优化?
[2235 楼] bg1pdq [资深泡菜]
10-2-24 23:17
原文由 lamm 在2010-02-23 23:02发表
在这里谢谢各位前辈大佬,没有您们的指点,今天我还在一张一张的刻碟呢!呵呵。特别感谢潘德强兄,你的博客太强大了,谢谢。


不用客气,大家一起玩。