Transmiss\xE3o de \xC1udio pela Internet e Web R\xE1dios

As r\xE1dios livres e comunit\xE1rias possuem um alcance reduzido inerente ao seu equipamento - transmissores FM de 2 at\xE9 200 Watts - o que pode ser um empecilho na forma\xE7\xE3o de uma rede de r\xE1dios, prejudicando o interc\xE2mbio entre r\xE1dios e culturas. Existe hoje uma solu\xE7\xE3o relativamente barata para este drama, que \xE9 colocar o \xE1udio das r\xE1dios dispon\xEDvel na internet.

Este texto tem como finalidade guiar o leitor e a leitora \xE0 pr\xE1tica da transmiss\xE3o de \xE1udio pela internet. Ele \xE9 destinado a todas as r\xE1dios livres e comunit\xE1rias que desejam sua programa\xE7\xE3o veiculada na rede ou que necessitam fazer uma cobertura de algum evento em "tempo real".

\xCDndice

Como usar este documento

Voc\xEA pode estar recorrendo a esse manual pra aprender os conceitos envolvidos em transmiss\xE3o de \xE1udio pela internet ou ent\xE3o apenas para colocar uma transmiss\xE3o "no ar".

  • Se voc\xEA estiver com pressa, mas n\xE3o for quest\xE3o de vida ou morte, pule para a Parte Pr\xE1tica.

  • Se voc\xEA est\xE1 com paci\xEAncia e quer realmente aprender, os pr\xE9-requisitos para voc\xEA entender bem este guia s\xE3o: no\xE7\xF5es de sistemas operacionais, internet e \xE1udio anal\xF3gico/digital.
Agora vamos ao que interessa.

Parte Te\xF3rica

Voc\xEA quer colocar uma r\xE1dio online, n\xE3o \xE9 verdade? Existem duas formas mais conhecidas pra fazer isso, a transmiss\xE3o s\xEDncrona e a ass\xEDncrona. Antes de come\xE7armos, por\xE9m, fa\xE7amos uma r\xE1pida revis\xE3o sobre os principais conceitos de \xE1udio anal\xF3gico e digital. Se voc\xEA est\xE1 familiarizado com termos como frequ\xEAncia, taxa de amostragem, amplitude, etc n\xE3o \xE9 necess\xE1rio ler o que segue e voc\xEA pode pular para a pr\xF3xima se\xE7\xE3o.

Refer\xEAncia r\xE1pida sobre \xE1udio digital

Para que nada fique \xE0s escuras, partamos do princ\xEDpio. Esta se\xE7\xE3o inicial \xE9 apenas ilustrativa. Se voc\xEA ach\xE1-la muito complicada, n\xE3o se preocupe, ela foi escrita apenas para dar uma no\xE7\xE3o b\xE1sica de como lidamos com o \xE1udio e sua compreens\xE3o n\xE3o \xE9 crucial para fazer uma r\xE1dio pela internet.

Som

Afinal, o que \xE9 o som? Simplificadamente, o som \xE9 uma vibra\xE7\xE3o de um meio material. Por vibra\xE7\xE3o podemos entender como sendo uma onda, que \xE9 um ente que transporta uma perturba\xE7\xE3o de um meio material. No ar, por exemplo, uma perturba\xE7\xE3o da press\xE3o atmosf\xE9rica provoca uma onda, devido \xE0 elasticidade de suas mol\xE9culas chocando-se mutuamente de tal forma que essa perturba\xE7\xE3o \xE9 transportada no espa\xE7o. Quando essa perturba\xE7\xE3o chega ao nosso ouvido ou num microfone, ela causa a vibra\xE7\xE3o das respectivas membranas e ambos convertem essa perturba\xE7\xE3o da press\xE3o do ar numa equivalente el\xE9trica. Nessa transforma\xE7\xE3o, o meio pelo qual essa onda passou a se propagar bem como sua fenomenologia mudaram, mas a sua ess\xEAncia, que \xE9 a informa\xE7\xE3o contida na perturba\xE7\xE3o - o sinal -, foi preservada.

Representa\xE7\xE3o de um sinal de \xE1udio

Uma maneira de representar esse sinal de informa\xE7\xE3o sonora \xE9 por meio de gr\xE1ficos. Suponha que voc\xEA est\xE1 no sof\xE1 de sua casa ouvindo algu\xE9m tocando sanfona no outro lado da sala. As vibra\xE7\xF5es do ar chegam at\xE9 seus ouvidos. Essas oscila\xE7\xF5es na press\xE3o atmosf\xE9rica (que nada mais \xE9 do que a for\xE7a que as mol\xE9culas de ar aplicam numa \xE1rea) fazem com que a membrana auditiva de cada um dos seus ouvidos tamb\xE9m vibre, e a partir disso um complicado processo de convers\xE3o ocorre at\xE9 que esse sinal chegue bem dentro da sua cabe\xE7a de tal forma que voc\xEA escute o som da sanfona.

Se fizermos um gr\xE1fico mostrando como varia no seu ouvido a press\xE3o atmosf\xE9rica com o tempo, ter\xEDamos algo assim:

onda-sonora1.jpg

Esse gr\xE1fico significa que no istante de tempo a a press\xE3o atmosf\xE9rica no seu ouvido valia d e no instante b valia c. A linha cheia com o aspecto de onda representa o valor da press\xE3o em cada instante de tempo. De fato, esse desenho parecido com uma onda pode ser entendido como uma onda sonora que chega at\xE9 seu ouvido. Normalmente, a onda sonora n\xE3o tem um aspecto t\xE3o bonitinho e tem o aspecto mais bagun\xE7ado, assim:

onda-sonora2.jpg

Capta\xE7\xE3o e convers\xE3o de um sinal de \xE1udio

Agora, o que nos interessa \xE9 saber como uma onda sonora \xE9 sentida pelos equipamentos de \xE1udio (microfone e placa de som) e como essa informa\xE7\xE3o pode ser manipulada.

Como j\xE1 dissemos, um microfone converte a varia\xE7\xE3o da press\xE3o atmosf\xE9rica com o tempo em varia\xE7\xE3o da tens\xE3o el\xE9trica com o tempo. Graficamente, o microfone faria o seguinte:

microfone.jpg

Para cada valor da press\xE3o atmosf\xE9rica, os fios do microfone apresentam uma tens\xE3o el\xE9trica (voltagem) diferente. Conforme a press\xE3o vai mudando com o tempo, a tens\xE3o entre os fios do microfone tamb\xE9m varia. Esse \xE9 o princ\xEDpio b\xE1sico de funcionamento da capta\xE7\xE3o de \xE1udio por equipamento eletroeletr\xF4nico. O contr\xE1rio tamb\xE9m pode acontecer, isto \xE9, um sinal el\xE9trico de \xE1udio ser convertido em varia\xE7\xE3o da press\xE3o atmosf\xE9rica (ondas sonoras). Isso tipicamente \xE9 feito com o uso das conhecidas caixas de som.

Sinais anal\xF3gicos e digitais

Chegou a hora de introduzirmos os conceitos mais importantes da se\xE7\xE3o. Os gr\xE1ficos que voc\xEA viu at\xE9 agora mostram que a cada instante de tempo havia associada alguma grandeza f\xEDsica (no caso, a press\xE3o atmosf\xE9rica) associada ao som. Quando o microfone converte essa grandeza f\xEDsica para a tens\xE3o el\xE9trica, essa associa\xE7\xE3o \xE9 mantida. Os sinais de informa\xE7\xE3o que apresentam essa caracter\xEDstica de analogia entre cada instante de tempo e o respectivo valor s\xE3o chamados de sinais anal\xF3gicos ou cont\xEDnuos, pois para todo instante de tempo h\xE1 um valor da press\xE3o atmosf\xE9rica no seu ouvido ou um valor de tens\xE3o el\xE9trica entre os fios de um microfone.

Os sinais que n\xE3o apresentam essa caracter\xEDstica s\xE3o chamados de sinais digitais. Esses ser\xE3o discutidos no pr\xF3ximo t\xF3pico.

A Placa de Som

Nada melhor do que um exemplo para ilustrar o que \xE9 um sinal digital e como um sinal anal\xF3gico \xE9 convertido em sinal digital (e vice-versa). O equipamento que mais estamos acostumados a lidar para esse tipo de tarefa \xE9 a placa de som presente na maioria dos computadores. Uma placa de som nada mais \xE9 do que um conversor Anal\xF3gico/Digital e Digital/Anal\xF3gico otimizada para sinais sonoros.

Na Parte Pr\xE1tica voc\xEA ver\xE1 como ligar um microfone ou outro dispositivo de \xE1udio na sua placa de som. Por hora \xE9 suficiente sabermos que um placa de som \xE9 um equipamento que funciona conforme o seguinte desenho:

placa-de-som.jpg

Diagrama 1: Placa de som

O sinal anal\xF3gico entra na placa e sai convertido num sinal digital, e os sinais digitais que entram na placa saem dela convertidos em sinais anal\xF3gicos. A convers\xE3o de um sinal anal\xF3gico \xE9 feita da seguinte maneira: o sinal que chega at\xE9 a placa \xE9 amostrado em intervalos de tempo fixos (por exemplo, de 1 em 1 segundo) e o valor de tens\xE3o el\xE9trica (voltagem) do sinal anal\xF3gico naquele instante \xE9 armazenado em n\xFAmeros bin\xE1rios. Aqui aparecem as duas grandes diferen\xE7as entre um sinal anal\xF3gico e um digital: no caso anal\xF3gico, para todos os instantes de tempo existem associados valores de tens\xE3o el\xE9trica, ou seja, o sinal \xE9 cont\xEDnuo. Al\xE9m disso, esses valores de tens\xE3o el\xE9trica (isto \xE9, as informa\xE7\xF5es) s\xE3o grandezas f\xEDsicas. J\xE1 um sinal digital possui informa\xE7\xF5es apenas para alguns instantes de tempo, ou seja, o sinal \xE9 discreto. E mais, o sinal digital existe num formato que independe das grandezas f\xEDsicas que o cont\xE9m, j\xE1 que as informa\xE7\xF5es s\xE3o representadas utilizando n\xFAmeros inteiros e finitos (os d\xEDgitos) e n\xE3o a tens\xE3o el\xE9trica ou a press\xE3o atmosf\xE9rica, por exemplo. Nos sistemas digitais atuais, esses n\xFAmeros s\xE3o manipulados utilizando a base num\xE9rica bin\xE1ria ( 0 e 1), mas essa \xE9 outra hist\xF3ria...

A discuss\xE3o anterior pode ter ficado um pouco \xE1rida, ent\xE3o aqui segue um desenho para ilustrar as diferen\xE7as entre um sinal anal\xF3gico e outro digital:

Anal\xF3gico versus Digital

Nesse ponto precisamos de uma pequena reflex\xE3o sobre o aparente antagonismo entre os sinais anal\xF3gicos e digitais e a atual valoriza\xE7\xE3o deste \xFAltimo em detrimento do primeiro. Voc\xEA j\xE1 deve estar acostumado ou acostumada a ouvir sobre as "maravilhas do \xE1udio digital" ou de que tudo que \xE9 digital \xE9 superior. Mas ser\xE1 isso verdade? Por que ocorre essa fixa\xE7\xE3o pelo digital?

N\xE3o sabemos ao certo o motivo. Historicamente, os sinais digitais ganharam hegemonia pois possuem um controle de erro mais simples para transmiss\xE3o e recep\xE7\xE3o de mensagens e as perdas de sinal s\xE3o praticamente nulas. Mas \xE9 interessante notar que, quando um sinal anal\xF3gico \xE9 digitalizado, ocorrem perdas de informa\xE7\xE3o inerentes a esse processo. Esse debate vai longe, principalmente no que diz respeito ao retorno dos computadores anal\xF3gicos, ent\xE3o deixaremos este t\xF3pico para uma outra oportunidade.

Propriedades de um sinal de \xE1udio digital

Para o estudo das transmiss\xF5es de \xE1udio pela rede, basta que saibamos tr\xEAs propriedades de um sinal digital: seu n\xFAmero de canais, sua taxa e raz\xE3o de amostragem.

