Streaming de músicas com mpg123 no Linux

Tal como a maioria dos players gráficos, o mpg123 também pode reproduzir streaming (fluxo) de arquivos na rede.
Se você ainda não conhece o mpg123 — um player mp3 em console e extremamente leve — leia este artigo, onde a instalação e o uso básico são explicados.
mpg123 captura de tela
A sintaxe para reproduzir o streaming é a seguinte:

mpg123 http://localhost:8000

Tudo o que você precisa é encontrar a sua rádio online (use o Google) e apontar o mpg123 para o endereço certo.
Veja mais alguns exemplos.
O site Stream WMBR tem várias opções para ouvir. Se você pretende rodar o mpg123 em um servidor e deseja ouvir suas músicas sem sobrecarregar o equipamento ou a rede, use um link de baixo bitrate (normalmente indicados com um lo):

mpg123 http://stream.wmbr.org:8000/lo

A última linha da saída indica qualidade do fluxo de áudio:

High Performance MPEG 1.0/2.0/2.5 Audio Player for Layers 1, 2 and 3
	version 1.16.0; written and copyright by Michael Hipp and others
	free software (LGPL) without any warranty but with best wishes

Directory: http://stream.wmbr.org:8000/
Playing MPEG stream 1 of 1: lo ...
ICY-NAME: WMBR 88.1 FM Live Lo-Fi
ICY-URL: http://wmbr.org/

MPEG 1.0 layer III, 32 kbit/s, 44100 Hz mono

Esta mesma rádio tem outras opções de fluxo — de média (64 kbps) e alta qualidade (128 kbps), respectivamente:

mpg123 http://stream.wmbr.org:8000/med

e

mpg123 http://stream.wmbr.org:8000/hi

Para terminar a reprodução, use a combinação de teclas “Ctrl + C”.
Se preferir, execute o mpg123 com a opção “-C” para poder usar teclas de controle:

mpg123 -C http://stream.wmbr.org:8000/hi

As opção são poucas, neste modo:

  • q — para sair
  • m — para mostrar informações sobre o fluxo (streaming)
  • + ou – — para aumentar ou diminuir o volume

mpg123 captura de tela
Os streamings, comumente são programas transmitidos ao vivo.
Você pode ouvir podcasts ou listas de arquivos de áudio mp3 em m3u ou pls, baixados de seus sites favoritos. A partir da lista, o mpg123 vai buscar e reproduzir o áudio.
Use o wget para baixar a lista:

wget http://wmbr.org/m3u/Coffeetime_20150605_1400.m3u
.
--2015-06-05 15:51:19--  http://wmbr.org/m3u/Coffeetime_20150605_1400.m3u
Resolvendo wmbr.org (wmbr.org)... 54.235.95.182
Conectando-se a wmbr.org (wmbr.org)|54.235.95.182|:80... conectado.
A requisição HTTP foi enviada, aguardando resposta... 200 OK
Tamanho: 89 
Salvando em: “Coffeetime_20150605_1400.m3u”

100%[======================================>] 89          --.-K/s   em 0s      

2015-06-05 15:51:19 (8,89 MB/s) - “Coffeetime_20150605_1400.m3u” salvo
[89/89]

A seguir, basta tocar o arquivo de listas m3u baixado:

mpg123 -C --list Coffeetime_20150605_1400.m3u
.
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layers 1, 2 and 3
	version 1.16.0; written and copyright by Michael Hipp and others
	free software (LGPL) without any warranty but with best wishes

Directory: http://wmbr.org/archive/
Playing MPEG stream 1 of 1: Coffeetime____6_5_15_1:58_PM.mp3 ...

MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo

A minha lista foi baixada do site http://wmbr.org/cgi-bin/arch.
Podemos também encontrar muitas listas m3u pls e streams em http://www.shoutcast.com/.
Você pode pesquisar no Google por outros sites de streaming.
Use os comentários para sugerir e compartilhar outras listas, se quiser.
Divirta-se! 😉

Referências: Leia mais sobre o mpg123.

Monte um pequeno script BASH para listar, selecionar e tocar músicas no Linux.

