Скрипт для создания спектров для CMCS: различия между версиями

Материал из Linux Wiki
Перейти к навигацииПерейти к поиску
Строка 38: Строка 38:
</source>
</source>


[[Category:Скрипт]][[Category:Аудио]][[CMCS]]
[[Category:Скрипт]][[Category:Аудио]][[Category:CMCS]]

Версия 18:55, 21 февраля 2010

Скрипт ниже создает спектры для треков согласно Common Music Collection Structure. Для построения спектров используется утилита sndfile-spectrogram из пакета sndfile-tools (в Debian). В качестве параметра find'у передается путь к корню музыкальной коллекции (каталог, содержащий подкаталоги исполнителей).


find /media/storage/share/music/flac/ -maxdepth 3 -name *.flac |
while read file
	do
	file="$(readlink -f "${file}")"
	dirname="$(dirname "${file}")/_album_info/spectrums/"
	basename="$(basename "${file}")"

	if [ ! -e "${dirname}${basename%.flac}.png" ]
		then
		mkdir -p "${dirname}"
		sndfile-spectrogram --dyn-range=100 "${file}" 800 480 "${dirname}${basename%.flac}.png")
		echo $file complete
	fi
done

Либо как отдельная функция, работает как с альбомом, так и с дискографией:


makespectrums() {
find "${@}" -maxdepth 3 -name "*.flac" |
while read file
do
file="$(readlink -f "${file}")"
dirname="$(dirname "${file}")/_album_info/spectrums/"
basename="$(basename "${file}")"
[ ! -e "${dirname}${basename%.flac}.png" ] && (mkdir -p "${dirname}" ; sndfile-spectrogram --dyn-range=100 "${file}" 800 480 "${dirname}${basename%.flac}.png")
echo $file complete
done
}