Como voc\xEA viu nos desenhos, um sinal anal\xF3gico \xE9 digitalizado selecionando apenas alguns trechos do sinal anal\xF3gico e transformando essa informa\xE7\xE3o em n\xFAmeros inteiros. O n\xFAmero de vezes por segundo em que uma amostra do sinal anal\xF3gico \xE9 colhida \xE9 chamado de taxa de amostragem (sample rate) e a quantidade de valores num\xE9ricos que essa informa\xE7\xE3o pode assumir \xE9 chamada de raz\xE3o de amostragem (bits per sample). Valores usuais para a taxa de amostragem s\xE3o de 11,025KHz (11025 amostras por segundo), 22,05KHz ou 44.1KHz e a raz\xE3o de amostragem costuma ser de 8 bits, 16 bits ou 32 bits, lembrando que 1 bit \xE9 a menor unidade de informa\xE7\xE3o, que pode assumir apenas dois valores diferentes, 0 ou 1 (verdadeiro ou falso). Um n\xFAmero de 8 bits pode assumir at\xE9 256 valores diferentes, ou seja, pode representar at\xE9 256 valores de tens\xE3o el\xE9trica (o sinal anal\xF3gico) diferentes. J\xE1 um n\xFAmero de 16 bits pode representar at\xE9 cerca de 65 mil valores diferentes, e assim por diante.

Quanto maiores forem a taxa e a raz\xE3o de amostragem, mais alta ser\xE1 a qualidade do sinal digitalizado com rela\xE7\xE3o ao sinal anal\xF3gico original.

Por exemplo, para um sinal digital com taxa de amostragem de 11,025KHz e raz\xE3o de amostragem de 8 bits possui um 11025 valores de 8 bits por segundo. J\xE1 com uma taxa de amostragem de 44100KHz e raz\xE3o de 16 bits temos, a cada segundo, 44100 amostras podendo cada uma representar 65 mil n\xEDveis diferentes de perturba\xE7\xE3o sonora, o que \xE9 mais do que suficiente para pessoas comuns n\xE3o perceberem que est\xE3o escutando um sinal n\xE3o-cont\xEDnuo.

Quando voc\xEA grava um \xE1udio no seu computador, o programa de grava\xE7\xE3o normalmente armazena todas essas informa\xE7\xF5es num arquivo cujo nome termina com um .wav, por exemplo audio.wav. Esse tipo de arquivo \xE9 chamado de Wave File (arquivo de onda), em alus\xE3o \xE0 ondas sonoras.

\xC1udio comprimido: MP3 e OGG

Chegou a hora de darmos o pulo do gato. O \xE1udio digitalizado ocupa muita informa\xE7\xE3o. Da discuss\xE3o precedente, um \xE1udio com milhares de amostras por segundo tendo cada amostra um tamanho de 8 a 32 bits supera em muito a capacidade de armazenamento dos computadores atuais. Armazenar arquivos do tipo wav gasta tanto espa\xE7o que voc\xEA n\xE3o conseguiria ter muitas horas de m\xFAsica em seu computador. Transmitir essas m\xFAsicas pela internet, ent\xE3o, nem pensar. Com a velocidade atual das conex\xF5es \xE9 invi\xE1vel transmitir tais arquivos.

A solu\xE7\xE3o tecnol\xF3gica para driblar esse obst\xE1culo foi o advento da compress\xE3o dos arquivos de \xE1udio. Da mesma forma que voc\xEA pode compactar um arquivo num outro de tamanho menor (texto ou imagem), tamb\xE9m \xE9 poss\xEDvel comprimir arquivos de \xE1udio para tamanhos menores. Isso \xE9 feito eliminando do \xE1udio frequ\xEAncias inaud\xEDveis ou pouco aud\xEDveis por seres humanos e utilizando m\xE9todos de compacta\xE7\xE3o de dados. Um arquivo de \xE1udio comprimido, dependendo de suas caracter\xEDsticas, pode ser mais de dez vezes menor do que o arquivo wav original. \xC9 esse tamanho reduzido que possibilita as r\xE1dios via internet, que nada mais s\xE3o do que transfer\xEAncias de arquivos de \xE1udio comprimido, ao vivo ou n\xE3o.

Os dois formatos de arquivos de \xE1udio comprimidos mais conhecidos s\xE3o o MP3 e o OGG. O MP3 n\xE3o \xE9 um formato em Copyleft (livre) e j\xE1 \xE9 um pouco antigo, enquanto que o OGG \xE9 livre e de maior performance.

Para fazer um arquivo em MP3 ou OGG, \xE9 necess\xE1rio comprimir o \xE1udio original. Para ouvi-lo, \xE9 preciso descompact\xE1-lo, e isso \xE9 feito atrav\xE9s de alguns programas de \xE1udio.

Assim como para o \xE1udio digital do tipo wav tem suas propriedades de amostragem, o \xE1udio comprimido tem sua raz\xE3o de amostragem (bitrate) em kbps (mil bits por segundo) e quando descompactado tamb\xE9m apresenta uma taxa de amostragem de 11,025KHz, 22,05KHz ou 44.1KHz e valores de bits por amostra (bits per sample) de 8 ou 16.

Um \xE1udio comprimido de boa qualidade tem 192kbps de bitrate, sample rate de 44,1KHz e 16 bits per sample. Para transmitir um arquivo desse tipo em "tempo real" pela internet atual ainda \xE9 um pouco complicado, ent\xE3o os valores ideais para uma r\xE1dio via internet s\xE3o bitrate de 16 ou 24kbps, sample rate de 11,025KHz ou 22,05KHz e 16 bits per sample.

Metadados

Os arquivos compacatados em MP3 e OGG ainda possuem uma grande facilidade, conhecidas como metadados (ou etiquetas): s\xE3o ditos metadados por serem informa\xE7\xF5es sobre o \xE1udio como nome da m\xFAsica, nome do artista, \xE1lbum, n\xFAmero da faixa, data da grava\xE7\xE3o. Isso \xE9 muito \xFAtil por possibilitar que esse tipo de informa\xE7\xE3o n\xE3o fique restrita apenas ao nome do arquivo. Voc\xEA pode ter um arquivo de mp3 como o nome birosca.mp3 e mesmo assim ainda armazenar todas essas informa\xE7\xF5es, j\xE1 que os metadados s\xE3o guardados dentro do arquivo de \xE1udio e n\xE3o em seu nome de arquivo. A diante veremos que os metadados s\xE3o utilizados na transmiss\xE3o de \xE1udio pela internet para enviar o nome da m\xFAsica aos ouvintes.

Agora que voc\xEA j\xE1 est\xE1 com uma boa base sobre \xE1udio digital, vamos focar no funcionamento das transmiss\xF5es desse tipo de \xE1udio pela rede.

1 - Transmiss\xE3o ass\xEDncrona

A primeira \xE9 a mais simples e \xE9 a melhor op\xE7\xE3o para quem n\xE3o tem condi\xE7\xF5es de fazer uma r\xE1dio ao vivo, mas sim utilizando arquivos de \xE1udio (mp3 ou outro formato pr\xE9-gravado e armazenado no seu site). Esse m\xE9todo \xE9 conhecido como transmiss\xE3o ass\xEDncrona ou sob demanda.

topologia-assincrona.jpg

Diagrama 2: transmiss\xE3o ass\xEDncrona

Na transmiss\xE3o ass\xEDncrona, os \xE1udios s\xE3o gravados num computador qualquer e em seguida s\xE3o enviados a um servidor de internet, junto com uma lista contendo o nome desses arquivos. Quem quiser escutar algum desses programas simplesmente utiliza um programa de \xE1udio para solicitar esses arquivos diretamente do servidor.

Esse procedimento \xE9 dado em detalhes na Parte Pr\xE1tica.

2 - Transmiss\xE3o s\xEDncrona ou "ao vivo"

A segunda op\xE7\xE3o para webr\xE1dio \xE9 um pouco mais complicada e \xE9 usada para veicular uma r\xE1dio ao vivo pela internet. Pra come\xE7ar, \xE9 preciso de um computador com acesso \xE0 internet e uma placa de som.

Note que "ao vivo" n\xE3o quer dizer no mesmo instante. \xC9 invi\xE1vel ter uma transmiss\xE3o/recep\xE7\xE3o instant\xE2nea. Primeiro porque, no Universo observ\xE1vel, a velocidade m\xE1xima da informa\xE7\xE3o \xE9 a velocidade da luz. No caso da transmiss\xE3o via ondas eletromagn\xE9ticas (r\xE1dio AM, FM, etc) esse limite \xE9 quase atingido, mas no caso da internet existem v\xE1rios fatores que fazer com que hajam at\xE9 tr\xEAs minutos de diferen\xE7a entre a mensagem se enviada e recebida.

Etapas de uma transmiss\xE3o s\xEDncrona

Numa transmiss\xE3o s\xEDncrona, \xE9 poss\xEDvel tanto transmitir m\xFAsicas armazenadas no computador (nos formatos mp3, ogg, etc) quanto veicular \xE1udio externo, que \xE9 inserido na transmiss\xE3o atrav\xE9s da placa de som do computador. Nisto constitui a primeira etapa de uma transmiss\xE3o s\xEDncrona: selecionar as fontes de \xE1udio.

Na segunda etapa, o \xE1udio das fontes \xE9 comprimido e codificado nos formatos mp3 ou ogg. Em seguida, esse \xE1udio em ogg ou mp3 \xE9 enviado ao servidor de webradio.

Do outro lado da transmiss\xE3o est\xE1 o computador do ouvinte, que atrav\xE9s de um programa reprodutor de \xE1udio se conecta ao servidor de webradio, recebe o \xE1udio e faz com que este seja reproduzido no auto-falante do seu computador.

etapas-sincrona.jpg

Diagrama 3: Etapas de uma transmiss\xE3o s\xEDncrona.

Resumindo, podemos dizer que uma transmiss\xE3o s\xEDncrona \xE9 equivalente a produzir e enviar pela internet um arquivo de mp3 (ou similar) em tempo real. A cada etapa do processo h\xE1 um pequeno atraso devido ao processamento dos computadores, \xE0 velocidade da conex\xE3o, etc, que podem fazer com que o intervalo entre a transmiss\xE3o e a recep\xE7\xE3o da informa\xE7\xE3o seja de at\xE9 tr\xEAs minutos. As se\xE7\xF5es seguintes tratam de forma um pouco mais detalhada cada etapa da transmiss\xE3o s\xEDncrona.

Como funciona uma transmiss\xE3o?

Para esclarecer como uma transmiss\xE3o ao vivo funciona, dividiremos esse assunto em duas partes. Primeiro daremos uma vis\xE3o geral da rela\xE7\xE3o entre as transmiss\xF5es, os servidores e os ouvintes (a chamada topologia dessa rede) e em seguida veremos os protocolos utilizados.

Topologia

A transmiss\xE3o de \xE1udio pela internet, ou streaming (correnteza), funciona por meio um programa fonte, que envia o \xE1udio para os servidores, que por sua vez enviam a transmiss\xE3o para os clientes, que s\xE3o os programas de reprodu\xE7\xE3o de \xE1udio.

Um esquema gen\xE9rico \xE9 reproduzido no diagrama abaixo:

topologia-icecast2.jpg

Diagrama 4: Modelo com fontes e servidor

O programa fonte utiliza como fonte de \xE1udio o sinal presente na entrada placa de som e os arquivos de \xE1udio presentes no computador fonte. A mistura desses sinais - a mixagem do sinal da placa de som com os arquivos de \xE1udio - \xE9 ent\xE3o comprimida e codificada no padr\xE3o mpeg (o padr\xE3o mp3) ou ogg. O sinal comprimido \xE9 ent\xE3o enviado para os servidores at\xE9 o servidor de streaming. Um programa fonte pode mandar esse sinal para v\xE1rios servidores diferentes.