O comando SELECT, combinado com o aplicativo mpg123, pode facilmente criar um mp3 player que te permita escolher as músicas que deseja tocar em um diretório.
O objetivo deste curto tutorial é dar um exemplo prático, simples e funcional do uso destas duas ferramentas, além de ajudar a aprender um pouco mais de Linux ou Unix, enquanto você se diverte.

comando selecto e mpg123 para escolher músicas mp3
Clique, para ampliar.

O que você precisa ter instalado no seu sistema

Tudo o que você precisa instalar é um pequeno aplicativo de leitura de arquivos mp3, chamado >mpg123.
Se você ainda não o tiver ou não souber como instalá-lo, leia aqui sobre como fazer isto.
Se você preferir, pode também baixar o código fonte e compilar o mpg123 (é muito fácil).
Como o comando select já faz parte do Bash, não há mais nada a ser adicionado ou instalado.

Como montar um script para selecionar as músicas

Todo o processo pode ser resumido em uma linha de comando, conforme nos ensina o @climagic:


Para que ele funcione, é necessário estar dentro do diretório em que se encontram os seus arquivos mp3:

select mus in *.mp3; do mpg123 "$mus"; done # Player de multipla escolha

Ao dar Enter, as músicas existentes no diretório atual serão exibidas e o comando select esperará que você digite o número da música desejada (na primeira coluna à esquerda):

 1) 01 - Queen - Another One Bites the Dust.mp3
 2) 02 - Blondie - Call Me.mp3
 3) 03 - J. Geils Band - Centerfold.mp3

...

16) 16 - The B-52's - Private Idaho.mp3
17) 17 - The Blasters - Marie Marie.mp3
18) 18 - The Boomtown Rats - I Don't Like Mondays.mp3
19) 19 - Squeeze - Tempted.mp3
20) 20 - Bob Marley and the Wailers - Redemption Song.mp3
#? 

Simples, assim.
Para sair, sem selecionar nada, basta pressionar Ctrl + C.

Monte um script para executar arquivos mp3

Se você incluir o código em um script, pode desfrutar de um pouco mais de comodidade.
Abra o seu editor favorito e inclua o código lá dentro:

#! /bin/bash
# Player mp3 de múltipla escolha
select mus in *.mp3;
do mpg123 "$mus";
done

Grave-o com o nome de toca.sh (ou outro nome de sua preferência) e mude a permissão do arquivo para executável.

chmod +x toca.sh

Agora, é possível executá-lo:

./toca.sh

Se quiser ter um pouco mais de comodidade, crie um diretório apenas para seus scripts, e coloque-o lá dentro para ser usado de qualquer lugar do seu sistema.
Veja como:

mkdir bin
mv toca.sh bin/
export PATH="~/bin:$PATH"

Com o procedimento, acima, é possível executar o toca.sh de qualquer pasta no seu sistema.
Experimente.
Tem alguma dica, para melhorar o script? Compartilhe conosco nos comentários. 😉

Use o mpg123 com equalização

Para quem gosta de ouvir música no console e já usa o mpg123 ou o mpg321, vou mostrar como usar o recurso de equalização nestes aplicativos.
O mpg123 pode ser iniciado com a opção para aceitar comandos do teclado durante sua execução. Mas, entre estes comandos, não há qualquer um que permita alterar a equalização durante a reprodução das músicas.
O mpg321 não tem equalização. Já no mpg123, a sintaxe para usar um arquivo de equalização é esta:

mpg123 -E arquivo_de_equaliz.txt nome_do_arquivo.mp3

NOTA: O nome do arquivo de equalização pode ter qualquer extensão. Trata-se de um arquivo texto simples.

Como montar um arquivo de equalização

Vou mostrar como criar os seus próprios arquivos de equalização — você pode ter várias equalizações, em vários arquivos.
Um arquivo de equalização só precisa ter números, dispostos em 2 colunas — a primeira é referente ao speaker esquerdo e a segunda ao speaker direito:

0.0 3.0

Deve ter até 32 linhas — o que equivale a 32 canais.
Os valores vão de 0.0 a 5.0.

Exemplo de arquivo de equalização do mpg123

Para ajudar a entender, segue um arquivo exemplo:

# arquivo de equalização
# 32 canais de áudio: esquerdo e direito
# Ordenados do mais grave para o mais agudo
1.2 1.2
1.2 1.2
1.2 1.2
1.2 1.2
1.2 1.2
1.2 1.2
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
5.0 5.0
5.0 5.0
5.0 5.0
5.0 5.0
5.0 5.0
5.0 5.0

Você pode copiar este arquivo, colar no seu editor de textos preferido e alterá-lo de acordo com suas preferências.
As linhas com um # são comentários e são ignoradas pelo mpg123.

LEIA MAIS
  • mpg123 — conheça mais comandos e exemplos de uso do mpg123.
  • mpg321 — o clone do mpg123 pode executar suas músicas recursivamente. Veja como.
  • Zeya — use este software para fazer streaming de músicas do seu computador.
  • Como baixar e compilar o mpg123 — com esta opção, é possível montar uma versão mais eficiente do aplicativo, customizada pro seu sistema. Experimente!

Ouça músicas no terminal com o mpg321

O mpg321 é um software livre, em modo texto, leve, que consome infimamente os recursos da sua máquina na reprodução de arquivos mp3 – tais como músicas, podcasts etc.
Para quem usa uma máquina muito antiga ou faça uso intensivo do processamento em outras atividades e não deseja que, ao reproduzir suas músicas isto atrapalhe o andamento das outras tarefas, um player em modo texto é uma ótima solução.
Neste artigo, vou mostrar as minhas opções prediletas de uso do mpg321.

Como instalar o mpg321

Não me consta qualquer versão deste software para outras plataformas além de alguns UNICES ou Linux.
Para fazer a instalação no Debian – ou em algum outro derivado, como o Ubuntu, use o apt-get:

sudo apt-get install mpg321

No Redhat ou no SuSE, use o yum:

sudo yum install mpg321

Você também pode baixar o seu código fonte, compilar e instalar o software a partir de sua página oficial: http://sourceforge.net/project/showfiles.php?group_id=36274.
Para MacOS, é possível baixar, no site do projeto uma versão apropriada: http://sourceforge.net/projects/mpg321/.

Como usar o mpg321

Segue alguns exemplos de uso, dentre os meus favoritos pro mpg321.
A maneira mais simples de usar é preceder o comando com o nome do arquivo mp3, assim:

mpg321 nome_da_musica.mp3

Para reproduzir todas os arquivos mp3 em um diretório, basta entrar nele e executar o comando assim:

cd Música/
mpg321 *.mp3

Se o diretório contiver todos os álbuns de um determinado artista organizados em vários outros subdiretórios, use a opção de recursividade:

mpg321 -B Música/

— Durante a execução, é possível passar para a música seguinte pressionando as teclas Ctrl + C.
Para encerrar o aplicativo, faça isto 2 vezes seguidas.

Você pode habilitar o teclado, para controlar o aplicativo durante sua execução. Para isto, acrescente a opção -K:

mpg321 -BK Música/

As teclas básicas de controle são as seguintes:

  • * — aumentar o volume;
  • / — diminuir o volume;
  • n — (next) avançar uma música;
  • m — (des)emudecer o aplicativo.

Se você deseja embaralhar as músicas, pode fazer isto de duas formas diferentes:

  • shuffling — Com esta opção, o mpg321 embaralha (mistura) as músicas que você especificou e as joga em uma lista, para ser reproduzida. O aplicativo pára quando termina de tocar a última da lista. Desta forma, nenhuma música vai se repetir, a menos que você peça ou tenha arquivos repetidos em seu repertório.
  • randomize — Toca músicas aleatoriamente, indefinidamente. embora algumas músicas possam se repetir, esta opção te deixa despreocupado em relação ao aplicativo – ele vai tocar enquanto você não o desligar. Esta opção é ótima para ligar um PC de baixo custo ao sistema de som de um estabelecimento.

Como usar o shuffling, combinado com a recursividade e as teclas de controle:

mpg321 -BKz Música/

Como combinar a recursividade, ativação das teclas de controle e o randomize:

mpg321 -BKZ Música/

Para ver mais informações sobre a execução dos arquivos, use o modo verboso:

mpg321 -BKzv Música/

Aumente o ganho ou volume, com -g em 50%:

