Amarok/Manual/Vários/Barra de atmosfera

From KDE Wiki Sandbox
< Amarok‎ | Manual‎ | Various
Revision as of 21:37, 11 February 2020 by Ezequias Santos (talk | contribs)
Other languages:

Barra de atmosfera

A Barra de atmosfera mostra-lhe a "atmosfera" de uma faixa, onde você pode usar para descobrir quando algo de interessante ocorrer na música.

Para o Amarok exibir as barras de atmosfera das suas músicas, você precisa do programa Moodbar (consulte abaixo por downloads e pacotes executáveis).

O pacote Moodbar necessita do GStreamer e de vários plugins que dependem dos tipos de arquivos que usar (veja os Tipos de arquivo suportados). Você não precisa do pacote phonon-backend-gstreamer para criar arquivos '.mood'.

Existem duas partes da nova implementação do Moodbar: o pacote Moodbar, que contém um programa que recebe um arquivo de música e gera um arquivo '.mood', e o código de suporte no código-fonte do Amarok, que executa o binário e mostra a barra de atmosfera. O pacote Moodbar depende das bibliotecas do GStreamer. Sem o pacote Moodbar, o Amarok não consegue gerar as barras de atmosfera da sua música.

Como alternativa, existe um novo script que irá criar arquivos moodbar para as faixas existentes em uma lista de músicas do Amarok; esta é uma exceção ao descrito acima. O script não precisa de nada, apenas que o Amarok funcione. No entanto, ele só cria os arquivos '.mood' quando forem reproduzidos na Lista de músicas.

O Moodbar é derivado do trabalho de Gavin Wood e Simon O'Keefe, que escreveram os algoritmos; a sua publicação original está aqui.

Resumo de requisitos

  • O executável do Moodbar, no seu PATH (deve aparecer se executar
    which moodbar
    na linha de comando) — Lembre-se de configurar o pacote do Moodbar com
    ./autogen.sh --prefix=`pkg-config --variable=prefix gstreamer-1.0` && make && sudo make install
  • A biblioteca do GStreamer 1.0 e os plugins para os formatos que você prefere que o Moodbar analise. (Uma versão anterior do GStreamer 0.10 também ainda está disponível para algumas distribuições)
  • A biblioteca Fastest Fourier Transform In The West (fftw.org) FFTW na versão 3.0 ou superior (pelo menos a versão de ponto flutuante de precisão simples - libfftw3f) — Se a sua plataforma não tiver este suporte, ou caso precise compilar a sua própria versão, lembre-se de configurar o pacote FFTW com o comando
    ./configure --enable-single
  • Uma versão do Amarok com a opção Usar atmosfera na seção Geral da tela de configuração. Isso corresponde às versões 1.4.4 ou posteriores da série 1.4 ou às versões 2.2.2 ou posteriores da série 2.x.
Informação
Sistemas com gerenciadores de pacotes devem instalar automaticamente os plugins do GStreamer e o FFTW junto com o pacote Moodbar, se disponível; essas informações são fornecidas principalmente para pessoas que desejam ou precisam compilar a partir das fontes ou instalar pacotes manualmente, ou onde as instruções específicas da distribuição estão desatualizadas e nenhum pacote moodbar atualizado ainda está disponível.


Utilização

Atualmente, os arquivos '.mood' devem ser gerados manualmente. O Amarok não pode fazer para você. Para fazer isso na sua coleção inteira, use o Script de geração de arquivos Moodbar, descrito abaixo.

Para ativar a visualização das barras de atmosfera no Amarok, ative-as na configuração: Configurações -> Configurar o Amarok -> Geral -> Mostrar barra de atmosfera na barra de progresso. Estas barras devem agora aparecer nas barras da faixa na janela do reprodutor e na Lista de músicas; existirá também um campo de atmosfera que poderá adicionar aos seus leiautes da lista de músicas.

Instalação

Pacotes do código-fonte
Último lançamento: moodbar-0.1.4.tar.gz — este é o pacote fonte do Moodbar, que contém o programa Moodbar (que gera arquivos .mood a partir de arquivos de música) e um plug-in do GStreamer que faz o trabalho. O pacote Moodbar precisa do GStreamer 1.0.* instalado, além da versão 1.0.* de vários plugins. Certifique-se de instalar o pacote Moodbar no mesmo prefixo que o GStreamer — siga as instruções no  sumário do capítulo de requisitos. O 0.1.4 é um fork das fontes 0.1.2 originais, atualizadas para usar o GStreamer 1.0. As fontes 0.1.2 antigas não estão mais disponíveis online de maneira confiável, mas os pacotes ainda podem estar disponíveis para algumas distribuições.

Se encontrar algum erro, por favor, envie um relatório para o bugs.kde.org.

Pacotes do Debian
Nota
Esta seção contém instruções antigas para o moodbar baseado no GStreamer 0.10 versão 0.1.2, elas podem estar desatualizadas.


Um pacote para Moodbar agora está disponível no Debian unstable. Simplesmente execute

apt-get install moodbar

