Минималистичный терминальный музыкальный плеер, который может воспроизводить все мои файлы в случайном порядке.

Вопрос или проблема

Я ищу терминальный музыкальный плеер. mpg321/mpg123 вполне меня устраивает, но он не может проигрывать всю мою музыкальную директорию (которая содержит вложенные директории). cmus кажется немного избыточным, так как в нем много функций, которые я никогда не использую.

Мне просто нужна программа, в которую я могу передать свою музыкальную директорию и, возможно, флаг --random, и тогда она будет проигрывать всё в случайном порядке. Может кто-нибудь подсказать, какие варианты у меня есть?

Вы легко можете обернуть скрипт, используя find и rl (пакет randomize-lines на Debian).

Что-то вроде:

find "$1" -type f -name *.mp3 | rl | while read FILE; do mpg123 "$FILE"; done

Я использую gst123 как командный плеер. Укажите его на родительскую директорию, и он будет перемешивать файлы в ней и в дочерних директориях с флагом -z. Я запускаю его так.

 gst123 -z ~/Music

Есть moc – Музыка в консоли. Это проще, чем mpd, но поставляется с встроенным интерфейсом ncurses. Вы можете использовать TUI на ncurses с mocp или напрямую обращаться к серверу.

Конечно, он не может делать все те классные вещи, которые может делать mpd, такие как сетевой стриминг, одновременный вывод на разные устройства и т. д. Но как простой консольный плеер на локальной машине он довольно полезен. Он работает без первоначальной конфигурации, в отличие от mpd. Сервер запускается автоматически, когда вызывается mocp без параметров, или его можно запустить вручную.

запустите сервер

mocp -S

скажите серверу добавить (-a) музыкальную папку в плейлист
и включить перемешивание (-o shuffle)
и начать воспроизведение (-p)

mocp -o shuffle -p -a ~/mymusicfolder

У меня 9.2 ГБ flac-файлов, и ему нужно всего 6 секунд, чтобы загрузить их с диска SATA 1.
С моего SSD SATA 2 это мгновенно.
Мой вывод – alsa. (Не нужно было настраивать)

https://wiki.archlinux.org/index.php/Moc

