pythonでfoobarのalternativeを作る version 17
自分のPCの音楽ファイルをタグでデータベース化
# 自分のPCの音楽ファイルをタグでデータベース化したい
- 要するにfoobar2000を自分で作ってみたいって事です
なぜならLinuxバージョンが無いから┐('д')┌
プレイリスト作って音を鳴らすだけならどうとでもなるけど、ライブラリ機能が死ぬほど便利なので作ってみたかったのさ
## とりあえず必要となる項目と解説サイトを調べてみた
- ファイル列挙
Pythonで条件を満たすパスの一覧を再帰的に取得するglobの使い方
https://note.nkmk.me/python-glob-usage/
https://docs.python.org/ja/3/library/glob.html 公式
- フォルダ監視
pythonでフォルダを監視する
https://python-minutes.blogspot.com/2017/06/python.html
ファイル監視にwatchdogがかなり便利な件
https://qiita.com/PyYoshi@github/items/9744a138c018734c69db
- タグ取得
Pythonでmp3などのID3タグを編集するmutagenの使い方
https://note.nkmk.me/python-mutagen-mp3-id3/
- データベース化
PythonからSQLite3で初めてのデータベース!
https://qiita.com/DNA1980/items/1fbcb95e8ee5771d6b2b
データベースを作って100件くらい追加してみたいな
# 作ってみるか
ファイル列挙して1ファイルづつタグ取得、データベースに追加の流れですな
フォルダ監視は後でもいいや
- 新規作成
ファイル列挙して1ファイルづつタグ取得、データベースに追加の流れだな、理屈は簡単、高速化をどの程度実現できるかだけど遅くても別にいいや
- アプリ起動時
対象フォルダをスキャンすることになる、その際にほとんどが重複データ、これを無視するルーチンが大事だよなあ
重複データをデータベースに入れないためにはどうするんじゃろ?
- アプリ起動中
フォルダ監視時はある程度時間かけて更新すれば良い
- 重複レコード関係
python SQLite3の重複しているレコードの削除
http://macrobibouroku.blog.jp/archives/26916527.html
sqliteにinsertする際に要素の重複を防ぐ方法
https://teratail.com/questions/67946
[SQLite3]すでに取得済みのデータは新規で追加せず更新だけする
https://code-schools.com/sqlite3-replace/
- 拡張子
mp3 flv ape ogg wav aac mp4 m4a
フルパス、タグ無ければブランクでしょうがない
artist,alubumartist,alubum,title,year
自分のPCの音楽ファイルをタグでデータベース化したい
- 要するにfoobar2000を自分で作ってみたいって事です
なぜならLinuxバージョンが無いから┐('д')┌
プレイリスト作って音を鳴らすだけならどうとでもなるけど、ライブラリ機能が死ぬほど便利なので作ってみたかったのさ
とりあえず必要となる項目と解説サイトを調べてみた
-
ファイル列挙
Pythonで条件を満たすパスの一覧を再帰的に取得するglobの使い方
https://note.nkmk.me/python-glob-usage/
https://docs.python.org/ja/3/library/glob.html 公式 -
フォルダ監視
pythonでフォルダを監視する
https://python-minutes.blogspot.com/2017/06/python.html
ファイル監視にwatchdogがかなり便利な件
https://qiita.com/PyYoshi@github/items/9744a138c018734c69db -
タグ取得
Pythonでmp3などのID3タグを編集するmutagenの使い方
https://note.nkmk.me/python-mutagen-mp3-id3/ -
データベース化
PythonからSQLite3で初めてのデータベース!
https://qiita.com/DNA1980/items/1fbcb95e8ee5771d6b2b
データベースを作って100件くらい追加してみたいな
作ってみるか
-
新規作成
ファイル列挙して1ファイルづつタグ取得、データベースに追加の流れだな、理屈は簡単、高速化をどの程度実現できるかだけど遅くても別にいいや -
アプリ起動時
対象フォルダをスキャンすることになる、その際にほとんどが重複データ、これを無視するルーチンが大事だよなあ
重複データをデータベースに入れないためにはどうするんじゃろ? -
アプリ起動中
フォルダ監視時はある程度時間かけて更新すれば良い -
重複レコード関係
python SQLite3の重複しているレコードの削除
http://macrobibouroku.blog.jp/archives/26916527.html
sqliteにinsertする際に要素の重複を防ぐ方法
https://teratail.com/questions/67946
[SQLite3]すでに取得済みのデータは新規で追加せず更新だけする
https://code-schools.com/sqlite3-replace/
- 拡張子
mp3 flv ape ogg wav aac mp4 m4a
フルパス、タグ無ければブランクでしょうがない
artist,alubumartist,alubum,title,year