Web Rádio - Pedidos Musicais Automáticos

No presente artigo, demonstro um pequeno sistema feito por mim em Shell Script e PHP, de uma Web Rádio com pedido musical automático. Onde o usuário digita uma palavra-chave para cantor e música, e o sistema a toca automaticamente.

[ Hits: 14.504 ]

Por: Alessandro Périgo em 29/02/2012 | Blog: http://www.neuroinformatica.com.br


Estrutura, Pedidos e o Site



Estrutura dos Diretórios

No meu sistema, os arquivos estão no diretório: /geral/.

Músicas no diretório: /geral/musica.

O arquivo atualiza, varre o respectivo diretório de músicas, e cria um arquivo chamado “musicalist”, contendo o caminho das músicas; sendo que só é preciso executá-lo uma vez, ou toda vez que for inserida um conjunto ou uma música nova no sistema. Este arquivo será usado pelo arquivo “mus33” para encontrar o cantor e a música referida.

Alguns arquivos encontrados no sistema, são criados automaticamente.

- Explicando melhor os arquivos:
  • Arquivo: aovivo - Consta o nome da música que esta sendo tocada no momento para mostrar no site.
  • Arquivo: lista2 - Arquivo que recebe os pedidos do site na seguinte sintaxe: cantor;musica;nome_do_usuario, e os envia para o arquivo lista ficando assim disponível para receber novo lote de pedidos.
  • Arquivo: vinhetas - Arquivo que contém o nome do arquivo de vinheta.
  • Arquivo: lista - Arquivo onde estarão os pedidos que serão tocados vindos do arquivo “lista2”.
  • Arquivo: atualiza - Arquivo que atualiza e cria o arquivo “musicalist” com caminhos das músicas.
  • Arquivo: mus33 - Responsável por executar os pedidos das músicas.
  • Arquivo: loopex - Responsável por executar musicas variadas especificadas dentro dele.
  • Arquivo: musicalist - Contém o caminho de todas as músicas do sistema.

Pedidos das Músicas

O formulário da página PHP, escreve no arquivo “lista2” o pedido da música, no formato que mostrei acima na seguinte sintaxe: cantor;musica;seu_nome.

Onde nome é somente 1 palavra do nome do cantor. Exemplo: Victor e Leo, usa-se ou victor, ou leo.

Mesmo caso no nome da música, por exemplo: Amigo Apaixonado. Neste caso, a sintaxe do arquivo “lista2” fica assim (numa palavra composta):
Victor;Amigo;seu_nome ou Leo;Amigo;seu_nome ou Leo;Apaixonado;seu_nome

Então, este sistema tem seus prós e contras. Caso a pessoa, às vezes, não se lembre do nome completo da música, ele somente digitará uma palavra que o sistema procura, o contra é que ele pode achar outra música ao invés daquela que você procura, mas digamos que o acerto será de 85%.

Caso a música não toque, ou é porque não existe esta música no banco de dados, ou o nome do cantor/musica está errado.

* Lembrando que não usa-se acentos no nome.

Executando os programas nesta sequência:
Inicie o Icecast
Inicie o Darkice
Inicie o “mus33”
Inicie o “loopex”

Lembrando para que dê permissão de execução nos arquivos “mus33” e “loopex”:

chmod +x mus33 loopex

Outra coisa, analise os arquivos “mus33” e “loopex”, para ter uma idéia do funcionamento do sistema, caso precise resolver algum problema ou fazer algum acerto. Ajuste o volume do MIX com o Alsamixer.

O Site

Bem, o site é simples também, faça um formulário que escreva no arquivo “lista2”, arquivo simples de texto, no formato: cantor;musica;seu_nome

Dê uma olhada no meu site como fiz. Ficando assim uma lista como abaixo, um abaixo do outro.
victor;amigo;Alessandro
Hugo;Duzentos;Fabio
Santiago;estrelas;Fulano

Bom pessoal, é isso aí. Caso queira dar uma conferida no sistema em funcionamento, acesse o site da minha rádio:
Observação: Por favor, mantenham os créditos nos arquivos em meu nome, copiem e alterem como quiserem, caso seja feita alguma melhoria no sistema, não exite em me enviar uma cópia e relate o que foi alterado/melhorado.

Qualquer dúvida, meu e-mail é: alessadroperigo[at]hotmail.com