Вы можете попробовать MPD, он состоит из серверной части и отдельного интерфейса (который может, но не обязательно должен работать на той же машине). Существуют несколько отличных клиентов командной строки для него (см. http://mpd.wikia.com/wiki/Clients)

Я просто использую mplayer. Я сгенерировал список файлов из своих музыкальных папок, и mplayer может взять этот файл в качестве плейлиста и воспроизвести его в случайном порядке.

Я потратил некоторое время, экспериментируя с различными минималистичными музыкальными плеерами, и сегодня особенно склоняюсь к относительно недавнему xmms2, потомку (в некотором роде) доброго старого музыкального плеера xmms.

Это надежное клиент-серверное приложение, designed to run full-featured from the command line or from multiple graphical clients, play practically any music encoding available, manage music collections while taking up as little processor time as possible.

С помощью этого скрипта ваша музыкальная библиотека будет воспроизводиться случайным образом, без повторения каких-либо песен, пока все они не будут проиграны.

История проигранных песен записывается в файл *. Sh.his. Эта история автоматически сбрасывается, если вы добавляете песню в музыкальную библиотеку или уже прослушали все песни из вашей библиотеки, создавая новый случайный список каждый раз. Когда угодно вы можете сбросить историю, удалив файл *. Sh.his.

#!/bin/bash

#-----------------------------------INFO----------------------------------------------------------

#С помощью этого скрипта ваша музыкальная библиотека будет воспроизводиться случайным образом, без повторения каких-либо песен, пока все они не будут проиграны. 
#История проигранных песен записывается в файл "*. Sh.his". 
#Эта история автоматически сбрасывается, если вы добавляете песню в музыкальную библиотеку или уже прослушали все песни из вашей библиотеки, 
#создавая новый случайный список каждый раз. Когда угодно вы можете сбросить историю, удалив файл "*. Sh.his".

#Нажмите "q", чтобы пропустить песню
#Нажмите "p", чтобы паузировать песню и возобновить её

#------------------------------CONFIGURATION------------------------------------------------------

#Пакет mplayer необходим (Для debian/Ubuntu/Mint: "$ apt-get install mplayer")

#Выберите путь к вашей музыкальной библиотеке (все вложенные папки будут включены в поиск файлов .mp3):
path="/media/Datos/Música/Music/"

#-------------------------------------------------------------------------------------------------

while true
do

cadena=$(find "$path" -iname '*.mp3')                                   #поиск медиафайлов
nmedia=$(echo "$cadena" | wc -l)

if [ -f "$0.his" ]                                          #файл существует
then
    value=$(<"$0.his")                                      #Читаем файл

    if [[ ( $(echo "$value" | sed -n 1p) != $nmedia ) || ( $(echo "$value" | sed -n 2p) == 0 ) ]]   #условия сброса файла
    then
        listrand=$(seq 1 $nmedia | shuf)
        index=$nmedia
    else                                                #без условий сброса файла
        nmedia=$(echo "$value" | sed -n 1p)
        index=$(echo "$value" | sed -n 2p)
        listrand=$(echo "$value" | sed -n 3p)
        listrand=$(echo "$listrand" | sed s/" "/\\n/g)
    fi  

else                                                    #файл не существует
    listrand=$(seq 1 $nmedia | shuf)
    index=$nmedia
fi

nrand=$(echo "$listrand" | sed -n "$index"p)                                #выбор случайного числа
cadena=$(echo "$cadena" | sed -n "$nrand"p)                             #выбор песни с случайным номером
index=$((index-1))                                          #запись файла
echo $nmedia > "$0.his"
echo $index >> "$0.his"
echo $listrand >> "$0.his"
mplayer "$cadena"                                           #воспроизведение медиафайла

done
exit 0

Следуя идеи @Daniele-Santi, следующий код перемешивает ваши mp3-файлы и добавляет их в плейлист audacious. Полезно.

find . -name \*.mp3 | sort -R | while read FILE; do audacious -e "$FILE"; done

Ответ или решение

Минималистичный терминальный музыкальный плеер для случайного воспроизведения всех ваших файлов

Если вы ищете простой и минималистичный терминальный музыкальный плеер, который позволит воспроизводить все ваши музыкальные файлы в случайном порядке, у вас есть несколько отличных вариантов. Ниже представлены наиболее подходящие решения, которые удовлетворят ваши требования.

1. Использование gst123

gst123 — это простой и удобный командный плеер, который поддерживает воспроизведение музыки из каталогов и их подкаталогов. С помощью флага -z он сможет случайным образом воспроизводить все аудиофайлы. Вот пример команды:

gst123 -z ~/Music

2. moc (Music On Console)

moc — еще один хороший выбор для терминального воспроизведения музыки. Это простой, но мощный инструмент, который работает без необходимости предварительной настройки. Чтобы запустить сервер, используйте:

mocp -S

Затем добавьте папку с музыкой в плейлист и включите случайное воспроизведение:

mocp -o shuffle -p -a ~/mymusicfolder

3. Скрипт на Bash с использованием find и mplayer

Если вы настои с создание собственного простого решения, можно написать скрипт на Bash, который будет использовать команду find для поиска всех ваших MP3 файлов и воспроизводить их в случайном порядке через mplayer. Вот пример такого скрипта:

#!/bin/bash

# Укажите путь к вашей музыкальной папке
path="/media/Datos/Música/Music/"

while true
do
    files=( $(find "$path" -iname '*.mp3') )
    random_file=${files[$RANDOM % ${#files[@]}]}
    mplayer "$random_file"
done

Этот скрипт будет бесконечно воспроизводить случайные файлы вашей музыкальной библиотеки.

4. Для Audacious

Еще один интересный вариант — использовать Audacious с командами терминала для добавления музыки в плейлист:

find . -name *.mp3 | sort -R | while read FILE; do audacious -e "$FILE"; done

Этот метод позволяет вам использовать уже спроектированный графический плеер, если вы когда-либо захотите переключиться на более расширенные функции, такие как визуализаторы и плейлисты.

Заключение

Каждый из предложенных вариантов имеет свои особенности и преимущества. Выбор между ними зависит от ваших предпочтений и потребностей. Если вы ищете простоту, gst123 и moc — отличные варианты. Для более кастомизированного подхода подойдёт использование скрипта на Bash. Не забывайте, что все решения позволяют вам наслаждаться вашей музыкальной коллекцией в случайном порядке, что является важным требованием.

Оцените материал
Добавить комментарий

Капча загружается...