0 pythonでfoobarのalternativeを作る

自分のPCの音楽ファイルをタグでデータベース化したい

20190507

  • 要するにfoobar2000を自分で作ってみたいって事です
    なぜならLinuxバージョンが無いから┐('д')┌
    プレイリスト作って音を鳴らすだけならどうとでもなるけど、ライブラリ機能が死ぬほど便利なので作ってみたかったのさ

とりあえず必要となる項目と解説サイトを調べてみた

作ってみるか

  • 新規作成
    ファイル列挙して1ファイルづつタグ取得、データベースに追加の流れだな、理屈は簡単、高速化をどの程度実現できるかだけど遅くても別にいいや

  • アプリ起動時
    対象フォルダをスキャンすることになる、その際にほとんどが重複データ、これを無視するルーチンが大事だよなあ
    重複データをデータベースに入れないためにはどうするんじゃろ?

  • アプリ起動中
    フォルダ監視時はある程度時間かけて更新すれば良い

  • 重複レコード関係
    python SQLite3の重複しているレコードの削除
    http://macrobibouroku.blog.jp/archives/26916527.html

sqliteにinsertする際に要素の重複を防ぐ方法
https://teratail.com/questions/67946

[SQLite3]すでに取得済みのデータは新規で追加せず更新だけする
https://code-schools.com/sqlite3-replace/
レコードがなければ追加、あれば更新を一度に実行できる『UPSERT』とは
https://web-academia.org/it_business_web_development/プログラミング/482/

  • 拡張子
    mp3 flv ape ogg wav aac mp4 m4a
    フルパス、タグ無ければブランクでしょうがない
    artist,alubumartist,alubum,title,year

import glob ,re , os
ext='mp3' , 'flv', 'ape', 'ogg', 'wav', 'aac', 'mp4', 'm4a'
for p in glob.iglob('temp/**' , recursive=True):
if os.path.isfile(p):
if re.search('.(mp3|flv|ape|ogg|aac|mp4|m4a)', p)]):
print(p)

pip install mutagen

from mutagen.easyid3 import EasyID3

tags = EasyID3(path)
print( tags['title'] )
'''
artist
albumartist
album
date
title
tracknumber
'''

linuxだとこれが良いとの情報あり
Guayadeque Music Player

0

メモを他の人に見せる

このメモを見せたい人に、このURL(今開いているページのURLです)を教えてあげてください

コメント(0)

  • someone

  • someone