SQLiteで管理・検索できる軽量音楽プレイヤー「H2k6」
「H2k6」はSQLiteによるデータベースでパソコン内の音楽を管理できるプレイヤーソフト。特徴はmp3タグやジャケット情報をデータベースで管理することで、SQL文での検索が可能な点(通常の文字検索も可能)。他の音楽プレイヤーでは不可能な細かな検索が可能となり、溜まりに溜まった膨大な音楽ファイルを管理するのに最適だ。
SQLの文法を駆使すれば「10回以上再生された曲」「曲の長さが1分以上2分未満」「一週間以上聞いていない曲」といった細かい検索ができる。音楽プレイヤーとしても検索結果内でのリピート、シャッフルはもちろん、エコライザーの搭載、歌詞ファイルのタイムタグ対応、アルバムジャケットの表示など一通りの機能を揃えている。元音楽ファイルやレジストリを汚さない設計になっているのも嬉しい。
SQLで処理できるデータはファイル名、拡張子、ファイルサイズ、タイトル、アーティストなど(下部に一覧を掲載)。検索条件のSQL文は保存しておけるので、こだわりの条件をいつでも呼び出せるぞ。
作者サイトから圧縮ファイルをダウンロードする。解凍するとそのまま実行できる形となっているので、適当なフォルダにコピーしよう。
実行した画面。「クエリビュー(左上)」「インフォメーションビュー(右上)」「グループビュー(左下)」「プレイリストビュー(右下)」の4つに分かれており、初期状態ではプレイリストビューは空の状態
メニューの「ライブラリ」から「ファイルの追加」、または「ディレクトリの追加」をクリックし、追加した音楽ファイルやフォルダを選択すると、音楽ファイルの情報が独自のデータベースに追加される。対応音楽形式はWAV / MP1 / MP2 / MP3 / OGG / WMA / MP4 / AAC / Apple lossless / APE / TTA / Flac
曲名をダブルクリックで再生。追加された曲それぞれに★0個から5個の評価をつけられるほか、再生回数、最終再生日時なども記録される。
クエリウインドウではさまざまな条件で音楽ファイルの検索が行え、さらに自分好みの検索条件を新しく登録することができる。
音楽ファイル内にジャケット画像の情報があれば「インフォメーションビュー」内に表示される。また、音楽ファイルと同じ場所に同じファイル名のテキストファイルがあると歌詞ファイルと判定され右上の「インフォメーションビュー」内に「Lyrics」ボタンが追加され、クリックすると歌詞を表示。タイムタグがあればタイミングを合わせて歌詞を表示してくれるぞ。さらに右側にはデータベース上の関連アルバムを表示(マウスカーソルを載せると透過されずに表示)。クリックでアルバムの移動ができる。
左下のグループビューでは、データベース上の音楽ファイルをアーティスト名、アルバム、ジャンル、ごとに分類してくれる。例えばジャンル名の「Anime」をクリックすると、タグに「Aniime」と入った音楽ファイルだけを抽出して表示してくれる。他にも「年」「トラック番号」「コメント」「評価」「再生回数」の分類ができる
検索バーからはすべての情報を対象とした文字列検索が可能なほか、ファイル名、タイトル、アーティストなどからの絞り込み検索ができる。プルダウンメニューから「SQL検索」を選択するとSQL文法が使え、「再生回数が100回以上のもの」「再生日時が1年以上前のもの」「評価が1~3のもの」など細かな検索ができる。SQLの文法が分かる人は、テーブル名、カラム名などを左上のクエリウインドウの項目を右クリックして表示される「クエリ編集」を参考に試してみよう。記事下部に例を掲載しているので、そちらも参考にしてほしい。
表示、絞り込みされたリストに対して「シングル」「シングルリピート」「リスト」「リストリピート」「ランダム」という再生モードが選択できる。また画面上部にある「←」「→」ボタンで検索結果表示の履歴表示ができる
エコライザーの調整やサウンドデバイスの調整画面は右上の「Output」タブをクリックすると表示される。
ライブラリに追加した曲やフォルダに変更があったときは再度同じフォルダを追加してみよう。削除や変更があったものを修正してくれる。またメニューのライブラリ→プロパティで、存在しないファイルを一括削除することもできるぞ
■ SQL検索の例
SQLの文法は触れたことのない人には若干分かりづらいので、ここは幾つかの例を挙げてみる。使う時は値を変えるなどして工夫してみよう。
曲の長さが10分以上のものを検索する(10分=600秒):
曲の長さが1分以上5分以内のものを検索する:
レーティングが3から5のものを検索する:
1度以上聞いた曲で1週間以上聞いていない曲:
■ SQLの情報(バージョン0.6.2.0)
テーブル名:list
カラム名一覧:
データ | カラム名 |
---|---|
ファイル名(フルパス) | file_name |
ファイル名(拡張子なし) | file_title |
拡張子 | file_ext |
ファイルサイズ | file_size |
タイトル | tagTitle |
アーティスト | tagArtist |
アルバム | tagAlbum |
ジャンル | tagGenre |
年 | tagDate |
コメント | tagComment |
トラック | tagTracknumber |
長さ(秒単位) | statDuration |
チャンネル数 | statChannels |
サンプリングレート | statSamplingrate |
ビットレート | statBitrate |
レーティング(0~50) | rating |
再生回数 | playcount |
最終再生日(1970年1月1日 0時0分0秒からの経過秒) | lastplayed |
現在の日時(64bit表現) | current_timestamp64() |
文字列をあいまいに変換 | LCMapUpper() |