Если ты тоже, как и я, любишь возиться с аудио файликами, слушать, записывать, конвертировать и т.д., то эта статья для тебя. Здесь я расскажу, как можно легко выполнять различные действия с аудио из командной строки, причём делать это одинаково удобно и эффективно и на Линуксах, и на Винде. Для этого мы будем использовать программу fmedia. Она кросс-платформенная и портативная, быстрая и не требует ничего лишнего — в общем, в самый раз для тех людей, кто одержим идеей разумной минималистичности и экономии ресурсов.
В чём в принципе бонус интерфейса командной строки перед графическим?
-
Во-первых, все процессы легко автоматизируются. Мы можем создать скриптик, который одним махом сконвертирует все аудио файлы в директории, или выведет список всех мета тэгов, или выполнит любую другую задачу с большим количеством файлов.
-
Во-вторых, любую команду можно исполнять на удалённой машине, подключённой по SSH, например.
-
К тому же, такие программы, как правило, гораздо менее требовательны к ресурсам компьютера, а это очень важно когда у нас есть только лишь старенький ноутбук. Или когда мы слушаем музыку на ноуте, работающем на батарее, и требуется продлить его время работы. Например, я на своём ноуте с Федорой могу хоть целый день слушать музыку на батарее через fmedia — реально надолго хватает заряда, главное — погасить экран.
-
Нет никаких ограничений на максимальное количество файлов в активном плэйлисте. Можно играть плэйлист с тысячей трэков, можно с миллионом — на скорость работы это никак не влияет.
К слову, у fmedia всё таки есть графический интерфейс, но он опциональный, т.е. ты всегда сам решаешь, использовать графический интерфейс или же только командную строку.
Содержание:
-
Устанавливаем программу
-
Правила работы в терминале
-
Записываем аудио
-
Записываем с другим форматом звука
-
Записываем с другого устройства
-
Записываем то, что сейчас воспроизводится на Винде
-
Записываем и останавливаем запись автоматически
-
Записываем в stdout
-
Записываем через асинхронный процесс
-
Автоматические имена выходных файлов
-
Записываем Интернет-радио поток
-
Записываем Интернет-радио трэки
-
-
Воспроизводим аудио
-
Воспроизводим через другое устройство
-
-
Конвертируем аудио файлы
-
Конвертируем с параметрами звука
-
Конвертируем с параметрами кодека
-
Конвертируем и задаём тэги
-
Делим один большой файл на маленькие
-
-
Дополнительные функции
-
Итоги
Устанавливаем программу
Заходим на официальный сайт fmedia и скачиваем архив с программой для Винды или Линукса. Распаковываем архив в любую директорию на диске или на флэшке, и fmedia готов к работе. Дополнительно ничего скачивать и устанавливать больше не надо — это очень удобно.
Eсть вариант и сбилдить fmedia самостоятельно. Для этого надо зайти на ГитХаб страницу проекта, почитать Ридми файл и повторить соответствующие шаги для сборки проекта мэйкфайлом.
На Винде
Вообще, это не обязательно, но чтобы нам максимально удобно было вызывать бинарник fmedia, мы можем зарегистрировать его в системе. Запускаем cmd.exe
и выполняем такую команду:
"D:\fmedia\fmedia.exe" --install
Естественно, вместо D:\
у тебя здесь будет директория, куда ты только что распаковал архив. Эта команда делает 2 вещи:
-
Добавляет путь
D:\fmedia
в%PATH%
. -
Создаёт ярлык на рабочем столе к
fmedia-gui.exe
(это GUI к fmedia, но про него мы здесь говорить не будем).
Отлично, теперь мы можем из любой директории в консоли просто выполнять команды через fmedia
.
На Линуксе
На Линуксе команда --install
не работает, поэтому мы можем вручную создать ссылку на бинарник:
ln -s ~/bin/fmedia-1/fmedia /usr/local/bin/fmedia
Это если мы распаковали архив в ~/bin
. Результат тот же, что и на Винде: теперь мы можем выполнять команды в консоли через fmedia
.
Конфигурим программу
Обычно ничего настраивать не надо — всё и так должно работать. По умолчанию на Винде используется WASAPI аудио подсистема, а на Линуксе — PulseAudio и ALSA. Все настройки лежат в файле fmedia.conf
, fmedia его читает при запуске, поэтому если ты меняешь конфиг, то надо перезапустить fmedia. Все поддерживаемые аргументы командной строки можно посмотреть, если запустить fmedia -h
.
Имей в виду, что у fmedia немало настроек и параметров командной строки. Всего очень много различных вариантов использования, рассказать про которые не хватит времени и места. Я в этой статье привожу лишь самое полезное на мой взгляд.
Правила работы в терминале
Все приведённые в статье команды почти идентичны и на Линуксе и на Винде, но с одной лишь оговоркой. Терминалы на этих ОС всё же разные, поэтому если мы хотим использовать пробелы в командах или специальные символы, мы должны помнить что:
-
На Линуксе (в sh или bash) надо использовать одинарные кавычки (»), например:
fmedia 'my file.ogg' fmedia file.wav -o '$filename.ogg'
-
А на Винде (в cmd.exe) — двойные кавычки («»), например:
fmedia "my file.ogg"
В этой статье я привожу все команды с одинарными кавычками, т.к. я обычно на Линуксе работаю.
Записываем аудио
Обычно записывать звук через fmedia очень легко, нужно лишь указать ключик --record
и имя выходного файла:
fmedia --record -o rec.flac
Тут мы начинаем записывать со звукового устройства по умолчанию в файл rec.flac
в формате FLAC. Чтобы писать в другой формат файла, просто задай желаемое расширение: .wav, .flac, .m4a, .mp3, .ogg, .opus. Например, вот как нужно записывать в AAC-LC в MP4 контейнер:
fmedia --record -o rec.m4a
Для того, чтобы остановить запись, нажимаем клавишу s
(что соответствует команде Stop) или Ctrl+C
.
Пример запуска:
$ fmedia --record -o rec.m4a
φfmedia v1.27.3 (linux-amd64)
Recording... Source: int16 44100Hz stereo. Press "s" to stop.
0:04 [======....] -12.45dB / 0dB
18:19:20.103 :40ef [info] fmt.mp4-write: *1: MP4: frames:181, overhead: 1.17%
saved file rec.m4a, 132 kbytes
Записываем с другим форматом звука
Если никаких параметров не указано, по умолчанию мы используем формат звука int16/44100Hz/stereo (так указано в конфиге — мы можем это изменить, при необходимости). Вот как мы можем задать другой формат:
fmedia --record --format=int24 --channels=mono --rate=48000 -o rec.wav
Здесь мы пишем звук в формате int24/48000Hz/mono в .wav файл.
Записываем с другого устройства
Если у нас несколько устройств звукозаписи, то вот как мы можем записывать именно с того устройства, с которого хотим. Первое — получаем список всех доступных устройств:
fmedia --list-dev
Далее, выбираем номер нужного нам устройства из секции Capture:
, например #2, и пишем звук с него:
fmedia --record --dev-capture=2 -o rec.flac
Записываем то, что сейчас воспроизводится на Винде
На Винде у WASAPI есть крутая возможность вести запись «изнутри» (Loopback режим). Т.е. то, что любая другая программа на Винде на данный момент играет через колонки — мы это можем считать и записать в файл. Удобно для записи звука из браузера, или из игры, или из чего угодно. Активируется эта фича через ключ --dev-loopback
:
fmedia --record --dev-loopback=0 -o rec.wav
Здесь мы записываем из устройства по умолчанию. Если вдруг хотим использовать другое устройство, опять вначале листим все устройства:
fmedia --list-dev
И выбираем нужное устройство из секции Playback/Loopback:
. Например, используем устройство #2:
fmedia --record --dev-loopback=2 -o rec.wav
Вообще, WASAPI не выдаёт пользовательским программам никаких данных в Loopback режиме, если никто в системе ничего не воспроизводит. Но fmedia автоматически заполняет это пространство тишиной.
А вот более сложный пример, тут мы записываем одновременно 2 разных файла, один поток — из микрофона, второй — из браузера, используя устройство записи #1 и устройство воспроизведения #2:
fmedia --dev-capture=1 --dev-loopback=2 --record -o "rec-$counter.wav"
Что такое $counter
— это переменная для автоматического именования файлов. Суть в том что fmedia создаст 2 файла — rec-1.wav
и rec-2.wav
.
Записываем и останавливаем запись автоматически
Когда мы хотим писать звук в файл строго определённое количество времени, мы используем параметр --until
. Например, пишем 60 секунд, затем останавливаемся автоматически:
fmedia --record -o rec.flac --until=60
До истечения этого времени тоже можно нажать s
, чтобы прервать запись раньше, но это теперь не обязательно.
Записываем в stdout
Бывает полезно использовать fmedia для записи аудио, а затем сразу передавать записанные данные в другую программу. Для этого есть возможность записи в stdout поток. Активируем эту фичу, передавая -o @stdout.wav
параметр. Например, записываем в .wav файл из stdout потока:
fmedia --record -o @stdout.wav >rec.wav
Или передаём данные напрямую в другой процесс:
fmedia --record -o @stdout.wav | your_audio_app OPTIONS
Записываем через асинхронный процесс
Есть возможность управлять запущенным процессом записи асинхронно, т.е. из другого терминала. Работает это следующим образом. Вначале запускается основной fmedia процесс, который начинает записывать звук. Он создаёт системный канал (pipe), из которого он может принимать команды от других процессов. Затем, в любой момент мы можем послать команду остановки записи, запустив новый процесс fmedia. После принятия этой команды, первый процесс завершит запись и закроется.
Приказываем fmedia записывать звук и слушать команды от других процессов через:
fmedia --record -o rec.wav --globcmd=listen
В любой момент из другого терминала мы можем остановить звукозапись:
fmedia --globcmd=stop
Почему нельзя просто взять и убить первый процесс fmedia, который записывает в файл? У большинства аудио файлов есть мета информация, например количество сэмплов аудио (т.е. длительность аудио). Если процесс взять и убить, то мы не дадим возможности fmedia правильно сохранить эту мета информацию, из-за чего файлы могут оказаться нечитабельными из обычных программ-плееров.
Автоматические имена выходных файлов
Чтобы не придумывать и не писать каждый раз имена для выходных файлов, просто будем именовать их автоматически, по текущему системному времени:
fmedia --record -o 'rec-$time.wav'
Записываем Интернет-радио поток
Обычно Интернет-радио используют протокол ICY, внутри которого гоняют обычный MPEG1 Layer3. Запишем этот поток себе в файл без декодирования (без потери качества):
fmedia 'http://radio-stream:80/' -o radio.mp3 --stream-copy
Здесь ключ --stream-copy
говорит о том, что мы НЕ хотим конвертировать аудио, а просто скидывать MP3-фреймы как есть. Мы сможем сохранить понравившуюся песню, или нам нужно на время отлучиться от компа, а онлайн трансляция очень важная — мы её сохраним и позже послушаем.
То же самое, но одновременно воспроизводить радио поток через колонки:
fmedia 'http://radio-stream:80/' -o radio.mp3 --stream-copy --out-copy
Т.е. мы будем слушать радио, но в то же время сохранять все фреймы в файл.
Записываем Интернет-радио трэки
В протоколе ICY предусмотрена простенькая возможность прокидывать мета информацию о названии трэка и исполнителя. Некоторые сервера устанавливают мета данные, а мы можем использовать эту информацию для автоматического дробления потока на файлы с правильными именами. Эта команда будет создавать по одному файлу на каждый трэк, именуя это так: Время. Исполнитель - Название.mp3
:
fmedia 'http://radio-stream:80/' -o '$time. $artist - $title.mp3' --out-copy --stream-copy
А вот так мы можем записывать не каждый трэк, а только те, которые нам понравились:
fmedia 'http://radio-stream:80/' -o '$time. $artist - $title.mp3' --stream-copy --out-copy-cmd
Пока играет трэк, мы можем нажать Shift+t
комбинацию, и этот трэк сохранится на диске.
Я не юрист, но вроде бы обычно трансляции не разрешают слушателям сохранять поток и использовать его как захочется. Весь мир свихнулся на авторских правах, роялти и всякой другой современной капиталистической дряни… Поэтому, если сохраняешь поток с радио, то слушать можно только самому дома и нигде не транслировать.
Воспроизводим аудио
Слушать музыку через fmedia очень просто. Указываем входные файлы, которые мы хотим играть, один за другим. Например, воспроизводим отдельные файлики, или группы файлов:
fmedia ./file.ogg ./*.mp3
На текущий момент поддерживаются следующие контейнеры и кодеки: .mp3, .ogg (Vorbis/Opus), .opus, .mp4/.m4a/.mov (AAC/ALAC/MPEG), .mka/.mkv/.webm (AAC/ALAC/MPEG/Vorbis/Opus/PCM), .caf (AAC/ALAC/PCM), .avi (AAC/MPEG/PCM), .aac, .mpc, .flac, .ape, .wv, .wav. А также плейлисты: .m3u, .pls, .cue.
Воспроизводим все файлы внутри директории:
fmedia ./Music
Воспроизводим Интернет-радио:
fmedia 'http://radio-stream:80/'
Воспроизводим аудио из stdin потока:
cat input.wav | fmedia @stdin.wav
Пример использования:
$ fmedia rec.wav
φfmedia v1.27.3 (linux-amd64)
#1 " - " "rec.wav" 0.70MB 0:04.134 (182,344 samples) 1411kbps WAVE int16 44100Hz stereo
[=================...............................................] 0:01 / 0:04
Воспроизводим через другое устройство
Если хотим, чтобы игралось не через устройство по умолчанию, а через другое устройство, то аналогично со звукозаписью, вначале получаем список устройств:
fmedia --list-dev
Затем указываем номер устройства, через которое хотим воспроизводить, например устройство #2:
fmedia file.ogg --dev=2
Конвертируем аудио файлы
Конвертация выглядит достаточно просто: на вход подаём список файлов, которые хотим конвертировать. По желанию, указываем настройки для аудио кодека. По умолчанию, используются настройки кодеков из fmedia.conf
. И наконец, указываем выходной аудио формат для новых файлов. Например, конвертируем WAVE в MP3:
fmedia rec.wav -o rec.mp3
Можем не писать имя выходного файла, а генерировать его автоматически:
fmedia rec.wav -o '$filename.mp3'
$filename
— автоматически использовать имя (без расширения) входного файла.
Сконвертируем все WAVE файлы в текущей директории в OGG Vorbis:
fmedia ./*.wav -o '$filename.ogg'
То же самое, но кладём выходные файлы внутрь новой директории:
fmedia ./Music/*.wav -o 'Encoded/$filename.ogg'
Сконвертируем все файлы из списка внутри Music.m3u8:
fmedia --flist=Music.m3u8 -o '$filepath/$filename.ogg'
$filepath
— автоматически подставлять полный путь до входного файла.
Конвертируем с параметрами звука
Конвертируем в WAVE, используя int16 формат сэмпла (вместо float32, который использует Vorbis декодер):
fmedia file.ogg -o file.wav --format=int16
Конвертируем в int16/48000Hz/stereo:
fmedia file.ogg -o file.wav --format=int16 --rate=48000 --channels=stereo
Учти, что не все конфигурации конвертации поддерживаются, например не работает конвертация с форматом сэмпла int24 вместе с конвертацией sample rate. Тут проблема в том, что библиотека libsoxr, использующаяся для конвертации сэмпл рэйта, int24 не поддерживает, а fmedia не умеет это ограничение обходить.
Можно увеличить громкость на +6 dB, если запись слишком тихая:
fmedia in.wav --gain=6.0 -o louder.wav
Или уменьшить громкость на -6 dB:
fmedia in.wav --gain=-6.0 -o silent.wav
Можно применить динамический фильтр, уравнивающий громкость по алгоритму Гаусса:
fmedia in.wav --dynanorm -o normalized.wav
Кстати, у этого фильтра немало настроек — задать их можно в fmedia.conf
. И кстати, автор этого фильтра (Dynamic Audio Normalizer) вроде бы тоже немец, как и величайший математик Карл Гаусс.
Конвертируем с параметрами кодека
Почти у каждого кодека есть параметры, которые мы можем задавать через командную строку.
Так для Vorbis задаём качество VBR 7 (что примерно соответствует 200kbit/s):
fmedia file.wav -o file.ogg --vorbis.quality=7.0
Так для Opus задаём качество VBR 256kbit/sec:
fmedia file.wav -o file.opus --opus.bitrate=256
Так для MPEG Layer3 задаём качество CBR 256kbit/sec:
fmedia file.wav -o file.mp3 --mpeg-quality=256
Так для MPEG Layer3 задаём качество VBR q=2:
fmedia file.wav -o file.mp3 --mpeg-quality=2
Так для AAC-LC задаём качество VBR q=5 (что примерно соответствует 210kbit/s):
fmedia file.wav -o file.m4a --aac-quality=5
fmedia использует официальные опен-сорс аудио энкодеры, это библиотеки libfdk-aac, libFLAC, libmp3lame, libopus, libvorbisenc. Так что скорость конвертации полностью зависит от них.
Конвертируем и задаём тэги
Можно конвертировать и заодно изменить мета тэги, например зададим тэги «Исполнитель» и «Название»:
fmedia file.flac -o file.ogg --meta='artist=Исполнитель;title=Название'
Остальные тэги при этом сохранятся. А вот как сделать так, чтобы все оригинальные тэги стереть:
fmedia file.flac -o file.ogg --meta='clear;artist=Исполнитель;title=Название'
Т.е. мы тут добавили clear;
в начало команды --meta
.
Делим один большой файл на маленькие
Отрежем начальные 35 секунд у файла, сохранив всё остальное:
fmedia big.wav --seek=00:35 -o cut.wav
Сохраним первые 01:35, удалив всё остальное:
fmedia big.wav --until=01:35 -o cut.wav
Вырежем кусок от 00:35 до 01:35:
fmedia big.wav --seek=00:35 --until=01:35 -o cut.wav
Чтобы разделить один большой файл (например, альбом) на трэки, воспользуемся .cue файлом:
fmedia album.flac.cue -o '$tracknumber. $artist - $title.flac'
Если нужно сохранить только выборочные трэки, то делаем например так:
fmedia album.flac.cue --track=3,7,13 -o '$tracknumber. $artist - $title.flac'
Т.е. через запятую с параметром --track
указываем какие трэки хотим сконвертировать. Кстати, у fmedia есть и настройка, чтобы контролировать прегапы в трэках в .cue файлах, это ключ --cue-gaps
. По умолчанию прегапы добавляются в конец предыдущих трэков.
Можно поделить файл на равномерные по длительности куски, например делим большой файл на файлики по минуте каждый:
fmedia big.wav --split=01:00 -o 'file-$counter.wav'
Для некоторых кодеков есть возможность вырезать куски аудио без потери качества, например для .mp3, .ogg и .m4a. Для этого добавляем ключ --stream-copy
к команде, например:
fmedia big.ogg --seek=1:00 --until=2:00 --stream-copy -o cut.ogg
Дополнительные функции
Просто распечатать мета информацию из файла (например длительность, битрейт и название кодека):
fmedia --info file.mp3
То же, но ещё распечатать все мета тэги:
fmedia --info --tags file.mp3
Иногда бывает полезно проанализировать все сэмплы в файле. Делаем это с ключом --pcm-peaks
:
fmedia input.ogg --pcm-peaks
Пример использования:
$ fmedia --pcm-peaks rec.wav
φfmedia v1.27.3 (linux-amd64)
#1 " - " "rec.wav" 0.70MB 0:04.134 (182,344 samples) 1411kbps WAVE int16 44100Hz stereo
[===================================================.............] 0:03 / 0:04
"rec.wav":
PCM peaks (182,344 total samples):
Channel #1: highest peak:0dB, avg peak:-26.02dB. Clipped: 78 (0.0428%). CRC:00000000
Channel #2: highest peak:0dB, avg peak:-24.71dB. Clipped: 62 (0.0340%). CRC:00000000
Можно сгенерировать чексумму аудио данных — это бывает полезно, чтобы убедиться в оригинальном качестве после конвертации:
fmedia *.flac --pcm-peaks --pcm-crc
Ну и в качестве бонуса, вот как можно быстро сгенерировать M3U плэйлист из директории:
fmedia ./Music -o music.m3u8
Итоги
Теперь ты знаешь как минимум ещё один способ как сделать что-то полезное с аудио контентом. Понятно, что какие-то из приведённых здесь советов легко заменяются скриптами и командами для великого ffmpeg, но лично для меня fmedia во многом удобнее. (ffmpeg очень силён, когда дело касается видео файлов, но эта статья именно про аудио). В целом, под любую команду можно создать какой-нибудь алиас, чтобы ещё проще было запускать конвертацию или запись из командной строки. Например, для bash на Линуксах можно добавить в ~/.bashrc
:
alias rec='fmedia --record -o rec.wav'
А для Винды можно скрипт файл создать, например rec.cmd
:
fmedia --record -o rec.wav
Но ты это наверняка уже и так понимаешь, так что на этом я заканчиваю эту статью. Надеюсь, хоть что-то да было тебе полезно.
Music On Console (MOC) is a simple music player for the shell.
Installing it is easy:
$ sudo apt install moc
To start it:
$ mocp
MOC has a two-pane interface. On the left is the directory hierarchy of your system. You navigate it to add music files to the playlist. The files in the playlist are displayed in the right pane.
Navigate files and directories in the panes: up
and down
arrow keys
Switch between panes: tab
Add files inside a directory to playlist: A
Add a file to playlist: a
Delete a file from playlist: d
Play a file: Enter
Pause: Space
Play next file: n
Play previous file: b
Decrease or increase volume: ,
and .
Clear playlist: C
Toggle play in shuffle order or not: S
Toggle repeat playlist or not: R
To quit the player (playback continues in background): q
To stop playback and kill the player: mocp -x
The full list of keyboard shortcuts can be seen here.
You can also configure MOC by placing a file named config
in ~/.moc/
. To see the type of configuration options you can specify in this file see /usr/share/doc/moc/examples/config.example.gz
.
Tried with: MOC 2.5.0 and Ubuntu 14.04
Published
[yasr_overall_rating] [yasr_visitor_votes]
Here is a list of 5 music players that use a command line interface or simply a command prompt to play audio files. A command line audio player basically plays an audio file by the means of entering a command in native terminal. The command invokes the program which parses and streams the audio file. One of the use of these programs is when you make an installer batch to play in the background, as you see in the installers. It’s also handy for Windows users that use the command prompt a lot. To get them working, you have to copy and paste the application files in the System32 folder of Windows or alternatively, you have to set the environmental variables for it.
Some time back when I was looking at this online terminal radio, I thought if music players exist that use terminal to operate exclusively? This is what caught my gears and made me search for such free audio players that employ only a command line user interface. The results were engaging and that is what I’ve brought you guys.
And, BTW, you might also want to check out audio players without any interface!
DLC Player
DLC player is a Windows based command line audio player that plays MP3, FLAC, OGG, WAV, etc audio files. To do this, it uses the IrrKlang sound library that is used for C++, C#, and dotNET languages. DLC Player always includes commandline parameters when you try to run it. To play a song you need to use the keyword dlc, and in the syntax: ‘dlc -p’. A very cool feature of this player is that it packs audio effects like flanger, compression, echo, distortion, etc. If you like adding audio effects, then check out this list of audio editors which can do the same.
You can also configure DLC Player to play files with specific extension by using wildcard ‘*.extension’.
Get DLC player here.
CmdMp3
CmdMp3 is a free command line MP3 player written in C language. It works by launching the command prompt and using the extension CmdMp3 with the audio filename. It is a simple audio streamer with only a CUI. CmdMp3 cannot play any other audio format than MP3. To play an MP3 file using CmdMp3, launch the Command Prompt. Then use the keyword CmdMp3 in the format ‘CmdMp3 <filename>’. The file will play until you manually end the program from the task manager.
Get CmdMp3 here.
Sounder
Sounder is a simple CUI audio player. It is akin to the CmdMp3 player but, in this case, it can only play WAV files. Like the others in the list, you have to launch it through the command prompt. The command to launch it is ‘sounder[/stop] [/loop times] [/timer ms] [/help] filename.wav ‘. As you can see in the command format, this application lets you stop the existing playback with ‘/stop’ command. Other than that, you can also set the file to play in a loop and enable a timer. A really cool feature I discovered about this audio application is, that you can play multiple WAV files simultaneously.
Get Sounder here.
sWavPlayer
SWavPlayer is another WAV format player that is used from command line. It is just like Sounder. What makes it different from sounder is that, even though it markets itself as a WAV player, it can play MP3 files as well. Apart from that, sWavPlayer has only one parameter, unlike sounder. To launch sWavPlayer from the terminal, use ‘sWavPlayer [parameter]’. You can play multiple instances of it simultaneously, but it doesn’t have a ‘stop’ option to stop them playing all the files, like Sounder has.
Get sWavPlayer here.
MPXplay
MPXplay came to me as a surprise when I was looking for CUI based players. I did not expect that I would find an audio player with a well made ‘GUI within a CUI’. It’s CUI-ception! *excuse the bad joke*. MPXplay is a well-programmed commandline audio player that can handle multiple audio formats. It can even play lossless audio.
The interface includes a navigation bar, visualization, speed control, file tab, seek bar and many more features, just like a normal GUI audio player. It has lots of parameters you can launch it with, unlike the other players in this list. To use it, you have to use the hotkeys on your keyboard. This audio player goes beyond its limit as a simple CUI player by even letting you play Internet Radio through HTTP and play audio files through FTP. This application is definitely a marvel among the others in this list and this why I insist you HAVE to try this player out.
Get MPXPlay here.
Conclusion
All these commandline players seemed to function as they intended to. Some went a step ahead. Among these players I think MPXPlay is what music-savvy people will definitely love. MPXPlayer delivers way more than just a commandline audio application. It presents itself as a proper music player that would’ve been the first choice in DOS era. You can choose the other players to play audio casually or use these applications integrated with other applications, like an installer. These audio applications also take a negligible toll on your system, almost as if they are not running. However, if you’re not satisfied with these CUI players and would like ‘see and click’ GUI players then there is a long list of such audio players you can check out.
What would you use these command line mp3 players for? Do tell me in the comments!
Модератор: ROOT
Music On Console — Проигрыватель для консоли.
Оглавление
Темы
О проигрывателе
Установка и запуск Music On Console
Опции запуска
Пример запуска
Клавиши правления плеером
О проигрывателе
MOCP (также именуется MOC) — аудиоплеер, известный прежде всего благодаря своему консольному интерфейсу, что во многих случаях является ощутимым преимуществом. он реализован в виде двух составных частей — собственно демона)-проигрывателя и псевдографического интерфейса на ncurses. вот небольшой список преимуществ данного проигрывателя:
- отсутствие привязки к X-серверу, т.е. вы можете слушать музыку на системе без графической оболочки или же просто при работе в tty-консоли
- интуитивно понятный и настраиваемый интерфейс
- экономия места за счет отсутствия лишних окон, что особо актуально для нетбуков
- низкая требовательность к ресурсам за счет отсутствия навороченной графики
- возможность управления извне — например, из командной строки или с помощью кнопок на панели
- запущенный в «иксах» плеер будет играть и при переходе в tty-консоль)
Вкратце можно сказать, что mocp — отличный плеер для тех, кому от плеера требуется именно то, для чего он предназначен — прослушивание музыки.
Администрирование Fedora Linux + настройка сети и прочая IT-Ботва
Для желающих поддержать
Карта SB: 5469 4009 6510 2267
Лучше ужасный конец, чем ужас без конца!
-
ROOT - Администратор
- Сообщений: 441
- Зарегистрирован: 01 авг 2011, 09:36
- Откуда: Моск. обл., г. Железнодорожный
-
- Сайт
ROOT » 09 апр 2022, 15:39
Установка и запуск Music On Console
из репозитория rpmfusion-free устанавливаем mocp
- Код: выделить все
dnf install moc
переносим пример конфигурации в каталог пользователя
- Код: выделить все
cat /usr/share/doc/moc/config.example > /home/serg/.moc/config
меняем владельца скопированного файла
- Код: выделить все
chown -R serg:serg /home/serg/.moc
Для запуска программы необходимо поправить файл настроек
заменим
- Код: выделить все
MusicDir = "/home/user/Музыка/"
ID3v1TagsEncoding = WINDOWS-1251
Fastdir1 = ${MusicDir}/Высоцкий
Fastdir2 = ${MusicDir}/SERGEEV
TiMidity_Config = /etc/timidity.cfg
Этого достаточно для безпроблемного запуска проигрывателя
Администрирование Fedora Linux + настройка сети и прочая IT-Ботва
Для желающих поддержать
Карта SB: 5469 4009 6510 2267
Лучше ужасный конец, чем ужас без конца!
-
ROOT - Администратор
- Сообщений: 441
- Зарегистрирован: 01 авг 2011, 09:36
- Откуда: Моск. обл., г. Железнодорожный
-
- Сайт
ROOT » 09 апр 2022, 15:40
Опции запуска
Описание некоторых ключей и опций плеера
mocp -S | Запуск проигрывателя в качестве сервера |
mocp -G | пауза/воспроизведение |
mocp -P | Приостановить воспроизведение |
mocp -U | Продолжить воспроизведение |
mocp -f | Следующий трек |
mocp -r | Предыдущий трек |
mocp -a | «путь/к/файлу» — добавить файл или папку (рекурсивно) в плейлист |
mocp -c | очистить плейлист |
mocp -s | остановить воспроизведение |
mocp -p | начать воспроизведение с первого файла в плейлисте |
mocp -t s | включить/выключить воспроизведение в случайном порядке (Shuffle) |
mocp -x | завершить работу проигрывателя |
mocp -i | показать подробную информацию о текущем треке |
mocp -v 40 | установить громкость в 40%. -v +10, -v +/-n — увеличить/уменьшить на n% |
Администрирование Fedora Linux + настройка сети и прочая IT-Ботва
Для желающих поддержать
Карта SB: 5469 4009 6510 2267
Лучше ужасный конец, чем ужас без конца!
-
ROOT - Администратор
- Сообщений: 441
- Зарегистрирован: 01 авг 2011, 09:36
- Откуда: Моск. обл., г. Железнодорожный
-
- Сайт
ROOT » 09 апр 2022, 15:41
Пример запуска
- Код: выделить все
mocp -c -a "/home/serg/Музыка/БрэндонСтоун/" -p -v 40
Создаст плейлист и добавить файл или папку (рекурсивно) в плейлист,
включит воспроизведение в случайном порядке и повтор и начнет воспроизведение,
и установить громкость в 40%
Администрирование Fedora Linux + настройка сети и прочая IT-Ботва
Для желающих поддержать
Карта SB: 5469 4009 6510 2267
Лучше ужасный конец, чем ужас без конца!
-
ROOT - Администратор
- Сообщений: 441
- Зарегистрирован: 01 авг 2011, 09:36
- Откуда: Моск. обл., г. Железнодорожный
-
- Сайт
ROOT » 09 апр 2022, 15:42
Клавиши правления плеером
ENTER | старт проигрывания файла или переход в каталог |
DOWN | перемещение вниз на одну строку |
UP | перемещение вверх на одну строку |
PAGE_DOWN | перемещение вниз на одну страницу |
PAGE_UP | перемещение вверх на одну страницу |
HOME | перемещение в начало списка |
END | перемещение в конец списка |
Q | остановка: закрытие клиента и остановка сервера |
q | отсоединение клиента от сервера: закрытие консоли управления, сервер продолжает работу |
s | остановка воспроизведения |
n | начать проигрывание следующего файла |
b | начать проигрывание предыдущего файла |
p SPACE | установка паузы |
f | Toggle ReadTags option |
S | проигрывать в случайном порядке |
R | проигрывать циклически |
X | Toggle AutoNext option |
TAB | навигация между панелями плейлиста и списка файлов |
l | Switch between layouts |
a | добавление файла/каталога для воспроизведения в плейлист |
C | очистка плейлиста |
A | добавление каталогов в плейлист воспроизведения рекурсивно |
Y | Remove all playlist entries that point to non-existent files |
< | увеличение громкости на 1% |
> | уменьшение громкости на 1% |
, | увеличение громкости на 5% |
. | уменьшение громкости на 5% |
RIGHT | Seek forward by n-s |
LEFT | Seek backward by n-s |
h ? | просмотр справка |
M | Hide error/informative message |
^r ^l | обновить экран |
r | перечить содержимое каталога |
H | Toggle ShowHiddenFiles option |
m | Go to the music directory (requires an entry in the config) |
d | удалить файл из плейлиста |
g / | Search the menu |
V | удалить файл из плейлиста |
^t | Toggle ShowTime option |
^f | Toggle ShowFormat option |
o | Play from the URL |
G | Go to a directory where the currently played file is |
i | перейти в каталог |
U | Go to ‘..’ |
^g ^n | Find the next matching item |
^x ESCAPE | Exit from an entry |
] | Silent seek forward by 5s |
[ | Silent seek backward by 5s |
M-1 | Set volume to 10% |
M-2 | Set volume to 20% |
M-3 | Set volume to 30% |
M-4 | Set volume to 40% |
M-5 | Set volume to 50% |
M-6 | Set volume to 60% |
M-7 | Set volume to 70% |
M-8 | Set volume to 80% |
M-9 | Set volume to 90% |
‘ | Mark the start of a block |
« | Mark the end of a block |
! | Go to a fast dir 1 |
@ | Go to a fast dir 2 |
# | Go to a fast dir 3 |
$ | Go to a fast dir 4 |
% | Go to a fast dir 5 |
^ | Go to a fast dir 6 |
& | Go to a fast dir 7 |
* | Go to a fast dir 8 |
( | Go to a fast dir 9 |
) | Go to a fast dir 10 |
UP | Go to the previous entry in the history (entry) |
DOWN | Go to the next entry in the history (entry) |
x | Toggles the mixer channel |
w | Toggles the software-mixer |
E | Toggles the equalizer |
e | Reload EQ-presets |
K | Select previous equalizer-preset |
k | Select next equalizer-preset |
J | Toggle mono-mixing |
u | переместить файл выше в плейлисте |
j | переместить файл ниже в плейлисте |
^u | Add a URL to the playlist using entry |
T | Switch to the theme selection menu |
F1 | выполнить ExecCommand1 |
F2 | выполнить ExecCommand2 |
F3 | выполнить ExecCommand3 |
F4 | выполнить ExecCommand4 |
F5 | выполнить ExecCommand5 |
F6 | выполнить ExecCommand6 |
F7 | выполнить ExecCommand7 |
F8 | выполнить ExecCommand8 |
F9 | выполнить ExecCommand9 |
F10 | выполнить ExecCommand10 |
L | Display lyrics of the current song (if available) |
P | Toggle displaying full paths in the playlist |
z | Add (or remove) a file to (from) queue |
Z | Clear the queue |
Администрирование Fedora Linux + настройка сети и прочая IT-Ботва
Для желающих поддержать
Карта SB: 5469 4009 6510 2267
Лучше ужасный конец, чем ужас без конца!
-
ROOT - Администратор
- Сообщений: 441
- Зарегистрирован: 01 авг 2011, 09:36
- Откуда: Моск. обл., г. Железнодорожный
-
- Сайт
Вернуться в Fedora
Кто сейчас на форуме
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2
Возвращаясь к теме удаленного доступа к другому компьютеру, которую я затрагивал в нескольких последних статьях, хочу рассказать о том, как запустить музыку на удаленной машине. Собственно, сам плеер MOC (Music On Console) можно использовать и локально, но преимущественно мне он нужен был для управления музыкой на ноутбуке с нетбука, ведь при удаленном доступе по ssh нельзя запустить плеер с графическим интерфейсом. Как подключаться по ssh к удаленному компьютеру я сейчас рассказывать не буду, а как настроить удаленный доступ при динамическом IP, я уже рассказывал.
Собственно, устанавливается плеер просто:
sudo apt-get install moc
После чего рекомендую создать в директории ~/.moc
файл конфигурации
nano ~/.moc/config
следующего содержания:
MusicDir = "/media/data/MUSIC" #Ваша папка с музыкой, в которую вы попадете нажав m
Repeat = yes #Включает автоповтор автоматически при запуске плеера (без конфига он выключен)
Shuffle = no #Включает беспорядочное воспроизведение, можете включить, если хотите
AutoNext = yes #Включает автоматический переход к следующему
ShowHiddenFiles = no #Скрытые файлы не отображаем, вряд ли там будет музыка
StartInMusicDir = yes #Плеер будет открывать при запуске вашу папку с музыкой
SavePlaylist = yes #Сохраняет плейлист после выхода из плеера
Theme = transparent-background #То самое полупрозрачное, черное оформление, как на скрине. Остальные варианты лежат в /usr/share/moc
Запуск плеера:
mocp
Управление плеером тоже весьма простое:
a -- добавить один файл.
A -- добавить директорию рекурсивно (или плейлист)
q -- отправляет программу в фоновый режим (при этом музыка еще играет ака демон)
Q -- выйти из программы
s -- остановить воспроизведение
n -- следующий трек
b -- предыдущий
p -- пауза
S -- шаффл
R -- повтор
X -- автоматический переход на следующий трек
C -- очистить плейлист
m -- перейти в каталог музыки
V -- сохранить плейлист
< и > -- управление громкостью
Лично я считаю данный плеер весьма удобным для своих целей, в частности для управления музыкой на удаленном компьютере.