最近作った音声再生コマンドgomuについて

最近作った音声再生コマンドgomuについて

この記事は、Go Advent Calendar 2021のカレンダー2の3日目の記事です。

Windowsで音声ファイルを再生しようと思った時にLinuxなら,aplay something.mp3のような感じで雑にターミナル上で再生できますが,Windowsではいつも open something.mp3のようにして拡張子に結びつけられた音楽プレイヤー(自分の環境では,Groveミュージック)を起動して再生していました.

音声ファイル確認のためだけにGroveミュージックのウィンドウを開くのは面倒くさいと感じていたので,音声ファイルを指定するだけで再生できるようなシンプルな音声再生コマンドを作ることにしました.

作成した音声再生コマンドは,gomuです.

Go言語を使うことで,go install github.com/tomato3713/gomu@latest を実行するだけでインストールでき,導入が簡単にできるようにしました.開発の面でも,spf13/cobraを使いひな形を生成することで開発時間を短縮できました.v1.0.0のリリースまでで5時間くらいでした.

また,BGM再生を行うVim/NeoVimプラグインもつくれたらいいなと考えて,それらの用途に使いやすいようにTypeScriptなどでパースがしやすいjson形式で標準入出力に情報を出力するようにしています.

最後に,簡単に使い方を説明します.基本的には,playもしくはalbumサブコマンドと再生対象を指定します.

playサブコマンド

これは音声ファイルや後で説明するプレイリストファイルを指定して再生します.

gomu play something.mp3
gomu play playlist.json

プレイリストは,json形式となっており音楽ファイルまでのパスを並べたものになっています.例えば,次のような内容です.

{ 
    [ 
    { "path": "path-to-music1" },
    { "path": "path-to-music2" },
    { "path": "path-to-music3" } 
    ] 
}

albumサブコマンド

これは,アルバムが入ったディレクトリを指定しトラック順に再生するコマンドになります.

gomu album album-directory

お読みいただきありがとうございました.