Music on console windows

Если ты тоже, как и я, любишь возиться с аудио файликами, слушать, записывать, конвертировать и т.д., то эта статья для тебя. Здесь я расскажу, как можно легко выполнять различные действия с аудио из командной строки, причём делать это одинаково удобно и эффективно и на Линуксах, и на Винде. Для этого мы будем использовать программу 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_cmdline

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_cmdline

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_cmdline

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_cmdline

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_cmdline

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 -- сохранить плейлист
< и > -- управление громкостью

Лично я считаю данный плеер весьма удобным для своих целей, в частности для управления музыкой на удаленном компьютере.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Как установить edius 6 на windows 10
  • Windows subsystem for linux how to install
  • Обои windows 11 обои для телефона
  • Как установить виртуальную машину на windows 10 домашняя
  • Виртуальный джойстик на планшете windows