Beep und die damit unglücklich passierten Musikstücke
Übersicht

![]() |
XenonBetreff: Beep und die damit unglücklich passierten Musikstücke |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
ich weis die Play Funktion lässt sehr viel Verbessern, so dass sie zB nur 1 String braucht und man 5-Zeichen Töne alla "4C#2." übergeben kann, aber für den Anfang reichte das und dann wollt ich schon nimma ![]() Here die Userlib: Code: [AUSKLAPPEN] .lib "kernel32.dll"
Beep%(Freq, Duration) Here der Code: Code: [AUSKLAPPEN] Const C = 261
Const D = 293 Const E = 329 Const F = 349 Const G = 391 Const A = 440 Const H = 493 Play("CDEFGGAAAAGAAAAGFFFFEEDDDDC", "444422444414444144442244441", 240) ; Alle meine Entchen Play("FFGGFDFFGGFD", "444422444422", 240); Ringel, ringel, Reihe Play("GEEFDDCDEFGGGGEEFDDCEGGCDDDDDEFEEEEEFGGEEFDDCEGGC", "4424424444442442442444414444442444444244244244441", 240) ; Hänschen klein Play("CFFGAAFGGEFCFFGAAFGGEFCFFGAAFGGEFCFFGAAFGGEF", "44444444442444444444424444444444244444444442", 240) ; Es war eine Mutter Play("GEFGECDDDECGPPEFGECDDDECPCDDDEFDDEEEFGPPGEFGECDDDEC", "244244444424424424444442444444244444424424424444442", 240) ; Hänsel und Grätel End Function Play(tones$, lens$, speed) viertelms = 240/speed If Len(tones$) <> Len(lens$) Then Return 0 For i=1 To Len(tones$) time = 0 tone = 0 Select Mid$(tones$, i, 1) Case "A" tone = A Case "H" tone = B Case "C" tone = C Case "D" tone = D Case "E" tone = E Case "F" tone = F Case "G" tone = G Case "P" Delay viertelms End Select Select Mid$(lens$, i, 1) Case "1" time = 4*viertelms Case "2" time = 2*viertelms Case "4" time = viertelms Case "8" time = viertelms/2 Case "3" time = viertelms*4/3 End Select If tone <> 0 And time <> 0 Then Beep tone, time Next End Function Viel Spass, Xenon/Skate |
||
![]() |
Vertex |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] Function Beep(Freq, Duration) Freq = 1193180 / Freq WritePort $43, 182 WritePort $42, Freq And $FF WritePort $42, (Freq And $FF00)/$100 Value = ReadPort($61) Or %00000011 WritePort $61, Value Delay Duration Value = ReadPort($61) And %11111100 WritePort $61, Value End Function Für die Leute die kein WIn2K oder neuer haben. Zitat: .lib "io.dll" WritePort(Address,Value) : "WritePort" ReadPort%(Address) : "ReadPort" |
||
vertex.dreamfall.at | GitHub |
![]() |
Artemis |
![]() Antworten mit Zitat ![]() |
---|---|---|
Gibt es auch ne Möglichkeit, verschieden hohe Töne zu Produzieren??
Also nicht nur von Code: [AUSKLAPPEN] C' - H' sonder auch vonCode: [AUSKLAPPEN] kleines C - C''' ??
[EDIT] Wie krieg ich die frequenz für die töne heraus?? [/EDIT] Dank für Antworten |
||
![]() |
Vertex |
![]() Antworten mit Zitat ![]() |
---|---|---|
Schau mal http://emulazione.multiplayer....4/6581.pdf hier auf Seite 10, da stehen alle Frequenzen.
Du kannst also mit dem Kammerton A mit 461 Hz alle anderen Töne berechnen. mfg olli |
||
vertex.dreamfall.at | GitHub |
Hallosager |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Kann man Musik(Klingeltöne oder so) machen, ohne irgendwelche Sounddateien mit ins Spiel zu laden? | ||
![]() |
Artemis |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja kann man; aber nur wenn man BlitzPlus Blitz3D oder BMax hat. | ||
![]() |
paul-graf |
![]() Antworten mit Zitat ![]() |
---|---|---|
geht nicht bei mir kommt: "EXPECTING end-of-file" | ||
![]() |
Artemis |
![]() Antworten mit Zitat ![]() |
---|---|---|
du musst auch die entsprechende decls einrichten | ||
RGR |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Also bei mir ist das ganze in 'ner knappen 1/10 bis 1/ 100 Sekunde komplett durchgenudelt.
erst wenn ich dies ändere: viertelms = 100000/speed dann ists zeitlich im Rahmen und die erste Pause PP in Hänsel und Gretel muß vor dem G und nicht nach dem G kommen Ansonsten : Oh wie schön, mal wieder an längst vergangene Zeiten erinnert zu werden. |
||
![]() |
Hagbard |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wollt nur noch mal was posten:
a = 440 Hz ;ist der Grundton a * (2^1/12)^x ; x = die Anzahl der Halbtonschritte von a bis zum ; gewollten Ton Beispiel: e = 440 Hz * (2^1/12)^7 |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group