Você pode facilmente escrever um script usando find e rl (package randomize-lines no debian).
Algo ao longo das linhas de:
find "$1" -type f -name *.mp3 | rl | while read FILE; do mpg123 "$FILE"; done
Estou procurando um player de música terminal. mpg321/mpg123
é bem o que eu preciso, mas não é possível reproduz todo o meu diretório de músicas (que contém diretórios filhos). cmus
parece ser um pouco exagerado, pois há muitos recursos que nunca uso.
Eu só preciso de um programa, que eu possa dar a ele meu diretório de músicas e talvez um --random
flag, então ele vai tocar tudo com pedidos aleatórios. Alguém pode apontar quais opções eu tenho?
Eu uso gst123 como um player de linha de comando. Aponte para o diretório pai e ele irá passar pelos diretórios filhos com o sinalizador -z. Eu corro assim.
gst123 -z ~/Music
Há moc - Música no console. É mais simples que o mpd, mas vem com frontend embutido ncurses. Você pode usar ncurses TUI com mocp ou conversar diretamente com o servidor.
É claro que não é possível fazer todas as coisas bacanas que o mpd pode fazer, como streaming de rede, diferentes saídas simultaneamente, etc. Mas como um simples console de console na máquina local é bastante útil. Funciona sem configuração inicial, ao contrário do mpd. O servidor é iniciado automaticamente quando o mocp é chamado de parâmetros w / o, ou pode ser iniciado manualmente.
inicie o servidor
mocp -S
diz ao servidor para anexar (-a) uma pasta de músicas à playlist e para alternar o shuffle (-o shuffle) e começar a jogar (-p)
mocp -o shuffle -p -a ~/mymusicfolder
Tenho 9,2 GB de arquivos flac e só preciso de 6 segundos para carregá-lo a partir do sata 1 hdd. do meu sata 2 ssd é instantâneo. Minha saída é alsa. (Não tive que configurar)
Eu passei algum tempo mexendo em diversos tocadores de música minimalistas e hoje me vejo particularmente parcial em relação ao relativamente recente xmms2 1 , um descendente (um pouco) do venerável reprodutor de música xmms.
É um aplicativo cliente-servidor robusto, projetado para rodar com recursos completos a partir da linha de comando ou de múltiplos clientes gráficos, reproduzir praticamente qualquer codificação musical disponível, gerenciar coleções de músicas enquanto ocupa o menor tempo de processador possível.
Eu apenas uso o mplayer. Gerei uma lista de arquivos das minhas pastas de música e o mplayer pode pegar esse arquivo como uma playlist e reproduzi-lo em ordem aleatória.
Através desta concha, a sua biblioteca de música será reproduzida aleatoriamente, sem repetir nenhuma música até que todas tenham sido reproduzidas.
A história das músicas tocadas é registrada no arquivo *. Sh.his
. Esse histórico é redefinido automaticamente se você adicionou uma música à biblioteca de músicas ou já ouviu todas as músicas da sua biblioteca, gerando uma nova lista aleatória. Sempre que quiser, você pode redefinir o histórico e excluir o arquivo *. Sh.his
.
#!/bin/bash
#-----------------------------------INFO----------------------------------------------------------
#Through this shell, your music library will be played randomly, without repeating any songs until all have been played.
#The history of songs played is recorded in the file "*. Sh.his".
#This history is reset automatically if you added a song to the music library or have already heard all the songs of your library,
#generating a new random list ever. Whenever you want you can reset the history is deleting the file "*. Sh.his".
#Press "q" to skip song
#Press "p" to pause song and resume song
#------------------------------CONFIGURATION------------------------------------------------------
#mplayer package needed (For debian/Ubuntu/Mint: "$ apt-get install mplayer")
#Select your music library path (all recursive folders will be included in the .mp3 files search):
path="/media/Datos/Música/Music/"
#-------------------------------------------------------------------------------------------------
while true
do
cadena=$(find "$path" -iname '*.mp3') #search media files
nmedia=$(echo "$cadena" | wc -l)
if [ -f "$0.his" ] #file exist
then
value=$(<"$0.his") #read file
if [[ ( $(echo "$value" | sed -n 1p) != $nmedia ) || ( $(echo "$value" | sed -n 2p) == 0 ) ]] #reset file conditions
then
listrand=$(seq 1 $nmedia | shuf)
index=$nmedia
else #no reset file conditions
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 #file not exist
listrand=$(seq 1 $nmedia | shuf)
index=$nmedia
fi
nrand=$(echo "$listrand" | sed -n "$index"p) #select random number
cadena=$(echo "$cadena" | sed -n "$nrand"p) #select song with random number
index=$((index-1)) #write file
echo $nmedia > "$0.his"
echo $index >> "$0.his"
echo $listrand >> "$0.his"
mplayer "$cadena" #play media file
done
exit 0