Caso o audio que se quer transmitir seja captado pela entrada da placa de som, ele precisar\xE1 ser codificado para um formato digital com taxas de amostragem e qualidade definidas e caso o audio venha de um arquivo digital j\xE1 presente em disco ou de um outro stream, este ter\xE1 de ser codificado/convertido para as taxas de amostragem e qualidade definidas, logo, utilizaremos neste Manual a nomenclatura "encoder" para se referir ao software que ir\xE1 prover o audio para o servidor. No caso do \xE1udio digital que voc\xEA estiver transmitindo tiver taxa de amostragem e qualidades diferentes dos da sua transmiss\xE3o, o encoder far\xE1 a convers\xE3o desses atributos para que o \xE1udio possa ser transmitido. Consulte a se\xE7\xE3o Refer\xEAncia r\xE1pida sobre \xE1udio digital para maiores informa\xE7\xF5es.

Voltando ao diagrama, vemos que um servidor de streaming pode receber v\xE1rias transmiss\xF5es provenientes de diferentes fontes ao mesmo tempo.

No outro lado, vemos que um servidor pode enviar transmiss\xF5es simultaneamente para mais de um cliente. Repare que o cliente 1 pode escolher receber a transmiss\xE3o do computador 1, do computador 2 ou de qualquer outro que esteja transmitindo. O mesmo acontece para o cliente 2 e para todos os outros clientes que estiverem conectados no servidor.

Existe caso especial do diagrama acima, quando o computador fonte tamb\xE9m \xE9 o servidor. Esse tipo de configura\xE7\xE3o n\xE3o \xE9 recomend\xE1vel.

              computador fonte e servidor  
               __________________________
              |___________   __________  |  internet
              |           | |          -->-->-->-->--> cliente 1
toca discos ->| programa  | | programa | |  
cd player   ->|           -->          -->-->-->-->--> cliente 2
toca-fitas  ->|  fonte    | | servidor | |    ...
              |___________| |__________-->-->-->-->--> cliente n
              |__________________________|

   Diagrama 5: Modelo com fonte e servidor na mesma m\xE1quina

Primeiro, porque cada cliente consome um pouco da conex\xE3o do servidor \xE0 internet. Normalmente os locais de onde se vai fazer a transmiss\xE3o n\xE3o tem acesso \xE0 internet r\xE1pida o suficiente para distribuir o sinal para muitos clientes. Um servidor com uma conex\xE3o de 128kbps, por exemplo, suporta enviar um \xE1udio de 24kbps para no m\xE1ximo 5 clientes, um n\xFAmero muito baixo.

Mesmo se a sua conex\xE3o for muito r\xE1pida, ainda assim n\xE3o \xE9 recomend\xE1vel utilizar um computador simultaneamente como fonte e servidor. Um programa fonte consome muito processamento do computador, \xE0s vezes o suficiente para inviabilizar o envio do sinal para muitos clientes. Por outro lado, um computador que apenas \xE9 servidor de \xE1udio quase n\xE3o gasta em termos de processamento, pois tudo que ele tem de fazer \xE9 reenviar aos clientes o sinal recebido pelas fontes.

Por esses motivos existem servidores dedicados, com banda suficiente para abrigar muitas fontes e muitos clientes. Resumindo, esse tipo de configura\xE7\xE3o equilibra os recursos da rede de webr\xE1dios, deixando o processamento computacional no lado das fontes e a capacidade de transmiss\xE3o do lado dos servidores.

Cabe aqui a observa\xE7\xE3o de que existem in\xFAmeras outras formas de se fazer uma rede de webr\xE1dio, mas essa configura\xE7\xE3o \xE9 a mais vi\xE1vel onde existem poucos servidores com conex\xE3o muito r\xE1pida.

Algo que \xE9 poss\xEDvel de se fazer \xE9 utilizar um esquema cliente e servidor num computador com pouca conex\xE3o transmitindo para v\xE1rios servidores tamb\xE9m com conex\xE3o n\xE3o muito r\xE1pida com a internet. Estes ent\xE3o transmitem o \xE1udio para os ouvintes, possibilitando que se fa\xE7a transmiss\xF5es pela internet sem precisar de conex\xE3o extremamente r\xE1pida.

Protocolo

A seguir temos uma r\xE1pida discuss\xE3o sobre os protocolos de comunica\xE7\xE3o usados na internet que pode parecer um pouco sem sentido no contexto de um guia r\xE1pido sobre transmiss\xE3o de \xE1udio. No entanto ela cont\xE9m informa\xE7\xF5es de base para o entendimento da pr\xF3pria rede de computadores. A leitura desta se\xE7\xE3o \xE9 recomendada, mas se voc\xEA estiver com pregui\xE7a pode pul\xE1-la tranquilamente ou ent\xE3o s\xF3 deixar de ler os pr\xF3ximos dois par\xE1grafos.

Protocolos s\xE3o os m\xE9todos pelos quais convencionamos fazer as coisas. No tocante \xE0 computa\xE7\xE3o, os protocolos referem-se a como programas ou computadores conversam entre si. A internet fundamenta-se na fus\xE3o de protocolos conhecida como TCP/IP (Transfer Control Protocol / Internet Protocol). O protocolo resultante \xE9 utilizado em redes onde v\xE1rios computadores conversam entre si ao mesmo tempo. Resumidamente, cada computador possui um n\xFAmero \xFAnico, o n\xFAmero IP. As informa\xE7\xF5es intercambiadas entre os computadores s\xE3o divididas em pacotes e cada pacote \xE9 "jogado" na rede. Cada computador que recebe verifica se o pacote foi endere\xE7ado para si e caso negativo ele passa o pacote para frente, at\xE9 que este chegue ao seu destinat\xE1rio. Existe ainda um avan\xE7ado esquema de controle, checagem de erro e verifica\xE7\xE3o de recebimento de pacotes. Ou seja, o TCP/IP \xE9 apenas um protocolo que cuida para que a informa\xE7\xE3o seja transmitida de um computador para outro at\xE9 chegar a seu destinat\xE1rio e informar ao computador emissor se a mensagem chegou ou se houve algum erro. Chamemos esse tipo de protocolo de protocolo de transporte, pois ele s\xF3 trata da transfer\xEAncia de dados de um computador para outro.

