analoger synthesizer soll gebaut werden...

Moogulator schrieb:
die zeiten der poly800-bedienung ist vorbei-- ganz klar..
es gibt keinen trend mehr dahin zurück, ausser man will es billig-billig..

Sehe ich genauso, deshalb soviele Schieberregeler (Knöpf) und Schalter wie möglich :!: :!: :!:
Direct Access :!: :!: :!:

Ich glaube ich wiederhole mich aber es nütz einem der "schönste Synthi" nix, wenn man ihn nicht intuitiv bediennen kann :!:

Und zum Schluss am falschen Ende sparen wäre fatal.
 
VEB_soundengine schrieb:
also ein richtiger männersynthi wäre sowas wie der T8 . Holz - 76 tasten - wheels, schöne knöppe en masse und platz zum wat draufstellen. alles andere ist wie nen polo mit porsche aufkleber 8)

Magst mir nicht nen T8 schenken, dass ich mir das mal anschauen kann? :)

Nuja. Im Prinzip wäre es in dieser Bauform sogar möglich, alles reinzubekommen, denke ich. Aber das Keyboard wird er nicht drin haben. Eben, weil die Geschmäcker zu verschieden sind. Aber man könnte ja den Rackkasten auf die Hinterkante vom Keyboard des Vertrauens packen (geht aber kaum aufm Keyboardständer, mehr so aufm Tisch), dann gibs entfernt Minimoog-Feeling.
 
also der T8 ist die entäuschung schlechthin. positiv : tolle tastaur, z.t. " edle fabrik-sounds " , tolles design.
voll scheisse : geht oft kaputt ( tastatur ) , das platinen layout sieht aus wie aus nem russischen buntfernseh von 1933, die platinen stehen mechanisch unter spannung, die potiabfrage beginnt erst bei wert " 2 " und endet dafür schon bei " 7" ( scala geht von 0 - 10 ). ADSR ist ne frechheit. das ist eher ne orgelhüllkurve mit decay oder sowas. der LFO ist lahm, dafür treppenabfrage des cutoffs, billigtaster vom wühltisch ( na ja, dafür kriegt man sie auch sogar bei LIDL im obstregal ) kein local off mehr ab software 3.7 usw... das ding ist echt noch im prototypenstatus rausgehauen worden. der sound ist zwar fett, aber nicht wie ein ssm prophet5. schade, das ding hätte echt der knaller sein können. blöde softwarekiste. amen.
 
Hmja. Sequential Circuits halt. Die haben tolle Ideen gehabt, haufen Innovationen, davon viele beim T8 eigentlich auch verbaut, diese Hammermechanik mit optischer Abtastung... Nunja, die Verarbeitung war dafür aber irgendwie echt nie so der Hit. Hab selber noch nie nen T8 unter den Fingern gehabt, aber was Du berichtest, klingt dann eher so danach, daß ich mir fürs gscheite Keyboard wohl eher mal so nen Kawai Stagepiano anlach. Wobei das eher unwichtig ist, mein K5000 hat ein ganz gutes Keyboard, und demnächst kommt noch ein AN1x her, der hat meiner Erinnerung nach auch ein schönes.

Schade. Aber gut, die Kiste war mir eh immer zu teuer. Geht ja knapp an die 4KEUR, das Teil. Und der Rest von SCI ist mir auch irgendwie zu wackelig. Nachdem ich letztens nem Bekannten seinen P10 gefixt hab, weiß ich, daß ich lieber selber was bau, als viel Geld für so ne Kiste auszugeben :)
 
also vom spielgefühl ist die tastatur wohl mit das " schönste " was es gibt. ( in meinen augen bzw. fingern ) da spürt man die holzmechanik. wenn die dinger noch aus elfenbein wären :twisted: ... na ja. aber da sind kleine sprungfederchen die brechen , und jede taste hat ne achse aus nem baumwollfaden. ja klar - guten morgen . :roll: die aftertouch sensoren reagieren unterschiedlich stark , obwohl sie " ab werk " einzeln justiert sind. aber vom hardwarekonzept ist das ding echt fett. der rhodes chroma hat die interessantere architektur und den interessanteren sound, ist aber von der hardware komisch . ( bis auf die tastatur ) .
vielleicht hätte ein mephisto XXL das endlich werden können . tja , das ist aber geschichte....
 
So nen Chroma hätt ich mir auch mal fast bei eBay rausgelassen. War vor ner Weile einer drin. Hab das dann aber doch nicht als zwingend notwendiges Utensil angesehen, hatte irgendwas anderes gekauft, glaub ich. Entweder wars der DW-8000 oder der K5000, auf jeden Fall hab ich meine Prios umgesetzt.

Aber sonst hatt ich mit Keyboards an für sich noch keine Probleme. Gut, das vom DX21 war sehr Plastik, das vom Multitrak ging so, das vom DW-8000 fand ich dann mal sehr schön, aber seit dem K5000 steh ich doch irgendwie auf den etwas trägeren Anschlag. Nur ist bei letztem der Aftertouch auch alles andere als ernsthaft benutzbar. Nachdem ich den aber beim DW-8000 auch mal nachjustiert hatte, hab ich so das Gefühl, daß die Dinger einfach bauartbedingt nicht so der Hit sind.

Beim T8 ists natürlich eklig. Der hat ja so richtig echten Aftertouch, nicht das Channel Pressure, wie die meisten Dinger.

Aber was solls. Der K5000 tuts als Masterkeyboard, ist jetzt grad beim Entwickeln mit der Quick Midi-Funktion recht praktisch, und für den Tonerzeuger sorge ich ja gerade selber :)

Da wird übrigens jetzt glaub mal paar Tage nix wirklich neues bei rauskommen, ich bau grad die komplette Steuerung um. Die S&H-Stufen für den CV-Multiplexer noch giftiger machen, und mal die Multiprozessor-Kiste programmieren. Immerhin hab ich heut den CV-Multiplexer mal etwas redesigned. Vollständig automatisch kalibrierend, unglaublich geile slew rate (+10V -> -10V in 2.5µs), wenn der Rest hintendran da noch mitkommt, gibts aber mal richtig knackigen Attack :)

Und er scannt jetzt alle 64 CVs, die rausfallen, in 1ms durch. Vielleicht optimier ich da sogar noch ein wenig rum, wobei 1ms so der Wert meines Vertrauens ist, damit sind alle nennenswerten Delays weg. Ich könnt den Takt noch verdoppeln, aber ich lass das jetzt glaub erstmal so.
 
