The translated version of this article can be accessed here.
Caixas de Som, Amplificadores, Central de Mídia e Aprendizagem!
O servidor de som é o componente que, de certa forma, liga os demais componentes do sistema: ele faz a comunicação com a mídia sendo reproduzida e a placa de som que, por sua vez, é ligada aos amplificadores. O servidor de som será implementado numa Raspberry Pi 4 que, além desta funcionalidade, serve também de central de mídia do sistema, provendo conteúdo a ser reproduzido em uma tela através da saída HDMI.
Eu venho apresentando, desde o início deste tópico, os componentes do sistema. Agora, apresento estes componentes - acrescentando também o servidor de som - em forma de um diagrama de blocos para melhor entendimento:
A placa de som é dos componentes principais do sistema: a placa da Creative foi escolhida por apresentar excelente desempenho sonoro, ser compatível com sistemas operacionais Linux e Windows e possuir, ainda, um controle de volume através de um botão rotativo na própria placa além de um controle remoto.
A placa de som, como mostra o diagrama, faz o papel de pré-amplificação do sinal de áudio que é enviado aos amplificadores Gainclones através de suas saídas de áudio, tal como na imagem a seguir:
A saída das caixas frontais esquerda (LEFT) e direita (RIGHT) são do tipo RCA, sendo que um cabo RCA-RCA é utilizado para ligá-los ao amplificador de potência (Gainclone) responsável pela amplificação destas caixas. As saídas de áudio referentes às caixas laterais esquerda e direita (REAR) e à caixa central e unidade de graves (C-SUB), no entanto, possuem saídas do tipo P2 estéreo. A saída P2 estéreo (muito comum para fone de ouvidos, por exemplo) possui o sinal de dois canais de áudio no mesmo conector. Desta forma, é necessário um cabo P2-RCA para ligá-las aos respectivos amplificadores de potência.
A placa de som possui ainda entradas de áudio LINE-IN e MIC-IN, tornando-se possível a ligação de uma fonte de áudio externo na placa de som. Esta fonte será o Toca Discos DD-100Q da Gradiente. Uma vez conectada à placa de som, este sinal pode ser processado pelo servidor de som e até mesmo ser reproduzido nas saídas de áudio.
De forma a poder utilizar a placa de som para reproduzir sons de distintas fontes, a placa foi conectada (através de uma porta USB) a uma Raspberry Pi 4. A placa é prontamente reconhecida pelo sistema operacional. De modo que outros dispositivos possam executar áudio na placa de som conectada à Raspberry Pi 4 conectando-se via Bluetooth ou através da rede local (ethernet ou Wi-Fi).
O servidor de som, implementado através de uma Raspberry Pi 4, é o componente que permite que outros computadores e celulares reproduzam fontes de áudio no sistema de som. Para tal, utilizaremos as funcionalidades do Pulseaudio!
O Pulseaudio é um “servidor de som em rede multi-plataforma , comumente usado em sistemas baseados no Linux e FreeBSD”. De forma resumida, o Pulseaudio permite controlar fontes de áudio, dispositivos de saída (placas de som ou dispositivos virtuais) e entradas de áudio. Em nossa aplicação, utilizamos o Pulseaudio na Raspberry Pi 4 para controlar a placa de som Creative SB X-Fi. É possível, através do Pulseaudio, reproduzir fontes de áudio gerados no próprio sistema (por exemplo, ao executarmos vídeos na própria Raspberry Pi) e também é possível reproduzir fontes de áudio que se conectam ao servidor do Pulseaudio da Raspberry Pi 4, possibilitando a reprodução do áudio na placa de som Creative SB X-Fi.
Esta solução foi baseada em um artigo denominado “Multi-room audio over Wi-Fi with PulseAudio and Raspberry Pi(s)”. Diferentemente do que propõe o artigo, no entanto, a solução desenvolvida conta com um único servidor de áudio conectado a uma placa de som dedicada.
A boa (melhor) notícia é que o Pulseaudio já vem instalado e configurado como gerenciador de áudio nas últimas versões do Raspberry Pi OS (antigo Raspbian), que é o sistema operacional oficial do fabricante. Também baseado no Raspberry Pi OS, existe também o Twister OS, que é um sistema operacional mais completo para SBCs (Single Board Computers) e, em específico, para a Raspberry Pi 4. Como em meu projeto utilizarei a Raspberry Pi 4 também como central de mídia e de automação, o Twister OS foi o sistema operacional escolhido para desenvolver minhas aplicações, servindo também como servidor de som.
Uma vez que o Pulseaudio já vem instalado na imagem, basta configurá-lo como servidor de som.
Para facilitar a operação do Pulseaudio, recomendo utilizar o PulseAudio Volume Control (pavucontrol), que é uma aplicação que fornece uma interface visual de configuração e ajuste de volume para o Pulseaudio.
$ sudo apt-get update
$ sudo apt-get install pavucontrol
Após instalado, o PulseAudio Volume Control deve criar um atalho nos menus do sistema operacional (no Twister OS versão 1.9.6, está disponível em Menu -> Multimedia -> PulseAudio Volume Control). Para executá-lo através do Terminal Emulator:
$ pavucontrol
Ao abrir o controlador, iremos primeiramente verificar a aba Configuration. Uma vez que a placa Creative SB X-Fi estiver conectada à Raspberry Pi, ela será exibida nesta tela juntamente com as outras interfaces de reprodução disponível localmente. As duas interfaces denominadas Built-in Audio (referentes às saídas de áudio analógico e do HDMI da Raspberry Pi) foram desligadas. Para a placa de som SB X-Fi Surround 5.1 Pro, foi selecionado o Profile Analog Surround 5.1 Output para indicar que utilizaremos a saída de som 5.1 da placa de som.
A seguir, podemos verificar na aba Output Devices a saída de som disponível com o volume geral da placa de som para cada canal do sistema 5.1:
Para facilitar a operação do Pulseaudio existe um módulo também em interface gŕafica que permite ajustar algumas configurações do Pulseaudio chamado PulseAudio Preferences (paprefs). Para instalá-lo:
$ sudo apt-get install paprefs
Tal como o PulseAudio Volume Control, um ícone será criado no sistema operacional (no caso do Twister OS, em Menu -> Settings -> PulseAudio Preferences), mas que também pode ser executado pelo Terminal Emulator:
$ paprefs
Na aba Network Access, selecione a opção “Make discoverable PulseAudio network sound devices available locally”.
A seguir, na aba Network Server, selecione as opções conforme imagem a seguir para permitir que o servidor de som (e a placa de som SB X-Fi 5.1) possam ser descobertos e exibidos em outros dispositivos:
A entrada de áudio (LINE-IN) da placa SB X-Fi Pro é ligada ao toca discos (mais especificamente, ao pré-amplificador de phono, que é um equipamento necessário para qualquer toca-disco). No entanto, a entrada de áudio não é automaticamente ligado à saída de áudio da placa de som. Para tal, precisaremos utilizar um módulo do Pulseaudio chamado loopback. O Pulseaudio possui também alguns arquivos de configuração em formato de texto que definem os parâmetros do sistema. Para configurar o módulo loopback, atualizaremos estes arquivos.
Estes arquivos de configuração do Pulseaudio estão, originalmente, na pasta /etc/pulse/
. No entanto, é possível copiar estes arquivos para a pasta ~/.config/pulse
, que é uma pasta específica ao usuário, e alterá-los (e, assim, manter os arquivos “originais” na pasta /etc/pulse/
). Para tal, copie estes arquivos para a pasta ~/.config/pulse
:
$ mkdir -p ~/.config/pulse
$ cp /etc/pulse/default.pa ~/.config/pulse
$ cp /etc/pulse/client.conf ~/.config/pulse
$ cp /etc/pulse/daemon.conf ~/.config/pulse
$ cp /etc/pulse/system.pa ~/.config/pulse
Estes são os arquivos de texto que definem configurações do Pulseaudio. Após editá-los, é possível “reiniciar” a instância do Pulseaudio com o comando:
$ pulseaudio -k
Para incluir o módulo loopback no Pulseaudio, editaremos o arquivo ~/.config/pulse/default.pa
, incluindo a seguinte linha ao final do arquivo:
load-module module-loopback latency_msec=1 source='alsa_input.usb-Creative_Technology_Ltd_SB_X-Fi_Surround_5.1_Pro_00000BFj-00.analog-stereo' sink='alsa_output.usb-Creative_Technology_Ltd_SB_X-Fi_Surround_5.1_Pro_00000BFj-00.analog-stereo.monitor'
Após a inclusão da linha, salvamento do arquivo e reinício do Pulseaudio, podemos verificar a inclusão do módulo loopback da entrada de áudio na aba Playback do PulseAudio Volume Controle:
Um dos arquivos de configuração do Pulseaudio é o daemon.conf
. Este arquivo possui variáveis que permitem configurar o Pulseaudio. Por padrão, estas variáveis estão comentadas (indicado pelo ponto-vírgula antes da variável ;
) e com os valores que são assumidos como padrão. A seguir, o conteúdo do arquivo daemon.conf
que utilizo em meu sistema:
; daemonize = no
; fail = yes
; allow-module-loading = yes
; allow-exit = yes
; use-pid-file = yes
; system-instance = no
; local-server-type = user
; enable-shm = yes
; enable-memfd = yes
; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB
; lock-memory = no
; cpu-limit = no
; high-priority = yes
; nice-level = -11
; realtime-scheduling = yes
; realtime-priority = 5
; exit-idle-time = 20
; scache-idle-time = 20
; dl-search-path = (depends on architecture)
; load-default-script-file = yes
; default-script-file = /etc/pulse/default.pa
; log-target = auto
; log-level = notice
; log-meta = no
; log-time = no
; log-backtrace = 0
; resample-method = speex-float-1
; avoid-resampling = false
enable-remixing = no
; remixing-use-all-sink-channels = yes
; enable-lfe-remixing = no
; lfe-crossover-freq = 0
flat-volumes = no
; rlimit-fsize = -1
; rlimit-data = -1
; rlimit-stack = -1
; rlimit-core = -1
; rlimit-as = -1
; rlimit-rss = -1
; rlimit-nproc = -1
; rlimit-nofile = 256
; rlimit-memlock = -1
; rlimit-locks = -1
; rlimit-sigpending = -1
; rlimit-msgqueue = -1
; rlimit-nice = 31
; rlimit-rtprio = 9
; rlimit-rttime = 200000
; default-sample-format = s16le
; default-sample-rate = 44100
; alternate-sample-rate = 48000
; default-sample-channels = 2
; default-channel-map = front-left,front-right
; default-fragments = 4
default-fragment-size-msec = 15
; enable-deferred-volume = yes
; deferred-volume-safety-margin-usec = 8000
; deferred-volume-extra-delay-usec = 0
No meu caso, só alterei a variável enable-remixing = no
para impedir que o Pulseaudio faça o upmix das fontes de áudio em 5.1 (sim, o Pulseaudio consegue transformar fontes de áudio estéreo em 5.1! Mas escolhi não fazer isso no servidor, uma vez que os clientes podem fazer o mesmo).
Podemos entender a Raspberry Pi 4 como nosso “servidor de reprodução de áudio”, ou seja, clientes se conectam nele e enviam seu áudio (pela ethernet ou WI-Fi) para ser reproduzido na placa Creative Soundblaster X-Fi Surround Pro 5.1. Os “clientes” podem ser outros computadores conectados à mesma rede do Servidor de Som ou, até mesmo, conteúdo que está sendo reproduzido diretamente na Raspberry Pi 4 (que também atuaria, nesse caso, como central de mídia).
Já adianto que os clientes podem ser computadores Linux (que também contará com o Pulseaudio) e, até mesmo, computadores com Windows!
Para reproduzir o áudio de um PC que roda um sistema operacional baseado no Linux, é possível utilizar o próprio Pulseaudio para redirecionar o som da máquina para o Servidor de Som. Como base, utilizarei o Ubuntu 18.04 para ilustrar as etapas necessárias.
A instalação e configuração do Pulseaudio no computador que enviará o áudio a ser reproduzido no Servidor de Som é muito semelhante à configuração que realizamos na Raspberry Pi 4. Primeiramente, é necesário instalar o Pulseaudio no sistema operacional, bem como o PulseAudio Volume Control (pavucontrol) e o PulseAudio Preferences (paprefs). Para tal, no Ubuntu 18.04 é possível executar exatamente os mesmos comandos executados para instalar estas aplicações.
A configuração é ainda mais fácil. Após a instalação das aplicações, execute o utilitário paprefs. Pela terminal, é possível executá-lo com:
$ paprefs
A imagem a seguir exibe a tela do utilitário. Na aba Network Access, marque a primeira opção conforme a seguir:
A partir desse momento, se o computador estiver ligado à mesma rede (cabeada ou Wi-Fi) do Servidor de Som, a placa de som já será identificada como um dispositivo disponível a ser escolhido para reprodução remota. Para verificar, execute o pavucontrol:
$ pavucontrol
A imagem a seguir exibe a aba Output Devices do PulseAudio Volume Control:
Observe que dois dispositivos denominados SB X-Fi Surround 5.1 Pro Analog Surround 5.1 on pi@raspberrypi apareceram nesta aba. Estes dois dispositivos correspondem, justamente, à placa de som do Servidor de Som. Por esta tela é possível controlar também o volume geral de cada placa de som (local ou remota).
Observação: ao lado de cada fonte de áudio há três ícones. O terceiro ícone, com um sinal de “correto” em cor verde, permite configurar aquela placa de som como fallback, uma espécie de dispositivo padrão para reprodução de áudio. Experimente utilizar os botões de controle de volume do teclado de seu computador: o volume do dispositivo configurado como fallback será alterado!
Execute alguma mídia em seu computador (um vídeo do Youtube, ou do Peertube do LHC. Ainda no pavucontrol, vá na aba Playback. A imagem a seguir exibe uma fonte de áudio sendo reproduzida no computador e o áudio sendo reproduzido no Sistema de Som:
Observe que existe uma linha mostrando que uma aba do Google Chrome está reproduzindo áudio no dispositivo do Servidor de Som. Através desta caixa de seleção, é possível selecionar outras placas de som (por exemplo, do próprio computador) para reproduzir aquela fonte.
Para os usuários de Windows, também é possível reproduzir o som do computador em nosso servidor de Som. Para tal, é possível usar o Scream - Virtual network sound card for Microsoft Windows. O Scream atua como uma placa de áudio virtual para o Windows e, ao selecionar esta placa de áudio, é possível enviar o som do computador ao Servidor de Som através de uma conexão ethernet ou Wi-Fi.
Para configurar a placa de áudio virtual do Windows, basta utilizar o instalador fornecido na página de Releases (a versão de Relase atual, no momento da escrita deste artigo é a versão 3.6). Baixe o arquivo compactado (.zip), descompacte-o em alguma pasta do Windows. Ao entrar na pasta Install, haverá um arquivo denominado Install.bat. Clique com o botão direito do mouse sobre este arquivo e selecione a opção Executar como administrador.
Para utilizar o Scream para reproduzir o som de um computador Windows no Servidor de Som será necessário também configurá-lo na Raspberry Pi 4 para receber os pacotes via ethernet ou Wi-Fi e reproduzi-los no Sistema de Som.
Vamos, então, precisar clonar o repisitório do projeto, compilar os Receivers e utilizar o Receiver específico para o Pulseaudio. Para tal, acesse novamente a Raspberry Pi 4 em, no terminal, execute:
$ git clone https://github.com/duncanthrax/scream.git
Uma pasta será chamada scream será criada. Precisaremos, ainda, dar um checkout para a última versão de release (no caso, é a 3.6):
$ git checkout 3.6
A seguir, precisaremos ir à pasta dos Receivers:
$ cd Receivers/unix
Agora, precisaremos buildar os Receivers. Antes de prosseguir, no entanto, precisaremos de uma biblioteca do Pulseaudio para tal. Instale-a com o seguinte comando:
$ sudo apt-get install libpulse-dev
Agora, siga os seguintes passos para buildar as aplicações referentes aos Receivers:
$ mkdir build && cd build
$ cmake ..
$ make
Após o proceso ser finalizado com sucesso, observe que uma aplicação denominada scream será criada na pasta. É esta a aplicação que será o Receiver no Servidor de Som. Podemos executá-la pelo terminal (e o sistema já vai estar apto a receber o som do Windows), mas como gostaríamos que esta configuração seja iniciada juntamente à Raspberry Pi 4, irei configurá-la para ser iniciada junto ao sistema. Há diversas formas de se fazer isso (como um serviço do sistema, por exemplo). Por simplicidade, utilizarei uma configuração do sistema operacional (estou utilizando o Twister OS, que é baseado no Raspberry Pi OS) que permite fazer esta configuração utilizando a interface gráfica.
O sistema operacional apresenta, normalmente, uma configuração que permite que aplicações sejam incializadas junto ao sistema. No caso do Twister OS, esta configuração está em Settings -> Session and Startup, conforme a figura a seguir:
A seguinte tela será aberta. Navegue até a aba Application Autostart e clique no botão Add, no canto inferior esquerdo:
Agora, basta preencher um nome e uma descrição relacionada ao Receiver Scream nos campos Name e Description e, no campo Command inserir o comando para a aplicação que buildamos anteriormente. Em meu sistema, o caminho completo da pasta que tem aplicação que buildamos é /home/pi/scream/Receivers/unix/build/scream.
Clicando-se em Close, o sistema operacional tentará sempre executar o Receiver Scream junto à inicialização do sistema.
A Raspberry Pi 4 - assim como a Raspberry Pi Zero W e Raspberry Pi 3/B+ - possuem suporte nativo ao Bluetooth. Desta forma, outra forma de utilização de nosso Servidor de Som é transformá-lo em uma caixa de som Bluetooth. Dispositivos como Smartphones e Computadores poderiam, então, se conectar ao Servidor de Som por Bluetooth e reproduzir o som diretamente no sistema de som, independente de estarem conecatados por ethernet ou Wi-Fi. Esta solução também apresenta a vantagem de ser totalmente independente em relação ao sistema operacional da fonte de áudio. Para tal, precisaremos configurar esta funcionalidade em nosso Servidor de Som, ou seja, diretamente na Raspberry Pi 4. Esta solução foi baseada em um post no fórum oficial da Raspberry Pi.
Primeiramente, é necessário verificar se não há outros utilitários do sistema operacional já instalados que interagem com o Bluetooth. Em caso positivo, é necessário configurá-los ou desativá-los para seguir as etapas presentes neste tutorial.
No Twister OS, eu desabilitei todos os “plugins” relacionados ao Bluetooth. Clicando-se com o botão direito do mouse no ícone do Bluetooth próximo ao relógio e selecionando, a seguir, a opção Plugins:
Na tela que se abre, desative todos os plugins relacionados ao Bluetooth:
Após desativá-los, basta sair desta tela. Ainda no mesmo ícone do Bluetooth, selecionaremos agora a opção Adapters. Na tela que se abre, selecionamos a opção Always visible para que o Servidor de Som possa sempre ser encontrado como um dispositivo bluetooth:
Agora, iremos configurar o Bluetooth da Raspberry Pi 4 para funcionar como uma caixa de som Bluetooth. Primeiramente, precisamos instalar um módulo do Pulseaudio que o permite associar-se ao Bluetooth:
$ sudo apt-get install pulseaudio-module-bluetooth
A seguir, precisamos adicionar o usuário ao grupo bluetooth:
sudo usermod -a -G bluetooth pi
A seguir, editaremos o arquivo de configuração da funcionalidade do Bluetooth na Raspberry Pi 4 para que ela possa ser reconhecida como um dispositivo de reprodução de áudio:
sudo nano /etc/bluetooth/main.conf
Edite este arquivo acrescentando (ou descomentando e ajustando o valor) as seguintes linhas:
...
Class = 0x41C
...
DiscoverableTimeout = 0
...
A partir deste momento, se reiniciássemos a Raspberry Pi 4, já teríamos o serviço configurado. No entanto, não conseguiríamos conectar qualquer dispositivo Bluetooth ao Servidor de Som, uma vez que são dispositivos “não confiáveis”. Assim, instalaremos um utilitário para que os dispositivos consigam se conectar de forma “transparente” à Raspberry Pi 4:
$ sudo apt-get install bluez-tools
Criaremos, a seguir, um serviço para que este utilitário torne-se um serviço do sistema. Para tal, crie/edite o seguinte arquivo de texto:
$ sudo nano /etc/systemd/system/bt-agent.service
Adicionando o seguinte conteúdo:
[Unit]
Description=Bluetooth Auth Agent
After=bluetooth.service
PartOf=bluetooth.service
[Service]
Type=simple
ExecStart=/usr/bin/bt-agent -c NoInputNoOutput
[Install]
WantedBy=bluetooth.target
Agora, precisaremos que este serviço incie junto à Raspberry Pi 4:
$ sudo systemctl enable bt-agent
Por fim, reinicie a Raspberry Pi 4! As alterações que fizemos deverão ser aplicadas e, ao procurar por dispositivos Bluetooth em seus celulares/computadores, nosso Servidor de Som deverá aparecer como raspberrypi. Conectando-se a este dispositivo, é possível reproduzir o áudio dos dispositivos no Sistema de Som!
Configurados o Pulseaudio no computador Linux e no Windows (através do Scream), podemos verificar estas fontes de som no Servidor de Som (Raspberry Pi 4). Ao executar o pavucontrol na Raspberry Pi 4, teremos:
Observe na aba Playback que temos 4 entradas de fontes de áudio:
O volume destas entradas podem ser controlados pelo computador de origem e não precisa ser alterado no Servidor de Som. Por exemplo, no computador Linux que possui o Pulseaudio e o pavucontrol, ao aumentar ou diminuir o volume na aba Output Devices, esta alteração será refletida na entrada correspondente no pavucontrol da Raspberry Pi 4.
Para controlar o volume geral do sistema de som pela Raspberry Pi 4, utilize a aba Output Devices, onde aparecerá o volume da placa de som SB X-Fi Surround 5.1 Pro Analog Surround 5.1!
Da mesma forma que no computador que envia o som ao Servidor de Som, recomenda-se que a placa de som SB X-Fi Surround 5.1 Pro Analog Surround 5.1 seja o dispositivo configurado como fallback na Raspberry Pi 4:
Mas afinal, como reproduzir o som em 5.1?
Muitas fontes de áudio fornecem áudio em 5.1. O Netflix, por exemplo possui esta opção para muitos dos filmes em catálogo. O mesmo se pode dizer de DVDs, vídeos do Youtube e outros arquivos disponibilizados na internet. Neste caso, ao reproduzir estas fontes em computadores que enviam o áudio para o Servidor de Som, estas fontes já serão repoduzidas em todas as caixas de som de acordo com a masterização original da mídia.
Mas e se a minha fonte de áudio for estéro (2.0)? Neste caso, a escolha “fica a cargo do cliente”. O Pulseaudio é capaz de transformar fontes de áudio diferentes de 5.1 em fontes 5.1. Por exemplo, se a fonte de áudio é estéreo (2.0), ela pode ser codificada em 5.1 para ser reproduzida no Sistema de Som. Este processo se chama upstream e é habilitado por padrão.
De modo a prover certa versatilidade nas configurações, nós desabilitamos esta funcionalide na Raspberry Pi 4 (no arquivo ~/.config/pulse/daemon.conf
). Ou seja, nosso servidor nunca fará upstream. Isto não quer dizer que o cliente não possa fazer e mandar o áudio já em 5.1 para o Servidor de Som.
O mesmo arquivo de configuração do Pulseaudio no computador Linux que envia o áudio ao Servidor de Som (~/.config/pulse/daemon.conf
) contém, no mesmo trecho, as seguintes configurações:
; resample-method = speex-float-1
; avoid-resampling = false
enable-remixing = yes
; remixing-use-all-sink-channels = yes
enable-lfe-remixing = yes
lfe-crossover-freq = 150
Com estas configurações, a opção enable-remixing = yes permite o Pulseaudio a fazer o upstream de fontes de áudio estéreo para ser reproduzida em todas as caixas de som. Além desta opção, habilitei também a opção enable-lfe-remixing = yes que permite enviar o áudio à unidade de graves (subwoofer) e a opção lfe-crossover-freq = 150, que fixa a frequência de corte (em Hz) para o áudio enviado à unidade de graves.
São muitas as variáveis que podem ser exploradas com o Pulseaudio. Fato é que este sistema temme atendido perfeitamente em termos de versatiidade e qualidade.
Com este artigo, acredito que passei por todos os componentes de meu Sistema de Som, que me permito chamar de DIY. Este projeto que começou há muitos anos ainda não está 100% finalizado: sempre existe algo novo que me permite pensar “Por que não tentar isso também?”.
A ideia desta série de artigos é relatar o que (e como) fiz meu sistema de som, encorajando outros entusiastas a seguirem caminhos semelhantes e, principalmente, inspirá-los a novos usos e contribuições para quem, assim como eu, acredita que dá pra fazer algo legal e barato utilizando um conhecimento que está aí!
Abraços!