# simples Audiostreaming



## usrr (27. Mai 2012)

Hallo,

würde gerne ganz simple einen float[] array als Audio streamen lassen. Jetzt habe ich das hier gefunden. Das kann man mal durcharbeiten, aber im Moemnt will ich das nicht studieren.

Es muss doch eine Klasse geben, der ich einen float-Array übergebe kann und dann wird das automatisch auf ein passendes Format für meine Soundkarte umgerechnet. Ok, die Samplingrate und Anzahl der Kanäle würde man noch angeben.

Kennt da jemand was?

LG


----------



## maki (27. Mai 2012)

> würde gerne ganz simple einen float[] array als Audio streamen lassen


... und um welches Format soll es sich dabei handeln?
Float Arrays sind nicht automatisch Musikddaten, ganz so einfach wird das nicht gehen.
Vermutlich handelt es sich wohl um LPCM, aber Daten ohne interpretation sind keine Information.


----------



## usrr (27. Mai 2012)

maki hat gesagt.:


> ... und um welches Format soll es sich dabei handeln?



Rawdaten?


----------



## maki (27. Mai 2012)

usrr hat gesagt.:


> Rawdaten?


Ist das ein Quiz? 

"Rawdaten" ist leider immer zu ungenau, es handelt sich wohl wirklich um LPCM, sagt dir das was?
Weisst du was über Datenwortbreite, Samplingfrequenz und eventuelle Kompremmierung der Daten?

Wenn du nciht weisst was das für Daten(Format) sind, können wir dir auch nciht helfen


----------



## usrr (27. Mai 2012)

maki hat gesagt.:


> Ist das ein Quiz?
> 
> "Rawdaten" ist leider immer zu ungenau, es handelt sich wohl wirklich um LPCM, sagt dir das was?
> Weisst du was über Datenwortbreite, Samplingfrequenz und eventuelle Kompremmierung der Daten?
> ...



Ja weiß ich. Damit es klar ist hier ein Beispiel:


```
float[] data = new float[1000];
for (int i=0;i<999;++i) data[i]=(float)(Math.sin(i/1000*2*3.14*440.0f);
```

Dabei handelt es sich um Rawaudiodaten. Ein wert von 1.0 entspäche dabei einer maximalen Amplitude, also bei 16Bit PCM 32768. Wegen mir könnte man es auch noch einfach umrechnen, wenn die Klasse nicht mit floats klar kommt. Zum Beispiel gibt es bei Android diese sehr einfach zu benutzende Klasse: AudioTrack


----------



## maki (27. Mai 2012)

Hab auf die schnelle nix gefunden was float arrass frisst, aber wenn du dich sowieso nicht vor Umrechnungen scheust und das FOrmat kennst, bietet ja die Java Sound API zB. AudioSystem und AudioInputStream an.


----------



## usrr (27. Mai 2012)

Ja, die API wollte ich ja vermeiden,weil sie doch recht kompliziert zu sein scheint.


----------