Der Hüllkurvenprozessor - das seltsame Wesen

Sodele. Ich hab jetzt grad mal ne inspirative Phase gehabt, und mal wieder keine Musik damit gemacht, sondern mal meinen Hüllkurvenprozessor fertig designed. Sorry, ist alles auf englisch, weils direkt der Kommentar im Sourcecode ist, und tendenziell auch mal für ne Bedienungsanleitung recycelt wird, da dann aber wohl nicht in der kompletten Form. Aber ich dachte, ich poste das einfach mal hier, und hoffe, dieser Mammutklotz Text stört keinen (und nicht, daß dem Moogulator dann die Forums-Datenbank platzt mit so nem Post :)

Vielleicht interessierts ja den Einen oder Anderen. Wie gesagt, die Hüllkurvenprozessoren sind die zentralen Steuerelemente vieler Abläufe, die bauen natürlich Hüllkurfen aller Art, stehen als Modulationsoszillatoren (oder auch LFOs :) zur Verfügung, und notfalls kann man sie auch als step Sequencer missbrauchen. Wer das Ding durchgelesen hat und ein wenig Phantasie hat, kann sich sicher noch weitere Anwendungszwecke vorstellen. Momentane Planung ist, wenn es die CPU-Performance mitmacht, 6 von den Dingern pro VCO bereit zu stellen. Also 12 pro Voice-Brett, 96 im Gesamtsynth (bei dem geplanten Vollausbau von 8 Voice-Brettern). Vielleicht krieg ich auch 8 pro VCO unter, ohne, daß die CPU andere Aufgaben vernachlässigen muß. Schließlich laufen die Dinger auf den CPUs, die auch die Frequenzmessung machen (beißt sich nicht, Frequenzmessungen brauchts normal nur zum Kalibrieren, und während der Zeit braucht man die Dinger nicht) und die VCO-Synchronisation steuert, wenn diese auf Digital geschaltet ist, die aber auch fast komplett in Hardware abläuft, und damit auch nicht gestört wird.

Edit: nochmal quergelesen und das Thema MIDI Sync eingebaut, um den Fragen gleich vorweg die Antwort zu liefern :)

Code:
; The envelope processor is some sort of Sequencer to set an output value
; according to its programming. The programming language consists of 4
; commands, which can access so-called registers, which may be other
; envelope processors or external values used for modulation of the envelopes.
; Envelope processors can be used for usual envelopes like ADSR, but also for
; functions like modulation oscillators (like an LFO, but also with higher
; frequencies), lag processor, step Sequencer and maybe more.
;
; As output, there exists just one output register
; As input, registers can be used, besides the envelope program.
; Additionally, every envelope processor has a gate and a trigger input.
; The gate is usually set with the trigger. On trigger, the envelope
; program counter is set to 0. Then the processor runs as programmed, until
; the gate goes off. When the gate is turned off, the program counter is
; compared to the address given in the current command. If it is different,
; the program counter is set to the address given in the current command and
; the new command flag is set, which is needed for some commands to initialize
; properly. If the address matches, nothing changes in the run of the
; program.
; The gate and trigger are not necessarily associated with note-on and
; note-off events, a gate can also be just enabled by the master CPU, which
; might be useful for a free-running LFO. Also, the trigger can be sent using
; MIDI sync or other mechanisms.
;
; The programming language consists of the following 4 commands:
;
; - ep_jump(adr)
; sets the program counter to the given address and sets the new command flag.
; If the address is 0, this is a special case and means the end of the
; program. So the running flag of the processor is cleared, nothing will get
; changed until the next trigger.
;
; - ep_loop(adr)
; this command loops on the current PC, which pauses the program. The given
; address is used as the new PC if the gate goes off (see above). In an ADSR
; type envelope, this loop command is the right thing for the sustain part.
;
; - ep_set(adr, value)
; Sets the output register to the given value. The address is used as the new
; PC when the gate goes off during execution of this command. value can be a
; direct value or a register value.
;
; - ep_glide(adr, value, time)
; The output register value is set to the given value within the given time.
; For this, 2 modes exist, constant time and constant rate. For constant time
; mode, a counter is initialized to 0 when the new command flag is set,
; and with each cycle it is incremented by one until the maximum value is
; reached. During this, the difference of the given value and the initial
; value (the output register value when the command was started) is calculated
; and the fraction of the difference is added to the initial value. The sum of
; those is written to the output register value. The difference can also be
; negative, so the glide can also go downwards. When using a register to
; modulate the value, the difference changes on every step, which can also
; be used to create some pseudo-logarithmic curves. Both parameters, time and
; value can be given as registers, which gives a lot of power for modulation.
; Modulating the time can give strange results, expecially, if the destination
; value is by modulation smaller than the current counter value. In this case,
; the command is aborted and the target value is set. The address is used as
; the new PC value when gate goes off.
;
; For target values, registers can be used. There exist 32 registers, where
; the first 6 registers are the 6 envelope processor target registers. The
; other 26 registers are set by external sources via SPI.
;
; For time values, you can use absolute time or absolute rate. In absolute
; time, the glide processes as described above. For absolute rate, the given
; value is just added or substracted to the current output register value,
; until the target value is reached. Besides the time/rate flag, the time
; value can also be a register in the same manner as for the values as
; described above.
;
; The structure of a program is as follows:
;
; The first byte is the command/address byte. As addresses can only be 6 bits,
; due to the limitation of 64 bytes for a program, the upper 2 bits give the
; command:
;
; 7 6 |
; ----+-----------
; 0 0 | ep_jump
; 0 1 | ep_loop
; 1 0 | ep_set
; 1 1 | ep_glide
;
; for ep_jump and ep_loop, this is the only byte forming the command. For
; ep_set, two bytes for the value follow, the low byte and the high byte. The
; value uses only 15 bits, the highest bit is used to decide if this is a
; direct value (0) or a register value (1). If this is a direct value, it is
; shifted left 1 bit to be able to use the full range of -32768 to 32767. For
; the use of a register, see below for details. ep_glide takes two parameters,
; the first is the value, with the same behaviour like in the ep_set command.
; The second parameter is the time parameter, which is also given as a low
; byte and a high byte, where the uppermost 3 bits are the flags. Again, bit
; 15 is the flag for direct/register use. Bit 14 selects constant rate (0) or
; constant time (1). For direct values using constant time, bit 13 selects
; between fast (0) or slow (1) operation. For fast mode, every cycle is used
; to update the value, For 1000 cycles per second, this gives a maximum of
; about 8 seconds. In slow mode, only every 100th cycle is used to update the
; counter, which leads to a maximum run time of about 800 seconds with a
; resolution of 1ms. Direct values using constant rate don't have the
; possibility to set the slow speed, so the direct value for constant rate
; uses the remaining 14 bits to set the rate. Slow mode can also not be used
; when using registers for the values.
;
; As a register value only needs 5 bits to select the register, there exist
; some modifiers how to handle the register. In general, besides bit 15 used
; to set the use of a register, bits 12-8 give the primary register number
; to use.
; Bits 14 and 13 have the following functions:
;
; 14 13 |
; ------+--------------------------------------------------------------------
;  0  0 | Use bits 0-7 (signed) as a divider for the value from the register
;  0  1 | Use bits 0-7 (signed) as a multiplier for the value from the
;       | register
;  1  0 | Use bits 5-7 (signed) as a divider for the value from the register
;       | and add the contents of the register given in bits 0-4
;  1  1 | Use bits 5-7 (signed) as a multiplier for the value from the
;       | register and add the contents of the register given in bits 0-4
;
; This gives an enormous flexibility, as you can scale register values,
; invert them (by using a negative divider/multiplier), and even add
; another register (which also can be negative to substract) to set an
; offset to the value. This register can be set by external sources and
; may be a modulation source or a configured value.
 
