ENCICLOPÉDIA DE RÁDIO ELETRÔNICA E ENGENHARIA ELÉTRICA Conversor analógico-digital de uma placa de som. Enciclopédia de rádio eletrônica e engenharia elétrica Enciclopédia de eletrônica de rádio e engenharia elétrica / Designer de rádio amador Hoje, todo usuário de PC está familiarizado com o termo "multimídia". Para muitos, está associado a som de alta qualidade, animação etc. No entanto, a placa de som Sound Blaster pode ser usada como um conversor analógico-digital e digital-analógico com recursos de processamento excepcionais. Um computador com esse cartão pode ser usado como um osciloscópio, gerador ou analisador de sinais. O fato é que seu "coração" é um processador de sinal digital DSP (Digital Signal Processor). Para usar suas capacidades, é necessário ter acesso direto aos buffers que contêm os dados de áudio e o modo de controle do DSP, ou seja, usar a interface de baixo nível. Neste artigo, consideraremos o dispositivo de uma placa de som e o formato dos tipos padrão de arquivos de dados nos quais os dados obtidos como resultado da digitalização de sinais recebidos na entrada de uma placa de som são armazenados na memória do computador. Os mesmos arquivos podem ser sintetizados programaticamente para obter sinais de uma determinada forma. Como regra, uma placa de som (Fig. 1) tem duas entradas duplas (estéreo) e duas saídas idênticas. A primeira entrada (linha) é projetada para sinais de entrada com amplitude de cerca de 1 V, a segunda - microfone, para sinais mais fracos. Ao usar uma placa de som como conversor analógico-digital, você pode usar qualquer uma dessas entradas - dependendo do nível do sinal processado. Os dados relacionados à multimídia são armazenados em arquivos no chamado formato RIFF (Resource Interchange File Format - formato de arquivo para troca de recursos) [1]. Um arquivo RIFF contém pedaços aninhados (chunk's). O fragmento externo consiste em um cabeçalho e uma área de dados (Fig. 2). A primeira palavra dupla do cabeçalho contém um código de quatro caracteres que identifica os dados armazenados no fragmento. O segundo dword do cabeçalho é o tamanho da área de dados em bytes (excluindo o tamanho do próprio cabeçalho). A área de dados tem um comprimento variável com a condição de seu alinhamento em um limite de palavra e preenchimento no final com um byte zero para um número inteiro de palavras, se necessário. O formato RIFF não descreve o formato de dados. Na prática, um arquivo RIFF pode conter qualquer dado para multimídia, e o formato dos dados depende do tipo de dados. A área rotulada "Dados" na Figura 2 pode conter outros fragmentos dentro dela. Para um arquivo que armazena dados de som (arquivo wav), esta área contém o identificador de dados "WAVE", um fragmento do formato de dados de som "fmt" (três caracteres "fmt" e um espaço no final), bem como um fragmento de dados sonoros (Fig. 2). O arquivo também pode conter fragmentos de outros tipos, então você não deve pensar que o cabeçalho do arquivo wav tem um formato fixo. Por exemplo, o arquivo pode conter um fragmento "LIST" ou "INFO" contendo informações sobre direitos de cópia e outras informações adicionais. Vamos ver como os dados são escritos. Primeiro, você precisa abrir o dispositivo de entrada, especificando o formato de dados de áudio para ele. Em seguida, um ou mais blocos de memória devem ser ordenados e preparados para entrada chamando uma função especial. Depois disso, os blocos preparados precisam ser passados conforme necessário para o driver do dispositivo de entrada, que os preenche com os dados de áudio gravados. Para salvar os dados gravados em um arquivo wav, o aplicativo deve gerar e gravar no arquivo do aplicativo um arquivo wav e dados de som dos blocos de memória preparados preenchidos pelos dispositivos de entrada do driver. Abaixo está um fragmento de programa que permite gravar um bloco de dados em um arquivo, o que é necessário ao usar uma placa de som como conversor analógico-digital: usa SysUtils, MMSystem; digite TWaveData = array[0..0) da palavra ;const Discret = 22050;WaveHdr:TWaveHdr=( lpData: nil;(endereço do buffer de forma de onda) dwBufferLength: 0;(comprimento, em bytes, do buffer) dwBytesRecorded: 0;(Quantos dados há no buffer ) dwUser: 0; dwFlags: 0; dwLoops: 0; IpMext: nil; reservado: 0 ) ec : Discret; nBllockAlign: 1; wBitsPerSample: 1; csSize: 8 ) ;var WaveDate : ^TWaveData; HSoundDevice: HWaveIn; hfile: HMMIO; res: MMResult;começar com WaveHdr do begindwBufferLehgth : =round(Discret/0);dwBytesRecorded: =round(Discret/10);GetMem(WaveData, dwBytesRecorded);lpData : =PChar(WaveData); fim; res: =waveInOpen (@HSoundDevice, WAVE_MAPPER, @WaveFormat, 10); res : =waveInPrepareHeader(HSoundDevice, @WaveHdr, SizeOf(WaveHdr)); res: =waveInUnprepareHeader (HSoundDevice, @WaveHdr,SizeOf(WaveHdr)); FreeMem(WaveData); res:=waveInStart(HSoundDevice) ; hfile:=mmio0,0,0pen("d: \work\data_0.txt",nil, MMIO_CREATE or MMIO_READWRITE); mmioWrite(hfile,WaveHdr.IpData, WaveHdr,dwBytesRecorded); mmioClose(hfile,1); waveInReset(HSoundDevice) ; waveInClose(HSoundDevice) ;fim. Ao contrário da interface MCI, onde muitos parâmetros são assumidos por padrão, a interface de baixo nível requer uma consideração cuidadosa e cuidadosa de todos os detalhes do processo de escrita e leitura. Para compensar o esforço extra, você obtém mais flexibilidade e a capacidade de trabalhar não apenas com áudio, mas também com sinais arbitrários em tempo real. Literatura 1. Frolov A.V., Frolov G.V. Multimídia para Windows. Guia do programador. - M, "DIÁLOGO-MEPHI", 1994, 284 p. (Biblioteca do programador do sistema; V. 15). Autor: O. Baranovsky, Minsk; Publicação: N. Bolshakov, rf.atnn.ru Veja outros artigos seção Designer de rádio amador. Leia e escreva útil comentários sobre este artigo. Últimas notícias de ciência e tecnologia, nova eletrônica: Máquina para desbastar flores em jardins
02.05.2024 Microscópio infravermelho avançado
02.05.2024 Armadilha de ar para insetos
01.05.2024
Outras notícias interessantes: ▪ Combustível de hidrogênio da água do mar ▪ Sistema de refrigeração líquida Rosewill PB240-RGB ▪ A saúde humana depende das árvores ▪ Melhoria de células de combustível de metanol limpas Feed de notícias de ciência e tecnologia, nova eletrônica Materiais interessantes da Biblioteca Técnica Gratuita: ▪ seção das Instruções de Operação do site. Seleção de artigos ▪ artigo de John Steinbeck. Aforismos famosos ▪ artigo Como as abelhas produzem mel? Resposta detalhada ▪ artigo Hamemelum nobre. Lendas, cultivo, métodos de aplicação
Deixe seu comentário neste artigo: Todos os idiomas desta página Página principal | Biblioteca | Artigos | Mapa do Site | Revisões do site www.diagrama.com.ua |