beliebigen ton erzeugen

Status
Nicht offen für weitere Antworten.
G

Grimblegrumble2

Gast
Hallo,
kann mir jemand sagen wie ich in java einen beliebigen ton ausgeben kann, ich hab mal gegoogelt aber nur das gefunden,
tinyvm.rcx --> public static void playTone(int aFrequency,int aDuration)
Plays a tone, given its frequency and duration.

ich kapier das mit dem tinyvm nich irgendwie is das kein normales packet das man normal einbinden kann, z.B. gibts dann keine garbage collection mehr und lauter so schnick schack, und irgendwie funktionieren dann auch andere sachen nich mehr so wie gewohnt, gibts da nich noch irgendwie ne andere möglichkeit wie man das realisieren kann?

vielen Dank
 

André Uhres

Top Contributor
http://www.jfugue.org/download.jsp
Code:
import org.jfugue.Player; 
import org.jfugue.Pattern; 
public class Example1 { 
    public static void main(String[] args) { 
        Player player = new Player(); 
        //Thema: 
        Pattern thema = new Pattern("T120 I[Cello] "+ 
                "G3q G3q G3q Eb3q Bb3i G3q Eb3q Bb3i G3h"); 
        player.play(thema); 
        
        //Variation: 
        Pattern cello = new Pattern("T120 I[Cello] G3q G3i G3i Eb3q Bb3i G3q Eb3q Bb3i G3w " + 
                "               G3h     G3i G3i Eb3q Bb3i Ab3q F3q Bb3i Eb3w              G4h " + 
                "C5h+E5h+G5h C5w+Eb5w+G5w    C3w+G4w+E5w+G5w Rh E1i"); 
        Pattern cembalo = new Pattern("I[HARPISCHORD] G4i G4i G4i Eb4q Bb4i G4q Eb4q Bb4i G4q " + 
                "Bb4q Eb4q G4q G4h G4i G4i G4i Eb4q Bb4i Ab4q F4q Bb4i G4q Bb4q Eb4q G4q G5h " + 
                "C5h+E5h+G5h Rhi G4i G4i G4i C4i G4i G4i G4i C5w+E5w+C6w"); 
        Pattern floete = new Pattern("I[FLUTE] G5q C5q Eb5h G5q " + 
                "Bb5q Eb5q G5q G5h Rq Eb5q Ab5q F5w Rq Rh " + 
                "C6w  G6q  C6q G6q C7w E7i C7i  G7s A7s G7s C7q"); 
        Pattern satz = new Pattern(); 
        satz.add("V0 " + cello.getMusicString()); 
        satz.add("V1 " + cembalo.getMusicString()); 
        satz.add("V2 " + floete.getMusicString()); 
        player.play(satz); 
        System.exit(0); 
    } 
}
 

0xdeadbeef

Top Contributor
Grimblegrumble2 hat gesagt.:
Hallo,
kann mir jemand sagen wie ich in java einen beliebigen ton ausgeben kann
Nur mal so 'ne Idee. Wenn Du z.B. eine Sinusschwingung, -rechteck oder Sägezahnschwingung in einen Puffer schreibst und den dann mit einer entsprechenden Frequenz abspielst, kannst Du jede Tohöhe erzeugen.
Und das ganze ohne externe Bibliotheken und mit sehr wenig Code.
 
G

Grimblegrumble2

Gast
also das jfuge Ding is schon sehr interessant, aber ziemlich viel code, ich brauch mein prog fürs handy, weiss nich ob das funktioniert, werds mal versuchen, das mit der Sinus schwingung hört sich nach der Besten lösung an ich weiss aber nich wie das funktionieren soll das ich dem gepufferten sinus dann als frequenz ausgeben kann.
 

André Uhres

Top Contributor
Grimblegrumble2 hat gesagt.:
also das jfuge Ding is schon sehr interessant, aber ziemlich viel code..
Zur Orientierung: der distribution folder für das obige Beispiel ist 36KB groß.
JFugue benötigt ausserdem die javax.sound.midi API.
 
R

Roar

Gast
nen einfachen ton kann man doch auch mti der java sound api abspielen:
Code:
					Synthesizer synth = MidiSystem.getSynthesizer();
					synth.open();
					Receiver rcvr = synth.getReceiver();
					ShortMessage msg = new ShortMessage();
					msg.setMessage(ShortMessage.NOTE_ON, 0, 40, 40);
					rcvr.send(msg, -1);
					Thread.sleep(1500);
					msg.setMessage(ShortMessage.NOTE_OFF, 0, 40, 0);
					rcvr.send(msg, -1);
					synth.close();
oder so

edit: 40 == frequenz == ein E
 
G

grimble

Gast
ich habs mal so kopiert und probiert laufen zu lassen,

import javax.sound.midi.*;

public class TonTest {

public static void main(String[] args) throws MidiUnavailableException, InvalidMidiDataException, InterruptedException {

Synthesizer synth = MidiSystem.getSynthesizer();
synth.open();
Receiver rcvr = synth.getReceiver();
ShortMessage msg = new ShortMessage();
msg.setMessage(ShortMessage.NOTE_ON, 0, 40, 40);
rcvr.send(msg, -1);
Thread.sleep(1500);
msg.setMessage(ShortMessage.NOTE_OFF, 0, 40, 0);
rcvr.send(msg, -1);
synth.close();
}
}

leider hör ich überhaupt nix.(ist die frequenz vielleicht zu hoch oder zu tief?) Kann mir jemand sagen was mir fehlt.
Vielen Dank
 
G

grimble

Gast
leider leider liegt es bei mir nicht an der lautstärkenregelung, hab alles was man hochschrauben kann hochgeschraubt.
Hat jemand ne idee woran das sonst noch liegen kann.
Vielen Dank
 
G

grimble

Gast
ich arbeite auf nem medion laptop kann das sein das es irgendwie daran liegt.
mit ner Realtek AC97 Audio (soundkarte) und bei MIDI Musikwiedergabe ist "Microsoft GS Wavetable SW Synth" eingestellt.
Vielen Dank
 

André Uhres

Top Contributor
grimble hat gesagt.:
ich arbeite auf nem medion laptop kann das sein das es irgendwie daran liegt.
mit ner Realtek AC97 Audio (soundkarte) und bei MIDI Musikwiedergabe ist "Microsoft GS Wavetable SW Synth" eingestellt...
..ich arbeite auf nem XY Desktop mit ichweissnichtwelcher Audiokarte mit irgendwelcher Einstellung..
naja egal..hab da mal was von Javas Plattformunabhängigkeit gehört..
 
G

Gast

Gast
Hy prinzipiell, würd ich nicht nen Ton mit 40Hz zum ausprobieren nehmen, glaub nicht das laptop lausprecher in der lage sind 40 Hz zu übertragen, in der tontechnik wird in der regel ein teston von 1000Hz verwendet. Probier´s vielleicht mal damit!
gruß ralf
 

L-ectron-X

Gesperrter Benutzer
Code:
msg.setMessage(ShortMessage.NOTE_ON, 5, 70, 90);
Wenn du ein bischen mit den Werten herum spielst, erkennst du, dass es der letzte Parameter ist.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Selbst geschriebener InputStreamReader über einen beliebigen InputStream Allgemeine Java-Themen 4
S Übergabe / Aufruf einer beliebigen Methode in einer anderen Allgemeine Java-Themen 9
I Beliebigen Text an einer beliebigen Stelle Allgemeine Java-Themen 7
S Text an einer beliebigen Stelle in eine Datei anfügen Allgemeine Java-Themen 8
P Bildschirmgröße eines beliebigen taskfensters auslesen Allgemeine Java-Themen 4
I Module-Info für Jar erzeugen Allgemeine Java-Themen 7
S Klickbare Stacktraces selber erzeugen..? Allgemeine Java-Themen 9
I OpenPDF (ehem. iText) will kein PDF mit CMYK only erzeugen Allgemeine Java-Themen 6
J Runable jar erzeugen Allgemeine Java-Themen 2
O Wie kann ich in Apache POI (Excel Dateien schreiben) Datumszellen in Excel erzeugen Allgemeine Java-Themen 6
B Klassen Objekt erzeugen und Konstruktor aufrufen - Welche Lösung ist besser? Allgemeine Java-Themen 2
temi Valides Dreieck erzeugen Allgemeine Java-Themen 6
D Konstruktor - jedes Objekt einzeln erzeugen - alternative? Allgemeine Java-Themen 8
dereki2000 Windows Benachrichtigung erzeugen Allgemeine Java-Themen 2
J In einem Set doppelte Elemente erzeugen Allgemeine Java-Themen 4
F Objekte erzeugen Allgemeine Java-Themen 1
M Variabe a[i] erzeugen Allgemeine Java-Themen 8
Meeresgott Kapselung Tabellen der Datenbank erzeugen. Allgemeine Java-Themen 7
Thallius String erzeugen sehr langsam Allgemeine Java-Themen 16
L ICS-Kalenderdatei aus PDF erzeugen Allgemeine Java-Themen 0
A Jasper Report Performance bei PDF erzeugen Allgemeine Java-Themen 0
F Java Spintax: Alle Kombinationen Erzeugen Allgemeine Java-Themen 2
L Klassen Konstruktor soll Objekt anderer Klasse erzeugen Allgemeine Java-Themen 2
H Vektor rekursiv erzeugen Allgemeine Java-Themen 2
S Best Practice verschiedene Exceptions fangen und neue Exception erzeugen Allgemeine Java-Themen 11
V 2D-Grafik BufferdImage aus gif Datei in Jar erzeugen geht nicht. Allgemeine Java-Themen 6
R Aus Eclipse Projekt ein UML erzeugen Allgemeine Java-Themen 3
G Texte erzeugen Allgemeine Java-Themen 3
R Großes Hash-Set erzeugen Allgemeine Java-Themen 12
P Excel-Sheets erzeugen aus Report Allgemeine Java-Themen 2
Ollek Barcode mit Barcode4J erzeugen - Exception Allgemeine Java-Themen 4
P Arrays erzeugen Allgemeine Java-Themen 5
G Strings erzeugen Allgemeine Java-Themen 20
C QR-Codes erzeugen. Allgemeine Java-Themen 43
M Input/Output Datei erzeugen funktioniert nicht (immer) vom .jar aus Allgemeine Java-Themen 5
T "Platzsparende" und "schnelle" Indizes erzeugen Allgemeine Java-Themen 10
N Objekte aus Array Inhalt erzeugen Allgemeine Java-Themen 8
E Objekt beim Erzeugen in ArrayList Allgemeine Java-Themen 9
D 2D-Grafik Funktionierende .jar datei mit Images (jpg) erzeugen Allgemeine Java-Themen 2
S Schnell eine fortlaufende nummer erzeugen SQL, kein Primkey Allgemeine Java-Themen 8
M Graphen erzeugen und visualisieren, jgraph oder was was anderes? Allgemeine Java-Themen 2
M Klassen Zugriff auf getMethode ohne Klasse zu erzeugen Allgemeine Java-Themen 6
J Verschiedene Klassen als "Object" in ArrayList und dann in for-Schleife erzeugen!? Allgemeine Java-Themen 2
M Txt einlesen & Objekte erzeugen Allgemeine Java-Themen 2
Y Eclipse ppt Folie erzeugen + text plazieren Allgemeine Java-Themen 4
G log4j File erzeugen und Pfad bestimmen Allgemeine Java-Themen 3
B class dateien "einlesen" und objekte erzeugen Allgemeine Java-Themen 6
S Algorithmus um Labyrinth zu erzeugen Allgemeine Java-Themen 6
A HashCode von DatagrammPacket(content) erzeugen. Allgemeine Java-Themen 3
A auführbare Jar erzeugen mit ant Allgemeine Java-Themen 5
D Browser-Objekt erzeugen Allgemeine Java-Themen 8
Developer_X Java ton erzeugen Allgemeine Java-Themen 3
D character kodierung, barcode für barcode font erzeugen Allgemeine Java-Themen 4
D Worddocumente erzeugen Allgemeine Java-Themen 4
F Wie zur Laufzeit ganz neue Objekte erzeugen? Allgemeine Java-Themen 5
A Dummy-Objekte für Webgui erzeugen Allgemeine Java-Themen 12
S JUnit: Erzeugen einer IOException Allgemeine Java-Themen 9
S Neue Instanz eines Objekts erzeugen - Konstruktor erhaelt Parameter. Allgemeine Java-Themen 5
A AES Key aus Text erzeugen Allgemeine Java-Themen 2
N JFrame Icon selbst erzeugen Allgemeine Java-Themen 2
D Objekte nur unter bestimmten Voraussetzungen erzeugen Allgemeine Java-Themen 4
F Klasse vorhanden - wie daraus Objekt erzeugen Allgemeine Java-Themen 8
C PDF erzeugen Allgemeine Java-Themen 3
Landei Objekte ohne Konstruktoraufruf erzeugen Allgemeine Java-Themen 7
F Zufallszahl erzeugen Allgemeine Java-Themen 4
P Objekt einer Klasse erzeugen, die als String vorliegt Allgemeine Java-Themen 3
multiholle Objekt einer Klasse anhand eines String erzeugen Allgemeine Java-Themen 3
M odt-Datei erzeugen Allgemeine Java-Themen 6
G File zur Laufzeit erzeugen Allgemeine Java-Themen 4
G Windows Pipe erzeugen Allgemeine Java-Themen 12
A Wie eine Seriennummer erzeugen und auswerten? Allgemeine Java-Themen 11
G erzeugen von "ArrayList<Integer>[][]" Allgemeine Java-Themen 7
T Log4J: Bei Programmstart immer eine neue LogDatei erzeugen Allgemeine Java-Themen 9
S Zweidimensionales Array neue Zeile erzeugen Allgemeine Java-Themen 3
A Objekt in einem Array erzeugen Allgemeine Java-Themen 6
Q Objekte durch Reflection erzeugen Allgemeine Java-Themen 18
V Enums aus Datei-Einträgen erzeugen? Allgemeine Java-Themen 6
M KML Datei automatisch erzeugen Allgemeine Java-Themen 3
H Problem mit erzeugen eienr neuen Session Allgemeine Java-Themen 3
G zweierKompliment erzeugen Allgemeine Java-Themen 12
L Objekt erzeugen Allgemeine Java-Themen 2
R Jasper iReport erzeugen Allgemeine Java-Themen 7
MQue über iBatis Tabellen erzeugen Allgemeine Java-Themen 4
V Aus String -> Objekt einer Klasse erzeugen Allgemeine Java-Themen 7
P UML erzeugen Allgemeine Java-Themen 3
M wav datei/ ton erzeugen Allgemeine Java-Themen 4
M eigenen Desktop erzeugen Allgemeine Java-Themen 3
S Asymmetrisches Array dynamisch erzeugen Allgemeine Java-Themen 4
T Objekte dynamisch über eine Methode erzeugen Allgemeine Java-Themen 10
X PowerPoint Files in Java erzeugen Allgemeine Java-Themen 2
M File im memory erzeugen Allgemeine Java-Themen 5
R Object Dynamisch erzeugen (Reflection API) Allgemeine Java-Themen 22
B Grafik erzeugen in java Allgemeine Java-Themen 2
P Image erzeugen Allgemeine Java-Themen 7
S Uml erzeugen (nicht: JavaCode-Erzeugung) Allgemeine Java-Themen 4
G Reflection objekt mit generics erzeugen Allgemeine Java-Themen 5
L iText: Mehrseitiges PDF erzeugen Allgemeine Java-Themen 9
G UML automatisch erzeugen lassen Allgemeine Java-Themen 2
S Demoversion erzeugen? Allgemeine Java-Themen 17
H In Testklasse Objekte erzeugen und in einer Schleife ausgebe Allgemeine Java-Themen 4

Ähnliche Java Themen

Neue Themen


Oben