Alle so ruhig :)

So, mein auserwählter Billighoster hat es nach nur knapp über einer Woche auf die Reihe gebracht, meinen vServer mal hinzustellen, und kurzerhand hab ich da mal nen paar Daten abgekippt. Im Klartext: Seit Beginn der Entwicklung des Synths alle Bilder, die ich gemacht hab, die Videos (das waren wohl echt nur 2), und die Soundsamples, die ich grad noch so rumliegen hatte.

Es gibt (noch) keinen Text dazu, bitte nicht totfragen, was da jetzt was ist und was das soll, ich schreib nochmal nen Text irgendwann. Die Timestamps der Files auf dem Webserver sind aber zumindest bei den Bildern alle korrekt, also ist eine chronologische Zuordnung kein Problem.

Alle Links auf k5000.org, die ich bisher gepostet hatte, verlieren damit die Gültigkeit, der Krempel ist da nicht mehr verfügbar, die Files auf dem neuen Server heißen gleich und lassen sich damit einfach finden. Nur statt /music ists halt nun /sounds, weil das alles nicht wirklich Musik ist :)

Wo ists? hier: http://mik.k5000.org/

Viel Spaß damit!
 
Tach!

Ich will ja nicht hoffen, dass die Pause in diesem Thread irgendwas zu bedeuten hat.

Bitte weitermachen!!!

Da ist mir neulich beim Soundschrauben (evolver) noch was gekommen:

Bei FM zwischen 2 Oszillatoren (beim evo nur bei den digitalen möglich) ist vor allem im unteren Wertebereich des Parameters FM amount die Auflösung zu grob. Bei einem Wertesprung von 1ner Einheit ist der Effekt auf den Sound sehr stark. Ich glaub das ist bei FM allgemein so.

Könnte man da bei der Programmierung einer Template einfach noch einen "regler" für den unteren Wertebereich (sone Art "Fine-FM") einfügen?

Gruß
 
Nein, keine Sorge. Es geht weiter. Im Moment nur nicht ganz so mit viel Output weil:

1) Wer will bei dem Wetter schon in der Bude hocken und Firmware hacken
2) Permanent vollgefressen wegen Grillwetter
3) Die Planungsphase ist ausreichend fortgeschritten, daß jetzt umgesetzt werden muß
4) Im Moment gibts einfach nix zu sehen/hören. Ich schmeiß hin und wieder was auf mik.k5000.org, aber im Moment ist das einfach nen Haufen Elektronik ohne MIDI-Input und Audio-Output, weil ich mal die Gesamtverdrahtung der Module grad mach.

Vor 10 Minuten hab ich die Sync-Pegelwandler zusammengelötet, also liegt noch keine Aktion weit zurück :)

Ein weiterer Regler wäre möglich, ist aber mit meiner momentanen CV-Verdrahtung nicht vorgesehen, weil ich dann quasi ne Lücke im Array der CV-Daten hätte oder nochmal umlöten müsste. Wobei - am ersten Modul hab ich im Moment noch 2 Outputs frei. Aber ich bezweifle, daß das wirklich notwendig ist. Man kann FM sowohl auf linear als auch auf exponentiell legen (weil alles mit allem moduliert werden kann im Prinzip). Und davor hängen lineare VCAs. An der Buseinspeisung auch nochmal. Der Wertebereich dieser VCAs ist nur durch den DAC begrenzt, das sind 15 Bits. Macht 32768 Abstufungen, abgesehen von vielleicht ein wenig Bereich nach 0, der 0 bleibt (Toleranzen) und ein wenig Bereich, wo das Ding so massiv übersteuert, daß das sehr seltsam klingt (man kann alles übersteuern. Mag man ja manchmal, klingt übrigens im Audioweg so, wie man das will, und im Modulationsweg vielleicht auch ganz witzig.

Ich werds ausprobieren, wenn das mal alles gelötet ist, wie sichs verhält. Wird aber noch einige Tage dauern, evtl. sogar Wochen, weil noch nen Haufen Firmware programmiert werden muß für das ganze Zeug.
 
Ich habs mal wieder versucht...

http://mik.k5000.org/pix/img_3244.jpg

aber das Papier war zu klein. Das ist kein Schaltplan, auch nicht der Blockschaltplan vom ganzen Synth, sondern der unvollständige Blockschaltplan eines Voice-Boards (was übrigens keine Voice darstellt, man kann ja mehrere Voice-Boards verbinden...)

Hoffe, ihr steigt da ohne viel Erklärungen durch. Daß an den Filterinputs nix hängt, liegt daran, daß der Platz ausgegangen ist. Und Sample&Hold kommt auch noch. Zu den jetzigen 26 VCAs kommen also noch ein paar dazu, und ein paar mehr Multiplexer/Schalterarrays müssen auch noch rein.

Ja, man kann auch die Modulationen filtern und ringmodulieren :) Mag bei einem Voice Board vielleicht sinnfrei erscheinen, aber wir gesagt, man kann mehrere zusammenschalten. Und dann wirds interessant mit Schwinkram.