Para que os computadores possam conversar ainda \xE9 preciso definir outro protocolo, um "idioma" que seja transmitido via pacotes TCP/IP, que \xE9 apenas um protocolo de transporte. Existem v\xE1rios protocolos deste tipo, como o FTP (File Transfer Protocol ou Protocolo de Transfer\xEAncia de Arquivos), o HTTP (que veremos adiante, o HTTPS (HTTP Seguro) e muitos outros mais. Chamemos estes de protocolos de conversa ou idioma. O TCP/IP permite que um mesmo computador converse ao mesmo tempo com v\xE1rios outros computadores em v\xE1rios desses idiomas ao mesmo tempo. Isso \xE9 poss\xEDvel gra\xE7as aos n\xFAmeros conhecidos como portas. Funciona da seguinte maneira: para cada protocolo de conversa o TCP/IP reserva uma porta, que nada mais \xE9 do que um n\xFAmero. Quando um programa de computador de uma m\xE1quina deseja conversar com outra em HTTP, esse programa coloca no pacote TCP/IP o n\xFAmero da porta espec\xEDfica a esse protocolo (que por conven\xE7\xE3o \xE9 o n\xFAmero 80 para o HTTP). A seguir esse pacote de informa\xE7\xE3o "cai" na rede e quando chega ao seu destino ele \xE9 enviado ao programa respons\xE1vel pelo programa que conversa naquele idioma de acordo com o n\xFAmero da porta, que nesse exemplo \xE9 a 80 para o HTTP. A rela\xE7\xE3o entre o n\xFAmero da porta e o respectivo protocolo (ou servi\xE7o oferecido) tem uma padroniza\xE7\xE3o que \xE9 muito \xFAtil para a intercomunica\xE7\xE3o entre computadores. Por exemplo, se um programa de FTP quiser conversar com outro computador, ele tentar\xE1 logo de cara a porta 21. Se for HTTP, ele tentar\xE1 80. Isso n\xE3o limita, por exemplo, utilizarmos HTTP em outras portas, como veremos adiante.

O que discutimos at\xE9 aqui \xE9 o funcionamento b\xE1sico da internet. Numa transmiss\xE3o de \xE1udio, o sinal \xE9 transmitido pela internet atrav\xE9s do protocolo HTTP (Hypertext Transfer Protocolo), o mesmo protocolo usado pelos navegadores para transferir arquivos na Web. Como o pr\xF3prio nome diz, inicialmente esse protocolo foi criado para a transfer\xEAncia de arquivos de Hipertexto do tipo HTML da forma como voc\xEA o utiliza quando navega em sites, mas dada a sua simplicidade e efici\xEAncia ele seu uso foi estendido para a transfer\xEAncia de qualquer tipo de arquivos e inclusive \xE1udio e v\xEDdeo. Na Internet, protocolo HTTP \xE9 totalmente dependente do TCP/IP, pois a conversa entre os computadores no "idioma" HTTP \xE9 transmitida atrav\xE9s de pacotes TCP/IP.

Aqui \xE9 suficiente para n\xF3s sabermos que no HTTP s\xF3 existem duas conversas (tamb\xE9m chamadas de m\xE9todos) poss\xEDveis entre dois programas ou dois computadores: o m\xE9todo de receber informa\xE7\xF5es (m\xE9todo GET) e o m\xE9todo de enviar, ou POST.

J\xE1 o m\xE9todo POST \xE9 utilizado quando voc\xEA preenche um formul\xE1rio nalgum site. Desta vez, \xE9 voc\xEA que envia informa\xE7\xF5es e o programa do site apenas recebe.

Para o caso de um \xE1udio pela internet, o protocolo pode ser tranquilamente usado: o computador que faz a transmiss\xE3o utiliza continuamente um m\xE9todo POST e os computadores dos ouvintes continuamente utilizam o m\xE9todo GET para receber a transmiss\xE3o diretamente do servidor. O HTTP normalmente \xE9 usado na porta 80 para a navega\xE7\xE3o em sites e na faixa de portas que vai de 8000 a 8100 para a transmiss\xE3o de \xE1udio.

Resumindo o que foi dito at\xE9 aqui, os computadores comunicam-se por protocolos de conversa que trafegam de um lugar para outro utilizando um protocolo de transporte, ou seja, um protocolo \xE9 encapsulado dentro do outro. Na pr\xE1tica, se voc\xEA quiser acessar um computador na internet, voc\xEA precisa dizer ao seu computador qual \xE9 o n\xFAmero IP do computador alvo e qual protocolo utilizar. Mas existem milh\xF5es de computadores na internet, e consequentemente milh\xF5es de n\xFAmeros IP, ent\xE3o como saberei o n\xFAmero do computador que quero acessar?

A resposta \xE9 que voc\xEA n\xE3o precisa ficar sabendo qual \xE9 o n\xFAmero do computador que voc\xEA quer acessar. Normalmente quando voc\xEA navega pela internet, voc\xEA contacta outros computadores utilizando nomes, como www.midiaindependente.org. Ao fazer isso, seu computador consulta um servidor de nomes. Um servidor de nomes \xE9 um computador especial que cont\xE9m uma tabela de nomes de computadores e respectivos n\xFAmeros IP. Seu computador pergunta qual \xE9 o n\xFAmero IP do computador que possui determinado nome e o servidor de nomes consulta seu banco de dados, enviando de volta a voc\xEA o IP desejado. Em seguida, seu computador pode efetuar a conexao com seu destino utilizando apenas o IP e o protocolo, de acordo com o que foi explicado nos par\xE1grafos anteriores. Isso tudo \xE9 feito de forma transparente ao usu\xE1rio. Existem v\xE1rios servidores de nome espalhados pelo mundo. Normalmente voc\xEA utiliza o servidor de nomes que est\xE1 mais pr\xF3ximo do seu computador.

Resta-nos uma observa\xE7\xE3o sobre o esquema de endere\xE7os utilizado na Internet, tamb\xE9m conhecido com URL (Uniform Resource Locator ou Localizador Uniforme de Recursos). Quando voc\xEA quer acessar um site, voc\xEA costuma digitar algo do tipo http://www.qualquercoisa.seilaoque.org. Esse http avisa o seu navegador para se conectar ao www.qualquercoisa.seilaoque.org usando o protocolo HTTP. Quando isso acontece, o navegador conversa com o programa do site www.qualquercoisa.seilaoque.org e pede para receber o arquivo index.html. Enquanto o navegador recebe esse arquivo ele vai desenhando-o na tela. Se existe um link para o http://www.qualquercoisa.seilaoque.org/links.html, o navegador pede ao programa do site para receber o arquivo link.html. E assim voc\xEA navega pela internet! \xC9 bom lembrar que os caracteres :// podem ser entendidos como os separadores do endere\xE7o. O que vem antes desses caracteres \xE9 o protocolo e o que vem depois \xE9 o endere\xE7o. Existe ainda a possibilidade de especificar a porta que ser\xE1 usada pela conex\xE3o. Veja o esquema completo:

    .--------------------------------> protocolo
   /         .-----------------------> endere\xE7o do site
  |        /           .-------------> porta 
  |       |           /       .------> nome de arquivo ou diret\xF3rio
  |       |           |      /
prot://nome-do-site:porta/nome

Exemplos de URLs (endere\xE7os) s\xE3o:

O que foi passado nessa se\xE7\xE3o j\xE1 \xE9 suficiente para compreender o princ\xEDpio de como n\xE3o s\xF3 as transmiss\xF5es de \xE1udio mas todas as transmiss\xF5es de dados pela Internet s\xE3o feitas.

Buffer

As transmiss\xF5es de \xE1udio em tempo real tem a s\xE9ria desvantagem de serem suscet\xEDveis ao congestionamento da rede, j\xE1 que o ouvinte precisa receber dados da transmiss\xE3o o tempo todo. Para contornar esse problema, os softwares de transmiss\xE3o e recep\xE7\xE3o adotaram um sistema de buffer, um armazentamento que funciona como uma mem\xF3ria contra congestionamento da rede, onde o tocador de \xE1udio recebe alguns segundos da transmiss\xE3o antes de come\xE7ar a tocar. Dessa forma ele sempre ter\xE1 armazenado alguns segundos e caso a transmiss\xE3o interrompa temporariamente a m\xFAsica n\xE3o precisa parar.

Listagem de diret\xF3rio

Uma vez que uma transmiss\xE3o de webradio come\xE7a, as informa\xE7\xF5es sobre ela podem ser enviadas para um servi\xE7o de P\xE1ginas Amarelas (Yellow Pages), sites que funcionam como uma listagem de diret\xF3rio que exibem informa\xE7\xF5es sobre cada r\xE1dio e ainda um link para escut\xE1-las, possibilitando que sua transmiss\xE3o seja automaticamente divulgada num local espec\xEDfico.

Exemplos de p\xE1ginas amarelas s\xE3o os mantidos pelos projetos Icecast, Oddsock e SHOUTcast. Para que um streaming seja listado nas p\xE1ginas amarelas, \xE9 preciso que o servidor esteja configurado para isso.

Envio dos metadados

Al\xE9m dos metadados dos arquivos de \xE1udio que s\xE3o tocados, uma transmiss\xE3o pode ainda ter seus pr\xF3prios metadados, como nome da r\xE1dio, estilo, qualidade, quantos ouvintes est\xE3o recebendo a transmiss\xE3o, etc. Estes dados s\xE3o exibidos nas p\xE1ginas amarelas e alguns deles tamb\xE9m s\xE3o recebidos por quem est\xE1 escutando a r\xE1dio.

Resumindo...

Agora vamos resumir, numa linguagem mais t\xE9cnica, o que vimos at\xE9 agora: quando falamos em "Streaming de audio" estamos nos referindo a uma transmiss\xE3o de audio utilizando uma rede TCP/IP atrav\xE9s do protocolo HTTP. Na t\xE9cnica de streaming abordada aqui s\xE3o utilizadas tr\xEAs inst\xE2ncias de software para termos o streaming realizado: um programa cliente que ir\xE1 prover o audio a ser transmitido, o servidor que ir\xE1 servir o(s) stream(s) e um player para poder reproduzir o stream.

Agora, tendo uma base de \xE1udio digital, de internet e do esquema cliente/servidor de r\xE1dios pela internet, podemos saltar para a Parte Pr\xE1tica!

Parte Pr\xE1tica

Esta se\xE7\xE3o cont\xE9m informa\xE7\xF5es de como ouvir uma transmiss\xE3o de \xE1udio pela internet, de como fazer uma transmiss\xE3o ass\xEDncrona (ou seja, s\xF3 com \xE1udio pr\xE9-gravado) e de como fazer uma transmiss\xE3o ao vivo. Todos esses t\xF3picos abordam o uso de programas de computador que rodam nas plataformas GNU/Linux e Windowz.

Nota sobre Sistemas Operacionais

Antes de descrevermos como ouvir ou transmitir \xE1udio pela rede, segue um pequeno esclarecimento.

Pra fazer ou escutar uma transmiss\xE3o, encorajamos muito para que seja utilizado software livre. O GNU/Linux tem plena funcionalidade para transmiss\xE3o de \xE1udio em "tempo real". Alguns motivos para utilizar o Linux ao inv\xE9s do Windows:

  • O GNU/Linux \xE9 livre

  • Estabilidade: Se voc\xEA pretende fazer transmiss\xF5es durante dias seguidos, \xE9 importante estar rodando um sistema operacional est\xE1vel. O Windows \xE9 bem conhecido por n\xE3o conseguir ficar muitos dias rodando sem travar. Seja sensato.

  • Administra\xE7\xE3o remota: com o Linux voc\xEA pode controlar remotamente o computador que est\xE1 fazendo a transmiss\xE3o, e isso \xE9 ideal quando o computador que est\xE1 fazendo a transmiss\xE3o est\xE1 num local distante.
Existem tr\xEAs distribui\xE7\xF5es de Linux muito f\xE1ceis de instalar e de usar, muito f\xE1ceis mesmo. Se voc\xEAs tem uma boa conex\xE3o com a internet e um gravador de cd, \xE9 s\xF3 baixar uma dessas distribui\xE7\xF5es:

((i))ndymix e Sistem\xE3o

O Indymix \xE9 uma distribui\xE7\xE3o de Linux desenvolvida pelo Time T\xE9cnico do CMI Brasil, tendo como um dos seus objetivos fornecer um sistema operacional plenamente adaptado \xE0 produ\xE7\xE3o de multim\xEDdia. O Indymix j\xE1 vem com os programas necess\xE1rios para transmiss\xE3o de r\xE1dios pela internet. Mais informa\xE7\xF5es sobre o Indymix aqui.

J\xE1 o Sistem\xE3o \xE9 uma distribui\xE7\xE3o de GNU/Linux baseada em Debian feita para ser usada tanto para telecentros quanto para o us\xE1rio dom\xE9stico. O Sistem\xE3o tamb\xE9m j\xE1 vem com os programas de streaming instalados. Mais detalhes na documenta\xE7\xE3o do Sistem\xE3o.

DeMuDi

\xC9 uma outra distribui\xE7\xE3o de GNU/Linux feita especialmente para lidar com \xE1udio e possui v\xE1rios programas para sequenciamento e grava\xE7\xE3o de som.

Dyne:bolic

\xC9 uma distribui\xE7\xE3o de linux feita para grupos e pessoas que mexam com comunica\xE7\xE3o em geral. Ele j\xE1 vem com software pra transmiss\xE3o de \xE1udio e mp3. A configura\xE7\xE3o m\xEDnima pra rodar o dyne \xE9 uma m\xE1quina com 64Mb de RAM. Ele vem num arquivo uns 600MB e pode ser baixado nesse endere\xE7o:

ftp://ibiblio.org/pub/Linux/distributions/dynebolic

(\xE9 s\xF3 baixar esse arquivo, gravar o cd como "imagem" e reiniciar seu computador). O dynebolic n\xE3o precisa ser instaladas no computador: \xE9 s\xF3 colocar o cd no driver e reiniciar sua m\xE1quina. Recomendamos o Dynebolic apenas para usu\xE1rios que j\xE1 tenham algum contato com a plataforma Linux.

Para maiores informa\xE7\xF5es, consulte nosso Tutorial de Linux.

Sou cabe\xE7a-dura e tenho pregui\xE7a

Se por algum motivos voc\xEA quiser fazer com Windows (tem louco pra tudo, n\xE3o \xE9 verdade?), ou se se voc\xEA encontrar dificuldades com o Linux, apele pro Oddcast, pro SHOUTcast ou pro m3w, ambos programas que funcionam em conjunto com o popular Winamp. Numa emerg\xEAncia, n\xE3o perca tempo estudando algo que voc\xEA n\xE3o conhece: utilize o que voc\xEA j\xE1 tem em m\xE3os.

Como ouvir uma transmiss\xE3o pela internet

Voc\xEA pode ter recorrido a esse manual apenas para descobrir como ouvir aquela r\xE1dio que voc\xEA tanto gosta. Claro, isso \xE9 o m\xEDnimo que se espera desse manual. Ent\xE3o a\xED vai.

Para se ouvir um \xE1udio pela internet, \xE9 necess\xE1rio pelo menos um:

  • 486DX4 100MHz
  • 12Mb de mem\xF3ria
  • Placa de som de 16 bits
\xC9 necess\xE1rio tamb\xE9m um conex\xE3o com a rede de pelo menos 33.6kpbs para se poder ouvir uma trabsmiss\xE3o de qualidade mediana (24kbps).

Se voc\xEA n\xE3o entendeu nada do que est\xE1 escrito aqui, n\xE3o se preocupe. Se o seu computador foi fabricado depois de 1997, provavelmente voc\xEA conseguir\xE1 us\xE1-lo para ouvir r\xE1dios via internet.

Endere\xE7os

Certo. Seu computador deve dar pro gasto. Agora vamos falar sobre como se acessa uma r\xE1dio online e em seguida falaremos dos softwares que voc\xEA usar\xE1 para isso. Existem duas formas de se acessar uma r\xE1dio pela internet utilizando qualquer um dos programas de \xE1udio dispon\xEDveis. A primeira consiste em acessar a transmiss\xE3o diretamente pelo seu endere\xE7o; a segunda forma \xE9 utilizar uma arquivo playlist (lista de reprodu\xE7\xE3o).

URL

Como dito na se\xE7\xE3o Protocolo, os endere\xE7os de qualquer coisa na internet seguem uma certa sintaxe. Para o caso de uma r\xE1dio pela internet, o endere\xE7o ser\xE1 algo assim:

    .-----------------------------> protocolo
   /         .--------------------> endere\xE7o do servidor
  |        /        .-------------> porta 
  |       |       /        .------> ponto de montagem
  |       |      |       /
http://servidor:porta/mountpoint

Por exemplo, a transmiss\xE3o da R\xE1dio Muda tem o endere\xE7o http://orelha2.radiolivre.org:8080/muda

ATEN\xC7\xC3O: n\xE3o tente abrir esse endere\xE7o no seu navegador! Apesar de parecer, esse n\xE3o \xE9 o endere\xE7o de um site.

O http \xE9 o protocolo a ser usado para recebermos a transmiss\xE3o. O campo servidor \xE9 o nome do computador onde est\xE1 o servidor de r\xE1dios. No caso da R\xE1dio Muda, o servidor \xE9 orelha2.radiolivre.org. A porta \xE9 o n\xFAmero usado para a transmiss\xE3o de \xE1udio ao vivo, que no caso da Muda \xE9 8080. Normalmente as portas utilizadas para webradio est\xE3o na faixa de 8000 a 8100.

J\xE1 O mountpoint, ou ponto de montagem, \xE9 uma esp\xE9cie de arquivo \xE1udio que conter\xE1 a sua transmiss\xE3o. Cada r\xE1dio que transmite no mesmo servidor tem um ponto de montagem diferente. Por exemplo, a transmiss\xE3o da R\xE1dio Xiado pode estar no http://orelha2.radiolivre.org:8080/xiado ao mesmo tempo que a da Muda estiver no http://orelha2.radiolivre.org:8080/muda

Assim, para escutar uma transmiss\xE3o voc\xEA precisa digitar o endere\xE7o no seu programa de \xE1udio.

Playlist

Uma alternativa ao uso dos endere\xE7os das transmiss\xF5es de \xE1udio s\xE3o as listas de reprodu\xE7\xE3o, ou playlists. Ao inv\xE9s de deixar no meu site um link pra http://orelha2.radiolivre.org:8080/muda que obrigaria o usu\xE1rio a abrir seu programa de \xE1udio e entrar manualmente com este endere\xE7o, simplesmente deixo um link pra um arquivo muda.m3u. Dentro desse arquivo coloco apenas a linha

http://orelha2.radiolivre.org:8080/muda

Normalmente existe uma integra\xE7\xE3o entre o seu navegador e o programa de \xE1udio. Quando voc\xEA est\xE1 no navegador e clica num link para um arquivo m3u, seu navegador pode automaticamente abrir seu programa de \xE1udio e enviar esse arquivo para ele. O programa de \xE1udio ent\xE3o abre o muda.m3u e abre o endere\xE7o de est\xE1 dentro dele. Alternativamente, seu navegador pode perguntar a voc\xEA o que fazer com esse arquivo m3u:

abrir-playlist.jpg

Nesse caso, tudo o que voc\xEA precisa fazer \xE9 selecionar para qual programa seu navegador deve enviar esse arquivo e em seguida clicar em Abrir.

N\xE3o \xE9 mais f\xE1cil do que ter que digitar o endere\xE7o da transmiss\xE3o diretamente no programa de \xE1udio? Uma outra vantagem do uso de listas de reprodu\xE7\xE3o existe para que faz a transmiss\xE3o: se voc\xEA mudar de servidor para transmitir sua r\xE1dio, os ouvintes n\xE3o precisam ficar sabendo disso: basta colocar na playlist o novo endere\xE7o de transmiss\xE3o e pronto!

As vantagens das playlists n\xE3o param por aqui. Como o pr\xF3prio nome diz, uma playlist \xE9 uma lista de reprodu\xE7\xE3o. Voc\xEA pode colocar mais de um endere\xE7o de transmiss\xE3o nessa lista e at\xE9 mesmo endere\xE7os de arquivos mp3!

Por exemplo, um arquivo playlist pode conter as linhas:

http://orelha2.radiolivre.org:8080/muda
http://orelha2.radiolivre.org:8080/submidia
http://orelha2.radiolivre.org:8080/interferencia
http://www.radiolivre.org/files/radiolivre.mp3

Quando seu programa de \xE1udio abre uma lista de reprodu\xE7\xE3o, ele abre o primeiro endere\xE7o e deixa os seguintes numa fila. Se por acaso da transmiss\xE3o da Muda n\xE3o estiver rolando, o programa passa para o pr\xF3ximo da fila (no nosso caso, a transmiss\xE3o do Subm\xEDdia). Se nenhuma das transmiss\xF5es estiver rolando, ele vai tentar abrir o arquivo radiolivre.mp3. Fazendo uma lista desse tipo previne que uma transmiss\xE3o fique "fora do ar".

Voltando \xE0 quest\xE3o das listas de reprodu\xE7\xE3o, existem dois formatos (tipos de arquivo) mais utilizados para uma playlist, o m3u e o pls. Apesar do formato pls ser mais completo que o m3u, ele n\xE3o pode ser considerado como um formato livre (no sentido de software livre) e por essas raz\xF5es encorajamos que apenas o formato m3u seja utilizado. O formato pls fica citado aqui apenas como curiosidade.

Avancemos agora para os programas de reprodu\xE7\xE3o de \xE1udio.

Programas para ouvir r\xE1dios no Linux

Para o Linux, destacaremos o uso do XMMS e do Zinf, dois programas muito f\xE1ceis de utilizar. O XMMS tipicamente vem instalado na maioria das distribui\xE7\xF5es de Linux. J\xE1 o Zinf tememos que tenha de ser instalado manualmente.

Zinf

O Zinf \xE9 um programa reprodutor de \xE1udio muito interessante, j\xE1 que ele funciona tanto em ambient Linux quanto Windows, ou seja, se voc\xEA sabe usar o Zinf voc\xEA tamb\xE9m sabe usar no Windows. Voc\xEA pode baix\xE1-lo a partir do endere\xE7o http://www.zinf.org

zinf1.jpg

Seu uso \xE9 muito simples. Se voc\xEA tem o arquivo m3u correspondente \xE0 transmiss\xE3o da r\xE1dio que voc\xEA quer ouvir, basta clicar em Files e selecionar o arquivo m3u.

Se voc\xEA n\xE3o possuir esse arquivo m3u mas souber qual \xE9 o endere\xE7o da transmiss\xE3o, clique em My Music. Aparecer\xE1 uma janela contendo a sua lista de suas m\xFAsicas.

zinf2.jpg

No lado esquerdo h\xE1 a se\xE7\xE3o My Streams. Clique a\xED com o bot\xE3o direito do seu mouse. Aparecer\xE1 um menu e voc\xEA clicar\xE1 em Add stream.

zinf3.jpg

Na janelinha que aparecer, escreva o nome da r\xE1dio no campo Title e o endere\xE7o da transmiss\xE3o no campo URL. D\xEA OK

zinf4.jpg

Aparecer\xE1, na listagem de suas m\xFAsicas, um atalho para a transmiss\xE3o. Basta clicar l\xE1 duas vezes para que a transmiss\xE3o comece!

XMMS

O XMMS (X Multimedia System) \xE9 um clone para Linux do Winamp. \xC9 um programa feito para ouvir arquivos de \xE1udio, tanto aqueles que se encontram no seu computador quanto os que est\xE3o nesses servidores de stream. O XMMS geralmente j\xE1 vem instalado na maioria das distribui\xE7\xF5es de Linux.

xmms.jpg

Para ouvir uma transmiss\xE3o de \xE1udio pela internet com o XMMS, clique no menu principal (que \xE9 um pequeno bot\xE3o no canto superior esquerdo da janela) e depois em Open Location. Em seguida digite o endere\xE7o da transmiss\xE3o. Voc\xEA tamb\xE9m pode digitar ao mesmo tempo as teclas Ctrl e L que a janela Open Location tamb\xE9m deve aparecer. Na imagem acima, o bot\xE3o do menu est\xE1 em vermelho.

xmms2.jpg

Se a transmiss\xE3o for disponibilizada atrav\xE9s de uma playlist do tipo m3u ou pls, basta clicar, a partir do seu navegador de internet, sobre o respectivo link. Por exemplo, \xE9 s\xF3 clicar em http://www.midiaindependente.org/cmibrasil.m3u que o XMMS dever\xE1 abrir e tentar baixar a transmiss\xE3o a partir do endere\xE7o contido nesse arquivo. Ou ent\xE3o clique no bot\xE3o de abrir arquivos (que parece um bot\xE3o Eject de toca-cds) e selecionar o arquivo m3u, caso este tenha sido salvo por voc\xEA no seu computador.

Programas para ouvir r\xE1dios no Windows

No Windows, recomendamos que voc\xEA use o Zinf ou o Winamp. Ambos podem ser instalados facilmente no seu computador.

Zinf no Windows

O Zinf \xE9 um programa reprodutor de \xE1udio muito interessante, j\xE1 que ele funciona tanto em ambient Linux quanto Windows, ou seja, se voc\xEA sabe usar o Zinf voc\xEA tamb\xE9m sabe usar no Windows. Voc\xEA pode baix\xE1-lo a partir do endere\xE7o http://www.zinf.org

Como o uso do Zinf no Windows \xE9 semelhante ao seu uso no Linux, veja na se\xE7\xE3o Usando o Zinf no Linux como escutar uma transmiss\xE3o pelo Zinf no Windows.

Winamp

O Winamp \xE9 um programa feito para ouvir arquivos de \xE1udio, tanto aqueles que se encontram no seu computador quanto os que est\xE3o nesses servidores de stream.

O Winamp pode ser baixado de http://www.winamp.com e uma vez instalado \xE9 s\xF3 clicar no menu principal (que \xE9 um pequeno bot\xE3o no canto superior esquerdo da janela), depois em Open Location e em seguida digitar o endere\xE7o da transmiss\xE3o. Voc\xEA tamb\xE9m pode digitar ao mesmo tempo as teclas Ctrl e L que a janela Open Location tamb\xE9m deve aparecer.

Se a transmiss\xE3o for disponibilizada atrav\xE9s de uma playlist do tipo m3u ou pls, basta clicar, a partir do seu navegador de internet, sobre o respectivo link. Por exemplo, \xE9 s\xF3 clicar em http://www.midiaindependente.org/cmibrasil.m3u que o Winamp dever\xE1 abrir e tentar baixar a transmiss\xE3o a partir do endere\xE7o contido nesse arquivo. Ou ent\xE3o clique no bot\xE3o de abrir arquivos (que parece um bot\xE3o Eject de toca-cds) e selecionar o arquivo m3u, caso este tenha sido salvo por voc\xEA no seu computador.

Real Player

N\xF3s n\xE3o encorajamos o uso do Real Player. Apesar dele ter suporte \xE0 recep\xE7\xE3o de streaming de mp3, a Real.com n\xE3o possui uma pol\xEDtica muito compat\xEDvel com a filosofia do Software Livre. Apesar de alguns componentes, como o Helix DNA Server serem distribu\xEDdos como Software Aberto, outras partes s\xE3o comercializadas.

Como fazer uma transmiss\xE3o

Nesta se\xE7\xE3o voc\xEA aprender\xE1 a como fazer tanto transmiss\xF5es de \xE1udios pr\xE9-gravados quando uma transmiss\xE3o ao vivo.

1 - Transmiss\xE3o ass\xEDncrona (pr\xE9-gravada)

Conforme dito na se\xE7\xE3o Transmiss\xE3o Ass\xEDncrona da Parte Te\xF3rica, uma transmiss\xE3o pr\xE9-gravada utiliza arquivos de \xE1udio armazenados nalgum computador.

Gravando o \xE1udio

Antes fazer sua r\xE1dio pr\xE9-gravada, \xE9 preciso gravar o \xE1udio. Para isso voc\xEA precisar\xE1 de, no m\xEDnimo, um computador com placa de som e um microfone. Para gravar o \xE1udio, sugerimos que voc\xEA utilize o programa Audacity, que pode ser baixado a partir de http://audacity.sourceforge.net

O Audacity \xE9 um programa que funciona tanto em Windows, Linux ou MacOSX. N\xE3o descreveremos os detalhes de como fazer as grava\xE7\xF5es com esse programa, mas voc\xEA deve encontrar bastante informa\xE7\xE3o de como fazer isso no pr\xF3prio site do Audacity.

Recomendamos apenas para que voc\xEA salve seus arquivos de \xE1udio nos formatos mp3 ou ogg usando apenas 1 canal (monof\xF4nico) e taxa de 16 a 24kbps, para que os arquivos fiquem pequenos o suficiente para serem baixados sem dificuldade pelos ouvintes.

Sinta-se \xE0 vontade para usar o programa de grava\xE7\xE3o de \xE1udio de sua prefer\xEAncia. Aqui fica apenas uma sugest\xE3o. O importante \xE9 deixar o \xE1udio com uma qualidade de grava\xE7\xE3o relativamente baixa ( 16kbps mono) para que ele ocupe pouco espa\xE7o e possa ser baixado rapidamente.

Enviando o \xE1udio para o servidor

O pr\xF3ximo cap\xEDtulo na hist\xF3ria de uma r\xE1dio pr\xE9-gravada \xE9 enviar os \xE1udios para o servidor. Isso pode ser feito da mesma maneira pela qual voc\xEA usualmente envia os arquivos para o seu site, que pode ser via FTP, HTTP (pelo navegador web) ou via SSH. Em caso de d\xFAvidas nisso, contate as pessoas respons\xE1veis pelo servidor onde est\xE1 o seu site.

Criando sua r\xE1dio

Considerando que voc\xEA j\xE1 gravou os \xE1udios e j\xE1 os enviou para o seu site, s\xF3 falta juntar o endere\xE7o de todos esses arquivos numa \xFAnica lista, um endere\xE7o de arquivo por linha. Essa lista deve ser um arquivo com extens\xE3o .m3u (biboca.m3u, por exemplo) que contenha os arquivos a serem executados, um por linha.

Por exemplo, o arquivo pode consistir das seguintes linhas:

http://biboca.sampa.org/campanhas/educacaoalimentar.mp3
http://biboca.sampa.org/campanhas/direitodasmulheres.mp3
http://biboca.sampa.org/campanhas/funk.mp3

\xC9 importante que cada linha contenha o endere\xE7o completo do arquivo. Colocar simplesmente funk.mp3 ao inv\xE9s de http://biboca.sampa.org/campanhas/funk.mp3 n\xE3o vai funcionar, j\xE1 que nesse caso programa de \xE1udio do ouvinte tentar\xE1 acessar o arquivo funk.mp3 a partir do computador do ouvinte, e n\xE3o do site do biboca. Para maiores detalhes de como funciona essa lista, consulte a se\xE7\xE3o Playlist.

Em seguida, depois de ter criado a playlist, tudo o que voc\xEAs precisam fazer \xE9 divulgar o endere\xE7o da r\xE1dio de voc\xEAs, que dever\xE1 ser algo do tipo http://biboca.sampa.org/radio/biboca.m3u caso voc\xEAs coloquem o arquivo biboca.m3u no diret\xF3rio radio do site.

Para que isso funcione, n\xE3o esque\xE7a de contatar o administrador do seu site perguntar a ele se os seguintes MIME types est\xE3o presentes nas configura\xE7\xF5es do servidor web:

audio/x-mpeg .mp3
audio/x-mpegurl .m3u

Lembre-se de coloar os metadados de cada arquivo mp3 ou ogg, que assim a cada m\xFAsica que tocar na r\xE1dio o ouvinte receber\xE1 em seu tocador o respectivo nome, artista, etc.

Como ouvir essa r\xE1dio

Uma vez que voc\xEA fez todo esse procedimento, basta seguir as instru\xE7\xF5es de Como ouvir uma transmiss\xE3o pela Internet para testar se a sua r\xE1dio est\xE1 funcionando.

2 - Transmiss\xE3o ao vivo

Na transmiss\xE3o ao vivo, o \xE1udio que toca na sua placa de som \xE9 enviado em "tempo real" para um servidor de webr\xE1dio e de l\xE1 distribu\xEDdo na hora para todos os ouvintes. No pr\xF3ximo t\xF3pico voc\xEA ver\xE1 o procedimento geral de como fazer uma r\xE1dio pela web e em seguida daremos um pouco mais de detalhamento.

Transmiss\xE3o ao vivo em 10 minutos

Aqui vai um pequeno e r\xE1pido roteiro pra fazer uma webr\xE1dio em alguns minutos, sem se perder com considera\xE7\xF5es te\xF3ricas.

1) Voc\xEA precisar\xE1 de computador, placa de som e conex\xE3o \xE0 internet

