reproduzir arquivo mp3 ou wav via linha de comando do Linux

68

Eu gostaria de fazer um sistema de alarme apoiado por uma caixa do Ubuntu (sem interface gráfica), que reproduz várias faixas de áudio de anúncio e alarme (.mp3 ou .wav) através da linha de comando.

Por exemplo:

$ root> audioplay ./hello.wav

O áudio deve vir da tomada de áudio do PC. Eu também poderia envolvê-lo com outro ouvinte de soquete. (por exemplo, Ruby Sinatra)

Alguma idéia de como posso fazer isso?

    
por c2h2 27.04.2011 / 14:58

8 respostas

44

mpg123 é um utilitário de linha de comando que reproduz arquivos mp3. Você pode instalá-lo no Ubuntu com:

sudo apt-get install mpg123
    
por 27.04.2011 / 15:14
62

O comando play do pacote sox reproduzirá qualquer formato de arquivo compatível com sox usando o dispositivo de áudio padrão, por exemplo

$ play something.mp3
$ play something.wav

Pode ser necessário instalar pacotes extras para obter suporte para todos os formatos, por exemplo, no Ubuntu 11.04, o suporte a MP3 não estará disponível até você instalar libsox-fmt-mp3 .

    
por 09.07.2011 / 14:10
47

A maneira mais padrão de reproduzir um arquivo WAV no Linux é usar o comando aplay , que faz parte do sistema ALSA .

aplay [flags] [filename [filename]] ...

aplay a.wav

Links: (Wikipedia) (página de manual do aplay)

(No Fedora é parte do alsa-utils , e no Ubuntu o pacote provavelmente tem o mesmo nome.)

Isso não requer pacotes adicionais como sox ou mplayer ou vlc, apenas ALSA.

    
por 28.11.2012 / 07:20
19

Instale vlc usando:

sudo apt-get install vlc vlc-plugin-pulse mozilla-plugin-vlc

Certifique-se de ter todos os repositórios abertos. Também execute o seguinte antes de instalar:

sudo apt-get update

O VLC tem um método de operação de linha de comando invocado por cvlc . A próxima parte seria escrever um .sh que irá chamar o comando. Não sou bom em escrever scripts de bash. O resultado final seria algo como:

cvlc xyz.mp3
cvlc --play-and-exit done.mp3 
    
por 28.04.2011 / 06:48
7

Você pode simplesmente enviar seus dados de som para o dispositivo de alto-falante do PC:

cat rawsound | /dev/pcsp
    
por 27.04.2011 / 15:03
7

O mplayer é outro jogador que pode reproduzir praticamente qualquer formato de áudio / vídeo a partir da linha de comando. para instalá-lo no Ubuntu basta executar este comando:

sudo apt-get install mplayer

você pode reproduzir o arquivo usando esta sintaxe:

mplayer [path to file]

boa sorte!

    
por 20.08.2013 / 15:35
3

No Ubuntu 16.04, não há necessidade de instalar nada. Você pode reproduzir um som usando paplay [audio] com parte do servidor de som PulseAudio:

paplay mysound.mp3
    
por 08.03.2017 / 12:16
0

canberra-gtk-play

Para scripts simples, o mplayer é provavelmente muito pesado e muito detalhado em termos de saída. Uma opção interna é canberra-gtk-play , que vem pré-instalada no Ubuntu:

canberra-gtk-play --file=/usr/share/sounds/gnome/default/alerts/drip.ogg

Nota: ele usa o volume de alertas e você deve passar --file= para reproduzir um arquivo de um caminho.

Ele também pode reproduzir um som por id que representa o nome do arquivo sem extensão de arquivos de mídia em /usr/share/sounds (aparentemente isso só funciona para sons registrados como parte de um tema de som):

canberra-gtk-play --id="desktop-login"

canberra-gtk-play --id="message"

gst-launch-1.0 / gst-launch-0.10

Outra opção é usar as ferramentas de linha de comando gstreamer que estão presentes nas caixas de linux mais modernas:

gst-launch-1.0 playbin uri=file:///usr/share/sounds/ubuntu/stereo/message.ogg

Para suprimir todas as saídas, redirecione-as para /dev/null :

gst-launch-1.0 playbin uri=file:///usr/share/sounds/ubuntu/stereo/message.ogg > /dev/null 2>&1

Tanto gst-launch-1.0 como gst-launch-0.10 podem estar presentes no seu sistema.

    
por 16.11.2016 / 09:05