Zu den Boardverbindungen: Oben und unten sieht man Sync in/out, man kann immer nur "den nächsten" VCO syncen, da aber in gewissem Maße eine Verkettung von gesyncten VCOs funktioniert, sollte das auch reichen. Ansonsten gibts ja noch die Sync von der CPU aus, mit der man auch die Phasenlage beeinflussen kann.

Die Modulationsbusse kann man Leitungsweise zwischen Boards verbinden. z.B. bei 4 Voice Boards 4 globale über alle, 2 über je 2 Boards und 2 nur Board-intern. Alles möglich. Zwischen 2 Boards gibts immer ein Array von 32 Schaltern. Ja, 32. Weil ein Bus input und output hat, dazwischen hängen buffers, damit man hinten "quasi unendlich viel" rausziehen kann, ohne, daß die Busleitung zusammenbricht.

So. Ich wieder aufs Sofa. Nachdenken, wie ich das Zeug so baue, daß man nicht am End für die Vollversion nen ganzen Schrank braucht :)
 
Kann man auch die Ausgaenge der Filter durch den Ringmodulator schicken? Du weisst vielleicht vom K5000 wie viel Spass das macht...
 
Summa schrieb:
Kann man auch die Ausgaenge der Filter durch den Ringmodulator schicken? Du weisst vielleicht vom K5000 wie viel Spass das macht...

Der hat nen Ringmodulator? :)

Ja, mein Ziel ist ja, mir was zu basteln, was quasi die Funktionen eines Modularen in digitaler Steuerung hat. Dazu die beiden 8-Kanal-Busse. Alles, was was auswirft, kann das auf einen Kanal pro Bus werfen (mit Level-Steuerung, daher die vielen VCAs), und wenns nen Audioeingang hat (wie eben ein Filter), kanns von einem oder mehreren Audio-Buskanälen sein Audiosignal beziehen, das läuft dann auch wieder über nen VCA, aber nur einer, wenn ich also aus 2 Bussen hole, kann ich die nur schon gemixt einpegeln. Die Einzelsteuerung ist am Einspeiseende der Busse ja schon drin. Wenn ich die Rausholpunkte alle noch mit VCAs ausstatte, werd ich wahnsinnig :)

Und wenns was zu modulieren gibt, gilt das gleiche für den Modulationsbus. So kann man bei den VCOs jetzt schon jeden der 8 Modulationskanäle des Busses am VCO umschalten zwischen aus/exp/lin/pulsweite. Sieht man ganz links im Bild, dieser Umschalter ist quasi 8 mal vorhanden, dahinter aber nur ein VCA pro Modulationsziel am VCO.

Beim Filter wären das dann eben Cutoff und Reso, die man so modulieren kann. Ext Input, Noise oder Ringmodulator kann man nicht modulieren, Sample&Hold nicht direkt (weil der ja nicht analog modulierbar wird), aber man kann auch eine der CPUs auf die Modulationsbusse aufschalten, die Werte, die dabei rausfallen, sind Systemweit verfügbar. Bzw. pro konstruierter Voice. Entsprechend kann ich Sample&Hold z.B. auch über nen Schwellwert "modulieren". Allerdings ist der Weg über die CPU nicht so schnell, Samplerate über alle 8 Buskanäle vermutlich 1KHz.

Die feinsten Details in den Ecken sind noch nicht klar definiert, der jetzige Modulationsrouter für die VCOs brauchte auch einige Sofasessions, bis das in der jetzigen Form, also realisierbar, stand. Ich weiß also nicht, ob ich für die Audioinputs von Filter und Rungmodulator nen Multiplexer nehme, dann kann ich jeden Eingang nur auf einen der 8 Busse aufschalten, oder ob ich da ein vollen Schaltarray nehme, und alle Kanäle aufschalten kann. Letzteres sind schlicht 3 mal so viele ICs. Vielleicht mach ich einen Kompromiss, dass ich einen der Kanäle 1-4 und einen der Kanäle 5-6 aufschalten kann, also 2 4:1 Multiplexer. Kostet nicht mehr ICs für die Schalter, nur mehr Bits in den Schieberegistern, die den Kram steuern.
 
Klar, wenn du AM machst kannst du beim verwendeten Oszillator Paerchen mit dem AMP-Parameter Envelope des 2ten Oszillators zwischen AM und RM faden. Die AM bzw. RM passiert beim K5000 aber hinter dem Filtern des jeweiligen Strangs...
 
Summa schrieb:
Klar, wenn du AM machst kannst du beim verwendeten Oszillator Paerchen mit dem AMP-Parameter Envelope des 2ten Oszillators zwischen AM und RM faden. Die AM bzw. RM passiert beim K5000 aber hinter dem Filtern des jeweiligen Strangs...

Ach bei dem AM-Zeug hängt das mit drin. Irgendwie logisch, ist ja quasi nix Anderes :) Ich glaub, ich muß mit dem Kasten echt mal mehr machen. Ich wollt nen Schraubersynth, hab den dazu gekauft (als vertreter der additiven Synthese), und jetzt klimper ich mich meist doch nur durch Patches aus diversen quellen, mach fast nix selber. Liegt aber teils auch an meinem im Moment zu häufig/intensiv wechselndem Studio-Aufbau (das zittert alles zwischen MacOS9 und MacOSX rum hier, wird grad langsam auf OSX gezogen, da hab ich noch keinen SoundDiver und lauter so Sach), und natürlich am Zeitmangel, der durch das permanente Rödeln im Hirn über den DIY-Synth entsteht :)

Aber die Filter vom K5000 find ich jetzt en nicht so den Bringer. Ohne oder mit ganz leichter Resonanz sind die zwar akzeptabel, auch son schönes Blubbern/Schmatzen kriegt man da raus, aber sobald mal mal Reso >= 2 macht, klingt das Ding schrecklich. Und 8 Stufen für Reso find ich auch ein wenig albern, mal abgesehen davon, daß man da auch nicht in Echtzeit schrauben kann, weil das wohl den Algorithmus so beeinflusst, dass der nur zum Note-On gesetzt werden kann.

Nuja. Kurzer Abschweifer, das is ja doch ne ganze Ecke OT hier. Aber ich sehe, an dem K5000 sollt ich mal noch mehr schrauben, da kommt erwartungsgemäß immer wieder ne neue interessante Überraschung bei raus.
 