2) Voc\xEA tem que decidir que tipo de r\xE1dio ser\xE1 a sua. Ser\xE1 s\xF3 de mp3? Ser\xE1 mp3 + \xE1udio externo (toca-discos, mixer, microfone, etc)?

3) Se a r\xE1dio tiver \xE1udio externo, voc\xEA deve lig\xE1-lo \xE0 placa de som com cabo de \xE1udio. Se voc\xEA tem um microfone, mesa de som ou outra fonte de \xE1udio, ligue-a na entrada de linha (line in) da placa de som.

4) Ajuste o volume do som do seu computador utilizando um controle de volume.

5) Teste fazer uma grava\xE7\xE3o de \xE1udio no computador com o programa que voc\xEA costuma usar, apenas para saber se a placa de som est\xE1 funcionando corretamente.

6) Em seguida, voc\xEA precisar\xE1 de um programa de webr\xE1dio e os dados do servidor para o qual voc\xEA vai mandar o sinal. Voc\xEA precisa das seguintes informa\xE7\xF5es sobre o servidor:

a) endere\xE7o do servidor
b) porta da conex\xE3o
c) tipo de servidor
d) ponto de montagem
e) senha

7) Al\xE9m disso, voc\xEA precisa saber qual ser\xE1 a qualidade do \xE1udio da sua transmiss\xE3o. para que ele n\xE3o fique muito pesado pra baixar, sugiro algo como 16kbps Mono ou 24kbps Mono.

