Feb 02, 2016

NASの中のcue sheetの中を検索する

オーディオは鳴らすばかりで音質への配慮をしてない日々が続いている。
気がつけば年が明けて旧正月を迎えようとしている。
覚書として、cue sheetの中を検索する方法をメモっておく。
うちではNAS上のフォルダを手元のノートにマウントしてることが多いのでそこで使うことが多いが、やってみたらvolumioにsshでログインした時も使うことができた。
ただ、うちのvolumioはカーネルをアップしている。アップしてない場合は試していない。

リッピングをCD単位でflacとcue sheetにして管理しているとファイルが少なくて済むのはいいのだけど、個別の曲についてどのファイルに入っているんだろう?となったときに困る。
よく知ってるアルバムならわかるけど(例えばしっかりジョンはジョンの魂に入ってるとか)、クラシックになってくると1つのCDに複数の作曲者や演奏者がいることが当たり前だ。ファイル名にそれらを全部入れるわけにいかないし。
そういうわけで複数のcue シートの中を一括で検索したいということになる。

あちこち調べた結果、find、grep、パイプでlessで表示、でやれることがわかった。
以下、volumioでの流れをコピペ。

root@192.168.1.81's password: 
Linux volumio81 4.1.7+ #817 PREEMPT Sat Sep 19 15:25:36 BST 2015 armv6l
                       ___                                      
                      /\_ \                        __           
         __  __    ___\//\ \    __  __    ___ ___ /\_\    ___   
        /\ \/\ \  / __`\\ \ \  /\ \/\ \ /' __` __`\/\ \  / __`\ 
        \ \ \_/ |/\ \L\ \\_\ \_\ \ \_\ \/\ \/\ \/\ \ \ \/\ \L\ \
         \ \___/ \ \____//\____\\ \____/\ \_\ \_\ \_\ \_\ \____/
          \/__/   \/___/ \/____/ \/___/  \/_/\/_/\/_/\/_/\/___/ 
        
             Free Audiophile Linux Music Player - Version 1.55

                 C 2013 Michelangelo Guarise - Volumio.org
                    192.168.1.81 hifiberryDigi+

Volumio Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Tue Jan 19 06:15:14 2016 from 192.168.1.23
root@volumio81:~# ls /mnt
NAS  UPNP  USB
root@volumio81:~# cd /mnt/NAS
root@volumio81:/mnt/NAS# ls
hs210
root@volumio81:/mnt/NAS# cd hs*
root@volumio81:/mnt/NAS/hs210# ls
audio_check  classic  ethnic  jazz  kids  pop
root@volumio81:/mnt/NAS/hs210# find classic -type f -name "*.cue" -exec grep -C 1 -H -i "telemann" {} \; | less

volumioにsshでログインし、 マウントされてるNASの音楽フォルダまで移動する。
そこにはファイルが階層化されたディレクトリに分別されてるので、探したいフォルダの中のcue sheetの中を検索するという流れ。
hs210というディレクトリの下層に、audio_check classic ethnic jazz kids pop、というディレクトリがある。
一番下のコマンドは「classic」というディレクトリのなかの、末尾が「.cue」というファイルすべてを探して、その中の「telemann」という言葉を含む行を検索して、結果をlessで表示してね、って感じ(lessというのはlinuxのテキストビューアだ)。
コマンドにオプションが色々付いているけど説明は省略。

検索結果が、以下のような感じで表示される。
ごちゃごちゃした感じで、使いやすいというわけじゃないけど、ないのに比べたら相当助かっていると思う。

classic/111 years of Deutsche Grammophon Vol.2/23 Daniel Hope - Air. A Baroque Journey.cue-  TRACK 09 AUDIO
classic/111 years of Deutsche Grammophon Vol.2/23 Daniel Hope - Air. A Baroque Journey.cue:    TITLE "Telemann, GP - Concerto for violin, strings & continuo - 1 Adagio"
classic/111 years of Deutsche Grammophon Vol.2/23 Daniel Hope - Air. A Baroque Journey.cue-    PERFORMER "Daniel Hope"
--
classic/111 years of Deutsche Grammophon Vol.2/23 Daniel Hope - Air. A Baroque Journey.cue-  TRACK 10 AUDIO
classic/111 years of Deutsche Grammophon Vol.2/23 Daniel Hope - Air. A Baroque Journey.cue:    TITLE "Telemann, GP -Concerto for violin, strings & continuo - 2 Allegro"
classic/111 years of Deutsche Grammophon Vol.2/23 Daniel Hope - Air. A Baroque Journey.cue-    PERFORMER "Daniel Hope"
--
classic/111 years of Deutsche Grammophon Vol.2/23 Daniel Hope - Air. A Baroque Journey.cue-  TRACK 11 AUDIO
classic/111 years of Deutsche Grammophon Vol.2/23 Daniel Hope - Air. A Baroque Journey.cue:    TITLE "Telemann, GP - Concerto for violin, strings & continuo - 3 Presto"
classic/111 years of Deutsche Grammophon Vol.2/23 Daniel Hope - Air. A Baroque Journey.cue-    PERFORMER "Daniel Hope"
(END)

cue sheetのパスと、そこに記載された文字列が表示される。
ちなみに「grep -C 1」とコマンドを打っているので、検索に引っかかった行の前後1列も表示されている。この辺はオプションの設定次第で、-Aで後の行、-Bで前の行とか設定できる。「-C 1」の代わりに「-1」でもいいようだ。
うまくスクリプトに出来たらいいんだろうけど、そこまでは出来ていない。

Edit this entry...

wikieditish message: Ready to edit this entry.
















A quick preview will be rendered here when you click "Preview" button.