Sobald du beim K5000 mit der Filterinput ein wenig runter gehst machen auch die weiteren Stufen der Resonanz wieder Sinn. Speziell im Zusammenspiel mit AM kann man bei abgedrehten Sounds schon mal bis ans Maximum gehen. Dabei erzeugt man einen Formant, der als Modulator den Traeger durchfaehrt, das macht sowohl bei AM/Ringmod also auch bei FM (leider nicht beim K5000) Sinn.
Ich nehme an dass Kawai den Filter mehr oder weniger vom K4 uebernommen hat, der hat auch nur 7 Resonanz-Stufen (oder 0 = aus), und sich auf das Design der additiven Engine konzentriert hat.
Klar AM = Ringmod + Carrier, leider gibt's nur einmal AM pro Sound, haette ruhig pro Paerchen sein koennen...
Fuer schoenere Sweeps muss man etwas weiter in die Additive-Syntese einsteigen und sich den entsprechenden Typ mit dem Formant-Filter "malen".
Fuer den K5000 muss man sich halt am Anfang erst mal viel Zeit nehmen...
 
So, mal wieder Entwicklungsnews oder auch Architekturinfos...

Geht zwar im Moment eher schleppend voran, aber die ersten Slave-CPU-Updates per SysEx sind schon drin.

Mal meine Überlegungen zum Routing all der vielen möglichen Inputs zu ihren Outputs (also CVs und so Zeug)

Scope: Voice-Board (was ja nicht zwangsläufig eine Voice darstellt, man kann mehrere Voice Boards zu einer Voice zusammenfassen, um mehr Möglichkeiten zu bekommen)

Es wird 64 "Controller slots" geben. Dahin werden MIDI-Controller (normale Controller, RPN, NRPN) hingeroutet. Ein Slot hat die Informationen, welcher Controller da hin kommt, ob er 7 oder 14 Bit ist (in letztem Fall dann entsprechend 2 Controllernummern, Coarse und Fine), einige sind mit Defaults vorbelegt (Modulation, Volume und so, also die, die standardisiert sind), aber dennoch änderbar, den Pitchbender (der ja kein Controller ist, sondern ne eigene MIDI-Message besitzt) werde ich vermutlich auch da reinbringen, vermutlich fest auf Slot 0.

Diese Controller-Slots kennen auch Default-Werte, die gesetzt werden, wenn die MIDI-Message zum resetten aller Controller rüber kommt, bzw. beim Patch-wechsel (wo einfach der Master mehr oder weniger nen Reset ans Voice-Board schickt).

Es gibt also 64 Slots, in denen MIDI-gesteuert Werte drin stecken, die durch frei wählbare Controller beeinflusst werden. Dahinter stecken auch all die Knobs vom Bedienpanel, welches nix anderes als ein mit Ausgabefeatures ausgestatteter MIDI-Controller ist. Während der Entwicklung übernimmt das wohl ein BCR2000, evtl. bekommt der dann parallel für den Output noch ein LCD dran, was dann in der Endfassung auch eingebaut ist, und per SysEx gesteuert wird (interner Kram).

Neben diesen 64 Controller-Slots gibt es 64 weitere Slots, die die endgültigen Werte zum Formen des Klangs hergeben. Davon sind 24 (vermutlich) mit den Outputs der Modulationsprozessoren (formerly known as envelope processors) belegt, 8 sind die digitalisierten Werte der 8 Modulationsbusse, und 32 sind frei verfügbar. Diese können statisch gesetzt werden (für Offsets z.B.), Daten aus Controller slots holen oder Daten aus den Notenwerten, die per MIDI reinkommen. Diese Slots haben neben ihren Sourcen auch Destinations, die dann auch wild geroutet werden können. Die Modulationsprozessoren können auf die ersten 32 Slots zugreifen, insgesamt sieht das dann so aus:

0-7 -> Modulationsprozessor 1 Outputs
8-15 -> Modulationsbus digitalisierte Daten
16-31 -> frei zuweisbar
32-39 -> Modulationsprozessor 2 Outputs
40-47 -> Modulationsprozessor 3 Outputs
48-63 -> frei zuweisbar

Daraus ergibt sich dann, daß Modulationsprozessor 1 auf so ziemlich alles zugriff hat zum Modulieren, und Modulationsprozessor 2 und 3 auf die Outputs vom MP 1 und all die anderen Werte von 0-31 zugreifen können.

Die Slots bekommen im Zielrouting noch alle ein wenig Zusatzdaten für Skalierung (Multiplikation/Division), womit man sie auch invertieren kann (Mul/Div mit negativen Werten). Wenn mehrere Slots das selbe Ziel haben, werden die Werte entsprechend zusammenaddiert, so kann man mit statischen Werten Offsets bilden und auch mehrere Modulationsquellen auf ein Ziel wirken lassen. Was ja auch notwendig ist, wenn man mal vom Normalfall ausgeht, daß ein Slot den Notenwert bekommt und einer den Pitchbender-Wert, und evtl. noch den Ausgang eines Modulationsprozessors als LFO.

Als Ziele für das Routing gelten alle Steuerspannungen, also VCO-Pitch exponentiell und linear, Pulsweite, Filter-Cutoff, alle VCAs da drin (darunter neben den Ausgangsamplituden der Komponenten auch solche Dinge wie Filter-Reso, das gibt kein dediziertes Signal, weil quasi die Resonanz des Filters auch "verdrahtet" wird, indem der Ausgang über nen Audio-Bus wieder an den Eingang zugemischt wird).

Wenn ich merke, daß hier 64 Slots nicht reichen, gibts evtl. auch 128 davon.

Die Modulationsprozessoren besitzen ja neben den Registern zur Modulation (wenn nicht feste Werte im Modulationsprogramm verwendet werden) noch Gate und Trigger-Inputs, für diese wirds wohl auch ne eigene Slot-Batterie geben, womit man diverse Events an diese beiden Inputs routen kann. Als klassische Beispiele für Gate z.B. NoteOn/NoteOff, aber auch statische Werte, Controller (für Sustain-Pedal) und eine Mischung daraus (damit das Sustain-Pedal auch nen Sinn macht), Trigger kann auf Note-On gesetzt werden, Controller (bzw. Register, falls man seinen Trigger von irgendwas modulieren lassen will), oder auch MIDI-Clock mit einstellbarem Vorteiler (für LFO-Sync nach MIDI).

