들어가기 전에..
오디오 소스로 예전에는 CD, DVD-Audio, SACD를 사용하였습니다만,
요즘은 거의 HDD에 저장된 음원을 사용한답니다.
이유는.. 음악을 듣기 위한 과정과 조작의 편의성은 물론 음질도 많이 좋아졌기 때문이죠~
음악 플레이어는 Foobar2000을 사용하는데 스마트폰에 MonkeyMote를 설치하면,
소파에 누워서 선곡 등 플레이어의 각종 조작을 거의 다 스마트폰에서 할 수 있습니다.
환상이죠? 안 그래도 게으른데.. ㅠㅠ 음악 듣기 위해 움직일 일은 거의 없답니다 ㅋㅋ
이렇게 사용하다 보면 좋아라~하는 곡은 스마트폰으로 별점을 줍니다.
그렇게 쌓인 음악들을 차나 밖에서도 들으려면 스마트폰으로 다운로드할 수 있겠죠.
오랜 기간 동안 아이폰 6을 사용하다 최근에 아이폰 XS Max로 바꾸었답니다.
안 그래도 스마트폰의 음악을 정리하려고 했었는데...
이번 이야기는 그것에 대한 이야기입니다.
뭐 별거는 없지만.. 나이가 들면서 아는 것보단 잊어 먹는 게 많아서 자국을 남깁니다.
1. iTunes Music Library (?)
1.1 iTunes Directory : D:\Users\Casper\Music\iTunes\
- iTunes Library.itdb -> Library 내에 관련 모든 정보와 사용자가 지정한 속성 등을 저장
- iTunes Library Extra.itdb -> Gracenote CDDB로부터 얻은 정보를 저장
- iTunes Library Genius.itdb -> Genius Playlists를 생성하기 위한 정보를 저장
- iTunes Music Library.xml -> 다른 프로그램에서 읽을 수 있도록 iTunes에서 생성하며 참조하지 않음
(그러나 itdb 파일이 없으면 xml 파일로부터 사용자 지정 속성 등이 없는 itdb 파일을 만듦)
1.2 Python iTunes Library Parser : libpytunes
liamks/libpytunes
Python Itunes Library parser. Contribute to liamks/libpytunes development by creating an account on GitHub.
github.com
- libpytunes 설치 및 시험
(base) D:\Work\GitHub\libpytunes>python setup.py build
(base) D:\Work\GitHub\libpytunes>python setup.py install
(base) D:\Work\GitHub\libpytunes>cd libpytunes\tests
(base) D:\Work\GitHub\libpytunes\libpytunes\tests>python test_library.py
from libpytunes import Library
import os
def test_songs(library):
for id, song in library.songs.items():
assert(hasattr(song, 'name') == True)
print("id = " + str(id) + ", song = " + str(song.name))
def test_playlists(library):
playlists = library.getPlaylistNames()
print("playlists = " + str(playlists))
for playlist in playlists:
print("playlist = " + playlist)
for song in library.getPlaylist(playlist).tracks:
assert(hasattr(song, 'track_number'))
assert(hasattr(song, 'artist'))
assert(hasattr(song, 'name'))
print(" " + str(song.track_number) + ". " + str(song.artist) + " - " + str(song.name))
if __name__ == '__main__':
xml = "iTunes Music Library.xml"
library = Library(os.path.join(os.getcwd(), xml))
test_songs(library)
test_playlists(library)
1.3 결론
- 아이폰에서 FLAC이 지원된다고 해서 iTunes Music Library를 어떡해 이용해 보려고 했는데..
iTunes에서 안됩니다. 결국 위에서 하고자 했던 일은 헛짓(?).. iTunes 얘도 참~ 답 없다 ㅠㅠ
- 결국 iTunes 대신 3uTools를 사용하기로 함.. 그런데 3uTools가 대~박!
(*주의: iTunes의 자동 동기화를 반드시 해제 후 사용할 것)
- 이제 아이폰에서도 FLAC이 재생된다 ^.^!
2. 3uTools
3uTools | The best all-in-one tool for iOS users
The Most Efficient iOS Files & Data Management Tool 3uTools makes it so easy to manage apps, photos, music, ringtones, videos and other multimedia files. Fully view iOS device' s different statuses, including activation, jailbreak, battery and iCloud lock
www.3u.com
받아서 깔면 됨. 사용하기 쉽당~
3. Foobar2000
foobar2000
2019-03-21 foobar2000 for mac has been updated, with volume control, output device picker and more. Download... 2019-03-11 foobar2000 v1.4.3 final has been released. Many known bugs have been addressed. All 1.4.x users should update. Download... 2019-03-05
www.foobar2000.org
3.1 Foobar2000 설치와 사용법
- 생략
3.2 Foobar2000에서 Star Rated Playlists 만들기
- Foobar2000 실행 (Desktop App for Music Player)
- MonkeyMote 실행 (iPhone App for Remotely Controlling Foobar2000)
- MonkeyMote > Connections > Settings > Allow Ratings > [Enable]
- MonkeyMote > Foobar2000에 접속 (Myhome) > 상단 우측 [목록] > 하단 우측 [More] >
Dynamic Playlists의 리스트에서 (*****, ****, ***)를 선택
- Foobar2000 > MENU > File > Save Playlists.. > 5/4/3-star.m3u 입력 > [저장]
- Foobar2000 Music Folder (E:\Music)에 저장된 Playlists 확인
3.3 Foobar2000 Playlists의 음악 파일들을 복사하기
- 3uTools 용 Music Directory에 추가/삭제할 Playlist들을 간단하고 허접한 Python 코드로 배치 파일을 만든다.
E:\Music>python conv.py -i <playlist> ... <playlist> -d <playlist> ... <playlist>
E:\Music>python conv.py
usage: conv.py [options]
make batch file from playlist file(s) to create music library
optional arguments:
-h, --help show this help message and exit
-i INS [INS ...] playlist file(s) to insert
-d DEL [DEL ...] playlist file(s) to delete
-s SRC source directory [E:\Music\]
-t DST target directory [D:\Down\Downloads\3uTools\Music\]
E:\Music>python conv.py -i 5-star.m3u
src = E:\Music\
dst = D:\Down\Downloads\3uTools\Music\
making playlist...
.songs_ins = 125
.songs_del = 0
.songs_ins = 125 (update)
making conv.bat...
.bat: copy = 1
.bat: not copy = 124 (duplicate)
.bat: del = 0
.bat: not del = 0 (not exist)
- 배치 파일을 실행하여 Playlist들을 3uTools Music Directory로 복사
E:\Music>conv.bat
3.4 복사된 음악 파일들을 3uTools로 가져오기
- 3uTools "Izeny의 iPhone"의 "Music" 항목을 선택
- 3uTools Music Directory로 복사된 파일들을 선택해서 3uTools Music 탭창 안으로 Drag & Drop
- 차암 쉽죠~ 끄읕~ ^^