池の上にも

平均以下の理解力で、色々アウトプットしてみるブログ

Spotify + Mopidy でカラオケしてみた

以前に手元の Lubuntu で Spotify を再生できるように、Mopidy をインストールしてみました。

tawaku.hatenablog.com

設定いじって色々できないか探してみたところ、GStreamer というマルチメディアのフレームワークの設定を変えて、簡単なカラオケができそうです。

GStreamer pipeline

Mopidy では、GStreamer を使って音を再生しています。
Mopidy のチュートリアルにもあるのですが、まずは GStreamer で音が再生できるか確認してみます。Mopidy で音楽が聞けている場合は、音がなるはずです。

$ gst-launch-1.0 audiotestsrc ! audioresample ! autoaudiosink


Mopidy のデフォルトでは、音の再生にautoaudiosinkが使われています。それで音をいじれないか探してみたところ、audiokaraokeというものを見つけました。


audiokaraoke: GStreamer Good Plugins 1.0 Plugins Reference Manual

センタチャネルをフィルタして、音楽から音声を取り除けるそうです。センタチャネルがなにか分かってないですが、効果は楽しそうです。

まずは、サンプルでaudiokaraokeが再生可能か確認してみます。

$ gst-inspect-1.0 | grep -i "karaoke"
audiofx:  audiokaraoke: AudioKaraoke

$ gst-launch-1.0 audiotestsrc ! audioresample ! audiokaraoke ! autoaudiosink


再生できたら、Mopidy に設定してみます。

Mopidy に audiokaraoke を設定する

[audio] セクションのoutputに、GStreamer のパイプラインを設定できます。

$ vim /usr/share/mopidy/conf.d/mopidy.conf

[audio]
output = audiokaraoke ! autoaudiosink


Mopidy を再起動して、音楽を再生してみます。サンプルが載せられないですが、ボーカルがコーラスみたいになってカラオケっぽくなっています。

課題

以下の2点が不満で、暇があれば改善したいです。

  • カラオケなので歌詞が欲しかったですが、適当な Extension が見つからなかった
  • カラオケを止める時は一々設定を書き換えて、Mopidy を再起動しないといけない