The Simple Piano Simulator

  • Hallo Leute,

    hab jetzt auch mein 2tes Skript fertig: The Simple Piano Simulator. In diesem Programm spielt ihr ein Klavier durch das obere Nummernblock.

    Wie funktioniert das?

    Wie oben beschrieben muss man einfach nur die Tasten 1 bis ß drücken, um eine "Klaviertaste" zu betätigen.

    Geplant:

    Noch mehr Töne
    Bessere GUI
    Aufnahmefunktion
    "Spielen" lernen

    Im Anhang findet ihr 2 zip-Dateien. Das Pojekt muss mit dem anderen Verzeichniss in einem Ordner sein.

    Viel Spass!

  • hallo Stevenx,

    für dein 2. Script, nicht schlecht ;D.
    Ich persönlich würde dir empfehlen, dich mit der Bass UDF mal auseinander zu setzen. In Sachen Audio ist das echt das beste, was es in AutoIt gibt.

    Wenn du es dennoch mit SoundPlay lösen möchtest, würde ich an deiner Stelle die Audio Dateien zuerst reinladen und dann abspielen, damit nicht für jeden Ton geladen werden muss.

    Ungefähr so:

    Spoiler anzeigen
    [autoit]

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_icon=Icon.ico
    #AutoIt3Wrapper_outfile=TSPS-Start.exe
    #AutoIt3Wrapper_UseX64=n
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #cs ----------------------------------------------------------------------------
    Program Name: The Simple Piano Simulator
    Program Version: 1.0
    Author: The StevenX Media Company; Stefan Blagojevic; [email='office@StevenX.at.tf'][/email]

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    #ce ----------------------------------------------------------------------------

    [/autoit] [autoit][/autoit] [autoit]

    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <sound.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("The Simple Piano Simulator", 625, 443, 192, 124)
    $Pic1 = GUICtrlCreatePic( @ScriptDir & "\Default.jpg", 8, 0, 593, 377, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    $Label1 = GUICtrlCreateLabel("Press a key", 296, 400, 59, 17)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    Global $Paused
    HotKeySet("1", "TogglePause")
    HotKeySet( "2", "TogglePause2")
    HotKeySet( "3", "TogglePause3")
    HotKeySet( "4", "TogglePause4")
    HotKeySet( "5", "TogglePause5")
    HotKeySet( "6", "TogglePause6")
    HotKeySet( "7", "TogglePause7")
    HotKeySet( "8", "TogglePause8")
    HotKeySet( "9", "TogglePause9")
    HotKeySet( "0", "TogglePause10")
    HotKeySet( "ß", "TogglePause11")
    HotKeySet( "{ESC}", "Aussteigen")

    [/autoit] [autoit][/autoit] [autoit]

    Global $sound[10]

    [/autoit] [autoit][/autoit] [autoit]

    for $x=0 to 9
    $sound[$x] = _SoundOpen(@ScriptDir & '\Keys\'&$x+1&'.mp3')
    Next

    [/autoit] [autoit][/autoit] [autoit]

    Func TogglePause2()
    _SoundPlay($sound[1])
    EndFunc
    Func TogglePause3()
    _SoundPlay($sound[2])
    EndFunc
    Func TogglePause4()
    _SoundPlay($sound[3])
    EndFunc
    Func TogglePause5()
    _SoundPlay($sound[4])
    EndFunc
    Func TogglePause6()
    _SoundPlay($sound[5])
    EndFunc
    Func TogglePause7()
    _SoundPlay($sound[6])
    EndFunc
    Func TogglePause8()
    _SoundPlay($sound[7])
    EndFunc
    Func TogglePause9()
    _SoundPlay($sound[8])
    EndFunc
    Func TogglePause10()
    _SoundPlay($sound[9])
    EndFunc
    Func TogglePause11()
    _SoundPlay($sound[0])
    EndFunc
    Func TogglePause()
    _SoundPlay($sound[0])
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func Aussteigen()
    for $x=0 to 9
    _SoundClose($sound[$x])
    Next
    Exit
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Aussteigen()
    EndSwitch
    WEnd

    [/autoit]

    mfG
    Developer30

    "Je mehr Käse, desto mehr Löcher; je mehr Löcher, desto weniger Käse. Ergo: Je mehr Käse, desto weniger Käse. 8| "
    "Programmers never die: they just GOSUB without RETURN"
    "I tried to change the world but I couldn't find the source code."

    2 Mal editiert, zuletzt von Developer30 (3. Juni 2011 um 17:19)

  • Danke für euer Feedback. Muss jetzt aber lernen, unsere Lehrer in Österreich brummen uns jetzt im letzten Monat viel auf :( .
    Falls mir wer helfen will, ich bräuchte die anderen Tasten als MP3 oder WAV. Danke!

    [Blockierte Grafik: http://stefan.blagojevic.at/loading.gif]

    Design, Modellbau, CAD <3
    AutoCAD, ArchiCAD, REVIT (ist ein Scheiss, habe aber das Zertifikat)

    Cinema 4D, RuckZuck Statik Programm

    Michael Bay als Architekt


    Da eine Glasfassade! Booom Sichtbeton! Laminiertes Bild auf Mosaiksteinchen! Granit! Granit! Granit! Sichtbetonwand mit 50° Neigung!
    Holzverkleidung erscheint da! Boooooom!

  • die paar Sounds könnte ich aufnehmen.
    Deine Samples sind übrigens nicht einzelne Töne sondern Akkorde. Stellt sich die Frage, ob ich nur Dur-, Moll- oder Stufenakkorde aufzeichnen soll?

    "Je mehr Käse, desto mehr Löcher; je mehr Löcher, desto weniger Käse. Ergo: Je mehr Käse, desto weniger Käse. 8| "
    "Programmers never die: they just GOSUB without RETURN"
    "I tried to change the world but I couldn't find the source code."

  • Blöde Frage: Was wird am meisten verwendet?

    [Blockierte Grafik: http://stefan.blagojevic.at/loading.gif]

    Design, Modellbau, CAD <3
    AutoCAD, ArchiCAD, REVIT (ist ein Scheiss, habe aber das Zertifikat)

    Cinema 4D, RuckZuck Statik Programm

    Michael Bay als Architekt


    Da eine Glasfassade! Booom Sichtbeton! Laminiertes Bild auf Mosaiksteinchen! Granit! Granit! Granit! Sichtbetonwand mit 50° Neigung!
    Holzverkleidung erscheint da! Boooooom!

  • also am sinnvollsten wäre es, insgesamt nur einzelne Töne zu benutzen (vlt noch okatviert). aber wenn man akkorde benutzt, schränkt man den user mehr oder weniger ein.

    "Je mehr Käse, desto mehr Löcher; je mehr Löcher, desto weniger Käse. Ergo: Je mehr Käse, desto weniger Käse. 8| "
    "Programmers never die: they just GOSUB without RETURN"
    "I tried to change the world but I couldn't find the source code."

  • Würde ich auch meinen. Ist ja sonst kein Klavierspielen.

    [Blockierte Grafik: http://stefan.blagojevic.at/loading.gif]

    Design, Modellbau, CAD <3
    AutoCAD, ArchiCAD, REVIT (ist ein Scheiss, habe aber das Zertifikat)

    Cinema 4D, RuckZuck Statik Programm

    Michael Bay als Architekt


    Da eine Glasfassade! Booom Sichtbeton! Laminiertes Bild auf Mosaiksteinchen! Granit! Granit! Granit! Sichtbetonwand mit 50° Neigung!
    Holzverkleidung erscheint da! Boooooom!

  • Wie gesagt, Feedback ist dringend erwünscht.

    [Blockierte Grafik: http://stefan.blagojevic.at/loading.gif]

    Design, Modellbau, CAD <3
    AutoCAD, ArchiCAD, REVIT (ist ein Scheiss, habe aber das Zertifikat)

    Cinema 4D, RuckZuck Statik Programm

    Michael Bay als Architekt


    Da eine Glasfassade! Booom Sichtbeton! Laminiertes Bild auf Mosaiksteinchen! Granit! Granit! Granit! Sichtbetonwand mit 50° Neigung!
    Holzverkleidung erscheint da! Boooooom!

  • Die Idee ist gut, die Umsetzung kann man noch verbessern.

    Wie wäre es wenn die Tasten gedrückt werden wenn man 1, 2, 3... drückt?
    Und man kann immer nur einen Sound abspielen.

    PS: Du brauchst nicht direkt nach 5h zu pushen!

    mfg BB

    "IF YOU'RE GOING TO KILL IT
    OPEN SOURCE IT!"

    by Phillip Torrone

    Zitat von Shoutbox

    [Heute, 11:16] Andy: ....böseböseböseböse....da erinnere ich mich daran, dass man den Puschelschwanz eines KaRnickels auch "Blume" nennt....ob da eins zum anderen passt? :rofl: :rofl: :rofl: :rofl:

    https://autoit.de/index.php?page…leIt#post251138

    Neon Snake

  • Danke, muss es nur noch einbaun. @Hauke: Schon langweilig geworden mit dem Simulator?

    [Blockierte Grafik: http://stefan.blagojevic.at/loading.gif]

    Design, Modellbau, CAD <3
    AutoCAD, ArchiCAD, REVIT (ist ein Scheiss, habe aber das Zertifikat)

    Cinema 4D, RuckZuck Statik Programm

    Michael Bay als Architekt


    Da eine Glasfassade! Booom Sichtbeton! Laminiertes Bild auf Mosaiksteinchen! Granit! Granit! Granit! Sichtbetonwand mit 50° Neigung!
    Holzverkleidung erscheint da! Boooooom!

  • So ich möchte die Idee weiter aufgreifen und plane eine komplette virtuelle Band. Wer mir helfen will, hier ist die ToDo Liste:

    () Piano Sounds (erledigt, danke Developer30)
    () Gitarren Sounds (kann ich aufnehemen)
    () Schlagzeug Sounds (kann mir hier wer helfen?)
    () Wenn möglich, ein GUI+ Interface

    Damit will ich hier ein großes Autoit Projekt beginnen. Wer mir helfen will, einfach drunter posten. Eigentlich ist es ganz einfach, doch ich kenn mich nicht mit GUI+ nicht aus und wir wollen doch ein hübsches Interface haben, oder. Danke an alle! :D

    [Blockierte Grafik: http://stefan.blagojevic.at/loading.gif]

    Design, Modellbau, CAD <3
    AutoCAD, ArchiCAD, REVIT (ist ein Scheiss, habe aber das Zertifikat)

    Cinema 4D, RuckZuck Statik Programm

    Michael Bay als Architekt


    Da eine Glasfassade! Booom Sichtbeton! Laminiertes Bild auf Mosaiksteinchen! Granit! Granit! Granit! Sichtbetonwand mit 50° Neigung!
    Holzverkleidung erscheint da! Boooooom!

  • ich kann mithelfen, wenn ich Zeit hab (bin momentan auch sehr viel mit einem eigenen Projekt beschäftigt). Wenn du Skype hast, kann du mich (siehe mein Profil) kontaktieren.

    "Je mehr Käse, desto mehr Löcher; je mehr Löcher, desto weniger Käse. Ergo: Je mehr Käse, desto weniger Käse. 8| "
    "Programmers never die: they just GOSUB without RETURN"
    "I tried to change the world but I couldn't find the source code."

  • OK, hab dich geadded.

    [Blockierte Grafik: http://stefan.blagojevic.at/loading.gif]

    Design, Modellbau, CAD <3
    AutoCAD, ArchiCAD, REVIT (ist ein Scheiss, habe aber das Zertifikat)

    Cinema 4D, RuckZuck Statik Programm

    Michael Bay als Architekt


    Da eine Glasfassade! Booom Sichtbeton! Laminiertes Bild auf Mosaiksteinchen! Granit! Granit! Granit! Sichtbetonwand mit 50° Neigung!
    Holzverkleidung erscheint da! Boooooom!

  • Ja mein ich, sorry. Ich hab mir als Hintergrund eine Animation vorgestellt, doch das schafft man mit KODA bestimmt nicht...

    [Blockierte Grafik: http://stefan.blagojevic.at/loading.gif]

    Design, Modellbau, CAD <3
    AutoCAD, ArchiCAD, REVIT (ist ein Scheiss, habe aber das Zertifikat)

    Cinema 4D, RuckZuck Statik Programm

    Michael Bay als Architekt


    Da eine Glasfassade! Booom Sichtbeton! Laminiertes Bild auf Mosaiksteinchen! Granit! Granit! Granit! Sichtbetonwand mit 50° Neigung!
    Holzverkleidung erscheint da! Boooooom!

  • Bin zwar kein Profi in GDI+, aber einfache Sachen (Buffer, evtl WinApi DC etc.) kann ich schon machen

    das reicht glaub ich aus ;D

    Ja mein ich, sorry. Ich hab mir als Hintergrund eine Animation vorgestellt, doch das schafft man mit KODA bestimmt nicht...

    Koda hilft da 0% weiter. Man kann da höchstens ein leeres Fenster für das Projekt erstellen, die ganze Oberfläche könnte man dan mit GDI+. Dass man dann so von jedem Instrument gerade sieht, was gespielt wird usw....
    Ich schlage vor, wir benutzen die Bass UDF (da hab ich etwas Erfahrung, bin zwar auch kein Pro aber ein paar Funktionen kenn' ich^^).

    Edit: ein Designer wäre jetzt noch gut zu gebrauchen :D

    "Je mehr Käse, desto mehr Löcher; je mehr Löcher, desto weniger Käse. Ergo: Je mehr Käse, desto weniger Käse. 8| "
    "Programmers never die: they just GOSUB without RETURN"
    "I tried to change the world but I couldn't find the source code."

  • Koda?
    Das ist nur ein Formdesigner.

    Der kann soweit ich weiß kein GDI+

    GDI ist noch richtige Handarbeit. Nix mit grafischem Designer und Buttons hier hin und dort hinschieben ;)

    Also bei kleinen Sachen kann ich auch helfen.

    Hab mit GDI+ mal "Pong" programmiert mit "Specials" und so. Allerdings hat das ein wenig geruckelt und habe es deswegen ned veröffentlicht^^. Außerdem habe ich die "Zeit" nicht beachtet. AUf jedem PC läuft das Spiel nun mal langsamer, oder auch mal schneller. Je nachdem wie oft der PC die schleifen durchläuft pro Sekunde :/ . Merke: Spiele mit GDI = nicht gut :)

    Aber du machst ja kein Spiel. Deswegen sollte das kein Problem sein :)

    Allerdings können 40 % der Member hier besser GDI+ als ich. Also bitte nur bei notfällen melden xD