Mopidy を Ubuntu にインストールして Windows から MPD client を利用する

Mopidy とは、自分でインストールするMusic サーバーで、ローカルの音楽ファイルだけでなく、SoundCloud、Spotify(Spotify有料会員のみ)、Google Play Music などの各種配信サービスからの音楽を再生してくれます。

https://www.mopidy.com/

Music サーバーと言えば、以前書いたように MPD なのですが、

https://www.musicpd.org/

Mopidy は基本、そのMPD 互換なのです。なので、MPD 向けの各種クライアントソフトが使えます(使えるはず)。ブラウザからアクセスするインターフェースや、iPhoneやAndroid 携帯のアプリ、LinuxやWindowsのソフトもあります。

という事で、Mopidy をテストする為に、Mopidyをインストールしてクライアントを使う設定をして見ました。

まずは、以前のMPDのエントリ。

Ubuntu 17.10をMPDとVLCでメディアサーバー化&アプリでリモートコントロールの設定

インストール

Mopidyのインストール手順は、マニュアル通りです。Mopidyはドキュメンテーションが素晴らしい!

https://docs.mopidy.com/en/latest/

今回は、Linux(Ubuntu)にインストールします。MPDと同じく、自分のアカウントで起動する方法と、デーモン・サービスとしてOSと一緒に起動する方法があり、それぞれ、設定ファイルの場所が異なってきます。

今回は、元々MPDがデーモンとして動いているLinuxサーバーなので、自分のアカウントで起動する方法を選びました。

まずは、Ubuntuの場合APTが利用できます。

手順は下記の通り、

https://docs.mopidy.com/en/latest/installation/debian/

(1)GPG鍵をゲットして追加します。

$ wget -q -O - https://apt.mopidy.com/mopidy.gpg | sudo apt-key add -

*SUDOのパスワード入力を求められます。

(2)APTのリポジトリを追加。

$ sudo wget -q -O /etc/apt/sources.list.d/mopidy.list https://apt.mopidy.com/jessie.list

 

(3)一旦、アップデートして

$ sudo apt update

 

(4)インストール

$ sudo apt install mopidy

 

以上でインストールは終了。

 

設定

設定ファイルは、今回、自分のアカウントで起動する場合、

~/.config/mopidy/mopidy.conf

 

に生成されます。フルパスで書くと、

/home/<ユーザ名>/.config/mopidy/mopidy.conf

*隠しフォルダ内

 

設定ファイルを生成する為に、一発mopidyを打ちます。

$ mopidy

 

すると、前述の場所に、ファイルが生成されていると思います。これをカスタマイズしていきます。

 

設定ファイルの中身

 

# For further information about options in this file see:
# http://docs.mopidy.com/
#
# The initial commented out values reflect the defaults as of:
# Mopidy 2.1.0
# Mopidy-File 2.1.0
# Mopidy-HTTP 2.1.0
# Mopidy-Local 2.1.0
# Mopidy-M3U 2.1.0
# Mopidy-MPD 2.1.0
# Mopidy-SoftwareMixer 2.1.0
# Mopidy-Stream 2.1.0
#
# Available options and defaults might have changed since then,
# run `mopidy config` to see the current effective config and
# `mopidy --version` to check the current version.

#コアの設定
# https://docs.mopidy.com/en/latest/config/#core-config-section

[core]
cache_dir = $XDG_CACHE_DIR/mopidy
config_dir = $XDG_CONFIG_DIR/mopidy
data_dir = $XDG_DATA_DIR/mopidy
#max_tracklist_length = 10000
#restore_state = false
#これは有効にしておきました。前回の音量やプレイリストを復帰オプション。
restore_state = true

#デフォルトのままで良いのは省略。

#MPDの設定
# https://docs.mopidy.com/en/latest/ext/mpd/

[mpd]
# MPDを有効に(デフォで)
enabled = true
# hostname 127.0.0.1にするとIPv4ローカルにのみ反応。
# 0.0.0.0 だと、すべての IPv4 interfaces
hostname = 0.0.0.0
# TCPポート番号。ただし、私の環境だと既にMPDが6600使ってるので6601とかにした
port = 6600
# パスワード設定。巣のパスワードなので基本使わない。
# また、Mopidyでの実装に現在の時点でMPDと異なり、動かない。
# 空にしておくと、パスワード不要になる。
password = 
#max_connections = 20
#connection_timeout = 60
#zeroconf = Mopidy MPD server on $hostname
#command_blacklist = 
# listall
# listallinfo
#default_playlist_scheme = m3u


# ブラウザー経由で見る、HTTPインターフェース。
# Web Clientを入れないと、意味がない。
# 今回は使わないので、無効に。

[http]
enabled = false
#hostname = 127.0.0.1
#port = 6680
#static_dir =
#zeroconf = Mopidy HTTP server on $hostname

# 問題の M3U 形式のプレイリスト取り扱い。色々と細かい不具合がある。
# https://docs.mopidy.com/en/latest/ext/m3u/

[m3u]
enabled = true
#base_dir = $XDG_MUSIC_DIR
# プレイリスト内の相対パス(だった場合)のベースとなるディレクトリ指定。
base_dir = /var/lib/mpd/music/
#default_encoding = latin-1
# デフォルトの文字エンコードの指定。これが効かない。。。
default_encoding = UTF-8
#default_extension = .m3u8
# 手持ちのプレイリストが、.m3u で、utf-8だったので。
default_extension = .m3u
# プレイリストのディレクトリ指定。MPDと同じ場所指定。
playlists_dir = /var/lib/mpd/playlists/

[softwaremixer]
#enabled = true

# ローカルファイルの指定。
# https://docs.mopidy.com/en/latest/ext/file/

[file]
enabled = true
# 複数指定できるみたい
# 今回は、ホームディレクトリの音楽フォルダでなく、
# MPDの初期設定と同じ場所にした。MPDと同じフォルダを見るように。
media_dirs = /var/lib/mpd/music/
#media_dirs = 
# $XDG_MUSIC_DIR|Music
# ~/|Home
# jpg画像ファイルは除く、とかそういった設定
#excluded_file_extensions = 
# .jpg
# .jpeg
#show_dotfiles = false
#follow_symlinks = false
#metadata_timeout = 1000

# ローカルファイルを再生するためのエクステンション(デフォで有効)
# https://docs.mopidy.com/en/latest/ext/local/

[local]
enabled = true
#library = json
# 今回は、ホームディレクトリの音楽フォルダでなく、
# MPDの初期設定と同じ場所にした。MPDと同じフォルダを見るように。
media_dir = /var/lib/mpd/music/
#media_dir = $XDG_MUSIC_DIR
#scan_timeout = 1000
#scan_flush_threshold = 100
#scan_follow_symlinks = false
#excluded_file_extensions = 
# .directory
# .html
# .jpeg
# .jpg
# .log
# .nfo
# .png
# .txt


 

 

以上で、上書き保存。

ローカルファイルをスキャンします。

 

$ mopidy local scan

 

以上で、MPDクライアントからアクセスしてみてください。

 

幾つか気が付いた点。

1)M3Uの拡張形式を上手く認識しない場合がある。

2)M3Uの日本語を認識しない。(UTF8なんだけど。。。)

3)MPDのプロトコル実装が、オリジナルのMPDと若干異なるので、パスワード認証が動かない場合がある。

Githubに、Issue上げときました。ま、これからですね。

Leave a Reply