8) Agora escolha qual programa voc\xEA usar\xE1. Aqui listamos as possibilidades:

a) Se voc\xEA usa Linux, tente primeiro o Darkice/Darksnow
b) Se voc\xEA usa Linux e achou o Darkice dificil, tente o Oddcast
c) Em \xFAltimo caso, se voc\xEA usa Linux tente o MuSE

d) Se voc\xEA usa Window$ e n\xE3o pretende utilizar m\xFAsicas em mp3 na sua transmiss\xE3o, use o m3w
e) Se voc\xEA usa Window$ e quer utilizar arquivos de mp3, use o Oddcast
f) Em \xFAltimo caso, use o SHOUTcast, que \xE9 muito limitado quanto aos tipos de servidor que ele suporta.

9) Se voc\xEA n\xE3o tem um servidor para sua r\xE1dio, n\xE3o se desespere! Em muitos casos, \xE9 poss\xEDvel encontrar servidores livres na Internet que permitem que voc\xEA envie seu stream para ele servir. Nesse caso, para se realizar o stream s\xF3 \xE9 necess\xE1rio ajustar o encoder para transmitir para esse servidor, poupando a parte da configura\xE7\xE3o do servidor.

N\xE3o \xE9 o objetivo deste manual indicar quais s\xE3o os provedores e sites que oferecem o servi\xE7o de transmiss\xE3o por \xE1udio via internet. Isso voc\xEA ter\xE1 de fazer por conta pr\xF3pria ou ent\xE3o dar uma olhada na se\xE7\xE3o Montando um servidor de Webradio. Lembre-se que se sua r\xE1dio tiver poucos ouvintes e sua conex\xE3o \xE9 de banda larga, ent\xE3o muito provavelmente voc\xEA poder\xE1 rodar seu pr\xF3prio servidor. Voc\xEA pode inclusive rodar v\xE1rios servidores em conex\xF5es diferentes para distribuir o uso da bada, e com isso ser capaz de suportar mais ouvintes smile

10) Como instalar e configurar cada um desses programas pode ser visto nas se\xE7\xF5es espec\xEDficas. O que \xE9 importante voc\xEA saber \xE9 quais s\xE3o as op\xE7\xF5es de servidor existentes.

a) Endere\xE7o do servidor: pode ser qualquer coisa, tipo http://provedor.radios.net
b) Porta da conex\xE3o: normalmente fica na faixa de 8000 a 8100
c) Tipo de servidor: pode ser Shoutcast, Icecast ou Icecast2
d) Ponto de montagem: esse ser\xE1 o arquivo em que sua transmiss\xE3o ser\xE1 acessada pelos ouvintes. Normalmente pode ser qualquer nome escolhido por quem faz a transmiss\xE3o. Por exemplo, se o seu ponto de montagem for minharadio, seu servidor for http://meu.servidor.net e a porta for 8000, possivelmente sua transmiss\xE3o ser\xE1 http://meu.servidor.net:8000/minharadio
e) senha: bom, pode ser qualquer coisa... o administrador do servidor dever\xE1 pass\xE1-la pra voc\xEA.

Consulte o administrador do servidor para saber quais as informa\xE7\xF5es voc\xEA precisa.

11) Configure seu programa de acordo com suas especifica\xE7\xF5es, com os dados do servidor e com a qualidade do \xE1udio desejada (16 ou 24kbps Mono). Depois, \xE9 s\xF3 se conectar ao servidor e enviar o endere\xE7o da sua transmiss\xE3o para todo mundo ouvir!

Boa Sorte!

Requisitos de Hardware:

Lembramos que os softwares de encoder e o servidor podem rodar na mesma m\xE1quina. Se for o seu caso, utilize uma m\xE1quina que seja superior tanto como encoder quanto como servidor.

Abordaremos somente os pr\xE9-requisitos necess\xE1rios para um PC ou compat\xEDvel, mas grande parte, sen\xE3o todo este Manual pode ser aproveitado para outras plataformas (como Macintosh, Sparc, Alpha, etc), desde que n\xE3o rodem Windowz, claro smile

Para se fazer uma transmiss\xE3o com qualidade m\xE9dia (24kpbs, 22050Hz, stereo) \xE9 necess\xE1rio no m\xEDnimo:

  • Pentium 133MHz ou compat\xEDvel
  • 24Mb de mem\xF3ria
  • Placa de som de 16 bits
\xC9 necess\xE1rio tamb\xE9m que a m\xE1quina tenha conectividade. Caso se queira transmitir para um servidor na internet, \xE9 altamente recomendado um conex\xE3o de banda larga, como ADSL, mas \xE9 poss\xEDvel fazer uma transmiss\xE3o utilizando conex\xE3o discada (56kbps).

Transmiss\xF5es low-fi e hi-fi

Se voc\xEA possui internet banda larga, alguns programas permitir\xE3o que voc\xEA fa\xE7a mais de uma transmiss\xE3o a partir do mesmo sinal de \xE1udio, permitindo que voc\xEA fa\xE7a uma transmiss\xE3o de alta qualidade (56kbps, por exemplo) para usu\xE1rios de banda larga e outra com qualidade menor, digamos 24 ou 16kbps, para usu\xE1rios de linha discada.

Montando seu est\xFAdio

Voc\xEA pode estar planejando colocar sua R\xE1dio Livre ou Comunit\xE1ria transmitindo tamb\xE9m pela internet, pensando em apenas fazer transmiss\xF5es caseiras ou querendo um verdadeiro est\xFAdio de webr\xE1dio. Existem est\xFAdios para todos os gostos e bolsos. Neste t\xF3pico v\xE3o algumas dicas de como ligar a aparelhagem j\xE1 existente na sua r\xE1dio para transform\xE1-la tamb\xE9m numa r\xE1dio via internet.

O primeiro fator determinante nisso \xE9 a qual dist\xE2ncia fica a conex\xE3o \xE0 internet do est\xFAdio da sua r\xE1dio FM. Se no est\xFAdio h\xE1 conex\xE3o, ent\xE3o o problema est\xE1 resolvido e voc\xEA pode deixar o computador bem perto da mesa de som ou do mixer e a\xED voc\xEA poder\xE1 tanto fazer transmiss\xF5es pela internet quando baixar transmiss\xF5es de outras r\xE1dios. Se a conex\xE3o fica longe do est\xFAdio, a \xFAnica possibilidade que voc\xEA tem \xE9 captar sua transmiss\xE3o FM com um receptor comum e inser\xED-la na entrada de sua placa de som para que ela possa ser veiculada na rede.

Outro fator \xE9 a capacidade da sua conex\xE3o. Muitas r\xE1dios encontram-se constantemente em dificuldades financeiras e n\xE3o tem como pagar uma conex\xE3o de banda larga. Isso n\xE3o \xE9 o fim da linha. Por pre\xE7os mais em conta \xE9 poss\xEDvel fazer transmiss\xF5es usando conex\xE3o discada (telefone) nos hor\xE1rios nos quais as tarifas s\xE3o mais baratas. N\xE3o importa se sua r\xE1dio s\xF3 tem transmiss\xF5es pela net aos s\xE1bados \xE0 tarde, domingos ou madrugadas: o que importa \xE9 que ela faz transmiss\xF5es.

Em seguida, voc\xEA pode definir a quantidade de computadores que seu est\xFAdio vai precisar. Com um computador mediano (Pentium II 233MHz, 64MB RAM) j\xE1 d\xE1 para fazer tranquilamente a transmiss\xE3o e em alguns casos (dependendo do programa de stream) tocar mp3 ao mesmo tempo. Se voc\xEA conseguir um outro computador de menor capacidade (como um Pentium 133MHz, 32MB RAM) voc\xEA ter\xE1 mais liberdade ainda: no computador mais lento voc\xEA roda o programa de stream e com o mais r\xE1pido voc\xEA toca e edita \xE1udio. Com tr\xEAs computadores ent\xE3o, voc\xEA pode fazer transmitir pela internet, receber transmiss\xF5es e ainda tocar mp3 ou ogg! \xC9 ainda poss\xEDvel ter apenas um computador com duas placas de som ligado \xE0 internet. Uma placa de som mandar \xE1udio para a esta\xE7\xE3o de r\xE1dio e outra recebe o \xE1udio da esta\xE7\xE3o para fazer a transmiss\xE3o pela internet.

