E-Drumming mit PC: Meine Idee, der ZpeD

  • Fertig!


    Auf Grund der Anregung hier habe ich mich heute Abend (Nacht) mal
    an so einem Programm versucht… ;)


    Da das bloße abspielen von WAV und MP3 Dateien aber nicht wirklich
    eine Herausforderung darstellt :P, habe ich die Variante mit Direktzugriff auf
    das Midi-Register der Soundkarte gewählt
    (erweitertes GM-Register Kanal 10 = Drums, Midi Note 35-81).


    So, ich kann also jetzt beliebige Tasten auf meiner PC Tastatur mit beliebigen
    Noten belegen und damit „Schlagzeug“ spielen (natürlich gehen auch andere
    Instrumente der Midi Bänke wie Piano usw..).


    Entspricht das der Idee des „Keyboard Drums“?


    Ich werde in den nächsten Tagen noch ein bisschen verfeinern (Optik und
    Zusatzfunktionen) und das Teil dann zum Download einstellen.


    Viel Spaß damit!

  • Hallo,


    Ich finde die PC-Tastatur im Praxisbetrieb mehr als Umständlich! Es gibt im Internet haufenweise Bausätze für den Parallelport! Dann kann man sogar mit analogen Signalen arbeiten, sprich eine Anschlagdynamik wäre nicht mehr unmöglich!


    Außerdem hat man dann eine kleine, handliche Box mit einem Kabel und kann parallel eine ganz normale Tastatur betreiben.


    Habe mit sowas zu meiner Schulzeit in Delphi (Pascal) ein Programm geschrieben, mit dem man unter anderem die Temperatur eines externen Thermometers anzeigen konnte.


    Ist alles schon ein bisschen her, aber war damals für einen Schüler der 11. Klasse kein Problem und hat nicht mehr als 15€ gekostet. Gibt sowas mittlerweile auch fertig für den USB-Port zu kaufen.



    Viele Grüße,
    Olli

    "Im Zahlenraum bis 100 kann Oliver Aufgaben mit hohem Schwierigkeitsgrad, auch bei wechselnder Aufgabenstellung, lösen."

  • Zitat

    Original von miGe
    Da das bloße abspielen von WAV und MP3 Dateien aber nicht wirklich
    eine Herausforderung darstellt :P, habe ich die Variante mit Direktzugriff auf
    das Midi-Register der Soundkarte gewählt
    (erweitertes GM-Register Kanal 10 = Drums, Midi Note 35-81).


    Auch für meine Delphi-Kenntnisse stellte das reine Abspielen einer WAV-Datei kein Problem dar. Drückt man aber zweimal schnell auf das Crash-Becken, wird die Wiedergabe des ersten Sounds unterbrochen, was natürlich recht unrealistisch klingt. Ich verwendete die Komponente Tmediaplayer. Vielleicht kannst du mir hier einen Tipp geben?


    Zitat

    Entspricht das der Idee des „Keyboard Drums“?


    Ich persönlich bevorzuge die Wiedergabe von WAV-Dateien. Ich habe im Netz ein paar Samples gefunden, die ich für dieses kleine Proujekt verwenden würde.


    Zitat

    Ich werde in den nächsten Tagen noch ein bisschen verfeinern (Optik und
    Zusatzfunktionen) und das Teil dann zum Download einstellen.


    Das finde ich sehr interessant. Kann ich mich nach der Freigabe an dich wenden, wenn das Programm mit meinem Screenreader nicht zugänglich ist? Ich fände es toll, wenn ich mich so in die Entwicklung des Programms einbringen könnte.


    Schöne Grüße
    von Blinddrummer

  • Hallo blinddrummer,


    ja natürlich.
    Ich werde den Dialog ohnehin sehr schlicht und einfach halten und nur
    Standard Steuerelemente verwenden (außer ein paar Bildern).


    Ich kennen Delphi leider zu wenig und kann Dir nicht sagen wie sehr das
    Tmediaplayer Objekt die API abschottet. Der direkte Weg über die API Funktion
    ist bei zeitkritischen Sachen im Zweifelsfall wohl immer der bessere…


    Ich möchte diese Thread hier jetzt nicht zur Entwicklerplattform machen,
    deshalb hier auch nur kurz: Du brauchst die Windows Standard DLL „winmm.dll“
    und daraus die Funktion „mciSendString“. Guck einfach mal in Deine API Referenz.


    Über die API Funktion „sndPlaySound“ klappt es nicht! D.h., es können nicht
    mehrere Dateien gleichzeitig abgespielt werden.


    Aber über „mciSendString“ kannst Du mehrere WAV Dateien starten und
    stoppen. Du musst nur jedem File einen eindeutigen Alias geben, dann kannst Du
    jede WAV-Dateien einzeln behandeln.


    Grüße
    miGe

  • Wieder ich!


    Wo finde ich denn WAV Samples für Snare, Toms, Cymbals usw. im Internet
    (Freeware)?


    Ich würde das oben geschriebene gerne selbst mal soweit fertig machen damit
    die fertige Anwendung beide Optionen beinhaltet – also MIDI und WAV.
    Außerdem hätte ich in diesem Fall gerne „Interval Control“ und bräuchte dazu
    ein paar unterschiedliche Snare und Cymbal Samples die ähnlich klingen.


    Wer weiß eine legale Quelle?


    Hat bis heute Abend Zeit! :D


    Grüße
    miGe

  • MiGe, bau bitte auf jeden Fall die Funktion ein, dass eigene Samples eingefügt werden können, also dass man nicht auf die Presets beschränkt ist.
    Ich such jetzt endlich meinen Schraubenzieher und bau die Tastatur auseinander.


    Edit:


    Die Schaltung, die ich mir bis jetzt ausgedacht habe läuft mit Transistoren... In der Theorie ganz ordentlich, jedoch "sprengt" das in gewisser Hinsicht den Einfachheitsrahmen des Projektes...


    Cakedrummer: Wie genau sah das mit dem Parallel-Port aus?

    "Musik ist wichtig. Vielleicht auch das wichtigste für mich. [...] Wenn Mädchen kommen und gehen, / bleibt sie doch treu bei mir."


    Zaap - La Vorstellung

    Einmal editiert, zuletzt von Zaap ()

  • Hallo Zusammen!


    @TheK, danke für den Link. Habe mir die Samples mal geladen. Die sind natürlich
    völlig ausreichend zum Testen und Basteln. Spitze!


    blinddrummer: Ich habe gestern Abend mal versucht Dein Problem
    nachzuvollziehen und mir entsprechend ein kleines Programm gebastelt (mit oben
    genannten Funktionen).


    Jetzt habe ich auch ich kapiert wo Dein Problem liegt!


    Sorry, ich habe Dich da missverstanden.


    Das Problem liegt darin, dass man z.B. den angestoßenen Sound erst Stoppen muss
    bevor man ihn wieder neu startet. Das meinst Du wohl mit „abgehackten“ und
    „unnatürlichen“ Sound…


    Ok, das Problem ist nicht ganz so einfach zu lösen, aber auch hierfür gibt es Mittel
    und Wege. Ich habe mir dazu folgendes überlegt: Du startest mehrere Samples
    hintereinander in voneinander getrennten Sitzungen (also Mehrfachaufruf desselben
    Samples mit unterschiedlichen Alias Namen).
    Damit Du Dir bei einem Wirbel aber nicht den Speicher voll pumpst, fängst Du nach
    dem 3 oder 4 Sample an die zuerst angestoßenen wieder zu stoppen (evtl. über ein
    Fade out).
    Wie viele Samples Du gleichzeitig „am Leben“ läst ist abhängig davon wie es klingt.


    Ist etwas aufwändiger, der Effekt rechtfertigt aber die Mühe!


    @Zapp: Da es von der Bedienung her zu umständlich werden würde werde ich zwei
    Versionen machen.


    Midi:
    Einfaches Abspielen der MIDI-Chip Register über die Tastatur.
    Dabei können die Sounds aus GM1 (auch die Drum Sounds) auf beliebige Tasten
    gelegt werden. Tastenzuweisung so simpel wie möglich: Kanal auswählen. Midi
    Note auswählen, gewünschte Taste drücken und speichern. Das ganze so oft wie
    gewünscht mit beliebigen Tasten.


    Samples:
    Abfeuern von WAV Samples über die Tastatur.
    Beliebige WAV Dateien können jeder Taste zugeordnet werden. Wenn es meine Zeit
    zulässt, dann werde ich auch fortgeschrittene Techniken wie „Interval Control“ und
    „Fade-Effekte“ für Wirbel mit einbauen…


    Aber bitte beachtet: Ich betrachte das als Spaß-Projekt und erhebe keinerlei Anspruch
    auf perfekte Umsetzung oder ein Zeitfenster. Wenn ich Zeit und Lust habe mach ich
    weiter, wenn nicht las ich es.


    Grüße

  • Zitat

    Original von miGeAber bitte beachtet: Ich betrachte das als Spaß-Projekt und erhebe keinerlei Anspruch
    auf perfekte Umsetzung oder ein Zeitfenster. Wenn ich Zeit und Lust habe mach ich
    weiter, wenn nicht las ich es.


    Das ist klar ;) Nähme ich das ganze topernst würd ich nicht solange brauchen um den blöden Tastaturcontroller endlich wieder anzukleben ^^

    "Musik ist wichtig. Vielleicht auch das wichtigste für mich. [...] Wenn Mädchen kommen und gehen, / bleibt sie doch treu bei mir."


    Zaap - La Vorstellung

  • Hallo miGe,


    du schriebst:

    Zitat

    Das Problem liegt darin, dass man z.B. den angestoßenen Sound erst Stoppen muss
    bevor man ihn wieder neu startet. Das meinst Du wohl mit „abgehackten“ und
    „unnatürlichen“ Sound…


    Ich meine nicht das ich den Sound stoppen muß. Die Komponente tmediaplayer unterbrach die Wiedergabe eines Sounds, wenn ein neuer abgespielt werden sollte - wir meinen aber wohl das selbe *g*


    Zitat

    Du startest mehrere Samples hintereinander in voneinander getrennten Sitzungen (also Mehrfachaufruf desselben
    Samples mit unterschiedlichen Alias Namen).
    Damit Du Dir bei einem Wirbel aber nicht den Speicher voll pumpst, fängst Du nach
    dem 3 oder 4 Sample an die zuerst angestoßenen wieder zu stoppen (evtl. über ein
    Fade out).
    Wie viele Samples Du gleichzeitig „am Leben“ läst ist abhängig davon wie es klingt.


    Das hört sich nachvollziehbar und logisch an. Ich habe mit der API noch nichts gemacht - ging aber davon aus, dass sich der Sound nach dem Abspielen selbst beendet und den Speicher frei macht - dem ist aber offenbar nicht so.


    BTW: Wie lange programmierst du schon und mit welcher Entwicklungsumgebung, bzw. Programmiersprache? Können uns aber auch gern per PM austauschen.

  • Hi Eisi,


    ich bin blind, da hast du Recht. Ich arbeite von meinem Telearbeitsplatz als Webprogrammierer.
    Meine Chefin steuert das Design der Seiten mittels CSS und ich programmiere den dynamischen Inhalt in PHP. Den PC bediene ich mit meinen Hilfsmitteln (Screenreader mit Sprachausgabe und angeschlossener Braillezeile). Ich kann gleich beim Entwurf der Seiten darauf achten, dass das Angebot auch für blinde zugänglich ist. Unser größtes Projekt ist im Moment die Existenzgründerplattform Gründerblatt (http://www.gruenderblatt.de).

  • blinddrummer,
    wir haben uns schon richtig verstanden…
    Ich meine auch nicht das DU den Sound abstoppen musst, sondern
    das System. Wir haben aber beide dasselbe gemeint ;)


    Mein „Keyboard Midi-Drum“ ist praktisch fertig (lange Nacht gestern…).


    Ich werde das Teil heute Abend zum Download bereitstellen und hier
    einen Link drauf machen.


    Weitere Details folgen heute Abend, hab leider gerade wenig Zeit…


    Bis später!
    miGe

  • blinddrummer


    Zitat


    ich programmiere den dynamischen Inhalt in PHP. Den PC bediene ich mit meinen Hilfsmitteln (Screenreader mit Sprachausgabe und angeschlossener Braillezeile). Ich kann gleich beim Entwurf der Seiten darauf achten, dass das Angebot auch für blinde zugänglich ist. Unser größtes Projekt ist im Moment die Existenzgründerplattform Gründerblatt (http://www.gruenderblatt.de).


    Mein absoluter Respekt ist dir sicher.


    So mal als Tipp:


    Ihr könnt, um euer Problem zu lösen, auch die SDL-Library verwenden. Sowohl die Tastaturabfrage als auch das Abspielen mehrer Samples gleichzeitig ist damit kein Problem.
    Das Ganze würde dann übrigens auch unter Linux, Mac OS, Windows CE, Amiga OS u. vielen anderen Plattformen laufen, wenn man es darunter kompiliert.


    hier der Link


    Simple Direct Layer


    mfg
    Eisi

  • Hallo Zusammen!


    Ich habe meine Keyboard Midi-Drum Software zum Download eingestellt.


    Downlaod


    Anmerkung:
    Midi-Drum kann nur funktionieren wenn auf euerer Soundkarte auch ein
    Hardware Midi-Chip ist. Die Software funktioniert zwar auch ohne (also über
    den MS SW Emulator), aber dann gibt es keinen Kanal 10 – und darauf sind
    die Drums.


    Software hat bestimmt noch Bugs. Konnte in der kurzen Zeit nicht alles
    testen... Einfach ausprobieren!


    Start:


    - Liste mit eueren gewünschten Tastenkombinationen füllen
    - Unten auf „Spielmodus“ klicken (das steht dann ….[EIN])


    Zum abschalten des „Spielmodus“ erneut auf den Button klicken.


    Viel Spaß damit!


    Grüße
    miGe


    PS: Fehler bitte melden, ich werde soweit ich Zeit habe Verbesserungen
    vornehmen.


    Edit: Link ausgebessert.

    Einmal editiert, zuletzt von miGe ()

  • Hallo zusammen!


    Ich habe eine aktualisierte Version von „Keyboard Midi-Drums“ eingestellt
    die Ihr hier downloaden könnt.


    Verbesserungen:
    - Unterstützung für „Microsoft GS Wavetable SW Synth“ Emulator
    - freie Kanalbelegung für jedes Instrument/Note
    - Panik Button „alle Noten aus“ (auf die grüne „Trigger LED“ klicken)
    - „Note off“ beim loslassen der Tasten u. Buttons (interessant für geloopte Sounds)


    Vor der Installation die alte Version bitte deinstallieren!



    Viel Spaß damit!
    miGe


    PS: Die Latenz mit „Microsoft GS Wavetable SW Synth“ ist grausam!
    Liegt aber scheinbar nicht an mir, denn ich habe heute noch mal alle Zugriffe optimiert.
    Mit Midi-Chip Soundkarte (ich habe am Arbeitsplatz eine NVidia OnBoard)
    läuft die Software ohne jegliche Verzögerung... Liegt also wohl an der
    o.g. MS Software Emu... :(


    Edit: korrektur

    Einmal editiert, zuletzt von miGe ()

  • Hallo miGe,


    habe einfach mal dein Tool ausprobiert schon mal prima, und mit dem Update
    kann ich sogar via Midex3 Midi Interface mein TD-8 Modul über PC Tastatur
    ansteuern.


    Onboard Soundkarte habe ich nicht getestet weil im BIOS deaktiviert denn
    solche "Schweinereien" mache ich nicht mit meinem Audio-PC :D


    Cool wäre es ja noch wenn man dein Tool als ASIO Standard Plugin in
    Cubase SX einbinden könnte um so mal schnell VST Instrumente über
    PC Tastatur Triggern zu können, das wäre sehr praktisch.


    Allerdings käme dann wohl das Problem auf das Cubase SX wissen müßte, ob
    ich nun Tastaturbefehle für Cubase SX eingeben möchte oder eben via Tastatur
    das VST Instrument triggern möchte!


    Naja nur so eine Idee.
    Danke jedenfalls erstmal für deine Arbeit.


    Gruß


    Trommeltotti

    Einmal editiert, zuletzt von trommeltotti ()

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!