[LUGA] Mit freundlicher Unterstützung von:
Linux New Media AG

Mail Thread Index


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [luga] Sound in LINUX



Hi MARKUS!

On 15 Mar 98 at 19:45, MARKUS BRANDNER wrote:

> Im Rahmen eines Projektes (Spracherkennung) benoetige ich direkten 
> Zugang zur Soundhardware eines Linux-Systemes. Net Audio System (NAS)
> hat sich als zu instabil erwiesen, weshalb ich nach einer alternative
> Methode Suche, die SB direkt anzusprechen. (RECORD modus).
> Die Anwendung soll ein Mikrophon staendig ueberwachen und im Falle
> der positiven Sprechererkennung einen Tueroffner bedienen.
> Hat jemand Erfahrung mit der Programmierung (in C) der Soundhardware bzw.
> irgendwo brauchbare (=lesbare) Sourcen entsprechender Software ?

Ich habe 1995 ein kleines Progrämmchen names XScope geschrieben (nie 
publiziert). Tut im Prinzip nix anderes als gesampeltes (per /dev/dsp) in der 
Art eines Oszilloskops in einem X-Fensterchen anzuzeigen.

  - Linux kernel 1.2.8
  - gcc 2.6.2
  - XFree 2.1.1
  - the grafix-package (with a small modification, see README.xscope)
  - SoundBlaster SB16

Im Prinzip ging das damals so:
[...]
int snd = open("/dev/dsp", O_RDONLY);						//open dsp
[...]
int status = ioctl( snd, SOUND_PCM_SUBDIVIDE, &dma);	// set dma-buffer size
[...]
status = ioctl(snd, SOUND_PCM_WRITE_CHANNELS, &channels);	// mono od. stereo
status = ioctl(snd, SOUND_PCM_WRITE_BITS, &bits);		// set sample bits
status = ioctl(snd, SOUND_PCM_WRITE_RATE, &sampling);	// set sample rate
[...]
ioctl( snd, SOUND_PCM_SYNC);		// sync soundcard for new data  
[...]
read( snd, buffer, samples);		// get data from sound card

Der gesamte Source ist gerade mal 7 KByte groß, bei Bedarf schick mir eine 
Mail...

bye Josef
--
o-----------------o------------------------------------------------------o
|  Bergmann       | A-8223 Stubenberg am See 67        +43 (664) 3573565 |
|  engineering &  | A-1230 Wien, Dirmhirngasse 27/118  +43 (1  ) 8695186 |
|  consulting     | AUSTRIA     http://www.bec.co.at/  office@bec.co.at  |
o-----------------o------------------------------------------------------o
Consciousness: That annoying time between naps.





powered by LINUX the choice of a gnu generation
linux user group austria;
Suche
Suche
Letzte Änderung:
webmaster@luga.at
September 2010