Abaixo colocaremos diagramas de tipos de est\xFAdio que voc\xEA pode montar.

estudio1.jpg

O esquema mais batato

estudio2.jpg

O esquema com internet longe do est\xFAdio.

estudio3.jpg

O esquema "remediado", com internet no est\xFAdio

esquemacaro.jpg

Um esquema caro, com dois computadores.

estudio4.jpg

O esquema inteligente, com apenas um computador com duas placas de som e internet no est\xFAdio.

Ligando o cabo de \xE1udio na sua placa de som

N\xE3o importa como ser\xE1 a montagem do seu est\xFAdio, voc\xEA ter\xE1 que ligar seu mixer, seu aparelho de som ou apenas um microfone na entrada de \xE1udio da placa de som. Olhando atr\xE1s do seu computador, voc\xEA dever\xE1 ver pequenas entradas circulares, normalmente coloridas:

soundcard.jpg
fonte: http://walnutdesign.com/support/audio-help/soundcard.htm

Se voc\xEA viu algo do tipo, \xE9 a sua placa de som. Na foto, o buraco azul \xE9 onde voc\xEA colocar\xE1 o sinal a ser transmitido e no buraco verde (sa\xEDda sem amplifica\xE7\xE3o) ou preto (sa\xEDda amplificada) voc\xEA ligar\xE1 suas caixas de som.

Agora vamos \xE0s liga\xE7\xF5es. Existem tr\xEAs tipos de plugues que voc\xEA precisa conhecer:

mini.jpg

Plugue P2 ("Bananinha")

phono.jpg

Plugue P10 ("Banana" ou "Universal")

rca.jpg

Plugue RCA

fonte: http://ansel.his.duq.edu/mm579/

As entradas e sa\xEDdas da sua placa de som s\xE3o do tamanho P2, ent\xE3o \xE9 esse tipo de cabo que voc\xEA vai precisar ( P2 stereo). Mas pode acontecer que a sa\xEDda do seu aparelho de som, do seu mixer ou do microfone n\xE3o seja P2. Sa\xEDdas de mixer costumam ser RCA e ent\xE3o voc\xEA precisar\xE1 comprar ou montar um adaptador ou cabo h\xEDbrido. Utilize sempre cabos stereo mesmo que sua transmiss\xE3o pela web seja mono. Cabos stereo s\xE3o aqueles com duas borrachinhas ao redor da parte met\xE1lica. Cabos monof\xF4nicos possuem apenas uma borrachinha ao redor da parte met\xE1lica.

ATEN\xC7\xC3O: jamais ligue a sa\xEDda de um amplificador na sua placa de som, isso poder\xE1 danific\xE1-la.

Softwares de transmiss\xE3o

Antes de come\xE7ar essa se\xE7\xE3o, \xE9 bom esclarecer logo de cara que atualmente n\xE3o existe o software ideal de transmiss\xE3o de \xE1udio pela internet. Nenhum deles re\xFAne todas as op\xE7\xF5es dispon\xEDveis, o que um faz outro n\xE3o faz. A seguir falaremos de cada um desses softwares, suas caracter\xEDsticas e limita\xE7\xF5es, para que voc\xEA possa escolher o que \xE9 melhor para sua r\xE1dio. Na d\xFAvida, instale todos esses programas ou pe\xE7a para algu\xE9m que entenda do assunto instalar para voc\xEA. Nenhum desses programas ocupa muito espa\xE7o no computador e podem tranquilamente ficar instalados.

E antes de come\xE7ar a testar esses programas, coloque um sinal na placa de som e experimente gravar algum \xE1udio utilizando seu programa favorito. Aproveite para deixar os volumes regulados, utilizando para isso um mixer. Agora sim, vamos aos programas!

Usando o Linux

O Linux tem um bom suporte \xE0 tecnologia de streaming de \xE1udio. Destacaremos aqui apenas qutaro programas diferentes para fazer sua esta\xE7\xE3o: o Darkice, que ser\xE1 usado em conjunto com o Darksnow, o Oddcast e o MuSE.

Darkice / Darksnow

O Darksnow \xE9 de certa forma o software padr\xE3o do projeto radiolivre.org. Ele funciona em conjunto com um dos melhores programas de transmiss\xE3o de \xE1udio, o Darkice. O Darksnow cuida da configura\xE7\xE3o da sua r\xE1dio e o Darkice faz a transmiss\xE3o. Para transmitir arquivos de audio armazenados no seu computador, ou para mixar entradas da placa de som com audio armazenados ou produzidos em tempo real no computador \xE9 necess\xE1rio usar o Jack.

Abaixo est\xE3o fotos do Darksnow em a\xE7\xE3o.


darksnow1.png


darksnow2.png


darksnow3.png


darksnow4.png

A instala\xE7\xE3o do darksnow \xE9 muito simples num sistema Debian. Basta que voc\xEA baixe o pacote mantido por Alexandre Amorim da R\xE1dio FACED e instale-o. Pra isso, abra um terminal e digite:

wget http://twiki.ufba.br/twiki/pub/RadioFACED/ComoFunciona/darksnow_0.5.2-1_i386.deb

su # em seguida digite sua senha de administador
apt-get update
apt-get install darkice
dpkg -i darksnow_0.5.2-1_i386.deb

Para iniciar o darksnow, basta executar o comando

darksnow

Darkice + Darksnow + Jack

O Jack \xE9 um servidor de \xE1udio para a plataforma GNU/Linux que permite conectar diversas entradas de \xE1udio com todas as sa\xEDdas de \xE1udio do seu computador. No Jack, as entradas e sa\xEDdas n\xE3o s\xE3o apenas as dispon\xEDveis na sua placa de som, mas sim tamb\xE9m as entradas e sa\xEDdas de qualquer programa de \xE1udio que possua suporte ao Jack. Desse modo, \xE9 poss\xEDvel com apenas uma placa de som transmitir mp3 do computador, a entrada de \xE1udio da sua placa de som e ainda a sa\xEDda de algum programa de sequenciamento de batidas, como o Hydrogen, por exemplo.

A instala\xE7\xE3o do Jack ainda n\xE3o \xE9 uma tarefa muito simples, por\xE9m existem algumas distribui\xE7\xF5es de GNU/Linux que j\xE1 vem com ele instalado e configurado, como o DeMuDi.

Para rodar o darksnow/darkice com o Jack e ter todos os benef\xEDcios associados \xE0 essa combina\xE7\xE3o, \xE9 necessario ter o jack instalado, o qjackctl, o darkice 0.15 ou superior compilado com suporte ao jack, e o darksnow 0.5.1 ou superior.

Para voc\xEA poder transmitir audio de um arquivo do teu disco, \xE9 necessario que um programa de audio externo reproduza o arquivo e, atrav\xE9s do jack ele ir\xE1 se conectar ao darksnow/darkice, portanto, instale pelo menos o plugin xmms-jack, ou xmms-jackasyn para o xmms, por exemplo.


darksnow_jack-peq.png
Darksnow transmitindo a m\xFAsica do XMMS.

O \xFAnico problema de fazer o streaming a partir do jack \xE9 que a transmiss\xE3o deve usar o mesmo samplerate que o Jack est\xE1 usando e a mesma raz\xE3o de bits da placa de som.

Voc\xEA encontra nestes endere\xE7os informa\xE7\xF5es mais detalhadas de como instalar o Darksnow e o Darkice: http://darkice.sourceforge.net e http://darksnow.radiolivre.org

Oddcast


odd.png


odd3.png


odd2.png


odd1.png

MuSE

O MuSE - Multiple Stream Engine - \xE9 um software que essencialmente mistura at\xE9 seis canais de \xE1udio com regulagem de volume independente - tanto \xE1udio da placa de som quanto mp3 e ogg ou at\xE9 mesmo de outra webradio - e permite que o sinal resultante seja transmitido pela internet. O MuSE pode ser considerado um software muito promisso por causa de toda essa integra\xE7\xE3o num \xFAnico programa. Hoje ele ainda se encontra num est\xE1gio de desenvolvimento, o que deixa o MuSE um programa ainda muito inst\xE1vel, isto \xE9, ele pode travar bastante. Mesmo assim encorajamos as pessoas a tentarem usar o MuSE.

muse.jpg

Usando o Windows

Para transmitir via Windows (argh!) voc\xEA precisar\xE1 do programa m3w ou do Winamp usado em conjunto com o Oddcast ou com o SHOUTcast.

Usando o m3w

1 - Baixe o m3w em http://m3w.sourceforge.net/ e instale-o.

Janela principal do m3w:
m3w1.png

2 - Abra o m3w e v\xE1 no menu Options - Soundcard e selecione sua placa de som como entrada de \xE1udio

m3w2.png

3 - V\xE1 no menu Options - Broadcast e preencha os campos conforme a outra imagem em anexo. No campo senha, digite a senha do servidor.

m3w3.png

4 - Fa\xE7a o mesmo para Options - Encoder

m3w4.png

5 - Agora coloque algo para tocar: V\xE1 em Options - Add Input e escolha um arquivo mp3 pra tocar.

5 - De volta \xE0 tela principal do programa, clique no \xEDcone que \xE9 uma antena transmitindo ondas vermelhas. Isso far\xE1 com que o programa conecte-se ao servidor.

6 - Quando o programa estiver conectado (vide barra de status na parte de baixo da janela), clique no bot\xE3o Play da se\xE7\xE3o Soundcard. Isso far\xE1 com que o \xE1udio da sua placa de som comece a ser enviado para o servidor.

OBSERVA\xC7\xC3O: O m3w \xE9 um \xF3timo programa e tem uma \xFAnica limita\xE7\xE3o, que \xE9 a incapacidade de fazer o que chamamos de re-sampling de arquivos de \xE1udio. Isso quer dizer que se voc\xEA estiver fazendo uma transmiss\xE3o a 16kbps mono e deseja tocar um arquivo de 192kbps stereo, o m3w simplismente vai ignorar sua configura\xE7\xE3o de 16kbps mono e ir\xE1 transmitir a 192 ao inv\xE9s de converter esse arquivo de \xE1udio para um formato adequado. Por isso s\xF3 recomendamos utilizar o m3w quando sua transmiss\xE3o n\xE3o usar\xE1 arquivos mp3, mas apenas a entrada de sua placa de som. Se voc\xEA quiser insistir, uma solu\xE7\xE3o para contornar este problema \xE9, antes de come\xE7ar sua transmiss\xE3o, selecionar previamente os arquivos de \xE1udio a serem usados e convert\xEA-los para o formato wav na taxa de amostragem e n\xFAmero de canais desejado (no nosso exemplo, 16kbps mono). Alternativamente voc\xEA pode converter seus \xE1udios originais em wav e logo em seguida codific\xE1-los em mp3 na taxa de amostragem e n\xFAmero de canais desejado.

Oddcast no Windows

Um plugin \xE9 um pequeno programa ou acess\xF3rio que, quando adicionado ao programa principal, possibilita este de executar algumas tarefas que ele n\xE3o foi programado para faz\xEA-las. Em especial, plugins para programas de \xE1udio funcionam como sistemas de som. Voc\xEA pode comprar um toca cds humilde e junt\xE1-lo a um bom equalizador e a caixas de som e amplificadores, n\xE3o pode? Com os plugins \xE9 a mesma coisa.

Existem dois plugins pro Winamp que fazem transmiss\xE3o via internet: o SHOUTcast DSP e o Oddcast que transforma o Winamp, al\xE9m de reprodutor, um cliente que envia o \xE1udio para o servidor de stream.

Para instalar o Oddcast, siga as instru\xE7\xF5es:

1 - Primeiro baixe o LAME, software que faz mp3: http://www.mp3-tech.org/software/encoders/lamewin32.exe

2 - Para usar o Oddcast, baixe-o no endere\xE7o http://www.oddsock.org/tools/oddcastv2_wa2/ e instale-o no mesmo diret\xF3rio que o seu Winamp 2 est\xE1 instalado (n\xE3o use o Winamp 3!).

