ENCICLOPEDIA DELLA RADIOELETTRONICA ED ELETTRICA Convertitore analogico-digitale da una scheda audio. Enciclopedia dell'elettronica radio e dell'ingegneria elettrica Enciclopedia della radioelettronica e dell'elettrotecnica / Progettista radioamatore Oggi, ogni utente di PC ha familiarità con il termine "multimedia". Per molti è associato a suoni di alta qualità, animazioni, ecc. Tuttavia, la scheda audio Sound Blaster può essere utilizzata come convertitore analogico-digitale e digitale-analogico con eccezionali capacità di elaborazione. Un computer con tale scheda può essere utilizzato come oscilloscopio, generatore o analizzatore di segnale. Il fatto è che il suo "cuore" è un processore di segnale digitale DSP (Digital Signal Processor). Per utilizzare le sue capacità, è necessario avere accesso diretto ai buffer contenenti i dati audio e alla modalità di controllo del DSP, ad es. utilizzare l'interfaccia di basso livello. In questo articolo considereremo il dispositivo di una scheda audio e il formato dei tipi standard di file di dati in cui i dati ottenuti a seguito della digitalizzazione dei segnali ricevuti all'ingresso di una scheda audio sono archiviati nella memoria del computer. Gli stessi file possono essere sintetizzati programmaticamente per ottenere segnali di una determinata forma. Di norma, una scheda audio (Fig. 1) ha due ingressi doppi (stereo) e due uscite identiche. Il primo ingresso (linea) è progettato per segnali di ingresso con un'ampiezza di circa 1 V, il secondo - microfono, per segnali più deboli. Quando si utilizza una scheda audio come convertitore analogico-digitale, è possibile utilizzare uno qualsiasi di questi ingressi, a seconda del livello del segnale in elaborazione. I dati relativi ai contenuti multimediali vengono archiviati in file nel cosiddetto formato RIFF (Resource Interchange File Format - formato di file per lo scambio di risorse) [1]. Un file RIFF contiene blocchi nidificati (chunk). Il frammento esterno è costituito da un'intestazione e un'area dati (Fig. 2). La prima doppia parola dell'intestazione contiene un codice di quattro caratteri che identifica i dati memorizzati nel frammento. La seconda dword dell'intestazione è la dimensione dell'area dati in byte (esclusa la dimensione dell'intestazione stessa). L'area dati ha una lunghezza variabile con la condizione del suo allineamento su un limite di parola e riempimento alla fine con un byte zero a un numero intero di parole, se necessario. Il formato RIFF non descrive il formato dei dati. In pratica, un file RIFF può contenere qualsiasi dato per multimedia, e il formato dei dati dipende dal tipo di dati. L'area denominata "Dati" nella Figura 2 può contenere altri frammenti al suo interno. Per un file che memorizza dati audio (un file wav), quest'area contiene l'identificatore di dati "WAVE", un frammento del formato di dati audio "fmt" (tre caratteri "fmt" e uno spazio alla fine), nonché un frammento di dati sonori (Fig. 2). Il file può inoltre contenere frammenti di altro tipo, quindi non dovresti pensare che l'intestazione del file wav abbia un formato fisso. Ad esempio, il file può contenere un frammento "LISTA" o "INFO" contenente informazioni sui diritti .copy e altre informazioni aggiuntive. Vediamo come vengono scritti i dati. Innanzitutto, è necessario aprire il dispositivo di input, specificando il formato dei dati audio per esso. Quindi uno o più blocchi di memoria devono essere ordinati e preparati per l'input richiamando una funzione speciale. Successivamente, i blocchi preparati devono essere passati, se necessario, al driver del dispositivo di input, che li riempie con i dati audio registrati. Per salvare i dati registrati in un file wav, l'applicazione deve generare e scrivere nel file dell'applicazione un file wav e dati audio dai blocchi di memoria preparati riempiti dai dispositivi di input del driver. Di seguito è riportato un frammento di programma che consente di scrivere un blocco di dati su un file, necessario quando si utilizza una scheda audio come convertitore analogico-digitale: utilizza SysUtils, MMSystem; type TWaveData = array[0..0) of word ;const Discret = 22050;WaveHdr:TWaveHdr=( lpData: nil;(indirizzo del buffer della forma d'onda) dwBufferLength: 0;(lunghezza, in byte, del buffer) dwBytesRecorded: 0;(Quanti dati sono nel buffer ) dwUser: 0; dwFlags: 0; dwLoops: 0; IpMext: nil; reserved: 0 ) ec : Discret; nBllockAlign: 1; wBitsPerSample: 1; csSize: 8 ) ;var WaveDate : ^TWaveDate; HDispositivo audio: HWaveIn; hfile: HMMIO; res: MMResult;begin with WaveHdr do begindwBufferLehgth : =round(Discret/0);dwBytesRecorded: =round(Discret/10);GetMem(WaveData, dwBytesRecorded);lpData : =PChar(WaveData); FINE; 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 o MMIO_READWRITE); mmioWrite(hfile,WaveHdr.IpData, WaveHdr,dwBytesRecorded); mmioClose(hfile,1); waveInReset(HSoundDevice) ; waveInClose(HSoundDevice) ;end. A differenza dell'interfaccia MCI, dove molti parametri sono presi per impostazione predefinita, l'interfaccia di basso livello richiede un'attenta e approfondita considerazione di tutti i dettagli del processo di scrittura e lettura. Come compensazione per lo sforzo extra, ottieni maggiore flessibilità e la possibilità di lavorare non solo con l'audio, ma anche con segnali arbitrari in tempo reale. Letteratura 1. Frolov A.V., Frolov G.V. Multimediale per Windows. Guida del programmatore. - M, "DIALOGO-MEPhI", 1994, 284 p. (Biblioteca del programmatore di sistema; V. 15). Autore: O. Baranovsky, Minsk; Pubblicazione: N. Bolshakov, rf.atnn.ru Vedi altri articoli sezione Progettista radioamatore. Leggere e scrivere utile commenti su questo articolo. Ultime notizie di scienza e tecnologia, nuova elettronica: Macchina per diradare i fiori nei giardini
02.05.2024 Microscopio infrarosso avanzato
02.05.2024 Trappola d'aria per insetti
01.05.2024
Altre notizie interessanti: ▪ Combustibile a idrogeno dall'acqua di mare ▪ Sistema di raffreddamento a liquido Rosewill PB240-RGB ▪ La salute umana dipende dagli alberi ▪ Miglioramento delle celle a combustibile pulite a metanolo News feed di scienza e tecnologia, nuova elettronica Materiali interessanti della Biblioteca Tecnica Libera: ▪ sezione del sito Istruzioni per l'uso. Selezione dell'articolo ▪ articolo di John Steinbeck. Aforismi famosi ▪ articolo Come fanno le api a fare il miele? Risposta dettagliata ▪ articolo Hamemelum nobile. Leggende, coltivazione, metodi di applicazione
Lascia il tuo commento su questo articolo: Tutte le lingue di questa pagina Homepage | Biblioteca | Articoli | Mappa del sito | Recensioni del sito www.diagram.com.ua |