Como incluir uma mensagem digital curta em uma gravação de som

3

Gostaria de sobrepor uma mensagem digital curta, menor que um kB, a uma frequência audível acima, mas ainda baixa o suficiente para ser transmitida por estações de rádio FM, e então detectar e decodificar esse sinal.

Quais ferramentas de software posso usar para modular a mensagem para áudio e como posso detectá-la? O último parece simples, um filtro passa-alto, mas qual software pode fazer isso?

ADICIONADO: Eu quero usar o sinal de áudio como portador do sinal digital, não um sinal de portadora de FM de transmissões de rádio. Este sinal deve ser de tal natureza que também deve ser capaz de ser diretamente transmitido por cabo de áudio.

Eu só uso o rádio FM como um meio de comunicação que a mensagem deve sobreviver. Não quero que as estações de rádio estejam envolvidas; somente o produtor da trilha sonora da portadora e o receptor da mensagem.

    
por ProfK 13.06.2014 / 15:29

5 respostas

1

Como você não quer usar o RDS (embora seja a ferramenta mais apropriada para transmissões de FM, mas é claro que não se adaptaria a outros métodos de transmissão), você pode usar técnicas estabelecidas para marca d'água em áudio . Há uma marca d'água de espectro espalhado (SSW), que é muito robusta.

Pesquise também por " audio steganography " e " steganography de áudio em tempo real ". Há um artigo potencialmente informativo aqui que cobre um número de técnicas em tempo real, embora você tenha que pesquisar ao redor para encontrar uma cópia dele.

Há também steghide , que é uma ferramenta de linha de comando de código aberto (GPL). Você pode adaptar o algoritmo para detecção em streams, embora eu não saiba qual algoritmo usa e suspeito que ele não sobreviverá à viagem.

Muitos algoritmos de marca d'água de imagem poderiam, teoricamente, ser adaptados para o áudio, embora possam ser mais óbvios em formato de áudio do que em forma de imagem.

Muitos algoritmos simples operam em dados digitais e assumem pouca ou nenhuma perda; Portanto, se você encontrar um, terá que testar para ver se os dados codificados sobrevivem a uma viagem através de equipamentos de processamento de áudio, um transmissor, ar e um receptor. Algoritmos como a marca d'água de espalhamento espectral são a melhor aposta para sobreviver a todos os abusos. Comece com as pesquisas do Google para este e isso e relacionado.

Existe uma biblioteca aqui (via link também; pode valer a pena dar uma olhada.

Existe uma coleção de código-fonte para vários algoritmos de marca d'água aqui (presumivelmente incluindo SSW). Pode ser voltado para imagens.

Há um artigo especificamente sobre SSW em dados de áudio, Marca d'água de sinais de áudio de espalhamento de espectro .

Há um artigo relacionado do IEEE, Incorporação de dados em sinais de áudio .

Edit: Desculpe, estou acostumado a conversar com programadores, só percebi que você estava procurando ferramentas para fazer isso.

Existe uma ferramenta de marca d'água de áudio SSW da Microsoft. Eu não tenho ideia do que é capaz, mas provavelmente vale a pena conferir. Consulte também esta pesquisa .

Ainda assim, use alguns dos artigos e termos de pesquisa listados acima como pontos de partida para encontrar ferramentas. Analisei um pouco as soluções baseadas em hardware, mas não consegui encontrar nenhuma após uma pesquisa superficial. Pode haver algo.

    
por 18.06.2014 / 08:36
2

Você pode usar um codificador de rádio RDS baseado em software.

Aqui está um exemplo para o Windows: Codificador Airomate RDS .

Airomate makes it possible to use a 192 kHz sampling rate capable soundcard to generate a high quality stereo MPX signal with full featured RDS/RBDS for FM radio transmitters. Airomate gives your radio station the professional look and sound.

By using a media player on the same computer, the audio-signal will be edited fully digital, so there is no loss in quality produced by A/D converters. The RDS/stereo signal will be calculated digital, so that a perfect RDS/stereo signal will be generated and a good stereo separation will be reached. ( >50 dB)

    
por 17.06.2014 / 15:45
0

O que você está tentando fazer é codificar os dados dentro da banda FM. Isso é chamado de Radio Data System (ou amplamente conhecido como RDS).

Você precisará procurar um codificador RDS - você pode obter hardware e software - o software requer hardware adicional (a partir de uma pesquisa rápida) ...

    
por 17.06.2014 / 15:41
0

Existe uma tecnologia chamada Radio Data System para isso e o padrão já está definido. Da wikipedia:

Radio Data System (RDS) is a communications protocol standard for embedding small amounts of digital information in conventional FM radio broadcasts. RDS standardizes several types of information transmitted, including time, station identification and programme information.

E aqui estão alguns dados técnicos em que você pode se interessar:

Both [RBDS and RDS standards] carry data at 1,187.5 bits per second on a 57-kHz subcarrier, so there are exactly 48 cycles of subcarrier during every data bit. The RBDS/RDS subcarrier was set to the third harmonic of the 19-kHz FM stereo pilot tone to minimize interference and intermodulation between the data signal, the stereo pilot and the 38-kHz DSB-SC stereo difference signal. (The stereo difference signal extends up to 38 kHz + 15 kHz = 53 kHz, leaving 4 kHz for the lower sideband of the RDS signal.)

    
por 17.06.2014 / 15:43
0

I wish to superimpose a short digital message, less than a kB, at an above audible frequency, but still low enough to be transmitted over FM radio stations,

Eu não sou engenheiro de áudio, mas ...

"Acima da frequência audível" será > 20.000Hz. Qualquer coisa comum e acessível ao usuário, projetada para transmitir / receber áudio em forma física, analógica e audível, será cortada a 20.000 Hz e provavelmente menor. É claro que mídias digitais e protocolos funcionam em frequências muito mais altas, mas nenhum deles está diretamente conectado a um alto-falante ou uma saída de áudio, eles são transceptados para áudio 20-20KHz "físico" ou analógico em ambas as extremidades para acionar um alto-falante, etc. Então eu não acho que o que você queira fazer é possível, embora eu não tenha certeza.

E, claro, quanto maior a frequência, mesmo se audível, maior a chance de ser atenuado - se o meio de som real for desconhecido para você. Provavelmente, a melhor faixa de frequência de "cobertura para todos os casos" seria a suportada por POTS analógicos, que é de apenas 300 a 3400Hz. O limite internacional de ondas curtas é de 5000Hz. O alcance do rádio FM é de até 15KHz.

Se você aceitar a derrota / comprometimento neste momento e quiser transmitir dados sobre a tecnologia de áudio humana, você tem DMTF e, claro, a infinidade de padrões de modem. Um programa Linux que eu nunca tentei que pode decodificar DMTF e outros é multimon . Então havia este projeto que era um modem Linux implementado em software, que tomava streaming de áudio e decodificava vários padrões de modem, e obviamente codificá-los também, mas eu não acho que isso foi atualizado desde 2000.

    
por 21.06.2014 / 03:18