. Você também vai querer instalar os pacotes a seguir para suporte de formatos: gstreamer0.10-plugins-ugly, gstreamer0.10-plugins-good, e gstreamer0.10-plugins-bad.

Pacotes do Kubuntu e Ubuntu
Nota
Esta seção contém instruções antigas para o moodbar baseado no GStreamer 0.10 versão 0.1.2, elas podem estar desatualizadas.


Um pacote para o Moodbar está disponível no repositório oficial de pacotes; apenas verifique se a seção Universe está ativada (que deve ser o padrão de qualquer maneira). Basta instalar o pacote moodbar com o seu gerenciador de pacotes preferido (Kpackagekit, Aptitude, Adepto, Synaptic). Você também vai querer instalar os pacotes a seguir para suporte de formatos: gstreamer0.10-plugins-ugly, gstreamer0.10-plugins-good, e gstreamer0.10-plugins-bad.

Ou, para o instalar, cole isto no Firefox ou Konqueror e tecle Enter.

apt://moodbar,gstreamer0.10-plugins-ugly,gstreamer0.10-plugins-good,gstreamer0.10-plugins-bad?section=universe?refresh=yep
Pacotes ebuild do Gentoo
Nota
Esta seção contém instruções antigas para o moodbar baseado no GStreamer 0.10 versão 0.1.2, elas podem estar desatualizadas.


O Moodbar está disponível no Portage, basta executar

emerge moodbar

Não são mais necessários ebuilds não oficiais.

Versões em RPM
Nota
Esta seção contém instruções antigas para o moodbar baseado no GStreamer 0.10 versão 0.1.2, elas podem estar desatualizadas.


Se você for usuário de uma distribuição baseada em RPM, você poderá compilar um '.rpm' usando o comando rpmbuild com gstreamer-plugins-moodbar.spec. O pacote executável estará disponível em breve para a distribuição PLD-linux.

Fedora
Nota
Esta seção contém instruções antigas para o moodbar baseado no GStreamer 0.10 versão 0.1.2, elas podem estar desatualizadas.


No Fedora 7 e superiores (até o 16, no momento em que este documento foi escrito), o Moodbar está disponível nos repositórios padrões. Basta instalá-lo com a interface do PackageKit ou com o seguinte comando yum:

yum install moodbar
Pacotes do openSUSE

A versão 0.1.4 do GStreamer 1.0 está disponível no repositório KDE:Extra do openSUSE Leap 42.3 e posterior. Uma versão anterior, baseada no GStreamer 0.10 versão 0.1.2, também está disponível no repositório principal para algumas versões do openSUSE.

Para mais detalhes sobre a adição de repositórios, veja a Wiki do openSUSE.


1-Clique em 'Instalar' no openSUSE - basta escolher a sua versão e o procedimento de instalação fará o resto:


Pacotes da Mandriva
Nota
Esta seção contém instruções antigas para o moodbar baseado no GStreamer 0.10 versão 0.1.2, elas podem estar desatualizadas.


Primeiramente, você precisa adicionar os repositórios PLF. Para isso, vá para easyurpmi.zarb.org e adicione-os à sua lista de repositórios. Depois, simplesmente instale os seguintes pacotes:

  • gstreamer0.10-moodbar
  • gstreamer0.10-plugins-ugly
  • gstreamer0.10-plugins-good
  • gstreamer0.10-plugins-bad
Arch Linux
Nota
Esta seção contém instruções antigas para o moodbar baseado no GStreamer 0.10 versão 0.1.2, elas podem estar desatualizadas.


Existe um PKGBUILD para o Moodbar no Arch User Repository (AUR) disponível aqui.

Para mais informações sobre o AUR e como lidar com os PKGBUILDs, veja as Recomendações dos usuários do AUR.

FreeBSD
Nota
Esta seção contém instruções antigas para o moodbar baseado no GStreamer 0.10 versão 0.1.2, elas podem estar desatualizadas.


Existe aqui uma versão: audio/gstreamer-plugins-moodbar.

Para instalar essa versão:

cd /usr/ports/audio/gstreamer-plugins-moodbar/ && make install clean

Para adicionar o pacote:

pkg_add -r gstreamer-plugins-moodbar

Script de geração de arquivo Moodbar

Aqui está um script simples em Bash que irá adicionar os arquivos .mood à sua coleção. Ele adiciona arquivos mood para todos os arquivos que corresponderem às extensões na pasta atual e em todas as subpastas e, por isso, será melhor executá-lo a partir da sua pasta de músicas principal.

#!/bin/bash
 DIR=${1:-.}
 LAST=~/.moodbar-lastreadsong
 C_RET=0
 
 control_c()        # run if user hits control-c
 {
   echo "" > "$LAST"
   echo "Exiting..."
   exit
 }
 
 if [ -e "$LAST" ]; then
   read filetodelete < "$LAST"
   rm "$filetodelete" "$LAST"
 fi
 exec 9< <(find "$DIR" -type f -regextype posix-awk -iregex '.*\.(mp3|ogg|flac|wma)') # you may need to add m4a and mp4
 while read i
 do
   TEMP="${i%.*}.mood"
   OUTF=`echo "$TEMP" | sed 's#\(.*\)/\([^,]*\)#\1/.\2#'`
   trap 'control_c "$OUTF"' INT
   if [ ! -e "$OUTF" ] || [ "$i" -nt "$OUTF" ]; then
     moodbar -o "$OUTF" "$i" || { C_RET=1; echo "An error occurred!" >&2; }
   fi
 done <&9
 exec 9<&-
 
 exit $C_RET

Copie e cole o texto acima em um arquivo de texto chamado moodbar.sh na sua pasta de músicas e execute os seguintes comandos:

cd /caminho/das/músicas
 bash moodbar.sh

Alternativamente, se o indicado acima não funcionar, você pode tentar:

chmod +x moodbar.sh
 ./moodbar.sh

Isto pode levar bastante tempo em coleções grandes! Repare que as barras de atmosfera não irão aparecer no Amarok até que ele volte a analisar a coleção. Os arquivos mood gerados serão arquivos com ponto (p.ex., com um ponto final como prefixo) ou arquivos ocultos - tenha isto em mente se você não conseguir encontrá-los.

Baseado no script acima, uma alternativa para CPUs com mais de um núcleo:

#!/bin/bash
 NUMCPU="$(grep ^processor /proc/cpuinfo | wc -l)"
 
 find . -type f -regextype posix-awk -iregex '.*\.(mp3|ogg|flac|wma)' | while read i ; do
 
        while [ `jobs -p | wc -l` -ge $NUMCPU ] ; do
                sleep 0.1
        done
 
        TEMP="${i%.*}.mood"
        OUTF=`echo "$TEMP" | sed 's#\(.*\)/\([^,]*\)#\1/.\2#'`
        if [ ! -e "$OUTF" ] ; then
                moodbar -o "$OUTF" "$i" &
        fi
 done


Solução de problemas

  • Se o executável do Moodbar lhe devolver um bus error (erro de barramento), isto quase sempre significa que ele não consegue decodificar (ou encontrar) o seu arquivo. Verifique em tipos de arquivo suportados para obter informações sobre a escolha do plugins GStreamer a serem instalados. Você também pode tentar o comando a seguir para testar se o GStreamer consegue decodificar o seu arquivo:
    gst-launch-1.0 filesrc location=[file] ! decodebin ! fakesink
  • Se estiver usando o plugin do ffmpeg para decodificar os MP3s, você pode receber informações sobre erros de barramento misteriosos. A solução é parar de usar o plugin do ffmpeg, uma vez que ele é extremamente instável — use o mad como alternativa.
  • Se o executável Moodbar lhe disser que não consegue encontrar um elemento — p. ex., ele apresenta uma mensagem de erro do tipo
    Não foi possível criar um elemento do tipo fftwspectrum, por favor, instale-o.
    — isto normalmente significa que você não possui os plugins necessários instalados (veja a lista de plugins aqui) ou que você não instalou o pacote do Moodbar no mesmo prefixo que o GStreamer. Se os arquivos libmoodbar.so e libgstdecodebin.so não estiverem na mesma pasta, então o Moodbar não está instalado no mesmo prefixo que o GStreamer. Por favor, leia o arquivo INSTALL para mais instruções sobre a correta configuração do pacote moodbar. Alternativamente, se você souber o que está fazendo, pode ser mais simples olhar a variável de ambiente GST_PLUGIN_PATH.
  • Se não souber porque o Moodbar não está funcionando ou não funciona com determinado arquivo, execute o comando abaixo, onde [file] é um arquivo de música qualquer:
    moodbar -o test.mood [file]
    . Para gerar uma visualização de imagem de teste, é possível usar o comandoː
    gst-launch-1.0 filesrc location=[file] ! decodebin ! audioconvert ! fftwspectrum ! moodbar height=50 max-width=300 ! pngenc ! filesink location=mood.png
  • Se tiver várias versões do GStreamer instaladas, certifique-se de que todos os plugins necessários estão instalados para a versão 0.10.* -- outras versões diferentes não podem usar os plugins desta.

Tipos de arquivo suportados

Você precisa de vários plugins do Gstreamer para ativar a análise dos seus arquivos pelo Moodbar. Aqui está uma lista com os plugins que você precisa; certifique-se de que seja instalada a versão 0.10.* de cada plugin:

Tipo de arquivo Plugin necessário Observação
Todos gstreamer-0.10.*, gst-plugins-base, gst-plugins-good
mp3 gst-plugins-mad (no gst-plugins-ugly) O plugin do ffmpeg tem problemas; não use para mp3
ogg gst-plugins-vorbis, gst-plugins-ogg
flac gst-plugins-flac
mp4 gst-plugins-faad, gst-plugins-bad
musepack gst-plugins-musepack
wma gst-plugins-ffmpeg

Imagens

Barra de atmosfera na barra de progresso do Amarok 2
Barra de atmosfera na barra de progresso do Amarok 2