Показаны сообщения с ярлыком media. Показать все сообщения
Показаны сообщения с ярлыком media. Показать все сообщения

суббота, 30 мая 2009 г.

музыкальные "разрезалки"

Задача, разделить один flac файл всего диска, на отдельные файлы трэков. Нужно мне это, опять же, для удобного отображения списка файлов, а также, для возможности переноса отдельных песен на плеер или кпк.
В общем-то Google сразу же дает ответ на этот вопрос, остается только оформить это в скрипт.
Для разделения, добавления тэгов и переименовывания, понадобятся пакеты:
sudo aptitude install cuetools shntool lltag
Утилита cuebreakpoints из пакета cuetools, берет из файла cue временные точки для "обрезки" на трэки, а shnsplit уже обрезает по этим точкам. Для добавления к файлам тэгов используется cuetag, и наконец lltag - переименовывает файлы по данным из тэгов.

#!/bin/bash
if [ "$1" != *.cue ]
then
echo Usage ./flacorez file.cue file.flac
exit
fi
if [ "$2" != *.flac ]
then
echo Usage ./flacorez file.cue file.flac
exit
fi
#разрезаем
cuebreakpoints "$1" | shnsplit -o flac "$2"
#добавляем тэги
cuetag "$1" split*.flac
#переименование в вид "номер трэка_артист - название трэка", параметр --yes "автоматом" отвечает "да" на вопросы о содержании тэга и переименовании
lltag --yes --no-tagging --rename '%n_%a - %t' split*.flac
echo Done.

Вторая задача, вырезать кусок mp3-файла, например для использования рингтоном на телефоне.
Для таких целей есть маленький и быстрый инструмент - cutmp3.
Для работы в интерактивном режиме, открываем файл:
cutmp3 -i music.mp3
Для движения по файлу вперед используются клавиши от 6 до 0, на 0.1 с- 1с - 10с - 1м - 10м соответственно, назад от 5 до 1. Клавишей "a" отмечается начальная точка, "b" - конечная, "s" - "вырезать" между отмеченными точками.
Для "вырезки" определенного места:
cutmp3 -i file.mp3 -a 0:20 -b 1:02
Программа работает без перекодирования и потому моментально.

вторник, 20 января 2009 г.

MPD - музыка в консоле

В Linux есть много музыкальных плееров, например - Amarok, Audacious, Banshee. Плееры - "просто плееры" и плееры - "музыкальные комбайны", хорошие и ...очень хорошие. Я, к слову, пользуюсь (скорее уже "пользовался") Amarok, это просто какое-то чудокомбайнище, тут и эквалайзеры и мультимедиатека и списки и правка тэгов, куча подключаемых скриптов для просмотра информации, текстов, кодирования и пр.пр.пр...
Всё это конечно хорошо, но, 90% времени плеер просто висит в трее и кроме как "послушать" от него ничего не требуется. Меня просто разрывает на куски когда я смотрю top, штук 5 amarokapp съедающие 15% CPU и 150 Мб памяти, плюс кучка скриптов на перл и руби. Нет, нет и нет. Я просто хочу "музычку по-тихоничку", не надо эквалайзера, рейтингов и обложек альбомов...ничего не надо, просто пусть играет. И имя этому "просто играет" - MPD. Что о нём знает apt?
$ aptitude show mpd
Описание: Music Player Daemon
Music Player Daemon (MPD) is a server that allows remote access for playing audio files (Ogg-Vorbis, FLAC, MP3, Wave, and
AIFF), streams (Ogg-Vorbis, MP3) and managing playlists. Gapless playback, buffered output, and crossfading support is also
included. The design focus is on integrating a computer into a stereo system that provides control for music playback over a
TCP/IP network. The goals are to be easy to install and use, to have minimal resource requirements (it has been reported to
run fine on a Pentium 75), and to remain stable and flexible.
Чудненько, то что надо. Помолимся, MPD да не укради системного времени, будь стабильным и гибким, легко установись и аминь..
Ставим сам сервер и одним виртуальным пакетом mpd-client кучку клиентов к нему.
$ sudo aptitude install mpd mpd-client
Демон сервера стартует во время загрузки ОС читая настройки из /etc/mpd.conf, я не считаю что он нужен мне при каждом старте системы. Следуя рекомендации, из файла /etc/rc2.d/README, переименовываем симлинк S30mpd в K70mpd. Теперь запускать сервер будем ручками когда он нам нужен и со своими настройками. Настраиваем под себя:
$ cp /etc/mpd.conf ~/.mpdconf
именно так, а не ~/.mpd.conf
мой содержит следущее:
music_directory "~/Music/"
playlist_directory "~/Music/"
db_file "~/Music/music.db"
log_file "~/Music/mpd.log"
error_file "~/Music/errors.log"
pid_file "~/Music/pid"
state_file "~/Music/state"
user "wtaket"
bind_to_address "localhost"
port "6600"
audio_output {
type "alsa"
name "My ALSA Device"
device "hw:0,0" # optional
format "44100:16:2" # optional
}
mixer_type "alsa"
mixer_device "default"
mixer_control "PCM"
filesystem_charset "UTF-8"
id3v1_encoding "UTF-8"
Тут есть пара скользких моментов, секция audio_output , параметры device и format, если их не указать, mpd грузит систему почище Amarok и 30% CPU не предел. Второй момент это совместное использование устройства, ни с alsa ни с oss у меня не работает и что делать не знаю. Хотя слушать музыку и одновременно смотреть фильм я вряд ли буду :)
Запускается mpd просто:
$ mpd
Кто-бы мог подумать :)
Ну а теперь сам как-бы плеер. Мне понравился консольный ncmpc, с параметром -c запускается в цветном режиме. Файл настроек плеера
$ cp /usr/share/doc/examples/config.sample ~/.ncmpc/config
я поставил запуск в цветном режиме
enable-colors = yes
отображение в заголовке терминала информации о треке
set-xterm-title = yes
xterm-title-format = "ncmpc: [ %name%|[%artist% - ]%title%|%file%]"
центрирование проигрываемого трека в плейлисте
auto-center = yes
и скрытие курсора через 5 секунд
hide-cursor = 5
Настроить shortcuts можно рилтайм в самом плеере и сохранить в файл.
Всё. Остается только наслаждаться музыкой :) , mpd грузит процессор на 1-3%, память (VIRT) 12900. Единственная ложечка дёгтя - недоступность звука для других приложений, но пока с этим разбираться не буду :)