# Beep-Ton erzeugen



## Jellysheep (18. Februar 2009)

Hallo zusammen, 
kann man in Java, C++ oder in Batchdateien den Beeper auf dem Mainboard ansprechen und verschiedene Piepstöne erklingen lassen?
VG
Jellysheep

PS: Ich weiß nicht genau, in welches Forum das hineinsoll...


----------



## Adrian_Broher (18. Februar 2009)

java:

```
System.out.print("\u0007");
System.out.flush();
```

c++:

```
std::cout << "\a";
```

batch:

```
echo ^G
```


----------



## Jellysheep (18. Februar 2009)

Danke für die schnelle Antwort! 
Aber es gab ein paar Probleme:
Die Batch- und die Javadatei machen keinen Sound, und die C++ Datei gibt bloß eine Fehlermeldung aus:

'std': Keine Klasse oder Namespace
'cout': nichtdeklarierter Bezeichner

Trotzdem nochmal vielen Dank!


----------



## Adrian_Broher (18. Februar 2009)

Wo steht denn in meinem Post, dass das vollstaendige Codebeispiele fuer Copypasta sind?


----------



## Jellysheep (18. Februar 2009)

Naja, die C++- und die Javadatei braucht ja eigentlich nicht viel mehr...
Und die Batchdatei braucht ja sonst auch nichts...


----------



## Nawi0 (23. Oktober 2009)

weis net ob sich das problem scho gelöst hatt 

vlt geht dein system lautsprecher net

oder teste mal das

hab leider nur batch im rest bin ich voll  xD:-(

Alt gedrückthalten und dan aufm num block 7 drücken alt loslasen 

da kommt dann schon auch ^G raus aber ich denk mal da isn kleiner unterschied 


```
echo ^G>C:\1.txt
start notepad++  "C:\1.txt"
```


und hoppala laut notepad is da nicht ^G sondern ein BEL



also besser Alt gedrückthalten und dan aufm num block 7 drücken alt loslasen 

mfg
--Nawi


----------



## Jellysheep (23. Oktober 2009)

Die std und cout Fehler cann ich inzwischen beseitigen...

mit Alt+7 funktioniert das bei Batch! Dankeschön!  Gibt es verschiedene Töne? Vor dem Booten klingen bei mir immer 2...


----------



## Nawi0 (23. Oktober 2009)

1. ja geht bei batch

2. nicht das ich wüste bzw ich weis net wie mans ändert

3. ich hab ne exe die 3 verschiedene ausgibt wen intresse sag bescheid und ich up die


----------



## Jellysheep (23. Oktober 2009)

Nawi0 hat gesagt.:
			
		

> ich hab ne exe die 3 verschiedene ausgibt wen intresse sag bescheid und ich up die



Gerne, das wäre schön!


----------



## Enumerator (23. Oktober 2009)

Offtopic:
Erinnert sich hier noch jemand an die tollen Kompositionen in DOS und BASIC? Oder gar auf dem C64? Man, waren das Zeiten! Dudelüütutüüüt...


----------



## Jellysheep (23. Oktober 2009)

So etwas in die Richtung hatte ich vor...


----------



## Nawi0 (24. Oktober 2009)

Enumerator hat gesagt.:


> Offtopic:
> Erinnert sich hier noch jemand an die tollen Kompositionen in DOS und BASIC? Oder gar auf dem C64? Man, waren das Zeiten! Dudelüütutüüüt...




joa ne mit sowas kann ich net dienen und hab auch kein peil wie das gehn soll

aber nja hier is die exe


----------



## Jellysheep (24. Oktober 2009)

Dankeschön! Hab jetzt auch eine Lösung in C++ gefunden mit der Beep-Methode aus der Windows.h...Funktioniert perfekt! 
Im Anhang ein kleines Beispiel...


----------



## Enumerator (24. Oktober 2009)

Warum postest du nicht mal den Quellcode - damit wir einen Blick auf Deine Lösung werfen können?


----------



## Jellysheep (24. Oktober 2009)

Gerne, hier:

```
#include <windows.h>


int main(int argc, char* argv[])
{
	double x = 1.0594631;
	double i = 440*x*x*x; //C2
	int st = 250;
	Beep(i, st);
	i*=x;
	i*=x;
	Beep(i, st);
	i*=x;
	i*=x;
	Beep(i, st);
	i*=x;
	Beep(i, st);
	i*=x;
	i*=x;
	Beep(i, st*2);
	Beep(i, st*2);
	i*=x;
	i*=x;
	Beep(i, st);
	Beep(i, st);
	Beep(i, st);
	Beep(i, st);
	i/=x;
	i/=x;
	Beep(i, st*4);
	i*=x;
	i*=x;
	Beep(i, st);
	Beep(i, st);
	Beep(i, st);
	Beep(i, st);
	i/=x;
	i/=x;
	Beep(i, st*4);
	i/=x;
	i/=x;
	Beep(i, st);
	Beep(i, st);
	Beep(i, st);
	Beep(i, st);
	i/=x;
	Beep(i, st*2);
	Beep(i, st*2);
	i/=x;
	i/=x;
	Beep(i, st);
	Beep(i, st);
	Beep(i, st);
	Beep(i, st);
	i/=x;
	i/=x;
	Beep(i, 4*st);
	return 0;
}
```


----------



## Nawi0 (24. Oktober 2009)

Jellysheep hat gesagt.:


> Dankeschön! Hab jetzt auch eine Lösung in C++ gefunden mit der Beep-Methode aus der Windows.h...Funktioniert perfekt!
> Im Anhang ein kleines Beispiel...




ich seh da nur die selbe beep exe ^^

und nichts für ungut aber mit c komm ich voll net kla 
haste an der exe was geändert? neue parameter oder so?


----------



## Jellysheep (24. Oktober 2009)

Ich hab ein komplett neues Programm geschrieben, heißt nur gleich wie das andere... 



> ich seh da nur die selbe beep exe


Hörst du auch das gleiche?


----------



## Nawi0 (24. Oktober 2009)

ne nich ganz ^^

aber bei mir kommt da n fehler welcher wäre :

Diese Anwendung konnte nicht gestartet werde, weil die anwendungsconfig nicht korect ist . zur problembehebung sollten sie die anwendung neu instalieren xD


----------



## Jellysheep (24. Oktober 2009)

Probier mal die hier... Da sollte mindestens eine funktionieren... 

Edit: Sagst du mir bitte dann, welche der beiden funktioniert hat?


----------



## Nawi0 (24. Oktober 2009)

Omg lol 

beide gehn Oo

aber sagma wie haste das so hinekommen und kannst du da wie wene mal zeit hast ne batch exe schreiben wo man via parameter oder so einstellen kann welcher ton kommt?^^


----------



## Maik (24. Oktober 2009)

@Nawi0: Bitte beachte unsere Netiquette (Nr.15) bzgl. deiner durchgängigen Kleinschreibung, die in unserem Forum nicht erwünscht ist - vielen Dank! 

mfg Maik


----------



## Jellysheep (24. Oktober 2009)

Nawi0 hat gesagt.:


> aber sagma wie haste das so hinekommen und kannst du da wie wene mal zeit hast ne batch exe schreiben wo man via parameter oder so einstellen kann welcher ton kommt?^^



Ist im Anhang, 1. Parameter: Frequenz in Hz, 2. Parameter: Dauer in ms.
Viel Spaß!


----------



## Nawi0 (24. Oktober 2009)

Wie genial Dank dir 

wen du willst kannst mich ja in skype Addn


----------



## Jellysheep (24. Oktober 2009)

Bitteschön! 

Den Gedanken hatte ich vor 15 Minuten auch schon, mach ich!


----------



## Enumerator (24. Oktober 2009)

Ich musste zwar ein bisschen nachhelfen um dein Werk auf Linux hören zu können, aber jetzt kann ich endlich mitbeepen:


----------



## Nawi0 (25. Oktober 2009)

Enumerator hat gesagt.:


> Ich musste zwar ein bisschen nachhelfen um dein Werk auf Linux hören zu können, aber jetzt kann ich endlich mitbeepen:



Na dann wilkommen im club


----------



## Jellysheep (3. November 2009)

@Enumerator:
Hat eigentlich Linux die Noten geschrieben oder wars du das?


----------



## Enumerator (4. November 2009)

Die Noten sind vom Pinguin, der Text ist von mir.


----------



## Jellysheep (4. November 2009)

Das ist ja lustig, kannst du mir den Code schicken, dann probier ich das auch mal aus!


----------



## Ali Ibn Abi Thalib (9. Dezember 2009)

mit diesem code kann man lieder etc. über das Mainboard abspielen:

#include <windows.h>

double tiefesC = 440 / (2 ^ (9 /12));

enum noten {
	C = 0,
	Cis,
	D,
	Dis,
	E,
	F,
	Fis,
	G,
	Gis,
	A,
	Ais,
	H,
        Ces = H,
	Des = Cis,
	Es = Dis,
	Ges = Fis,
	Aes = Gis,
	B = Ais

};

void beepTone(enum noten note, int oktave, double duration) {
	Beep((int) tiefesC * 2 ^ (((int) note) / 12 + oktave), duration);
}
int main(void) {
	beepTone(C, 1, 1000);
	beepTone(C, 2, 1000);
}


spielt z. B. c' und c''


----------