Abraço a todos.
Página anterior    

Páginas do artigo
   1. Requisitos e Instalação
   2. Estrutura, Pedidos e o Site
Outros artigos deste autor

Instalando uma placa wireless

Leitura recomendada

Grace - Alterando e gerando gráficos usando "fitting"

Instalando, gerenciando e mantendo pacotes no Gentoo Linux e derivados

Apt-fast - turbinando o apt-get em distros Debian-like

KDE4 junto com KDE3 no Debian Lenny

Um olhar para o futuro: cloud, big data, programadores, economia e software livre

  
Comentários
[1] Comentário enviado por andrewr360 em 29/02/2012 - 15:41h

uma sugestão, seria mostrar as musica, caso escolha somente o nome da banda!!

como tem no kboing

[2] Comentário enviado por fernandoguedes em 29/02/2012 - 15:48h

Interessante, vou lhe dar duas sugestões, mas não tem nada haver com o código e sim com o seu licenciamento, que tal fazer um commit no GitHub com o seu código e licenciá-lo sob alguma GPL ou outra licença? Seria massa, tenho certeza que esse código seria interessante pra muita gente e que ambos poderiam contribuir para melhorá-lo, do mais, tá massa!

[3] Comentário enviado por perigo em 29/02/2012 - 16:01h

Andrewr360 - Thank You

Fernando Guedes ! .. Obrigado pelas suas informacoes, estarei verificando isso sobre licencia-lo sobre GPL, na verdade eu nem tenho ideia de como proceder. Mas agradeço a ideia.

Aos Demais:

Estou verificando aqui nos logs que muita gente esta colocando nomes errados ou mesmo as musicas nao existem no banco de dados, porisso que nao estao tocando. Outra coisa meu banco de dados de musicas tem algumas musicas que estao com defeito entao o mpg123 as vezes enrosca.




[4] Comentário enviado por perigo em 01/03/2012 - 18:16h

Amigos, Fiz uma uma correcao conforme descricao abaixo:

=====================================================
WeB Radio - Pedidos Automaticos Versao 1.0
Autor: Alessandro Périgo
Email: alessandroperigo@hotmail.com
Copyright 2011

01/03/2012

# corrigido 1 bug que na chamada do programa mus33 ele cria um novo
# processo deixando assim varios processos conforme o programa vai trabalhando
# entao codigo abaixo pega o pid do processo do grep e do mus33 e os mata depois
# eh feito uma chamada de em um novo processo.
# se observar na saida ele vai falar que deu um erro, porque ele tenta matar o processo do grep tbm
# isso eh normal !

======================================================

Entao, as correcoes e foi adicionado comentarios nos codigos...
Portanto tem que baixar o arquivo com as novas alteracoes no link abaixo, ou link la em cima que ja esta atualizado.

http://www.bestradio.com.br/arquivos_radio_automatico.zip








[5] Comentário enviado por cirinho em 16/04/2012 - 20:10h

Isso funciona com o shoutcast sc_serv e e a playlist sc_trans?

Pelo que estou vendo é ice que nunca usei como servidor de webrádio.

[6] Comentário enviado por perigo em 16/04/2012 - 22:30h


Nao fiz o teste, porem o darkice tem suporte pra funcionar no shoutcast. Portanto acredito que funcione sem problemas. A minha radio esta off, nao tenho nobreik entao toda hora q cai a energia tem q ligar e isso toma tempo. Mas O Icecast eh super simples de configurar, funciona 100% pode fazer o broadcast em varias portas com diferentes audios, somente mudando o arquivo de configuracao e abrindo um processo pra cada porta.



[7] Comentário enviado por perigo em 05/10/2012 - 12:40h

Server esta Online novamente.
Agora estou com uma conexao Dedicada aqui em casa.
Esta transmitindo em AAC-Plus a 70kbps.
www.bestradio.com.br em todos os dispositivos.
ou no winamp: http://www.bestradio.com.br:8000/aovivo


[8] Comentário enviado por perigo em 18/10/2012 - 12:28h

Estou trabalhando em outro sistema desse ai bem mais elaborado.. com binario e arquivo de conf. Alem disso o problema q cortava a musica variadas para entrar a musica dos pedidos agora ele aguarda a musica terminar. E os dois arquivos foram fundidos em 1 apenas. Agora tudo mais simples.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts