Sound abspielen aus einem Sample-Array

Ikaron

Bekanntes Mitglied
Hey, ich möchte gerne einen Sound selber generieren, bedeutet, die einzelnen samples selber setzen. Diese sind abgespeichert in einem byte[], und könnten in vereinfachter Form z.B. so ausschauen:
[c]{ 0, 1, 2, 3, 4, 4, 5, 5, 5, 4, 4, 3, 2, 1, 0, -1, -2, -3, -4, -4, -5, -5, -5, -4, -4, -3, -2, -1 }[/c]
Also praktisch eine Sinuskurve. Die Frage ist nun: Wie spielt man dies ab? Bis jetzt hab ich es so weit:

Java:
public class Sound {

	public enum SampleRate {

		SPS_48000(48000); //48000 samples pro Sekunde

		private int samplerate;

		private SampleRate(int samplerate) {

			this.samplerate = samplerate;
		}

		public int getSamplerate() {

			return samplerate;
		}
	}

	private int samplerate, lengthInMs;
	private byte[] samples;

	public Sound(SampleRate samplerate, int lengthInMs) {

		this.samplerate = samplerate.getSamplerate();
		this.lengthInMs = lengthInMs;
		this.samples = new byte[(int) (samplerate.getSamplerate() * lengthInMs * 0.001f)];
	}

	public byte[] getSamples() {

		return samples;
	}

	public void sampleSinusCurve(int o, int w, int f, int a) { //o ist das Offset in ms, w die Länge in ms, f der Frequenz, und a die Amplitude

		if (!(o >= 0 && w > 0 && lengthInMs >= w + o))
			return;

		int bo = (int) (o * 0.001f * samplerate); //bo entspricht dem Offset im Byte[]
		int bw = (int) (w * 0.001f * samplerate); //bw entspricht der Länge im Byte[]

		for (int i = 0; i < bw; i++) {

			samples[bo + i] = (byte) (Math.sin(i * 1f / samplerate * Math.PI * f) * a);
		}
	}

	public void play() {

		try {

			Clip c = AudioSystem.getClip();
			c.open(new AudioFormat(samplerate, 8, 1, false, false), samples, 0,
					(int) (lengthInMs * 0.001f * samplerate));
			c.start();
		} catch (Exception e) {

			e.printStackTrace();
		}
	}
}

Allerdings wird nichts abgespielt.. Es gibt aber keine Fehlermeldungen..

€dit: JETZT GEHT'S.. Und mir wären fast die Ohren weggeflogen xD
Naja, ich kann jetzt schon alle möglichen Töne in allen möglichen Frequenzen abspielen :D
 
Zuletzt bearbeitet:

Ikaron

Bekanntes Mitglied
Jaja, aufgrund meiner gnadenlosen Intelligenz hab ich nicht kapiert, dass der Main-Thread sofort beim Starten des Abspielens beendet wird.. Deswegen hab ich noch ein simples waitFor in's "play" gehauen, dann gings^^
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Sound mit Clip in Linux abspielen Allgemeine Java-Themen 3
J Sound mit Hall und Equalizer abspielen lassen Allgemeine Java-Themen 6
Tacofan Sound abspielen Allgemeine Java-Themen 1
javampir Seltsame Lücken beim Abspielen von Sound Allgemeine Java-Themen 2
M Sound anhand von gegebener Frequenz abspielen Allgemeine Java-Themen 2
M Sound abspielen ohne Sounddatei Allgemeine Java-Themen 5
bernd Sound abspielen? Allgemeine Java-Themen 6
K Sound abspielen in Java 1.5 Allgemeine Java-Themen 6
M TicTacToe Sound nach jedem Zug Allgemeine Java-Themen 21
ms_cikar JavaOSC (Open Sound Control) Allgemeine Java-Themen 1
J Java Sound Api Sound input und Output auswählen Allgemeine Java-Themen 4
K Sound-Visualisierung in Java Allgemeine Java-Themen 0
Tacofan Sound beim öffnen der GUI Allgemeine Java-Themen 8
D Library/Framework zum Umwandeln von Sound in Notenbilder Allgemeine Java-Themen 1
V Input/Output Sound Dateien aus Jar laden Allgemeine Java-Themen 18
S Java sound pitch modulation Allgemeine Java-Themen 2
B Java Sound Memory Overload Allgemeine Java-Themen 0
B Javax.Sound Problem (setMessage-Methode) Allgemeine Java-Themen 2
DaniSahne96 Input/Output [Sound]Mp3 datein wiedergeben Allgemeine Java-Themen 8
I javax.sound.sampled.* - Hilfe zu den Controls Allgemeine Java-Themen 8
G Threads Klasse Sound und Threads bleiben hängen Allgemeine Java-Themen 4
B AudioInputStream, bzw. Sound bearbeiten / splitten Allgemeine Java-Themen 2
Apo Java Sound Mark/Reset Exception Allgemeine Java-Themen 14
Developer_X Java Sound Lautstärke Allgemeine Java-Themen 10
A sound Allgemeine Java-Themen 4
R Sound unter Java Allgemeine Java-Themen 12
grudge Problem mit Sound Allgemeine Java-Themen 2
I Java und Sound Allgemeine Java-Themen 5
P Sound Buffer prüfen Allgemeine Java-Themen 12
C Sound stoppt Rest & Lautstärke-Problem Allgemeine Java-Themen 4
M Sound in datei abspeichern Allgemeine Java-Themen 3
T Java Sound Engine: Was liegt drunter? Allgemeine Java-Themen 7
E Nach Packen in Jar ist Sound nur noch abgehackt zu hören Allgemeine Java-Themen 2
oliver1974 Java Sound und gleichzeitger Zugriff auf Soundkarte Allgemeine Java-Themen 3
S sampled sound mixen Allgemeine Java-Themen 15
T Sound in JFrame: Ich krichs nich hin =( Allgemeine Java-Themen 7
S Kein Sound in Java Applets unter Win 9x Allgemeine Java-Themen 4
P kein sound bei freenet spielen Allgemeine Java-Themen 2
H Java Sound Allgemeine Java-Themen 2
D Sound ruckelt. Allgemeine Java-Themen 9
H Sound wiedergabe und Threads Allgemeine Java-Themen 3
G Mit Klassenlader Sound Ressourcen laden Allgemeine Java-Themen 10
C Sound: Keine Line gefunden. Zu großer internal buffer? Allgemeine Java-Themen 3
P javax.sound: clip.stop(); Allgemeine Java-Themen 4
L Java Sound Allgemeine Java-Themen 2
D Wiedergabe von .wav-Dateien(Sound)? Allgemeine Java-Themen 2
Dann07 MP3 Datei abspielen funktioniert nicht Allgemeine Java-Themen 6
J Zwei Wavdateien gleichzeitig mit SourceDataLine abspielen Allgemeine Java-Themen 0
C Raspberry Musik abspielen Allgemeine Java-Themen 4
Cromewell Interpreter-Fehler MP3 abspielen Allgemeine Java-Themen 3
RalleYTN .wma in Java abspielen Allgemeine Java-Themen 3
X Wav-Files abspielen Allgemeine Java-Themen 2
H WAV abspielen nach Button-Klick Allgemeine Java-Themen 4
R Wav-Dateien wiederholt abspielen Allgemeine Java-Themen 2
D Abspielen von Audiodateien Allgemeine Java-Themen 3
M AudioClip in Spiel mehrfach in kurzer Zeit abspielen Allgemeine Java-Themen 3
P Mehrere MP3s abspielen Allgemeine Java-Themen 3
B Datentypen wav Dateien abspielen mit JMF, Clip und Player klappt nicht. Lösung Codec? Allgemeine Java-Themen 13
M Wav Datei abspielen Allgemeine Java-Themen 16
E Videos abspielen etc. Allgemeine Java-Themen 42
C Video abspielen? Allgemeine Java-Themen 2
0 Stream/Datei an VLC übergeben und abspielen Allgemeine Java-Themen 10
P MP3-Player Library: MP3 abspielen und ID-Tags auslesen Allgemeine Java-Themen 12
J mp4 dateien mit dem Java Media Framework abspielen. Allgemeine Java-Themen 2
M wav in Applikation abspielen Allgemeine Java-Themen 2
T Abspielen von Wav ruckelt massiv Allgemeine Java-Themen 8
U Sounds abspielen Allgemeine Java-Themen 3
L Musik(Töne) abspielen Allgemeine Java-Themen 10
X Mit JAVA Videos aufnehmen und abspielen. Allgemeine Java-Themen 3
S mit AudioPlayer und jLayer mp3 abspielen Allgemeine Java-Themen 7
P Vob oder Quicktime abspielen Allgemeine Java-Themen 4
R Flash-Movie abspielen! Allgemeine Java-Themen 3
G Soundsamples schnell hintereinander abspielen Allgemeine Java-Themen 4
R Mp3's abspielen Allgemeine Java-Themen 2
M Bilder abspielen mit Übergängen Allgemeine Java-Themen 12
Ernesto95 HTTP Mit JavaScript erzeugte dynamische Webseite auslesen und nach einem Schlüsselwort durchsuchen Allgemeine Java-Themen 6
P Feststellen, Welche Classes ich aus einem JAR nutze? Allgemeine Java-Themen 6
Jose05 mit 2 - 3 Personen an einem Projekt coden Allgemeine Java-Themen 2
M Queue mit einem Array implemetieren Allgemeine Java-Themen 16
8u3631984 Prüfen ob min. ein Element eines Sets in einem anderen Set enh Allgemeine Java-Themen 4
L 2 Dimensionale ListArray Abfrage nach einem Wert suchen Allgemeine Java-Themen 5
melaniemueller Einzelne Zeile aus einer txt Datei in einem String speichern Allgemeine Java-Themen 12
N einem Array Objekte hinzufügen die ihr Array position gespeichert haben Allgemeine Java-Themen 34
Jose05 Speicherung auf einem Server Allgemeine Java-Themen 1
S Folgendes Problem bei einem Programm Allgemeine Java-Themen 1
M Mehrere Ressourcen in einem package ablegen Allgemeine Java-Themen 1
Tobero .jar Dateine aus einem Ordner laden (Java 16) Allgemeine Java-Themen 5
alinakeineAhnungv Hilfe bei einem Straßenbahn-Projekt von mir Allgemeine Java-Themen 18
SaftigMelo In einem Winkel Objekt bewegen Allgemeine Java-Themen 2
Thallius Zeitzone zu einem LocalDate hinzufügen aber ohne es zu ändern... Allgemeine Java-Themen 2
Tobero Meine Funktion für das beinhalten eines Punktes in einem Kreis funktioniert nicht Allgemeine Java-Themen 5
Tobero Wie bekomme ich in welchem Quadrat sich eine Position in einem Grid befindet Allgemeine Java-Themen 11
Noahscript Aus einem byte Array Steuerungszeichen und Code bekommen und ersetzen Allgemeine Java-Themen 3
Kingamadeus2000 Alle mehrfach vorkommenden Buchstaben rekursiv aus einem String entfernen. Allgemeine Java-Themen 6
F Junit Test + Cucumber - JSON auslesen und in einem weiteren Schritt nutzen Allgemeine Java-Themen 0
Zrebna DeleteNode-Funktionalität in einem AVL-Tree Allgemeine Java-Themen 5
pkm Warnungen in einem Drools-Projekt unterdrücken? Allgemeine Java-Themen 1
D Arbeiten mit einem Bitarray Allgemeine Java-Themen 13
D Union in einem Struct in JNA Allgemeine Java-Themen 5
N Apache POI/ neue Reihe in Excel mit einem Button Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben