LINUX.ORG.RU

Как добавить битрейт в название папки с музыкой?


0

1

Имеется большая коллекция с музыкой. Требуется добавить битрейт (точный или приблизительный) в название папок, например, «Mortalized - 2007 - Deathville» => «Mortalized - 2007 - Deathville (@192)». Вместо VBR можно писать средний битрейт. Делать это вручную очень долго. Как этого добиться? Хотел создать скрипт, в котором подсчитывается размер папки и делится на время альбома и тем самым приблизительно определяется битрейт, но как узнать время альбома?

Deleted

Последнее исправление: Deleted (всего исправлений: 1)

Сложить время входяших в альбом песен, да!

//Ваш кэп.

Но и битрейт тогда точно для каждой песни получить можно?

Ололо!

a = 0
b = os.listdir(папка)
for f in b:
           a += f.get_bitrate()
c = a/len(b)
os.rename(папка, c)

anonymous
()

Битрейт показывают

file file.mp3

exiftool -AudioBitrate File.mp3

mpg321 -t file.mp3

anonysmous
()

Easytag умеет переименовывать файлы, а если правильно набрать ему регэксп, то и каталоги.

anonymous
()
Ответ на: комментарий от anonymous

Битрейт тогда вручную придется вбивать, а нужно автоматически.

Deleted
()

подсчитывается размер папки и делится на время альбома

Ололо.
Мсье знает толк в извращениях

Tanger ★★★★★
()
Ответ на: комментарий от Tanger

Хотя если в названии будет kbps будет коряво работать.

Tanger ★★★★★
()
Ответ на: комментарий от Tanger

$ file 01\ -\ Иногда.mp3 | grep -Po «\d* kbps» | grep -Po «\d*»

Это и так понятно. А у меня как бы несколько тысяч альбомов.

Уже написал скрипт на баше. Вот.

Deleted
()
Ответ на: комментарий от Deleted

ну и что?

sum=0
count=0
for i in *mp3 ; do
  sum=$[$sum+$(file "$i"|grep -Po "\d* kbps"|grep -Po "\d*")]
  count=$[$count + 1]
done
echo $[$sum/$count]
Это средний в папке. В чем проблема то была?

Tanger ★★★★★
()
Ответ на: комментарий от Tanger

По каким-то неизвестным причинам, цикл for для имен файлов с пробелами не работал. С IFS выдавались ошибки. Пришлось использовать while. Кроме того, то, что ты написал - это один цикл, а нужно еще для всех папок. Бывают еще случаи, когда mp3 бывают в подпапках, а цикл считывает только первый уровень. Короче, это все кажется «ололо», а для начинающего bash'иста эта задача весьма непростая.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.