Und nachdem ich gestern meinen E-Bass mit dem StepFilter VST-Plugin beglückt hatte, hab ich beschlossen, daß ich noch 8 oder 16 einfache Pattern Sequencer einbauen werde, die man auch irgendwo hin routen kann. Deren Outputs fallen kann man wohl auch in der Modulationsmatrix verwenden, evtl. werden sie auch einfach in die Register schreiben, womit sie an allen Stellen verwendet werden können, wo Register zum Einsatz kommen (Zielregister ist dann einstellbar, um nicht alle wertvollen Register 0-31 zuzumachen, die die Modulationsprozessoren benutzen können), so kann man nicht nur Pitch, sondern auch alles Andere, wie Attack, LFO-Speed oder sonstigen Kram mit dem entsprechenden Pattern modulieren. Und da ich ja für alle Verrücktheiten zu haben bin, und die Pattern Sequencer im Prinzip vereinfachte Modulationsprozessoren sind, kann man die Werte im Pattern Sequencer wohl auch wieder modulieren. Diese Pattern Sequencer sind entsprechend auch mit Gate/Trigger ausgestattet und können dahingehend wie die Modulationsprozessoren gesteuert werden. Durch die Modulationsmöglichkeiten sind die Dinger im Prinzip auch als zusätzliche Sample&Holds verwendbar. Im Gegensatz zu den Modulationsprozessoren, die nur Trigger und Gate kennen, kommt hier noch ein Clock hinzu, der gesteuert werden kann wir der Trigger, also z.B. Sync auf MIDI-Clock oder durch Verwendung des Noise als Clock input auch zufällig, was die Verwendung als Sample&Hold dann auch interessanter macht. So sehr, wie da alles modulierbar ist, weiß ich noch nicht, ob ich evtl. auf den Hardware-Sample&Hold verzichte, da ich in den Pattern Sequencern (und dem anderen Zeug) ja auch Zugriff auf die analogen Modulationsbussen habe, wenn auch mit eingeschränkter Samplerate (vermutlich 1KHz).

Natürlich kann man die Pattern Sequencer auch als Arpeggiators benutzen, also z.B. Transponierwerte drin, der Grundoffset ergibt sich dann aus dem Notenwert, der aktuell im Register hängt.

Hm. Ja. Da brauch ich dann auch mehrere Notenwert-Register, die dann in Reihenfolge der einlaufenden NoteOns befüllt werden. Die Routine hatte ich schon in der Testversion damals drin, ein Notenstapel von 8 aktiven Noten hat sich da als sinnvoll erwiesen -> Controllerslots.

Und was vielleicht auch noch interessant ist: Ein Voice Board bekommt 2 Audio-Outs, jeder davon kann separat konfiguriert werden, aus welchen Audio-Bussen er sich bedient und einen VCA, der die Amplitude regelt. Wie bei den Modulationen regelt der Einspeisepunkt die Amplitude des jeweiligen Audio-Busses. Von diesen 2 Audio-Outs ist einer der endgültige Ausgang des Voice-Boards, der andere bekommt noch nen panning-VCA und geht auf die Stereooutputs des Gesamtkonstrukts.

Ein Voiceboard wird komplett im MIDI-Protokoll gesteuert, allerdings gestrippt, es kennt z.B. keinen Program Change, Patches gibts nicht, sondern eine Konfiguration, die per SysEx reingesteckt wird, außerdem wird hier MIDI über Synchron 1-4MBit gesprochen. Vor den Voice Boards (von denen man mit dieser Architektur theoretisch eine beliebige Anzahl installieren kann) steckt dann der Master Controller, der auf mehreren MIDI-Kanälen hören kann, das Routing auf die Voice Boards macht und auch die Patches verwaltet, ein Patch kann ja mehrere Voice Boards beinhalten, um dem Wahnsinn keine Grenzen zu setzen.

Alles in allem also eine technisch gesehen sehr simple Hardwarearchitektur, die durch die Software dann durchaus nette Möglichkeiten hergeben dürfte. Übrigens kann man auf Ebene Voiceboard wirklich jeden noch so winzigen Kram per SysEx umpopeln, im Extremfall sogar die internen Kalibrierungswerte für CV Scaling, VCA Offsets und all dieses Zeug. Jeder Analogschalter hat ein Bit im SysEx, und wenn irgendeine Eigenintelligenz eines Voice Boards eine kranke Funktion blockiert, kann man jederzeit die Firmware überbügeln, von jeder der verbauten CPUs, derer ein Voice Board 5 Stück besitzen wird.

In der geplanten Vollausstattung mit 8 Voice Boards bedeutet das dann mindestens 41 CPUs. In einem Analogsynthesizer. Klingt "ein wenig ungewöhnlich", aber im Audioweg ist kein einziges digitales Bauteil untergebracht (wenn man Analogschalter nicht in diese Kategorie zählt, von denen sind sehr viele verbaut :), wenn man das nicht will. Aber da man ja einen VCO auch von einer CPU syncen kann, geht hier der Spaß eh erst richtig los. Wie wärs mit VCO-Sync mit Delay? Also nicht einfach auf VCO2 draufhauen, wenn VCO1 grad entlädt, sondern noch einen Dalay dazwischen packen, um die Phasenlage zu beeinflussen?
 
das geht ja runter wie butter..... ich kann mir ungefähr vorstellen wie dein synth wohl klingen mag und gehe davon aus das es die potenzion meiner vorstellung ist.. da bin ich sehr gespannt drauf und muss jezt mal anfangen zu sparen.....

:lol:
bei den technischen sachen kann ich definitiv nicht mehr mitreden, mir reichts aber wenn ich das teil bedienen kann....
 
das hört sich alles gut an, jedoch muss am schluss vorallem der klang stimmen..

64 controller: da reichen ja controller, jedoch brauchst du die nrpns wohl für höhere auflösungen, welche planst du denn so? (in bit)?
 
Moogulator schrieb:
das hört sich alles gut an, jedoch muss am schluss vorallem der klang stimmen..

Ja eben. Drum mal die Erwartungen mal nicht viel zu hoch ansetzen, nicht, daß dann hinten ne Enttäuschung rauskommt, wenns halt doch etwas weniger ist. Vom Konzept her mag ich mich noch selber loben können, aber ob die Umsetzung dann auch das wird, was ich von mir erwarte, wird sich zeigen. Abgesehen von eventuellen Kinderkrankheiten und sowas, die sich dann auch noch eingeschlichen haben könnten oder noch können.

Moogulator schrieb:
64 controller: da reichen ja controller, jedoch brauchst du die nrpns wohl für höhere auflösungen, welche planst du denn so? (in bit)?