mpg321 -BKz -g 50 Música/

O número pode variar entre 0 e 100. Esta opção pode ajudar a tirar aquele “algo mais” do som de sua máquina. Tenha bom senso… 😉
Para exibir a música atual na barra de título do seu terminal acrescente -x:

mpg321 -BKzx Música/
mpg321 tocando músicas recursivamente
Clique para ampliar.
SAIBA MAIS:

Palavras finais

O mpg321 surgiu da restritividade da licença proprietária do mpg123. Mesmo sendo distribuído com o código fonte e com uma licença não comercial, esta não permitia que desenvolvedores incorporassem livremente seu código a seus projetos.
A realidade atual é que ambos os softwares são livres e seguem cada qual o seu caminho. Experimente e depois decida qual o seu favorito.
Da minha parte, uso-os alternadamente. Gosto dos dois.
Divirta-se e compartilhe (este artigo, suas músicas etc… )!

Como ouvir mp3 no terminal com o mpg123

O mpg123, é o ideal para quem deseja um player mp3 leve e rápido, pra tocar suas músicas com baixíssimo consumo dos recursos da sua máquina.
Por ser em modo texto e muito simples, é ótimo para quem deseja ouvir músicas ou podcasts, poupando o processador da máquina.
Se você está trabalhando em um PC antigo ou com recursos limitados, vale a pena conhecer este apĺicativo.
mpg123 mp3 player

Download e instalação do mpg123

Por ser leve e ter um código muito enxuto e estável, o programinha roda em qualquer máquina acima de um 486.
Quem usa o Windows, pode fazer o download do programa, no site oficial: http://mpg123.org/download/win32/.
Feito o download, descompacte e execute o mpg123 que se encontra na pasta /bin.
Quem usa o Debian ou uma distro derivada (Ubuntu), pode fazer o download e a instalação com o comando:

sudo apt-get install mpg123

No Redhat ou no SuSE, use o comando yum:

yum install mpg123

Também recomendo baixar o código fonte e compilar o mpg123 — ao contrário do que possa parecer, não é complicado e você pode ter um aplicativo mais enxuto e eficiente pro seu sistema.

Como usar o mpg123

O comando mpg123 é muito simples, mas admite resolver situações das mais complexas, dada a flexibilidade com que ele pode ser usado. A melhor forma de mostrar isto é através de exemplos.
Para reproduzir uma música em mp3, use o comando desta forma:

mpg123 nome_da_musica.mp3

execução de arquivo de áudio mp3 com o o mpg123
Clique para ampliar

Se quiser tocar todas as músicas contidas em uma pasta, use esta sintaxe:

mpg123 Música/*

Você pode acrescentar a opção --loop n para repetir n vezes uma determinada reprodução:

mpg123 --loop 3 Música/* 

No exemplo acima, o player irá repetir a lista de músicas contidas no diretório Música 3 vezes. Se você usar o valor 0, o player irá repetir infinitamente.

Como misturar músicas com o mpg123

Uma das funções mais importantes em um player, para mim, é a de embaralhar as músicas. Posso ouvir um álbum mais de 2 vezes… mas nunca com as faixas tocadas na mesma ordem.
O mpg123, traz duas opções para seus usuários:
A função --shuffle ou -z, embaralha as músicas da sua seleção e cria uma nova lista para ser reproduzida.
Pode ser usada assim:

mpg123 -z Música/

A função --random ou -Z, reproduz todas as músicas que você pediu indefinidamente (até que o programa seja interrompido) de forma aleatória. Com esta opção, é possível que algumas nunca sejam tocadas e outras se repitam. É ótimo para ser usado em estabelecimentos comerciais, quando você pode disponibilizar um computador “obsoleto” só para reproduzir músicas.
O comando funciona assim:

mpg123 -Z Música/

Como usar teclas de controle da reprodução do mpg123

As teclas de controle da reprodução do mpg123 são as seguintes:

  • s ou a barra de espaço – para pausar ou dar continuidade à reprodução atual;
  • f – para pular para próxima música (forward);
  • b – para voltar ao início da música atual (begin);
  • , – (vírgula) para rebobinar
  • . – (ponto) para rodar mais rápido (fast forward);
  • – – para diminuir o volume;
  • + – para aumentar o volume;
  • h – para ver o menu de ajuda com todos os outros comandos possíveis (são muitos). Tecle h de novo para sair do menu de ajuda;
  • q – para sair do programa.

Para ativar as teclas de controle, use a opção -C:

mpg123 -C Música/*

Como executar o mpg123 no modo recursivo

É comum as pessoas criarem um diretório para cada artista e, dentro de cada diretório, um subdiretório para cada álbum – e há álbuns que se subdividem em mais de 2 subdiretórios.
O mpg123, apesar de ter muitos recursos avançados, não tem a opção de recursividade – que lhe permitiria entrar em todos os subdiretórios atrás de arquivos mp3.
Isto não é problema!
Veja como usar o comando find para criar uma lista de todas as músicas existentes no diretório Música/ e em todos os seus subdiretórios:

find Música/ -iname *.mp3 > lista.m3u

Esta declaração faz o seguinte:

  • pesquisa dentro de todos os subdiretórios de Música/, por arquivos que tenham a extensão .mp3;
  • o iname é usado para tornar a pesquisa insensível à caixa das palavras. Desta forma, a pesquisa irá capturar tanto os mp3 quanto os MP3.

Você pode ver o conteúdo da lista assim:

cat lista.m3u

Está tudo lá?! Então ouça suas músicas assim:

mpg123 --list lista.m3u

Se quiser misturar tudo:

mpg123 -z --list lista.m3u

Você pode também fazer tudo isto com apenas uma linha de comando:

find Música/ -iname *.mp3 > lista.m3u | mpg123 -z --list lista.m3u
equalizer - equalizador
Clique, para saber como usar o mpg123 com equalização.
SAIBA MAIS

Os arquivos criados com o comando find como o lista.m3u podem ser lido por outros players, presentes no seu sistema.
Se você quiser saber mais sobre como usar o comando find, leia este artigo.

Usuários com poucos recursos

O mpg123 pode rodar tranquilamente em um 486 – o mantenedor recomenda, no mínimo um Intel 80486DX4 ou um Pentium. Ainda assim, é sabido que a decodificação de áudio é um tanto voraz.
Se estiver com muito pouco recurso de sistema, pode desligar o estéreo:

mpg123 -m nome_da_musica.mp3

Isto vai reduzir a carga sobre a sua CPU, com algum sacrifício na qualidade da reprodução das suas músicas.

Executando mpg123 no servidor

Servidores podem ter muito tempo ocioso, intercalado com picos de atividades – grande número de autenticação de usuários, aumento nas requisições aos bancos de dados etc. O que pode causar paradas na execução da sua música.
Sabemos que a função do servidor, neste caso, não é tocar música pros seus ouvidos, mas você pode evitar interrupções com o aumento do buffer. Neste exemplo, o buffer é definido em 1000 Kb (ou seja, 1 Mb):

mpg123 -b 1000 Música/*

Um buffer deste tamanho, garante a reprodução de pelo menos 6 segundos de áudio, o que costuma ser suficiente.

SAIBA MAIS:

Palavras finais

Enfim, há várias outras opções que podem ser usadas, além das que eu descrevi – consulte a página do manual do programa para conhecê-las. Aqui, eu me limitei às minhas preferidas.
O mpg123, surgido em Junho de 1999, era distribuído sob uma licença não-comercial e com o código fonte. Ainda assim, era software proprietário. Este fato deu impulso ao surgimento de um “clone” 100% livre, chamado mpg321, distribuído sob a licença LGPL.
A partir de 2006, já com um novo mantenedor, uma versão nova do mpg123 foi lançada e distribuída sob a licença GNU LGPL 2.1 – o que já permite a outros desenvolvedores contribuírem livremente para a sua melhoria ou, simplesmente, incorporar seu código a outros projetos.
O mpg321 continua a existir, enquanto projeto paralelo e completamente independente e, com toda certeza, de grande qualidade. Vale a pena conhecê-lo também!
Se você tiver mais alguns exemplos de uso, sinta-se à vontade para postar nos comentários e, se achou o artigo útil, por favor compartilhe com os seus amigos.
Divirta-se!