Update: KickMe - Bassdrum-Synth - Bitte testen!

  • Wenn man elektronisch klingende Bassdrum-Sounds selbst erzeugen will, tut man das ja üblicherweise, indem man eine Sinuswelle innerhalb einer bestimmten Zeit von einer hohen Frequenz zu einer niedrigen Frequenz verändert (Pitchmodulation o. Sweep). Ich bin in diesem Zusammenhang im Netz auf ein VST-Plugin namens Bazzism gestoßen. Dieses Plugin erzeugt einen Bassdrum-Sound auf genau diese Art. Dabei finde ich vor allem interessant, dass man die entstehende Bassdrum auf einen bestimmten Ton hin stimmen kann, um sie besser an die Tonart seines Stückes anzupassen.


    So etwas in der Art wollte ich gerne selbst machen und habe daher den standalone Bassdrum-Synthesizer KickMe entwickelt. Damit kann man 44,1kHz-32Bit-Mono-Bassdrum-Samples erzeugen, die man z.B. per Drag and Drop in FL Studio (oder eine andere DAW) ziehen kann um sie weiter zu verarbeiten.


    KickMe ist also kein Plugin und bevor ich mir die Mühe mache, ein Plugin daraus zu entwickeln, würde ich mir erst noch Feedback aus dem Forum wünschen. Ihr seid also alle eingeladen, das Programm auszuprobieren und alles, was Euch dazu einfällt, hier zu posten. Dann kann ich mir überlegen, ob sich die Mühe überhaupt lohnen würde. KickMe ist und bleibt Freeware, egal in welcher Form.


    KickMe v0.0.3 alpha ist eine 32Bit Windows-Anwendung. "Alpha" heißt, dass noch Fehler vorhanden sein können und die Anwendung an der einen oder anderen Stelle vielleicht noch nicht wie gewünscht oder erwartet reagiert. Außerdem ist z.B. das GUI noch nichts Besonderes sondern besteht aus windowseigenen Standardcontrols.


    Wie funktioniert KickMe?



    In der Anzeige links oben wird die Wellenform des aktuellen Samples dargestellt. Ein Sample besteht aus einem Sweep- und einem Bodyabschnitt, die Grenze zwischen den Abschnitten wird durch eine rote Linie angezeigt. Ein rechter Mausklick auf das Sample schaltet zwischen Komplett- und Sweep-Ansicht um.


    Es gibt Schieberegler, mit denen man folgende Parameter einstellen kann (das Mausrad ermöglicht präzise Veränderungen):


    Startfreq: Die Frequenz am Anfang des Samples (20Hz-10000Hz)


    Bodyfreq: Die Frequenz am Ende des Sweeps und zu Beginn des Body-Abschnittes (20Hz-100Hz, mit den Pfeilen bei Bodynote kann man auf feste Notenwerte schalten)


    Sweeptime: Die Zeit, in der die Pitchmodulation abläuft (10ms-250ms)


    Sweepspeed: Die Steilheit der Pitchmodulation, d.h. wie stark die Start-Frequenz abfällt


    Bodytime: Die Zeitdauer des Body-Abschnittes


    Decay: Der Sample-Anteil, innerhalb welchem ein Abfall der Amplitude auf Null erfolgt, der Abfall verläuft linear. Die letzte Halbwelle des Samples geht immer durch Null, trotzdem kann es am Ende zu Clicks kommen. Dann den Decay etwas erhöhen.


    Distortion: Maß der Verzerrung durch Clipping, wird vor Decay, Volume und Hüllkurve (s.u.) eingerechnet


    Distortion hardness: je niedriger der Wert, desto softer das Clipping


    Bei Distortion und Distortion hardness empfehlen sich eher kleine Werte. Hier ist sicherlich noch Raum nach oben für Verbesserungen, z.B. ein Waveshaper für Amplituden-abhängiges Clipping oder auch ein LP-Filter um allzu starke Verzerrungen wieder herauszubekommen.Edit: Es gibt in v0.0.3 ein 24dB LP-Filter.


    Cutoff: Filterfrequenz


    Resonance: Q-Wert


    Sweeptype: Es gibt zwei verschiedene Algorithmen für den Sweep-Abschnitt, "A" ist ein kontinuierlicher Frequenzabfall, "B" erzeugt immer ganze Perioden von einer Frequenz und ist dadurch etwas "ruckeliger", kann aber ganz interessant klingen.


    Mittels des 'Kick'-Buttons kann man das Sample abspielen, 'Loop' spielt das Sample in einer Endlosschleife mit den eingestellten BPM ab. Der BPM-Regler hat außerdem die Funktion, darüber zu informieren, wie viele Steps ein Sample bei einem bestimmten Tempo in FL Studio dauern würde.


    Das Tempo, mit der das Sample in KickMe geloopt wird, entspricht allerdings nur näherungsweise der Realität und hat nicht die Präzision, die man aus FL Studio kennt. Wenn man das Sample z.B. länger macht, als es beim eingestellten Tempo dauern dürfte, wird das Sample nicht abgeschnitten. Die Wiedergabefunktion hat also einfachstes Niveau, dient allerdings auch nur zum Entwurf eines Samples: man kann während der Wiedergabe die Parameter ändern und hört im nächsten Durchlauf das neue Sample. "Tonstörungen" beim Verändern während der Wiedergabe sind übrigens normal.


    Im Sweepanteil kann man mittels einer Hüllkurve bestimmte Abschnitte absenken. Linksklick auf die Hüllkurve fügt einen Punkt hinzu, der mit der linken Maustaste verschoben werden kann, Rechtsklick löscht einen Punkt. Hierbei muss man aufpassen, nicht zu steile Veränderungen einzustellen, da es sonst zu (nicht unbedingt) unerwünschten Sprüngen in der Wellenform kommen kann. Maximal sind 12 Knotenpunkte möglich. Die Hilfslinien entsprechen ca. -3, -6, -9, -12 und -15 dB.


    Möchte man das Sample weiterverarbeiten oder zusätzliche Effekte in FL Studio testen, kann man es entweder irgendwo speichern (Save sample) in die Zwischenablage kopieren (Copy sample) oder einfach die Wellenform mit gedrückter linker Maustaste per Drag and Drop auf den Stepsequencer,die Playlist oder den Edison ziehen.


    Presets lassen sich mit den entsprechenden Buttons verwalten.
    KickMe legt einen Ordner '$Userfolder\KickMe' an mit den Unterodnern 'Presets' und 'DraggedKicks'. Letzteren für die per Drag and Drop gezogenen Samples. Wenn man ein Sample in FL Studio getestet und für gut befunden hat, sollte man es von dort aus nochmal unter anderem Namen speichern, damit man den DraggedKicks-Ordner hin und wieder leeren kann.


    OK, das war jetzt eine Menge Text, war schon so knapp wie ich konnte :D


    Ich würde mich über Feedback jeglicher Art sehr freuen. Kann man mit den erzeugten Samples was anfangen? Für welche Genres sind sie geeignet? Fehlen noch wichtige Features? Was auch immer Euch einfällt.


    Viel Spaß beim Testen.

  • Danke fürs Reinschauen.


    KickMe ist in Delphi geschrieben. Im Vordergrund bleibt es deshalb, damit man es z.B. parallel zu FL Studio laufen lassen und die Samples rüber ziehen kann, ohne dass KickMe ständig verschwindet. Wenn es stört, kannst Du es einfach minimieren und bei Bedarf wieder aktivieren. Ich könnte das Verhalten aber auch schaltbar machen.

  • So, das erste kleine Update im ersten Beitrag:
    - "Always on top" ist über eine kleine Checkbox schaltbar
    - KickMe.ini zum Speichern von BPM und "Always on top"
    - kleine Bugfixes beim Speichern v. Presets und Samples

  • Hab den Thread grade erst entdeckt. Cooles Teil, was du da gemacht hast!
    Ich würde ja gern Feedback Tipps geben, wenn ich auch nur einen Hauch Ahnung vom Programmieren hätte.
    Was mir beim rumspielen aufgefallen ist, wenn man den Loopmode an hat, stockt die Wiedergabe bei jeder Änderung.

  • Habe in der Zwischenzeit schon etwas daran weiter gebastelt, ist jetzt ein LP-Filter drin um die Distortion ein bisschen zu zähmen.
    Leider hat sich noch niemand zur Qualität der Samples geäußert bzw. Feature-Vorschläge gemacht. Echt so schlecht? :icon_question:

  • hab jetzt nur ein Sample drin gefunden. leider krieg ich lauter fehlermeldungen, wenn der Loop aktiviert ist und ich (random) 3 regler bewege. Fehlermeldung stammt von KickMev0.01, wobei ich ja v0.0.2 hab?

  • Der Klassiker: Fehlermeldung beim User, hier ist alles ok...
    Die Samples werden ja "on the fly" erzeugt, d.h. bei jeder Regleränderung wird das Sample neu berechnet. Wird also ständig Speicher angefordert und freigegeben, vielleicht gibt es damit in v0.0.2 noch ein Problem. Da hab ich in der Zwischenzeit aber auch noch dran geschraubt.
    Was kriegst Du denn für eine Fehlermeldung? Welches Windows verwendest Du?


    (Die Versionsnummer 0.01 ist in dieser Version versehentlich an einer Stelle hardcodiert, wo sie eigentlich nicht hingehört, hat nichts zu bedeuten und ist auch schon gefixt, habs nur noch nicht hochgeladen. Bist ja seit langem der erste, der was dazu schreibt. :) )

  • Ok, konnte tatsächlich nachvollziehen, was da schiefläuft. Bug ist gefixt, dürfte jetzt keine Fehlermeldung mehr kommen (hoffentlich :D ).
    Falls doch, bitte melden, ich bräuchte dann auch den Wortlaut der Meldung.


    In v0.0.3 alpha ist jetzt auch ein LP-Filter, bringt es natürlich nur, falls man das Sample verzerrt hat.
    Download im ersten Post.


    Wäre schön zu wissen, ob jemand was mit den erzeugten Kicks anfangen kann, oder falls nicht, was man vielleicht noch braucht.


    v0.0.3:
    - LP-Filter integriert
    - 12 statt 8 Nodes in der Hüllkurve
    - Bugfix im Speichermanagement
    - Bugfix in "Copy Sample"
    - div. kleinere Fixes

  • Mh bis hierher... sehr gut!!!


    Ich geh davon aus das du das du das komplett selber Programmiert hast? mit welcher Sprache?
    An sich klingt das von der Grundmasse schon sehr gut.... und ich hab jetzt auch keine großen bugs gefunden


    ein Paar Mängel gibt es dennoch.....
    Das dist klingt nicht gut ...wie bist du daran gegangen?
    der 24 db Lowpass empfinde ich als relativ -naja ich nenne es mal- aufgeblasen , weil sein praktischer nutzen
    nicht ganz erschließt ...klar funktioniert er und ja man kann den klang beeinflussen aber das Frequenzspektrum in dem das Sinn macht
    ist hier weit überschritten ...genial wäre ein Peakfilter oder vielleicht noch am schnellsten zu realisieren ein Notchfilter
    was auch relativ gut geht sind selbstosc. Filter wie z.B Tb 303 (gibts ein Haufen Algorithmen im Netz)


    Von der usability her ist das schon echt gut und auch das Prinzip ist nice und handelt sich ganz innovativ...
    Nur die GUI ist echt -oldschool- da solltest du echt was machen, da das Auge ja bekanntlich mit isst
    könnte das Prog doch echt schnell im Mülleimer verschwinden ... weil man viren vermuten würde :wink:
    *Drehregler anstatt fader sind für den Anwender sicher "geignetter"" :wink:
    Dinge die noch rein könnten
    Noise (halte ich für relativ wichtig)
    Kompressor (fast jede Bassdrum ist vor komprimiert)
    Transient Designer oder zumindest Parameter die sich speziell um diesen kümmern


    Klar ist das viel aber ich denke, das du bis hier schon ein paar schwere sachen gemeistert hast ...und da ist Noise z.B ein leichtes :wink:

    „Über Musik zu reden ist wie über Architektur zu tanzen.“
    Frank Zappa, US-amerikanischer Komponist und Musiker

    Einmal editiert, zuletzt von KIvschranz ()

  • Hm finds ganz interessant. Hab mal bissel rumgetestet. Wenn man loopt, hört sich die Kick leicht komisch an (als wenn ein leichter Ringmod drauf ist, son komisches Highnoise halt).
    Allerdings ist die beim Export sauber, das ist schonmal ganz gut.
    Scheint auch ganz stabil zu sein. Bis auf das loopen von hoher BPM und einem langen Body, da setzt es manchmal aus, scheint alles zu laufen.^^
    Kompressor seh ich nicht als nötig, kann man dann in der DAW oder sonst wo machen. Wichtiger fänd ich Modulationsmöglichkeiten der Transiente. Freqmod oder sowas wäre cool. Oder verschiedene Noises die draufaddiert werden können. Den Filter seh ich eher als sinnlos an, da man mit der Grundfrequenz ja schon bestimmt obs dumpf oder heller vom Sound sein soll. Distortion wäre ein Waveshaper cool (dann allerdings wäre der Filter auch wieder interessant). Auch wie die Distortion geschaltet ist (pre/post), ist relativ wichtig für den Ausgangsklang.

  • Super, endlich ein paar konstruktive Kommentare! Danke Euch fürs Ausprobieren und die Hinweise! :)


    Mh bis hierher... sehr gut!!!


    Danke. :)


    Ich geh davon aus das du das du das komplett selber Programmiert hast? mit welcher Sprache?


    Ja, komplett selbst in Delphi programmiert.


    ein Paar Mängel gibt es dennoch.....
    Das dist klingt nicht gut ...wie bist du daran gegangen?


    Ok, die Distortion... ist ein wenig willkürlich... Das Sample wird mit einem Faktor multipliziert und bei Annäherung an 0db je nach "Hardness" abgedämpft. Dadurch gibt es Wellenformen von annähernd Rechteck bis zu einer Art Soft-Clipping mit entsprechend mehr oder weniger Obertönen und Aliasing.
    Hab mich da ein bisschen an Fruit Kick und Bazzism orientiert :icon_redface:


    der 24 db Lowpass empfinde ich als relativ -naja ich nenne es mal- aufgeblasen , weil sein praktischer nutzen
    nicht ganz erschließt ...klar funktioniert er und ja man kann den klang beeinflussen aber das Frequenzspektrum in dem das Sinn macht
    ist hier weit überschritten ...genial wäre ein Peakfilter oder vielleicht noch am schnellsten zu realisieren ein Notchfilter
    was auch relativ gut geht sind selbstosc. Filter wie z.B Tb 303 (gibts ein Haufen Algorithmen im Netz)


    Der Filter soll die bei der Verzerrung entstehenden hohen Frequenzen wieder ein bisschen abdämpfen. Aber die anderen Filtertypen werde ich mir mal anschauen.


    Von der usability her ist das schon echt gut und auch das Prinzip ist nice und handelt sich ganz innovativ...
    Nur die GUI ist echt -oldschool- da solltest du echt was machen, da das Auge ja bekanntlich mit isst
    könnte das Prog doch echt schnell im Mülleimer verschwinden ... weil man viren vermuten würde :wink:
    *Drehregler anstatt fader sind für den Anwender sicher "geignetter"" :wink:


    Klar, das GUI ist nix besonderes. Hatte ich im ersten Post schon erwähnt, ist nur aus Standardcontrols zusammengeszetzt. Ist ja im Moment nur eine Art Machbarkeitsstudie. Falls ich das zu einem Plugin umarbeite, kriegt es natürlich eine zeitgemäßere GUI mit Drehknöpfen etc. :wink:

    Zitat von KIvschranz


    Noise (halte ich für relativ wichtig)


    Ja, kommt noch.


    Kompressor (fast jede Bassdrum ist vor komprimiert)


    Hmm, ein Kompressor dient doch dazu, nach einer Attack-Zeit die Bereiche, die lauter sind als x, abzuschwächen um dann alles zusammen lauter zu machen. Die Samples, die ich erzeuge, sind aber standardmäßig schon mal bei 0db. Mit der Hüllkurve kann man den Pegel des Body-Teils so einstellen, dass er leiser ist als der Sweep-Teil. Quasi ein Attack-Regler. Oder ich verstehe da was falsch? :icon_question: Kannst Du mir das genauer erläutern?


    Transient Designer oder zumindest Parameter die sich speziell um diesen kümmern


    So ein Transient Designer soll doch den Attack des eintreffenden Tons verstärken. Kriegt man das hier nicht auch mit der Hüllkurve hin? Vielleicht steckt aber auch hier noch mehr dahinter? :icon_question:


    Wenn man loopt, hört sich die Kick leicht komisch an (als wenn ein leichter Ringmod drauf ist, son komisches Highnoise halt).


    Ja, die Wiedergabe ist recht rudimentär. Geht nur über das Windows-API. Keine Ahnung, was da bei Dir surrt, vielleicht hat es was mit dem Windows-Audio-Treiber zu tun? Das Programm übergibt jedenfalls genau das berechnete Sample an Windows.


    Bis auf das loopen von hoher BPM und einem langen Body, da setzt es manchmal aus, scheint alles zu laufen.^^


    Ja, hatte ich eingangs schon geschrieben. Die tatsächlichen BPM sind nur näherungsweise und dienen vor allem auch dazu, zu sehen, wie lang das Sample in FL sein wird. Wenn man z.B. seine Kick nicht länger als x Steps bei y BPM haben möchte. Ist der Body länger als die BPM erlauben, stimmt das Abspielen nicht mehr, soll aber ja irgendwann mal ein Plugin sein und dann kümmert sich der Host um das Playback. :D


    Kompressor seh ich nicht als nötig, kann man dann in der DAW oder sonst wo machen. Wichtiger fänd ich Modulationsmöglichkeiten der Transiente. Freqmod oder sowas wäre cool. Oder verschiedene Noises die draufaddiert werden können.


    Ja, werde bestimmt noch zusätzliche Hüllkurven einbauen. Mit Sweepspeed kann man ja zumindest die Steilheit des Sweeps beeinflussen.
    Was für verschiedene Noises stellst Du Dir vor?


    Den Filter seh ich eher als sinnlos an, da man mit der Grundfrequenz ja schon bestimmt obs dumpf oder heller vom Sound sein soll.


    Klar, ist auch nur um die Verzerrung zu mildern (s.o.)


    Distortion wäre ein Waveshaper cool (dann allerdings wäre der Filter auch wieder interessant). Auch wie die Distortion geschaltet ist (pre/post), ist relativ wichtig für den Ausgangsklang.


    Waveshaper steht schon auf der Liste, pre/post ist eine gute Idee.

  • Mh ich versuch dir mal ein paar Ideen zu Formulieren... die vielleicht für die gesamte Struktur eine Rolle Spielen....
    Ersteinmal zu den Hüllkurven im Allgemeinen (mit Bildern aus dem Synthesizertutorial der FAQ des Forums):


    Die Attack und das Decay zusammen formen den Transienten!!!!!!!! .... das Sustain definiert die Geamt Lautstärke/Durchschnitts lautstätrke und das release gib ist ein ausschwingen nach note off ...





    Wie funktioniert Eine Bassdrum?


    der Drummer holt Schwung und tritt auf das Pedal ....
    Der schlägel trifft auf die Membran (Anschlaggeräuch) und Bringt die Membran zum Schwingen ....(beides ergibt den Transienten)
    durch die Luftschwingung im Inneren wird der Korpus angeregt ..... und das resonanzfell ebenefalls Angeregt ..... Auszug aus dem Synthtotorial:




    Was kann man jetzt für Schlüsse daraus ziehen?


    Wohl definierte Parameter an den Richtigen stellen machen mehr Sinn ...Beispiel:
    du baust einen Schalter nennst ihn "Kickboost" und daneben einen Kleinen Regler "Frequenz"
    Hinter Kickboost steht dann ein Glockenfilter mit 6dB Anhebung und durch Frequenz" kannst du denn Filter von 3Khz-6Khz
    verschieben... Das ist besser als ein riesigen Klockenfilter zu bauen. zum einen wegen der usability und nicht jeder weß wo der Kick zu finden ist!
    hier wäre Pressure (60-120Hz), Air ( highshelf-filter 14Khz ) und Body/Korpus (400-800 Hz ) weitere sinnvolle Parameter....


    anders Thema .... noise


    Withe Nois = Alle Frequenzen mit gleichem Pegel.... (Unangenehm ...Aggressiv)
    Pink Noise = an das Gehör des Menschen angepasstest Rauschen = Weißes Rauschen mit einem Highcutfilter mit 3db pro oktave...cutoff bei 100 hz = Pink Noise

    anders Thema :



    Der Transient ergibt sich also durch Attack und Decay....... merken!
    Eine Kompression lässt den Transienten unberührt..Man Überbrückt ihn immer mit der Attack am Kompressor um ihn nicht zu Beschädigen!!!! merken!


    Wenn Man von einem Transient Designer spricht, macht es doch sinn einen Kompressor zu gestalten der in seinen Parametern nur auf Attack und decay des Klanges wirkt
    und einen zweiten Kompessor der auf das Sustain und Release wirkt.... also Standart


    ...


    Zur Kompressionsfrage: Nimm einfach mal einen deiner Sample und leg in fl Studio einen Kompressor auf das Sample ...Tata sound Plus!!!!



    Zum Dist .... Das ist der Dist des Synthmaker vielleicht hilft dir ja der Algorithmus: :







    Und hier noch ein Overdrive:



    Code
    1. streamin in;
    2. streamout out;
    3. float x;
    4. float a,b;
    5. x = in * 2;
    6. a = x - (x < 0 & (x+x));
    7. b = (6+a*(3+a));
    8. out = (x*b)/(a*b+12);



    So muss erst mal Schluss machen bin voll müde ..gerade aus der Nachtschicht ...sorry aber vielleicht hilfst!!!!

    „Über Musik zu reden ist wie über Architektur zu tanzen.“
    Frank Zappa, US-amerikanischer Komponist und Musiker

    Einmal editiert, zuletzt von KIvschranz ()

  • Danke für die ausführliche Antwort. Naja, was ein Transient ist, ist mir schon klar :wink:, und dass der nie platt gemacht werden soll, auch. Ich denke, mit der Hüllkurve kann man Attack und Decay recht genau bearbeiten.


    Zur Kompressionsfrage: Nimm einfach mal einen deiner Sample und leg in fl Studio einen Kompressor auf das Sample ...Tata sound Plus!!!!


    Nee, geht nicht. Man kann die Samples nur scheinbar noch komprimieren. Wenn Du ein 0db Sample in den Step sequencer ziehst, wird es erstmal nur mit 80% von -3db abgespielt. Das macht FLS damit man überhaupt eine Chance hat, mehrere Channels zu mixen, ohne dass es clippt. Selbst ein 0db Sample aus KickMe wird nur mit knapp -8db abgespielt. Zieht man das Sample auf die Playlist wird es mit Original-Pegel abgespielt, und dann kann man es nicht mehr komprimieren, mehr als 0db geht halt nicht. Den Pegel von einzelnen Bereichen im Sweepteil und auch den Bodypegel kann ich ja einstellen. Ein Kompressor in KickMe hätte also keinen Sinn. Wenn ich einen Bereich lauter haben will, dann nehme ich die Hüllkurve. Es kann allenfalls sinnvoll sein im Kontext eines Mixes, in FLS zu komprimieren, da habe ich ja durch die vorherige Reduktion des Pegels im Step Sequencer noch Luft nach oben.


    Zum Dist .... Das ist der Dist des Synthmaker vielleicht hilft dir ja der Algorithmus: :


    Cool, danke. Werde auf jeden Fall mal probieren, wie es damit klingt.

FL Studio Shop.de