Die Controller an für sich reichen, wenn man pingelig ist (so wie ich) nicht, weil es da eigentlich nur 4 "verbratbare" gibt, die für general purpose gedacht sind. NRPNs ist der korrekte Weg, zu machen, was man will. Nicht, daß ich den User dazu zwinge, der kann sich von mir aus den MIDI panning controller auf den Filter cutoff routen, ich verbiete es nicht, aber er hat eben auch die Möglichkeit, NRPNs zu nehmen. Wer wirklich noch mit dem antiken Prinzip per MIDI-Through arbeitet, wird es zu schätzen wissen, da können dann schon mal die Controller ausgehen.

Von wegen Auflösung: Viele "normale" Controller sind auch 14bit. Modulation besitzt z.B. 2 MIDI-Controller-nummern, einer is Coarse, einer Fine. Macht zusammen 14 Bit. Ich unterstütze alles, was so in der MIDI-Spec drin steht, also kann man da auch alles mit den Controllern machen, was theoretisch möglich ist (aber nicht von vielen implementiert wird). Auch ein tune request (system common message, 0xf6 war das glaub) ist ja z.B. sinnvoll. Active sensing wird auch benutzt, all dieses tolle Zeug.

Und zur Verwendbarkeit der Auflösungen: Ich hab nen 16bit-DAC drin. Der generiert sämtliche Steuerspannungen. Bipolar, klar, also -32768 bis +32767 an Wertebereich. Bei der Amplitude der VCAs habe ich auf ne Offset-addition aber verzichtet, die sind in dem Fall nur von 0-32767 ansteuerbar, was die Auflösung an der Stelle auf 15bit begrenzt. Aber kleiner wirds nirgendwo. Der interne Rechenkram ist generell 16bit, stellenweise arbeite ich mit 24 oder gar 32 bit, vor allem, wenn ich präzise dividieren will. Genau so eine Division ist auch der Performance-fresser an den Modulationsprozessoren, daher sind die laufzeitbedingt "geclustert", werden von 3 CPUs parallel gerechnet.

Das geringste an Auflösung ist die digitalisierung der Modulationsbusse. Der ADC hat nur 10bit. Und mit 10bit ist er auch nicht so ganz superpräzise. Aber diese Modulationsmöglichkeit ist eher ein Gag, den ich halt einbaue "because we can", für wirklich präzise, ernsthafte Dinge ist das nicht gedacht, schon gar nicht wegen den nur 1KHz Samplingfrequenz. Aber für irgendwas wird mans schon brauchen können, sei es nur die Einspeisung der CV eines supertollen Moduls des daneben stehenden Modularsynths.
 
active sensing ist nicht toll, das ist verzichtbar.. hoffentlich nicht drin! komplett doofes füllen mit sinnlosen infos.. kannste weglassen.
 
Naja, ich mache das actrive sensing abschaltbar. An für sich ist das schon eine sinnvolle Sache, dient ja dazu, die NoteOffs selber zu generieren, wenn das steuernde Gerät nix mehr schickt. Manchmal will man das schon haben (ja, ich selber hielt es bisher auch nur für "Buszumüllung")

So, heutige News:

Mein MIDI-Stack ist jetzt nur noch 602 Bytes groß. Muß man mal sagen in Zeiten des GB-Wahns :) Das Ding ist im Prinzip die komplette State Machine, ruft für die Events passende Handler auf und kümmert sich selber um running status und so Zeug.

Konkretisierung Modulationsmatrix: "ich win wahnsinnig"

struct controller_slot {
uint8_t ctl1;
uint8_t ctl2;
uint16_t defval;
uint16_t value;
};

In ctl1 und ctl2 wird das höchste bit benutzt, um zu entscheiden, was da rein kommt. Dadurch kann so ein Slot folgendes sein:

- 7bit Controller (also nur einer)
- 14bit Controller (also einer mit Coarse und Fine-Controllernummer)
- 7bit NRPN (muss ich noch NRPN-Normen anguggn, ob dann fine oder coarse data entry genommen wird)
- 14bit NRPN

Default Value wird gesetzt beim Controller-Reset oder beim Laden des Patches

Controller Slots 0 und 1 sind fest verdrahtet - Notenwert (nach Tabelle für die Stimmung) und Pitchbender
Wo ich mit Pressure (aka polyphonic aftertouch) rumfuchtel, weiss ich noch nicht so genau. Auch, wenn so ein Voice Board nur einen Ton spielen kann, kann das ein Arpeggio sein, ich kann also logischerweise mehrere Pressure-Werte haben, was die Sache nicht wirklich vereinfacht. Vielleicht verbrate ich Slot 2 dafür fest und handhabe dann intern die Liste mit Notenwerten/Pressure, um das bei der gespielten Arpeggio-Note in den Controller-Slot zu schreiben.

Bleiben "nur" noch 61 frei zuweisbare Controller übrig :) Vielleicht entfällt aber noch einer für "alten Notenwert", um den Glide auch zu implementieren.

Routing-Slots:

struct routing_slot {
uint8_t src;
uint8_t dst;
uint16_t modifier;
};

src ist die Quelle, das kann ein Controller oder ein Register sein
dst ist das Ziel, das kann ein Register oder eine CV für den Analogteil sein. Bei den CVs wird es aber in der Software einige Sperren geben. Da es durchaus möglich ist, durch komplett falsche CVs im Dauerbetrieb die Kiste kaputt zu machen. Die ersten beiden CVs werden z.B. nicht editierbar werden - das sind nämlich die Referenzwerte für die automatischen Kalibrierung aller CVs in Sachen Nullpunkt und Amplitude (1V/oct).
modifier dient zur Modifikation des Wertes. Einige Bits sagen aus, was mit dem Wert gemacht werden soll, multiplikation, division, addition sind da drin, als Wert selber für den Modifier kann ein Register, ein Controller oder ein fixer Wert genommen werden. Der fixe Wert ist entsprechend 12 bit, und kann umgestellt werden, ob er direkt genommen wird (mit Vorzeichen) oder nochmal geshiftet wird, um den 16bit-Werteumfang bei kleinerer Präzision abzudecken.

von diesen routing-slots gibt es, da sie restlos alles am Synth steuern, und ja schonmal 64 CVs auf jeden Fall richtig gesetzt werden müssen, 128 Stück. Also neben der notwendigen Grundsteuerung 64 Modulationsmöglichkeiten im Digitalteil. Die analogen noch nicht mitgerechnet :)

Jetzt muss ich noch die restlichen Steuerungen irgendwie sinnvoll zusammenkleben, die da wären:

Wellenformauswahl
subosc-Wellenformauswahl
Modulationsauswahl
(alles doppelt, weil 2 VCOs)
VCO-Sync
CPU-Sync
Gate/Trigger der Modulationsprozessoren
S/H Trigger
Step Sequencer Gate/Trigger/Clock

mit den Eingängen von Registern, Controllern, Gate vom Keyboard, MIDI-Clock

Ich red die ganze Zeit von Registern - das sind keine Zugriegel oder so, sondern quasi Variablen. "Datentonnen", derer es 64 Stück gibt, 32 davon werden von den Modulationsprozessoren und den A/D-Wandlern der Modulationsbusse bestückt, der Rest ist quasi "frei" für Schweinkram aller Art

Im Routing können beliebig viele Slots aufs gleiche Ziel gehn, die Werte werden einfach addiert (mit clipping, sonst gibts komische Effekte bei Werteüberlauf).

Ich glaub, wenn ich in nem Patch noch viele Modulationsprozessoren benutze, hab ich mit all dem gar kein Problem, die Patch-Größe eines K5000 zu toppen :)

Sieht alles unendlich kompliziert aus, aber:

so funktioniert son Synth halt von innen, nur sieht man es normalerweise nicht. Ich lege all diese Internals nach außen. Warum irgendwas brach liegen lassen? Außerdem ist diese Architektur in Sachen Rechenleistung vermutlich die effizienteste Art, das zu implementieren, daß das ein kleiner 16MHz 8-bitter alles zusammenknoten kann. Sehen tut der Bediener das in der Form aber nur im Expert mode, im User mode ist das alles "entschärft". Es ist vermutlich klar, daß das User Interface von dem Ding auch die fieseste Herausforderung wird, der ganze obige Kram ist die Engine, und das ist wohl alles in ein paar Kilobytes Code abdeckbar.

Und da ja schon Kommentare gefallen sind, daß sich der Eine oder Andere vorstellen kann, wie das Ding klingt - alle Achtung, ich kanns nicht :) Das Einzige, was in die Gegend kommt, wäre der Jomox Sunsyn, allerdings hat der noch was Digitales in den Oszillatoren, was ich (noch) nicht habe, dafür aber weniger fiese Modulationsmöglichkeiten. Hatte gestern so ne Inspiration für nen ersten Demotrack. Mal schauen, ob ich das so da reinbekomme, wie ich mir das vorstelle.

Zum Filter übrigens - weg von Nachbauten. Da kommen 2 saubere 2pol-filter in State Variable rein, die man sich zu nem 4pol zusammen klemmen kann. Dennoch sind beide Filter eigenständig und auch separat konfigurierbar/modulierbar. Muß aber noch entwickelt werden, wenn ich mal den Rest gelötet hab und die Firmware für die schon stehende Hardware fertig habe. Seit heute geht das ja wenigstens mit den Updates restlos per SysEx.
 
wellenformen könnte man ja auch gleitend installieren.. das wäre cool.. ist aber jetzt ein bisschen aus dem zusammenhang gerissen..

das teil bekommt einen stepSequencer? seh ich das richtig? hofefntlich sparst du nicht auch an der falschen stelle.. nen halber <a href="https://www.sequencer.de/specials/sequencer.html">Sequencer</a> ist so gut wie keiner..
 
Moogulator schrieb:
wellenformen könnte man ja auch gleitend installieren.. das wäre cool..

Gleitend geht nicht. Dazu bräuchte ich für jede Wellenform nen eigenen VCA, was dann, ums komplett zu machen, pro VCO 14 VCAs alleine für Ausgang bedeuten würde. (5 main, 4 sub, 5 mod). Aber der "Umschalter" für die Wellenformen ist quasi modulierbar.

Moogulator schrieb:
das teil bekommt einen stepSequencer? seh ich das richtig? hofefntlich sparst du nicht auch an der falschen stelle..

Ich kann ja noch ne weitere CPU anflanschen :) Dieser Step-Sequencer wird, wenn ich ihn einbaue, schon eher rudimentär werden. Die Kiste ist keine Workstation, damit ist der Step Sequencer eher ein einfaches Werkzeug, um z.B. 16 Werte getakted in Register zu werfen, damit ist er als einfacher Step Sequencer einsetzbar, und da es davon wohl 8 geben wird, und man mehrere gleichzeitig benutzen kann, kann man entsprechend auch andere Werte als nur Pitch beeinflussen, und z.B. ala 303 den Glide Stepabhängig ein/ausschalten.

Aber auf diese Komponente leg ich im Moment keine wirklich große Prio. Wenn Platz/Performance übrig ist, kommt er rein, und diese Faktoren entscheiden auch, was er am End kann.
 
"halb" ist definitionssache. warum sollte ich eine recht coole modulationsmöglichkeit komplett weglassen, nur weil sie nicht mit der ultimativ vollen featurepackung daherkommt?

wie gesagt - es ist keine workstation. wer mehr will, soll nen externen Sequencer dranhängen. sowas bau ich sicherlich nicht ein. das ist ein simpler step Sequencer, der auch als arpeggiator arbeitet, und wenn ich platz und performance hab, bau ich den ein.
 
wenn er als modquelle geht und midisyncbar ist ,ist das schon sehr fein..
man kann da beim ms2000 / radias gucken ;-)

workstation ist für mich eh was gaaanz anderes.. habe ich nicht angenommen ,einen solchen <a href="https://www.sequencer.de/specials/sequencer.html">Sequencer</a> einzubasteln..
 
"Keep things simple". Was sollte ich mit dem Ding sonst machen, als ihn als Modquelle zu benutzen? Wie man das Ding dann sinnvoll einsetzt, überlasse ich dem User, der damit einfach ein weiteres Toy bekommt.

Was hast Du Dir denn unter nem Step Sequencer vorgestellt? Vielleicht ist der Funktionsumfang, den Du erwartest, eh schon in meinem Plan abgedeckt, bzw. durch das Drumrum realisierbar, ohne irgendwas weiteres in die Software stricken zu müssen.

Woanders guggn tu ich nicht mal so viel. Neben dem allgemein Bekannten sind es ein paar eigene Ideen, die drin sind, zuviel Abkupfern woanders beeinträchtigt keine eigene Kreativität :) Ja gut, die eine oder andere woanders gesehene Idee ist sicherlich drin.
 


Zurück
Oben