3 - Abra o menu de prefer\xEAncias do Winamp e selecione o plugin do oddcast.

4 - Abra as configura\xE7\xF2es do Oddcast e configure sus tr\xEAs se\xE7\xF5es (geral, encoder e server).

SHOUTcast

Considerando que voc\xEA esteja com o Winamp 2.x instalado, baixe o plugin SHOUTcast DSP a partir de http://www.shoutcast.com. Agora vamos executar o programa de instala\xE7\xE3o do SHOUTcast passo a passo:

  • Rode o programa de instala\xE7\xE3o do Plugin SHOUTcast DSP

  • Depois que o plugin foi instalado, abra o Winamp

  • Em seguida, entre na janela de Prefer\xEAncias digitando as teclas Ctrl e P.. Aparecer\xE1 a janela de Prefer\xEAncias.

  • Clique na se\xE7\xE3o DSP/Effect que est\xE1 no painel esquerdo dessa janela.

  • Selecione o Plugin 8SHOUTcast Source DSP*. Quando voc\xEA fizer isso, dever\xE1 aparecer uma janela com o nome SHOUTcast source.

  • Feche o menu de prefer\xEAncias do Winamp clicando no bot\xE3o Close na janela de prefer\xEAncias.

  • Volte para a janela SHOUTcast source e clique na se\xE7\xE3o Input.

  • Clique na se\xE7\xE3o Input e certifique-se que o Input Device (Dispositivo de Entrada) correto esteja selecionado (normalmente \xE9 o pr\xF3prio Winamp ou ent\xE3o a placa de som do seu computador).

  • V\xE1 na se\xE7\xE3o Encoder, selecione Encoder 1 e selecione a taxa de bits (bitrate) apropriada. Normalmente 16 ou 24 kbps s\xE3o bons valores. As op\xE7\xF5es para uma transmiss\xE3o mono est\xE3o abaixo das de est\xE9reo.

  • Clique na se\xE7\xE3o Output e ent\xE3o selecione Output 1.

  • Clique no bot\xE3o Connection para entrar com as informa\xE7\xF5es sobre o servidor de webradio no qual voc\xEA ir\xE1 se conectar. Preencha os campos Address, Port number, Password e selecione Encoder 1.

  • Opcionalmente, selecione o campo Automatic Reconnection on Connection Failure, para que a transmiss\xE3o seja automaticamente estabelecida caso ela tenha sido quebrada.

  • Clique no bot\xE3o Yellowpages e entre com a descri\xE7\xE3o da sua transmiss\xE3o. Nesses campos voc\xEA pode colocar qualquer coisa, como o nome da sua r\xE1dio, etc.

  • Se voc\xEA quiser que o SHOUTcast conecte ao servidor quando o Winamp \xE9 iniciado, selecione a op\xE7\xE3o Connect at Startup.

  • Pronto, agora \xE9 s\xF3 clicar em Connect que a transmiss\xE3o dever\xE1 come\xE7ar!

Durante a sua transmiss\xE3o

Quando voc\xEA iniciar a transmiss\xE3o, entre nalgum bate-papo, como por exemplo bate-papo do CMI, e pe\xE7a pra algu\xE9m testar pra voc\xEA. Pergunte qual m\xFAsica a pessoa est\xE1 ouvindo, pois geralmente quando a transmiss\xE3o n\xE3o funciona os clientes s\xE3o redirecionados pra pr\xF3xima que esteja na mesma porta. Pergunte tamb\xE9m se o volume, equaliza\xE7\xE3o, ganho, etc est\xE3o ok. Se voc\xEA n\xE3o puder entrar no bate-papo, pe\xE7a para algu\xE9m tentar escutar a transmiss\xE3o a partir de outro computador.

Montando um servidor de Webradio

Muito provavelmente voc\xEA procura por um servidor de webradio para usar na sua transmiss\xE3o e apesar de fazer uma busca n\xE3o encontrou muita coisa. Realmente existem muitos servidores desse tipo, quase nenhum deles oferecendo servi\xE7o gratuito de transmiss\xE3o.

A solu\xE7\xE3o, no seu caso, \xE9 rodar um servidor na sua conex\xE3o com a internet ou ent\xE3o rodar v\xE1rios servidores em v\xE1rias conex\xF5es com a internet diferentes e junt\xE1-los numa mesma rede, possibilitando que mais ouvintes consigam acessar seu sinal. Para isso, leia nosso guia Montando um Servidor de Webradio.

Maiores informa\xE7\xF5es

Se voc\xEA est\xE1 com d\xFAvidas ou dificuldades para fazer sua pr\xF3rpia r\xE1dio, escreva para a lista de discuss\xE3o do Coletivo T\xE9cnico do projeto http://www.radiolivre.org, tech@radiolivre.org.

Sobre este manual

Este manual foi escrito por Rhatto (rhatto@riseup.net) com a colabora\xE7\xE3o de Rafael Diniz (rafael@riseup.net). Os belos gr\xE1ficos foram produzidos pela Erica ericapda@yahoo.com.br) e os desenhos \xE0 l\xE1pis s\xE3o do Rhatto.

Copyright (c) Rizoma de R\xE1dios Livres e autores/as acima citados/as. \xC9 garantida a permiss\xE3o para copiar, distribuir e/ou modificar este documento sob os termos da Licen\xE7a de Documenta\xE7\xE3o Livre GNU (GNU Free Documentation License), Vers\xE3o 1.2 ou qualquer vers\xE3o posterior publicada pela Free Software Foundation; sem Se\xE7\xF5es Invariantes, Textos de Capa Frontal, e sem Textos de Quarta Capa. Uma c\xF3pia da licen\xE7a \xE9 inclu\xEDda na se\xE7\xE3o intitulada "GNU Free Documentation License".

Refer\xEAncias / A escrever

traduzir -> http://www.radiovague.com/howtos/broadcast/macosxmuse/ ogg para windows -> http://www.illiminable.com/ogg/

-- SilvioRhatto - 17 Apr 2006
-- SilvioRhatto - 02 May 2007 - Mudan\xE7a da licen\xE7a

Topic attachments
I Attachment Action Size Date Who Comment
abrir-playlist.jpgjpg abrir-playlist.jpg manage 18 K 25 Mar 2004 - 14:14 UnknownUser Abrir lista de reprodu\xE7\xE3o
darksnow-0.6.1.tar.gzgz darksnow-0.6.1.tar.gz manage 60 K 26 Dec 2006 - 21:10 UnknownUser darksnow 0.6.1
darksnow1.pngpng darksnow1.png manage 14 K 18 Jun 2004 - 13:56 UnknownUser  
darksnow2.pngpng darksnow2.png manage 27 K 18 Jun 2004 - 13:57 UnknownUser  
darksnow3.pngpng darksnow3.png manage 20 K 18 Jun 2004 - 13:57 UnknownUser  
darksnow4.pngpng darksnow4.png manage 16 K 18 Jun 2004 - 14:02 UnknownUser  
darksnow_jack-grande.pngpng darksnow_jack-grande.png manage 995 K 17 Jun 2005 - 08:41 UnknownUser  
darksnow_jack-peq.pngpng darksnow_jack-peq.png manage 272 K 17 Jun 2005 - 08:38 UnknownUser  
digitalizacao.jpgjpg digitalizacao.jpg manage 25 K 17 Apr 2006 - 20:11 UnknownUser  
esquemacaro.jpgjpg esquemacaro.jpg manage 15 K 27 Mar 2004 - 14:20 UnknownUser  
esquemainteligente.jpgjpg esquemainteligente.jpg manage 28 K 27 Mar 2004 - 14:18 UnknownUser  
esquemamediano.jpgjpg esquemamediano.jpg manage 25 K 27 Mar 2004 - 14:19 UnknownUser  
esquemasbaratos.jpgjpg esquemasbaratos.jpg manage 7 K 27 Mar 2004 - 14:20 UnknownUser  
estudio1.jpgjpg estudio1.jpg manage 7 K 17 Apr 2006 - 20:11 UnknownUser  
estudio2.jpgjpg estudio2.jpg manage 10 K 17 Apr 2006 - 20:12 UnknownUser  
estudio3.jpgjpg estudio3.jpg manage 17 K 17 Apr 2006 - 20:12 UnknownUser  
estudio4.jpgjpg estudio4.jpg manage 13 K 17 Apr 2006 - 20:12 UnknownUser  
etapas-sincrona.jpgjpg etapas-sincrona.jpg manage 27 K 17 Apr 2006 - 20:31 UnknownUser  
m3w1.pngpng m3w1.png manage 11 K 26 Oct 2003 - 19:40 UnknownUser m3w rodando no linux
m3w2.pngpng m3w2.png manage 5 K 26 Oct 2003 - 19:41 UnknownUser  
m3w3.pngpng m3w3.png manage 8 K 27 Oct 2003 - 18:04 UnknownUser  
m3w4.pngpng m3w4.png manage 7 K 26 Oct 2003 - 20:09 UnknownUser  
microfone.jpgjpg microfone.jpg manage 19 K 27 Mar 2004 - 14:30 UnknownUser  
mini.jpgjpg mini.jpg manage 8 K 27 Mar 2004 - 03:55 UnknownUser  
muse.jpgjpg muse.jpg manage 26 K 27 Mar 2004 - 03:20 UnknownUser  
odd.pngpng odd.png manage 51 K 13 Sep 2003 - 03:37 UnknownUser  
odd1.pngpng odd1.png manage 28 K 13 Sep 2003 - 03:38 UnknownUser  
odd2.pngpng odd2.png manage 24 K 13 Sep 2003 - 03:41 UnknownUser  
odd3.pngpng odd3.png manage 24 K 13 Sep 2003 - 03:42 UnknownUser  
onda-sonora1.jpgjpg onda-sonora1.jpg manage 6 K 17 Apr 2006 - 20:13 UnknownUser  
onda-sonora2.jpgjpg onda-sonora2.jpg manage 9 K 17 Apr 2006 - 20:13 UnknownUser  
phono.jpgjpg phono.jpg manage 11 K 27 Mar 2004 - 03:55 UnknownUser  
placa-de-som.jpgjpg placa-de-som.jpg manage 15 K 17 Apr 2006 - 20:13 UnknownUser  
pressao.jpgjpg pressao.jpg manage 6 K 27 Mar 2004 - 14:28 UnknownUser  
pressaomaluca.jpgjpg pressaomaluca.jpg manage 7 K 27 Mar 2004 - 14:29 UnknownUser  
processo-de-digitalizacao.jpgjpg processo-de-digitalizacao.jpg manage 24 K 17 Apr 2006 - 20:13 UnknownUser  
rca.jpgjpg rca.jpg manage 13 K 27 Mar 2004 - 03:57 UnknownUser  
soundcard.jpgjpg soundcard.jpg manage 23 K 27 Mar 2004 - 04:30 UnknownUser  
streamremoto.jpgjpg streamremoto.jpg manage 12 K 27 Mar 2004 - 14:38 UnknownUser  
topologia-assincrona.jpgjpg topologia-assincrona.jpg manage 12 K 17 Apr 2006 - 20:14 UnknownUser  
topologia-icecast2.jpgjpg topologia-icecast2.jpg manage 41 K 17 Apr 2006 - 20:14 UnknownUser  
xmms.jpgjpg xmms.jpg manage 6 K 27 Mar 2004 - 01:27 UnknownUser  
xmms2.jpgjpg xmms2.jpg manage 7 K 27 Mar 2004 - 01:28 UnknownUser  
zinf1.jpgjpg zinf1.jpg manage 7 K 25 Mar 2004 - 23:45 UnknownUser zinf1
zinf2.jpgjpg zinf2.jpg manage 26 K 25 Mar 2004 - 23:46 UnknownUser zinf2
zinf3.jpgjpg zinf3.jpg manage 6 K 25 Mar 2004 - 23:47 UnknownUser zinf3
zinf4.jpgjpg zinf4.jpg manage 27 K 25 Mar 2004 - 23:48 UnknownUser zinf4
Topic revision: r84 - 10 Apr 2014, RafaelK
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback