package de.borissov; import javax.sound.sampled.LineUnavailableException; /** * @author Sergej Borissov * */ public class Main { public static void main(String[] args) throws LineUnavailableException, InterruptedException { ZahlenReihenSpeicher zahlenReihenSpeicher = new ZahlenReihenSpeicher(); TonArray ton = new TonArray(); ZahlenAusSet zahlenAusSet = new ZahlenAusSet(); TestAusMap testAusMap = new TestAusMap(); UnbegrenztMap unbegrenztMap = new UnbegrenztMap(); zahlenReihenSpeicher.fuelleKonsonanten(); zahlenReihenSpeicher.fuelleVokale(); zahlenReihenSpeicher.fuelleTonReihe(); zahlenAusSet.createZahlenSet(); testAusMap.testeMap(); unbegrenztMap.endlosMap(); int[] ganzeReihe = new int[10]; for(int i = 0; i < ganzeReihe.length - 1; i++){ if(i % 2 == 0){ ganzeReihe[i] = zahlenReihenSpeicher.zahlenspeicherKonsonanten[i]; } else { ganzeReihe[i] = zahlenReihenSpeicher.zahlenspeicherVokale[i]; } } for(int i = 0; i < ganzeReihe.length - 1; i++){ if(i % 2 == 0){ System.out.print(Alphabet.konsonanten[ganzeReihe[i]]); } else { System.out.print(Alphabet.vokale[ganzeReihe[i]]); } } /* for(int i = 0; i < tonReihe.length -1; i++){ tonReihe[i] = zahlenReihenSpeicher.tonZahlSpeicher[i]; } */ for(int i = 0; i < zahlenReihenSpeicher.tonZahlSpeicher.length - 1;i++){ if(zahlenReihenSpeicher.tonZahlSpeicher[i] == 0){ ton.playToneTest(); } if(zahlenReihenSpeicher.tonZahlSpeicher[i] == 1){ ton.playToneTest2(); } if(zahlenReihenSpeicher.tonZahlSpeicher[i] == 2){ ton.playToneTest3(); } if(zahlenReihenSpeicher.tonZahlSpeicher[i] == 3){ ton.playToneTest4(); } if(zahlenReihenSpeicher.tonZahlSpeicher[i] == 4){ ton.playToneTest5(); } if(zahlenReihenSpeicher.tonZahlSpeicher[i] == 5){ ton.playToneTest6(); } } } } package de.borissov; public class ZahlenReihenSpeicher { Zufallszahlen zufallszahlen = new Zufallszahlen(); int[] zahlenspeicherKonsonanten = new int[100]; int[] zahlenspeicherVokale = new int[100]; int[] tonZahlSpeicher = new int[100]; public void fuelleKonsonanten(){ for(int i = 0; i < 49; i++){ zahlenspeicherKonsonanten[i] = zufallszahlen.createNumberKonsonant(); } } public void fuelleVokale(){ for(int i = 0; i < 49; i++){ zahlenspeicherVokale[i] = zufallszahlen.createNumberVokale(); } } public void fuelleTonReihe(){ for(int i = 0; i < 49; i++){ tonZahlSpeicher[i] = zufallszahlen.createTonNUmber(); } } } package de.borissov; import java.util.Random; public class Zufallszahlen { public int createNumberKonsonant(){ Random number = new Random(); return number.nextInt(19); } public int createNumberVokale(){ Random number = new Random(); return number.nextInt(5); } public int createTonNUmber(){ Random number = new Random(); return number.nextInt(5); } } package de.borissov; import java.util.Arrays; import java.util.HashSet; import java.util.Random; public class ZahlenAusSet { public void createZahlenSet(){ var round = new Random(); var zufallsZahl = new HashSet<>(); do { zufallsZahl.add(1 + round.nextInt(19)); } while(zufallsZahl.size() < 5); System.out.println(Arrays.toString(zufallsZahl.toArray())); } } package de.borissov; import java.util.Map; import static java.util.Map.entry; public class UnbegrenztMap { public void endlosMap(){ Map<String, Integer> frequenzNote = Map.ofEntries(entry("a", 440), entry("c", 523), entry("h", 493)); System.out.println(frequenzNote.get("a")); } }
package de.borissov; import javax.sound.sampled.AudioFormat; import javax.sound.sampled.AudioSystem; import javax.sound.sampled.LineUnavailableException; import javax.sound.sampled.SourceDataLine; public class TonArray { public void playToneTest() throws LineUnavailableException, InterruptedException { byte[] buf = new byte[ 1 ];; AudioFormat audioFormat = new AudioFormat( (float )44100, 8, 1, true, false ); SourceDataLine sourceDataLine = AudioSystem.getSourceDataLine( audioFormat ); sourceDataLine.open(); sourceDataLine.start(); for( int i = 0; i < 1000 * (float )44100 / 1000; i++ ) { double angle = i / ( (float )44100 / 40 ) * 2.0 * Math.PI; buf[ 0 ] = (byte )( Math.sin( angle ) * 100 ); sourceDataLine.write( buf, 0, 1 ); } sourceDataLine.drain(); sourceDataLine.stop(); } public void playToneTest2() throws LineUnavailableException, InterruptedException { byte[] buf = new byte[ 1 ];; AudioFormat audioFormat = new AudioFormat( (float )44100, 8, 1, true, false ); SourceDataLine sourceDataLine = AudioSystem.getSourceDataLine( audioFormat ); sourceDataLine.open(); sourceDataLine.start(); for( int i = 0; i < 1000 * (float )44100 / 1000; i++ ) { double angle = i / ( (float )44100 / 60 ) * 2.0 * Math.PI; buf[ 0 ] = (byte )( Math.sin( angle ) * 100 ); sourceDataLine.write( buf, 0, 1 ); } sourceDataLine.drain(); sourceDataLine.stop(); } public void playToneTest3() throws LineUnavailableException, InterruptedException { byte[] buf = new byte[ 1 ];; AudioFormat audioFormat = new AudioFormat( (float )44100, 8, 1, true, false ); SourceDataLine sourceDataLine = AudioSystem.getSourceDataLine( audioFormat ); sourceDataLine.open(); sourceDataLine.start(); for( int i = 0; i < 1000 * (float )44100 / 1000; i++ ) { double angle = i / ( (float )44100 / 80 ) * 2.0 * Math.PI; buf[ 0 ] = (byte )( Math.sin( angle ) * 100 ); sourceDataLine.write( buf, 0, 1 ); } sourceDataLine.drain(); sourceDataLine.stop(); } public void playToneTest4() throws LineUnavailableException, InterruptedException { byte[] buf = new byte[ 1 ];; AudioFormat audioFormat = new AudioFormat( (float )44100, 8, 1, true, false ); SourceDataLine sourceDataLine = AudioSystem.getSourceDataLine( audioFormat ); sourceDataLine.open(); sourceDataLine.start(); for( int i = 0; i < 1000 * (float )44100 / 1000; i++ ) { double angle = i / ( (float )44100 / 100 ) * 2.0 * Math.PI; buf[ 0 ] = (byte )( Math.sin( angle ) * 100 ); sourceDataLine.write( buf, 0, 1 ); } sourceDataLine.drain(); sourceDataLine.stop(); } public void playToneTest5() throws LineUnavailableException, InterruptedException { byte[] buf = new byte[ 1 ];; AudioFormat audioFormat = new AudioFormat( (float )44100, 8, 1, true, false ); SourceDataLine sourceDataLine = AudioSystem.getSourceDataLine( audioFormat ); sourceDataLine.open(); sourceDataLine.start(); for( int i = 0; i < 1000 * (float )44100 / 1000; i++ ) { double angle = i / ( (float )44100 / 120 ) * 2.0 * Math.PI; buf[ 0 ] = (byte )( Math.sin( angle ) * 100 ); sourceDataLine.write( buf, 0, 1 ); } sourceDataLine.drain(); sourceDataLine.stop(); } public void playToneTest6() throws LineUnavailableException, InterruptedException { byte[] buf = new byte[ 1 ];; AudioFormat audioFormat = new AudioFormat( (float )44100, 8, 1, true, false ); SourceDataLine sourceDataLine = AudioSystem.getSourceDataLine( audioFormat ); sourceDataLine.open(); sourceDataLine.start(); for( int i = 0; i < 1000 * (float )44100 / 1000; i++ ) { double angle = i / ( (float )44100 / 140 ) * 2.0 * Math.PI; buf[ 0 ] = (byte )( Math.sin( angle ) * 100 ); sourceDataLine.write( buf, 0, 1 ); } sourceDataLine.drain(); sourceDataLine.stop(); } } package de.borissov; import java.util.HashMap; public class TestAusMap { public void testeMap(){ var frequenzNote = new HashMap<>(); frequenzNote.put("440Hz", "a"); frequenzNote.put("493,88", "h"); frequenzNote.put("523,25", "c"); frequenzNote.put("329,23", "e"); System.out.println(frequenzNote.get("440Hz")); } } package de.borissov; public class Alphabet { public static final char[] alhabet = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' }; public static final char[] konsonanten = { 'B','C', 'D', 'F', 'G', 'H', 'K', 'L', 'M', 'N', 'P', 'Q', 'R', 'S', 'T', 'V', 'W', 'X', 'Y', 'Z' }; public static final char[] vokale = {'a', 'e', 'i','j', 'o', 'u'}; }