如何使用 pianobar 设置 last.fm 音乐记录?

如何使用 pianobar 设置 last.fm 音乐记录?

我只是阅读这个命令行 Pandora 播放器调用钢琴酒吧

它工作得很好,但是主页说“last.fm scrobbling(使用外部 scrobbler)”

有人曾经设置过这个吗?

答案1

  1. 首先你需要一个外部记录器。我推荐scrobbler-helper,它用 Perl 编写,可通过以下方式获取亚太网络

    sudo perl -MCPAN -e 'install Audio::Scrobbler'
    
  2. 配置 pianobar 以使用外部 scrobbler。

    如果您已经有,请跳过接下来的两个步骤~/.config/pianobar/config

    • 为 pianobar 创建配置目录,

      mkdir -p ~/.config/pianobar
      
    • 复制示例配置文件,

      cp /usr/share/doc/pianobar/contrib/config-example ~/.config/pianobar/config
      
    • 现在,在 中,从此行的开头~/.config/pianobar/config删除:#

      #event_command = /home/user/.config/pianobar/eventcmd
      

      并将其替换user为您的实际用户名。这将设置每次播放完一首歌曲时运行的脚本的路径。

    • ~/.config/pianobar/eventcmd尚不存在,因此请下载此脚本到您的桌面。该脚本与 中找到的脚本相同/usr/share/doc/pianobar/contrib/eventcmd.sh,但注释掉了一些需要额外软件包的行。下载后,将其重命名为,eventcmd然后运行以下命令:

      cp ~/Desktop/eventcmd ~/.config/pianobar/eventcmd
      chmod +x ~/.config/pianobar/eventcmd
      
  3. 配置scrobbler-helper

    scrobbler-helper需要知道您的 Last.fm 帐户和密码。

    • 创建一个文件~/.scrobbler-helper.conf并将以下内容粘贴到其中:

      [global]
      username=USERNAME
      password=PASSWORD
      

      用您的实际 Last.fm 用户名和密码替换USERNAME和。PASSWORD

答案2

替代解决方案:有一个名为 Gtk 应用程序陶罐它基于 libpiano 构建(即,它使用与 pianobar 相同的后端)。您可以在首选项中设置 last.fm scrobbling。

当然,如果你更喜欢命令行播放器,那么这个对你没什么帮助。但如果你真正想要的是非 Flash、基于桌面的 Pandora 播放器,那么这个可能非常适合你。

答案3

lastfmsubmitd很酷,因为如果网络断线,它会将 scrobbles 排队。

将以下内容复制并粘贴到 bash 中即可启动并运行。

sudo apt-get install pianobar lastfmsubmitd #install requirements
sudo usermod -a G lastfm $USER              #use `lastfmsubmitd` setup group
sudo /etc/init.d/lastfmsubmitd restart      #restart `lastfmsubmitd`
mkdir ~/.config/pianobar                    #setup config environment
cd ~/.config/pianobar
cp /usr/share/doc/pianobar/contrib/eventcmd.sh .
ed eventcmd.sh <<"EOF"                      #Add `lastfmsubmitd` support
10a
        songfinish)
                if [ -n "$songDuration" ] &&
                   [ $(echo "scale=4; ($songPlayed/$songDuration*100)>50" | bc) -eq 1 ] &&
                   [ "$rating" -ne 2 ]; then
                        /usr/lib/lastfmsubmitd/lastfmsubmit --artist "$artist" --title "$title" --album "$album" --length "$((songDuration/1000))"
                fi
                ;;
.
wq
EOF
echo "event_command = $HOME/.config/pianobar/eventcmd.sh" >> config

eventcmd.sh剧本部分来自阿诺德·弗伦奇

编辑:你可能不得不chmod +x eventcmd.sh...

相关内容