Мои скрипты: renbycue.py
Разрежем большой MP3, протегируем малые по CUE-файлу.
Скачал я альбом с помощью осла - VA_-_Safi_Connection_The_Remixes
А он весь одним большим mp3 (118Mb), решил порезать, благо прилагался cue-файл следующего содержания:
Дядька Curt сказал что нарезает в WaveLab , я и последовал его рекомендации. Нашел этот инструмент на Wzor'е и у китайцев.
Для упрощения "нарезки", написал следующий сценарий на python:
Он парсит *.cue и вычисляет длину треков(длины часто не совпадают с заявленными в cue).
Вот его результат его работы:
Далее "нарезал" 10 mp3-файлов, сохраняя каждый под его порядковым номером:

А вот скрипт, который все переименует и расставит mp3-тэги(точнее id3-тэги):
Использовал готовую библиотеку id3-py.
Запустим на выполнение сценарий:
В исходной папке вырисовывается следующее:

Проверим наличие id3-тэгов с помощью winamp(Alt+3):

Мои закладки по теме тут.
Technorati Tags: python, mp3, cue, music, edit, мои+скрипты
Скачал я альбом с помощью осла - VA_-_Safi_Connection_The_Remixes
А он весь одним большим mp3 (118Mb), решил порезать, благо прилагался cue-файл следующего содержания:
PERFORMER "VA"
TITLE "Safi Connection The Remixes"
FILE "01-va_-_safi_connection_the_remixes-upe.mp3" MP3
TRACK 01 AUDIO
TITLE "Hello Houston Spiritual Enhancer Rmx"
PERFORMER "Safi Connection"
FLAGS DCP
INDEX 01 00:00:00
...
TRACK 10 AUDIO
TITLE "Fullon String Elec 3 Rmx"
PERFORMER "Safi Connection"
FLAGS DCP
INDEX 00 67:05:01
INDEX 01 67:07:01
Дядька Curt сказал что нарезает в WaveLab , я и последовал его рекомендации. Нашел этот инструмент на Wzor'е и у китайцев.
Для упрощения "нарезки", написал следующий сценарий на python:
"cue info - print info from *.cue"
#cuei.py
#rev. 0.2
#dron@amerigo 200607311244
import sys
from datetime import timedelta
from ID3 import *
all = open(sys.argv[1]).read()
tracks = [el.split("\n") for el in all.split("TRACK")]
label = tracks[0][0].replace("PERFORMER","").strip()[1:-1]
album = tracks[0][1].replace("TITLE","").strip()[1:-1]
starts = []
tracklist = []
for i in range(1, len(tracks)):
title = tracks[i][1].replace("TITLE","").strip()[1:-1]
artist = tracks[i][2].replace("PERFORMER","").strip()[1:-1]
if tracks[i][3].strip().startswith("FLAGS"):
startfrom = tracks[i][4].strip()[-8:]
else:
startfrom = tracks[i][3].strip()[-8:]
(h,m,s) = startfrom.split(":")
t = timedelta(
hours=int(h),
minutes=int(m),
seconds=int(s))
starts.append(t)
tracklist.append("%d: %s - %s, from: %s," %
(i, artist, title, startfrom))
lengths = []
for i in range(len(starts)-1, 0, -1):
lengths.append(str(starts[i] - starts[i-1]))
lengths.reverse()
lengths.append("??:??:??")
for i in range(0, len(tracklist)):
print tracklist[i], lengths[i]
Он парсит *.cue и вычисляет длину треков(длины часто не совпадают с заявленными в cue).
Вот его результат его работы:
C:\mp3>python cuei.py 01-va_-_safi_connection_the_remixes-upe.cue
1: Safi Connection - Hello Houston Spiritual Enhancer Rmx, from: 00:00:00, 7:09:
2: Elec 3 feat. Anna K. - Define Yourself Safi Connection Rmx, from: 07:09:48, 7
3: Safi Connection And Saly D - Humna Lights Smhug Rmx, from: 14:17:37, 8:25:12
4: Smhug - Decode Safi Connection Rmx, from: 22:42:49, 7:25:15
5: Safi Connection - Solaric Seeds Life Style Rmx, from: 30:07:64, 6:53:39
6: Safi Connection - Froze Uriya Rmx, from: 37:01:43, 7:01:11
7: Safi Connection - Tarazan And JD-J Burn In Noise Rmx, from: 44:02:54, 7:12:10
8: Lemurians - Systematic Waves Safi Connection Rmx, from: 51:15:04, 7:03:18
9: Safi Connection - Figga Nigga Parrket Rmx, from: 58:18:22, 8:46:39
10: Safi Connection - Fullon String Elec 3 Rmx, from: 67:05:01, ??:??:??
Далее "нарезал" 10 mp3-файлов, сохраняя каждый под его порядковым номером:

А вот скрипт, который все переименует и расставит mp3-тэги(точнее id3-тэги):
"Renames and tags \d+.mp3 in './' by cue-file"
#renbycue.py
#rev. 0.3
#dron@amerigo 200607311241
import os, sys
from ID3 import *
all = open(sys.argv[1]).read()
tracks = [el.split("\n") for el in all.split("TRACK")]
perf = tracks[0][0].replace("PERFORMER","").strip()[1:-1]
album = tracks[0][1].replace("TITLE","").strip()[1:-1]
print album, perf
for i in range(1, len(tracks)):
title = tracks[i][1].replace("TITLE","").strip()[1:-1]
artist = tracks[i][2].replace("PERFORMER","").strip()[1:-1]
if tracks[i][3].strip().startswith("FLAGS"): #pass FLAGS
startfrom = tracks[i][4].strip()[-8:]
else:
startfrom = tracks[i][3].strip()[-8:]
print "%s - %s, %s" % (artist, title, startfrom)
mp3 = "%d.mp3" % i
try:
id3 = ID3(mp3)
id3.title = title
id3.artist = artist
id3.genre = id3.find_genre("psychadelic")
id3.track = i
id3.year = "2006"
id3.comment = "renbycue03.py"
id3.album = perf + " " + album
print id3
except InvalidTagError, message:
print "Invalid ID3 tag:", message
id3.write()
id3.file.close()
os.rename(mp3,"%02d-%s-%s.mp3" % (i, artist, title))
Использовал готовую библиотеку id3-py.
Запустим на выполнение сценарий:
C:\mp3>python renbycue.py 01-va_-_safi_connection_the_remixes-upe.cue
Album : VA Safi Connection The Remixes Track : 6 Year: 2006
Comment: renbycue03.py Genre : Psychadelic (67)
Safi Connection - Tarazan And JD-J Burn In Noise Rmx, 44:02:54
File : 7.mp3
Title : Tarazan And JD-J Burn In Noise Artist: Safi Connection
Album : VA Safi Connection The Remixes Track : 7 Year: 2006
Comment: renbycue03.py Genre : Psychadelic (67)
Lemurians - Systematic Waves Safi Connection Rmx, 51:15:04
File : 8.mp3
Title : Systematic Waves Safi Connecti Artist: Lemurians
Album : VA Safi Connection The Remixes Track : 8 Year: 2006
Comment: renbycue03.py Genre : Psychadelic (67)
Safi Connection - Figga Nigga Parrket Rmx, 58:18:22
File : 9.mp3
Title : Figga Nigga Parrket Rmx Artist: Safi Connection
Album : VA Safi Connection The Remixes Track : 9 Year: 2006
Comment: renbycue03.py Genre : Psychadelic (67)
Safi Connection - Fullon String Elec 3 Rmx, 67:05:01
File : 10.mp3
Title : Fullon String Elec 3 Rmx Artist: Safi Connection
Album : VA Safi Connection The Remixes Track : 10 Year: 2006
Comment: renbycue03.py Genre : Psychadelic (67)
В исходной папке вырисовывается следующее:

Проверим наличие id3-тэгов с помощью winamp(Alt+3):

Мои закладки по теме тут.
Technorati Tags: python, mp3, cue, music, edit, мои+скрипты


Links to this post:
Створити посилання
3 Комментарии:
Hey! Very Nice! Check out this website I found where you can make extra cash.
It's not available everywhere, so go to the site and see if you can find something. I found something and make
and extra $900 a month!
http://www.degree-programs-online.info/extramoney.htm
By
Анонім, at 01 серпня, 2006 16:34
http://zaxar.awardspace.co.uk/ [b]Проститутки Москвы и Питера, самые красивые девушки, элитные и дешевые,только реальное фото и видео[/b]
девочки тут [url=http://lkjhhut.white.prohosting.com/ ]http://lkjhhut.white.prohosting.com/ [/url]
By
Анонім, at 04 березня, 2007 12:32
This comment has been removed because it linked to malicious content. Learn more.
By
Анонім, at 29 березня, 2007 16:06
Дописати коментар
<< Home