

    vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv

      SOUNDEffect  Version 1.30 - Oktober 1992     (Shareware)
                                                   (c) 1992 Sven Bühling
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

 ###########################
  D O K U M E N T A T I O N
 ###########################

  -----------------
  Zwischenspeicher:
  -----------------
  Am linke Bildschirmrand befinden sich die Gadgets für die
Zwischenspeicher. Diese sind in acht gleiche Gruppen unterteilt, da es
genau acht Zwischenspeicher gibt.
  Jede Gruppe besteht aus:
    - einem Gadget mit einer Diskette oder einem Chip zur Auswahl, ob
      sich der Zwischenspeicher im RAM oder auf Diskette befindet. Man
      kann auch wenn der ZS belegt ist, beliebig hin und her wechseln.
    - einer LED, die anzeigt, ob der ZS belegt ist.
    - einem Knopf zur Anwahl dieses Zwischenspeichers.
    - einem String-Gadget, in das der Name des Samples eigetragen wird (Hier
      kannst Du Dir auch beliebige Notizen über das Sample machen, z.B.
      "Echo1".)

  Mit den oben etwas weiter rechts befindlichen Gadgets |-->|, |<--| und
| X | kannst Du einen ZS laden, abspeichern und löschen.

  -----------------
  Graphik-Displays:
  -----------------
  Das obere Display dient zur Anzeige des gerade bearbeiteten Samples,
im unteren Display kannst Du Kurven oder Balkendiagramme zeichnen oder auch
Teile des Samples Freihand-Editieren.
  Zwischen den beiden Displays befindet sich die Statuszeile, auf die Du
immermal ein Auge werfen solltest (flatsch ;^).

  ----------------------------
  Zeichnen im unteren Display:
  ----------------------------
  Gezeichnet wird mit der linken Maustaste. Den Zeichenmodus (DRAW oder
POINT) kannst Du mit den beiden Gadgets links von der Statuszeile
festlegen. Mit den beiden Gadgets rechts von der Statuszeile kann das untere
Display gelöscht werden. Die Linie ist dabei entwerder in der Mitte oder am
unteren Rand (wichtig für |Echo1|) des Displays.
  Das Besondere an dieser Zeichenroutine ist, daß sie stets eine
durchgehende Linie von links nach rechts ergibt. Deshalb kannst Du auch
im POINT-Zeichenmodus keine Punkte, sondern nur "Balken" zeichnen. Auch im
DRAW-Modus wird nach dem Loslassen der linken Maustaste wieder eine
geschlossene Linie hergestellt.
  Links von dem unteren Display befinden sich drei weitere Gadgets. Die
oberen beiden dienen zum Laden bzw. Speichern des Inhaltes vom unteren
Displays. Dazu solltest Du das Disk-Panel (s. unten) aktivieren und
entsprechend Directory und File auswählen. Diese beiden Gadgets müssen
sicherheitshalber "gedoppelklickt" werden.
  Mit dem untersten dieser drei Gadgets kannst Du das untere Display
löschen. Dabei wird je nachdem, ob |-1-| oder |-0-| aktiviert ist, die
Linie am unteren Rand oder in der Mitte des Displays gezeichnet.
  Mit der rechten Maustaste kannst Du Dir einen Range markieren. Zu den
Range-Funktionen komme ich später.

  ------------------
  Das obere Display:
  ------------------
  Wenn ein Sample geladen wurde, wird dieses im oberen Display angezeigt.
  Die Anzeige kann in wählbarer Qualität und Geschwindigkeit erfolgen, das
wird aber erst im MISC-Panel erklärt.
  Die Zahlen darüber haben folgende Bedeutung:
    L  - Länge des Samples
    RB - Rangeanfang
    RL - Rangelänge
    DB - Displayanfang
    DL - Displaylänge
  Einen Range kannst Du Dir wieder mit der rechten Maustaste markieren.

  Links neben dem oberen Display befindet sich eine Reihe von
Gadgets, die ich am besten von oben nach unten erkläre:
    Lupe : Der markierte Range füllt danach das ganze Display aus. Damit
           kannst Du also einen Teil des Samples vergrößern.
    <->  : Zoom out
    X    : Falls ein Range markiert wurde, wird die Markierung entfernt.
    <-   : Scroll nach links
    ->   : Scroll nach rechts
    XLupe: Es wird wieder das gesamte Sample gezeigt.
  Am besten, Du probierst alles mal aus.

ACHTUNG: Eine Rangemarkierung bewirkt bei vielen Programmfunktionen, daß nur
         der selektierte Bereich bearbeitet wird. Falls ein Range nicht mehr
         benötigt wird, solltest Du ihn auf jeden Fall entfernen, da andere
         Funktionen (z.B. Echo, Filter) damit versehentlich beeinflußt werden
         könnten.

  --------------------------
  Festlegen der Abspielrate:
  --------------------------
  Unter den Displays befinden sich die Gadgets zur Festlegung der
Abspielrate des Samples. Neben dem Proportional- und dem numerischen Gadget
hast Du auch die Möglichkeit, die Abspielrate direkt über Noteneingabe
festzulegen, z.B. C-2, Db3, F#4, Bb3. Die Note B wird dabei wie im englischen
Notensystem üblich behandelt, also ein "deutsches" B entspricht Bb.
  Übrigens: Falls die eingestellte Note nicht mit der tatsächlich gespielten
Tonhöhe übereinstimmt, ist das Sample nicht richtig "gestimmt". Bei
Musikprogrammen wie MED oder Protracker würde es also wahrscheinlivh arg
krumm klingen. Abhilfe schafft die Funktion |Ch. Pitch| aus dem Others-Panel
(s. hinten).

  -----------
  Die Panels:
  -----------
  Da ich ein ziemlicher Pull-Down-Menü-Gegner bin und mir Tastatur-Shortcuts
sowieso nicht merken kann, läßt sich SOUNDEffect z.Z. voll und
ausschließlich über Gadgets (laut Workbench2.0-Handbuch nennen diese sich
übrigens neuerdings "Aktionssymbole") bedienen. Und da ich die vielen,
vielen Funktion, sprich Gadgets, die SOUNDEffect bietet, unmöglich auf einem
normalen Screen unterbringen kann (und bei Super-Hires-Interlaced kann ich
auf meinem Fernseher nichmal mehr mit der Lupe was lesen), sind die meisten
Funktionen in sog. Panels "versteckt".
  Das hat natürlich den Nachteil, daß Du am Anfang vielleicht
mitunter überlegen wirst: "In welchem Panel hängen doch gleich
die Loop-Funktionen rum?", oder ähnlich. Aber wenn Du erst mal ein Weilchen
mit SOUNDEffect rumgewürcht [thr.: gearbeitet] hast, und allerlei alten
angestaubten Samples zu neuem Glanz verholfen hast, geht das mit diesen
Panels doch recht flott von der Hand.

  ---------------
  Disk-I/O-Panel:
  ---------------
  Dieses Panel läßt sich wie ein nomaler File-Requester bedienen.
  Mit |Delete| (Doppelklick!) können Files gelöscht werden.
  |Vol| scannt die Volume-Liste und die Namen aller bekannten Datenträger
erscheinen.
  |Dev| zeigt eine Device-Liste an.
  Mit |Load| kannst Du ein Sample laden. Unterstützt werden die Formate RAW,
IFF und Future-Sound. Das Future-Sound-Format ist sehr ungebräuchlich,
SOUNDEffect benutzt es aber, um Zwischenspeicher auf Diskette abzulegen.
  Mit |Save| wird das Sample gespeichert. Ob RAW oder IFF gesavet werden
soll, kannst Du mit mit dem kleinen Gadget, das sich über dem
Parent-Dir-Gadget befindet, auswählen.

  -----------
  Play-Panel:
  -----------
  Dieses Panel dient zum Abspielen von Sample, Range oder Display. Wenn
|Repeat| aktiviert ist, wird das Sample endlos wiederholt ausgegeben.
|Use Loop| hat nur Einfluß, wenn in dem Sample ein Loop gesetzt wurde. (Ein
Loop ist ein Wiederholteil im Sample und wird, sobald er erreicht ist,
endlos abgespielt. Damit kannst Du Dir z.B. eine endlos pfeifende Flöte
basteln.)

  ------------
  Range-Panel:
  ------------
  In diesem Panel befinden sich die Range-Funktionen für das obere
Display.
  |Copy| läd den Range in den Copy-Puffer. |Paste| kopiert den Inhalt des
Copy-Puffers an die markierte Stelle im Sample. |Cut| "schneidet" den
Range aus dem Sample heraus. |Delete| löscht den markierten Bereich.
  Mit den Gadgets in der zweiten Reihe kann man die Range-Grenzen
verändern. Mit |St| und |End| wird ausgewählt, ob Rangeanfang oder -ende
verändert werden sollen. Mit |<-| und |->| kannst Du die Range-Markierung
Byte-weise verücken. Mit |0<-| und |->0| wird zu der nächsten 0 im Sample
gesprungen, was ganz nützlich ist, wenn Du z.B. Samples ohne Knack loopen
willst. Mit |all| wird das gesamte Sample als Range markiert.
  Nun sind die Gadgets in der dritten Reihe von oben dran:
  Mit |Ins| kannst Du den Copy-Puffer an der angewählten Stelle ins
Sample einfügen. (Eine Stelle wählt man übrigens an, indem man mal kurz
die rechte Maustaste clickt.) Mit |S<->B| kannst Du Sample und
Copy-Puffer miteinander vertauschen. Mit |Rem| wird der vom Copy-Puffer
belegte Speicher freigegeben (das erfolgt sonst natürlich automatisch am
Programmende). Mit |Add| und |Mix| kann man Sample und Copy-Puffer
zusammenmischen. Der Unterschied besteht darin, daß bei |Mix| vor dem
Zusammenaddieren Sample und Copy-Puffer auf halbe Lautstärke reduziert
werden, so daß keine Übersteuerungen entstehen können. Übrigens wird immer,
wenn durch irgendeinen Effekt eine Verzerrung (bzw. Übersteuerung) im
Sample entstanden ist, dies in der Statuszeile angezeigt. Falls bei |Mix|
und |Add| kein Range markiert ist, wird der Copy-Puffer beginnend vom
Sampleanfang dazugemischt. Falls jedoch im Sample ein Range markiert ist,
wird nur in den markierten Bereich hineingemixt.
  Mit Append |    | Bytes kannst Du freien Speicher an das Sample
anhängen. Dazu brauchst Du nur die Byteanzahl in das numerische Gadget
einzugeben. Diese Funtion ist z.B. nützlich, wenn Du Echos an Dein Sample
anhängen willst. Mit |Sw| kannst Du den Range "rumklappen". Diese Funktion
ist ziemlich nutzlos, außer Du willst Dir mal schnell ein paar Knackser in
Dein Sample einbauen. |Rev| dreht den Range zur Y-Achse rum. Das bringt
schon eher was (z.B. klingen falschrum abgespielte Trommeln nicht übel).
  Mit Shift |up| |down| |     | kannst Du den markierten Berich hoch und
runter schieben. Das ist eigentlich auch ziemlich nutzlos (außer Du bist der
stolze Besitzer eines falsch justierten Audio-Digitizers). Der Wert muß
in % angegeben werden. Brauchbarer hingegen ist |Amp|. Damit kannst das
Sample um den angegebenen Wert lauter bzw. leiser drehen.
  Hierzu ein kurzes Beispiel: Wenn Du Sounds aus irgendwelchen Spielen
ribben willst, indem Du z.B. den Speicher nach Samples durchsuchst, kann es
es passieren, daß Du die Instrumente nicht einzeln, sondern aufeinander-
folgend in einem File erhält. Du hast dann z.B. direkt hintereinander
eine Bassdrumm, eine Snare, einen Bass und einen Syntheshizersound. Da Dir
aber nun gerade die Snare so besonders gut gefällt, möchtest Du sie
aus diesem File "herausschneiden". Das geht so:
  - mit der rechten Maustaste den Bereich, in dem die Snare ertönt grob
    markieren
  - mit |<-|, |->|, |<-0|, |->0| Rangeanfang und -ende genau setzen und mit
    |Play Range| überprüfen, ob genau die Snare markiert wurde
  - |Copy| oder |Cut| anclicken
  - |S<->B| anclicken
 ...und schon ist die Snare isoliert, und der Rest des Files befindet sich
im Copy-Puffer.

  ----------
  Edit-Panel
  ----------
  Das Edit-Panel widmet sich ausschließlich dem unteren Display und
enthält allerlei mehr oder weniger nützliche Editierfunktionen für das
selbe.
  Die Gadgets in den oberen beiden Reihen entsprechen denen im
Range-Panel, bloß daß sie den im unteren Display markierten Range
betreffen.
  Mit Shift |X| |Y| |    | kannst Du den Inhalt des Ranges um den
angegebenen Wert nach links, rechts, oben und unten verschieben. Mit
|Multi| wird der Inhalt des Ranges um den angegebenen Wert vervielfältigt.
  Mit Expand |X| |Y| |     |% kannst Du den Range um den angegebenen
Prozentwert in X- oder Y-Richtung ausdehnen bzw. zusammenziehen. |Sw| und
|Rev| machen das gleiche, wie im Range-Panel.
  Mit |Backup| kannst Du Dir schnell mal eine Sicherheitskopie (im RAM) des
unteren Displays machen. Mit |Undo| kannst Du diese wieder abrufen.
  Die vier bemalten Gadgets links unten bringen die gebräuchlisten
Standardwellenformen ins untere Display oder falls markiert, in den Range.

  ----------
  MISC-Panel
  ----------
  In dem String-Gadget ganz oben kannst Du anwählen, auf welchem Pfad die
Disk-Zwischenspeicher abgelegt werden sollen. Es wird auch gleich
überprüft, ob sich in diesem Directory schon irgenwelche abgelegte
Zwischenspeicher befinden. Wenn ja, werden diese durch die LEDs
angezeigt. Die Disk-Zwischspeicher werden übrigens beim Verlassen des
Programms nicht gelöscht. Falls Du Deine Zwischenspeicher in einem Directory
ablegen willst, solltest Du das '/' am Ende nicht vergessen.
  Mit |Info| wird ein Info-Text angezeigt.
  Die Gadgets links von |Info| befassen sich, wie sich aus darüberstehenden
"Graphics" schon vermuten läßt, mit der graphischen Ausgabe des Samples im
oberen Display. Mit dem HD-Gadget wird eingestellt, ob das Sample dicht oder
"durchscheinend" ausgegeben werden soll. Mit den Zahlengadgets daneben läßt
sich einstellen, jedes wievielte Byte des Samples bei der Ausgabe
berücksichtigt werden soll. Je höher diese Zahl ist, desto schneller wird die
Ausgabe. Damit läßt jedoch auch logischerweise die Qualität nach.
  Wenn bei kurzen Samples durch eine relativ hoch eingestellte Zahl, das
Sample nicht mehr ordentlich ausgegeben werden kann (weniger als zwei Werte
pro Bildschirmspalte) werden vom Programm automatisch mehr Werte
berücksichtigt. Bei Samples, die kürzer als 1000 Bytes sind, haben die hier
eingestellten Werte keinen Einfluss mehr, da hierbei eine andere
Ausgaberoutine benutzt wird.
  Mit |QUIT| und |Iconify| kannst Du das Programm verlassen bzw.
Iconifizieren. Bei |Iconify| werden übrigens alle RAM-Zwischenspeicher
und der Sample-Puffer freigegeben. Also am besten vorher alle RAM-ZS auf
Disk verlagern, indem Du auf das Chip-Symbol clickst.

  ----------------
  Modulation-Panel
  ----------------

  Mit der Amplitudenmodulation, die durch |AM| ausgelöst wird, kann man zum
einen des Ein- und Ausschwingverhalten des Samples verändern, andererseits
kann es auch ganz nützlich sein, um Tremolo-ähnliche Effekte zu erzeugen.
Falls dabei Übersteuerungen entstanden sind, wird dies in der Status-Zeile
mitgeteilt. Die Stärke der Modulation wird mit Y-Range eingestellt.

  Dazu gleich drei Beispiele:

  1. Ein lang aushaltendes Gitarrensample schneller ausklingen lassen:
     - Lösche das untere Display (Gadget rechts von Statuszeile)
     - Schalte auf DRAW-Modus (links von der Statuszeile).
     - Zeichne die Lautstärkenhüllkurve. Beginne etwa in der linken
       oberen Ecke und senke dann allmählich ab.
     - Stelle den Y-Range auf 50%.
     - Clicke |AM| an.
  2. Einen weich einsetzenden Synthi-Sound am Sampleanfang in der Lautstärke
     anheben und am Ende etwas absenken:
     - Falls das Sample voll ausgesteuert ist, mach es mit |Amp| im
       Range-Panel etwas leiser.
     - Lösche das untere Display.
     - Stelle Y-Range auf 100%
     - Schalte auf DRAW-Modus
     Nun entspricht die Linie in der Mitte des Displays der jetzigen
     Lautstärke des Samples. Zeichne also Linie am Anfang des Samples
     etwas über die Mittellinie und am Ende absenkend bis zum unteren
     Rand.
     - Clicke |AM| an.
  3. Du willst irgendein Sample in der Lautstärke schwingen lassen. Dies
     kann je nach Stärke den Klangeindruck ziemlich verändern kann (oft
     klingt das Sample dadurch etwas "dreckiger").
     - Lösche das untere Display
     - Stelle den Y-Range auf 100%
     - Schalte auf DRAW-Modus
     - Male im unteren Display eine Wellenform mit relativ geringer Amplitude
       (möglichst ohne größere Sprünge, da sonst Knackser entstehen)
       (hier kannst Du auch die Sinus-Standard-Wellenform nehmen - ganz links
       unten im Edit-Panel)
     - Falls Du die gezeichnete Schwingungen mehmals auf das Sample bringen
       willst, führe die folgenden Schritte aus
       - markiere den zu vervielfältigenden Bereich im unteren Display
       - schalte aufs Edit-Panel
       - gebe in dem numerischen Gadget links neben |Multi| an, wie oft die
         Wellenform vervielfältigt werden soll
       - clicke |Multi| an
        (hierbei ist natürlich zu beachten, daß Ende und Anfanng des im
        unteren Display markierten Ranges ineinander übergehen, da sonst
        Knackser entstehen können)
     - Löse die Amplitudemodulation aus

  Mit der Frequenzmodulation, die durch |FM| ausgelöst wird, kann man, wie der
Name schon sagt, nicht die Amplitude, sondern die Frequenz des Samples im
Zeitverlauf schwanken lassen. Bei der eigentlichen Ausgabe mit |Play| bleibt
die Samplingrate natürlich konstant. Frequenzschwankungen werden durch
gezieltes Einfügen (tiefere Frequenz) und Herausnehmen (höhere Frequenz) von
Werten erzeugt.
  Mit Frequenzmodulation lassen sich vor allem Slide- und Vibratoeffekte
erzeugen. Bei Strength kann eingestellt werden, wie strk sich die fiktive
Samplingratenänderung maximal (bei vollem Ausschlag im unteren Display) sein
darf. Bei Slides sollte die Strength dann logischerweise größer eingestellt
werden als bei Vibratoeffekten.

  Beispiel: Erzeugung eines einfachen Vibratos:

    - auf Edit-Panel schalten
    - Sinuswellenorm anwählen (links unten)
    - |all| (2. Reihe von oben) => alles wird als Range markiert
    - links von |Multi| beispielsweise 10 eintragen
    - |Multi| anclicken
    - Strength auf etwa 250 stellen (je nach gewünschter Stärke)
    - |FM| anclicken

  Unter den Modulationsgadgets befindet sich etwas, das entfernt an ein
Mischpult erinnern könnte. Es ist auch eins! Hier ist es möglich, mit einem
Aufwasch alle 8 Zwischenspeicher zusammenzumischen. Zwischenspeicher, deren
"Fader" ganz unten ist, werden nicht berücksichtigt. Das entstehende Sample
ist logischerweise so lang wie der längste Zwischenspeicher. Mit dem ganz
rechten Prop-Gadget läßt sich das Master-Volume einstellen, mit dem Gadget
links daneben der Mix auslösen.
  ACHTUNG: Die Samplingrate der Samples in den Zwischenspeichern muß nicht
übereinstimmen, jedoch klingt der Mix am Ende wie wenn alle
zwischengespeicherten Samples mit der selben Rate abgespielt worden. Um
beispielsweise Akkordsamples zu erzeugen reicht es also nicht, das Sample mit
unterschiedlichen Abspielraten in die ZS zu legen; es muß jeweils vorher mit
der |Ch. Pitch|-Funktion (Others-Panel) bearbeitet werden.

  ----------
  Echo-Panel
  ----------
  Zum Echoeffekt ist an sich nicht viel zu sagen. Erzeugt wird der
Echoeeffekt in SOUNDEffect durch versetztes Mischen des Samples, Ranges oder
Copy-Puffers mit dem Sample. Unter Hall versteht man ein diffuses Gemisch aus
vielen Echos (läßt sich mit |Echo1| simulieren).
  Mit SOUNDEffect hast Du zwei Möglichkeiten, Echos auf ein Sample zu legen:
  |Echo1| benutzt das untere Display zur Festlegung von Echoabstand und
-stärke. So kannst Du Dir mit etwas Geschick auf einen gutklingenden Hall
erzeugen. X-Range |   |% solltest Du dabei normalerweise auf 100% lassen.
Wenn Du es jedoch z.B. auf 50% stellst, entspricht der rechte Rand des
unteren Displays der Mitte des Samples. Mit Strength |   |% kannst Du
bestimmen, wie laut das Echo sein soll, wenn der Balken halb so hoch wie
das untere Display ist.
  |Echo2| ist die konventionelle Möglichkeit. Du  gibst den Echoabstand
in Bytes oder ms (Millisekunden) ein, legst die Anzahl der Echos
und den Grad der Abschwächung mit jedem Echo fest.
  Für beide Echos gilt: Falls ein Range markiert wurde, wird nur der
markierte Bereich "geechot". Falls Du also ein Sample hast, in dem jemand
"1-2-3" zählt, und du markierst den Bereich der "2", erklingt nach dem Echo
"1-2-3-2-2-2...". Eine Besonderheit ist noch bei |Echo1| möglich, und zwar
mit dem |from CB|-Gadget. Falls dieses aktiviert ist, wird zur Echoberechnung
weder das Sample noch der Range, sondern der Inhalt des Copy-Puffers
verwendet. (Siehe Beispiel 3!)

Hier wieder ein paar Beispiele:

  1. An ein Sprachsample einige immer leiser werdende Echos
     anhängen:
     - Verlägere das Sample mit der Append-Funktion aus dem Range-Panel
     - Wähle den Abstand der Echos voneinander in Bytes oder in ms.
     - Wähle die Anzahl der Echs (z.B. 5).
     - Wähle die    Abschwächung der Echos (z.B. 50%).
     - Clicke |Echo2|.

   2. Eine Trommel verhallen.
     - Verlängere das Sample. (Append im Range-Panel)
     - Markiere die Ausschwingphase des Klanges und überprüfe das mit
       |Play Range| aus dem Play-Panel (das ist beim Verhallen von
       perkussive Instrumenten wichtig, da der Hall sonst sehr kratzig
       klingt).
     - Lege Rangeanfang und -ende auf Nullstellen mit |0<-| und |->0|
       (siehe Range-Panel)
 *   - Lösche das untere Display (UNBEDINGT mit dem rechten Lösch-Gadget)
     - Schalte auf POINT-Modus.
     - Stelle Strength |   |% auf 50%
     - Zeichne viele Balken, die jedoch nicht zu hoch sein sollten (die
       Höhe des Displays enspricht der Lautstärke des Samples).
     - Clicke |Echo1|.
     Hierbei hift Probieren viel. Die einzenen Resultate solltest Du Dir
     auf die Zwischenspeicher legen, so daß Du am Ende vergleichen
     kannst, welcher Hall am besten klingt.

  3. Eine Trommel verhallen mit |from CB|
    - Verlängere das Sample
    - Markiere die Ausschwingphase
    - Schalte auf Range-Panel
    - |Copy|
    - |S<->B| - es wird der Inhalt des Copy-Puffers bearbeitet
    - Lösche unteres Display (Linie in der Mitte)
    - schalte auf Modulation-Panel
    - stelle Y-Range auf 100%
    - senke Anfang und Ende der Linie im unteren Display nach unten hin ab
      (damit ein weiches Ein- und Ausschwingen entsteht)
    - |AM|
    - |S<->B|
    - verfahre weiter bei * im Beispiel 2 (vergiß aber nicht, |from CB| zu
      aktivieren)

  ------------
  Chorus-Panel
  ------------
  Mit dem Choruseffekt kann man den Klang eines Samples künstlich
verbreitern. Dabei wird der Klangeindruck z.T. drastisch verfremdet. Man
sollte den Choruseffekt auf jeden Fall mal mit einem Sprach- oder
Gitarrensample ausprobieren - klingt nicht schlecht. Der Choruseffekt wird
von SOUNDEffect erzeugt, indem das Sample bis zu vier mal leich verstimmt
wird und das ganze anschließend zusammengemixt wird.
  Die senkrecht stheneden Prop-Gadgets stellen wieder so eine Art Mixer dar.
Das ganz linke steht für das unverstimmte Originalsample. Das ganz rechte ist
ein Mastervolume-Regler, den man etwas runterdrehen sollte, wenn Verzerrungen
auftreten. (SOUNDEffect teilt natürlich mit, wenn beim Zusammenmixen
Übersteuerungen geschehen.) Die vier numerierten Prop-Gadgets sind die
Einzellautstärken der verstimmten Chorusstimmen. Wenn nur zwei dieser
Prop-Gadgets hochgezogen werden, wird das Sample dementsprechend bloß zweimal
verstimmt, was natürlich schneller geht, als wenn alle vier Stimmen
ausgenutzt werden.
  Mit den wagerecht stehenden Prop-Gadgets kannst Du die einzelnen
Verstimmungen beeinflussen. In das Range-Gadget wird dabei der Wertebereich
eingetragen. Wenn z.B. in Range 2000 steht und die Record-Rate auf 10000
gestellt ist, sind Verstimmungen von 8000 - 12000 möglich. (Die Record-Rate
bleibt nach der Chorusberechnung natürlich auf 10000.)
  Und mit dem rot umrandeten |Chorus|-Gadget wird das ganze ausgelöst - logo.
Vergiß nicht, vorher eine Sicherheitskopie des Samples in einen der 8
Zwischenspeicher zu machen. Das empfiehlt sich übrigens bei fast allen
Bearbeitungsfunktionen.

  -------------
  Special-Panel
  -------------
  Dieses Panel habe ich als letztes integriert. Hier finden sich allerlei
mehr oder weniger nützliche Funktionen, für die ich in den übrigen Panels
keinen Platz gefunden habe.
  In der oberen Reihe befindet sich ein Hoch- und Tiefpaßfilter mit in Hz
einstellbarer Grenzfrequenz. Hierbei ist zu beachten, daß die eingestellte
Record-Rate zusammen mit dieser Grenzfrequenz das Ergebnis beeinflussen. Zu
sagen ist noch, daß es auch bei den Filterfunktionen zu Übersteuerungen
kommen kann, was auf den ersten Blick vieleicht nicht logisch erscheint. Dies
kann passieren wenn die Frequenz des Samples (damit ist nicht die Record-Rate
gemeint) sich nicht allzusehr von der eingegebenen Grenzfrequenz
unterscheidet. In solchen Fällen gerät der Filter in Resonanz. Probier z.B.
mal, eine Bassdrum mit Grenzfequenzen um 100 Hz rum zu filtern.
  Die Gadgets |Compr|, |Limiter| und |Expand| beeinflussen ausschließlich die
Amplitude, wobei es jedoch prinzipbedingt nicht zu Übersteuerungen kommen
kann. |Compr| bewirkt eine Verminderung des Dynamikumfanges. Laute Teile
werden abgesenkt und leise angehoben. |Expand| bewirkt genau das Gegenteil.
|Limiter| senkt die Spitzenpegel des Samples ab und hebt den Rest in der
Lautstärke an. Im Gesatz zu |Compr| werden hierbei jedoch auch die Stellen
mit mittleren Pegel angehoben.
  |Dist1| und |Dist2| sind zwei spezielle Verzerreffekte, von denen man sich
jedoch nicht allzuviel erhoffen sollte.
  Die Gadgets |Compr|, |Limiter|, |Expand|, |Dist1| und |Dist2| bieten z.Z.
keine Möglichkeit zur Beeinflussung der Wirkungsstärke. Um den Effekt zu
verstärken, muß das Gadget mehrmals hintereinander angeclickt werden. (Das
ist besonders bei |Dist2| vonnöten.)
ACHTUNG: Falls ein Range markiert ist, wird nur dieser bearbeitet. (Das gilt
auch für die Filterfunktionen.)
  Mit der |Noise|-Funktion kannst Du Dein Sample (oder den markierten Range)
verrauschen. Das ist im Normalfall nicht allzu nützlich. Maximal für
Zischeffekte könnte es zu gebrauchen sein.
  Sehr brauchbar hingegen ist die |Shorten|-Funktion, mit der es möglich ist,
Samples, die lang ausklingen, zu kürzen. Es wird dabei das Sample von hinten
her durchlaufen, bis die in dem LongInt-Gadget angegebene Amplitude zum
ersten mal erreicht oder überschritten wurden. Dann wird der Rest
abgeschnitten. Mehrmaliges anklicken bewirkt eine weitere Verkürzung.

  ------------
  Others-Panel
  ------------
  Mit der |Ch. Pitch|-Funktion kann man ein Instrumenten-Sample stimmen,
so daß bei Programmen wie MED, Oktalyzer oder Protracker, die richtigen
Noten (bzw. Tonhöhen) erzeugt werden. Dabei muß die neue Rate bzw.
Periode angegeben werden. Standardmäßig sind die Werte für A eingestellt.
  Zum Stimmen brauchst Du eine Stimmgabel ein Keyboard oder ähnliches.
Verstelle dazu die Abspielrate des Samples (mit den Gadgets unterhalb der
beiden Displays) so, daß ein A erklingt und clicke |Ch. Pitch| an - das
war's schon. Bei ordentlich gesampelten Instrumenten ist diese Prozedur
zum Glück überflüssig. Die Funktionen zum Anheben bzw. Absenken um eine
Oktave brauch ich wohl nicht näher zu erklären. Zu sagen wäre noch, daß die
|Ch. Pitch|-Funktion zur Zeit noch nicht die optimale Qualität bietet. In
einer späteren Version dieses Programms wird es hier wahlweise einen besseren
(aber leider auch langsameren) Algorithmus geben.
  Mit der Funktion |Range=Loop| kannst Du den Loop (falls einer gesetzt ist)
sichbar machen. Mit |Loop=Range| wird der markierte Bereich als  Loop
gesetzt. Falls kein Range markiert wurde, wird durch |Loop=Range| ein ev.
gesetzter Loop entfernt.
  Was beim Loopen zu beachten ist:
  - auf jeden Fall solltest Du die Rangegrenzen mit |0<-| und |->0| auf
    Nullstellen des Samples setzen
  - innerhalb des markierten Bereiches sollte die Amplitude etwa konstant
    bleiben, da der Loop sonst eiert
  - ist der markierte Range sehr kurz, klingt der Loop meist trocken und
    unnatürlich
  Es ist manchmal sehr schwer, einen ordentlich klingenden Loop zu finden.
Meistens hilft nur eins: probieren, probieren und nochmals ...
  Die Gadgets |Range->Edit| und |Edit->Range| dienen zum Freihand-Editieren
von Bereichen des Samples. Dazu solltest Du den zu editierenden Bereich
markieren und dann |Range->Edit| anclicken, was zur Folge hat, daß der Range
in das unter Display kopiert wird, wo er dann editiert werden kann. Nach dem
Editieren wird der Bereich mit |Edit->Range| in den Range zurückgeladen. Bei
dieser Funktion ist folgendes zu beachten:
  - der zu editierende Range sollte nicht größer als 418 Byte sein, denn
    sonst gehen durch das Editieren Daten verloren, was zu mehr oder weniger
    starken Verzerrungen im Sample führen kann
  - der Range im oberen Display sollte während des Editierens möglichst
    nicht verändert werden, damit der editierte Bereich mit |Edit->Range|
    wieder mit der richtigen Tonhöhe an der richtigen Stelle ins Sample
    zurückgeladen werden kann (Es steht Dir natürlich frei, den oberen Range
    trotzdem zu verändern, um gewisse Special-Effects zu erzeugen.)
  Manchereiner könnte sich jetzt fragen, wozu brauche ich dieses
Freihand-Editieren nun eigentlich? Nun zum Beispiel, wenn man ein leicht
übersteuertes Drum-Sample hat, das man trotzdem noch verwenden möchte (was
sehr häufig vorkommt). Dann brauchst Du einfach den übersteuerten Teil des
Samples ins untere Display laden und dann die abgeschnittenen Wellenformenen
etwas abzurunden. Weiterhin ist es damit möglich, Knackser aus Samples zu
entfernen (dies ist aber nicht sehr einfach, denn dazu mußt Du erst mal den
Knackser finden mußt, den Du an einem sehr steilflankigen Ausschlag erkennen
kannst). Ein weiteres Anwendungsbeispiel folgt jetzt gleich.

******************************************************************************

  Zum Schluß der Dokumentation möchte ich noch zwei etwas komplexere
Beispiele bringen:

  1. Du möchtest Dir einen einen einigermaßen gutklingenden Sound selber
     erzeugen ohne irgendwelche Samples als Ausgangsmaterial.
  ----------------------------------------------------------------------
  Dabei solltest Du Dir erst einmal über folgendes klar werden:
  - welche Amplitudehüllkurve das Sample haen soll (z.B. perkussiv oder eher
    länger ausklingend)
  - welche Klangfarbe das Sample haben soll (Die Klangfarbe wird durch die
    sog. Obertonreihe charakterisiert. Ein Trompetenklang hat z.B.
    wesentlich mehr Obertöne als ein Flötenton. Dementsprechend klingt auch
    eine Trompete viel fetter und aufdringlicher als eine Flöte, die ruhig
    und bescheiden dahinsäuselt. Dabei gilt: je steilflankiger die Wellen-
    form, desto Obertonreicher der Klang. Die Wellenform eines Flötenklangs
    ähnelt daher stark einer Dreieckswelle, während die einer Trompete schon
    mehr sägezahnförmig aussieht.)

  Sagen wir mal, du willst Dir einen eher obertonarmen Klang erzeugen.
  - Male eine Periode der Wellenform im unteren Display (nicht sehr
    steilflankig)
  - Diese Grundwellenform eventuell mit den Gadgets links vom untern Display
    absaven
  - Markiere das gesamte Display als Range
  - Vervielfältige mit der |Multi|-Funktion (Range-Panel)
  - Falls ein Sample geladen ist, lösche dieses
  - Schaffe mit der Append-Funktion (Range-Panel) freien Raum für ein
    Sample (z.B. 5000 Bytes)
  - Setze die Abspielrate (unterer Bildschirmrand) z.B. auf 8000
  - markiere etwa die ersten 500 Bytes im oberen Display
  - Clicke |Edit->Range| an

  Jetzt kannst du schon mal Probehören. Dabei wirst Du natürlich feststellen,
daß das Sample noch arg kurz ist. Also nutzen wir z.B. die |Echo1|-Funktion,
um das Sample (eigentlich kann man ja gar nicht Sample nennen) künstlich zu
verlängern.
  - Clicke |-1-|, POINT-Mode
  - Lösche das untere Display
  - markiere den bisher belegten Bereich des Samples (logischerweise im
    oberen Display)
  - zeichne viele Balken mit etwa 20% der Gesamthöhe des unteren Displays
  - Clicke |Echo1|

  So, nun ist's schon fast vollbracht. Jetzt noch ein bischen
Amplituden-Modulation und dann die Einschwingphase noch ein wenig
Freihand-Editiern - dann könnte es schon ganz passabel klingen.
  Hierbei sollte Dir natürlich klar sein, daß schon eine geringe Änderung
der Ur-Wellenform oder auch eine Änderung des Balkendiagramms gewaltige
Auswirkungen auf den Endklang haben können. Aber meistens klingt solch ein
lünstlich erzeugtes Instrument trotzdem nicht so gut wie ein echtes Sample.
Oft wirkt der Klang etwas starr und erinnert stark an den C64-Sound.

  2. Du willst die aus einem einfachen Akkordsample einen Moll-Akkordklang
     zusammenbasteln (was wegen der sehr beschränkten Stimmenanzahl des Amigas
     sehr oft notwendig ist) (Die hier gezeigte Arbeitsweise ist seit der
     Integration des Mixers ins Modulation-Panel veraltet - siehe Beispiel 3!)
  --------------------------------------------------------------------------
  Zuersteinmal solltest Du natürlich das Sample laden und Dich überzeugen,
ob es richtig gestimmt ist (wovon mann im Normalfall ausgehen kann).
  - Abspielrate (unterer BS-Rand) auf C-4 stellen
  - Sample in Zwischenspeicher 1 ablegen
  - Abspielrate auf Eb4 stellen (kleine Terz)
  - Others-Panel aktivieren
  - Zielrate auf C-4 stellen
  - |Ch. Pitch| anclicken
  - Ergebnis mit der |Amp|-Funktion (Range-Panel) auf 30-40 % der
    ursprünglichen Lautstärke reduieren
  - ablegen im ZS 2
  - ZS 1 laden
  - Abspielrate auf G-4 stellen (Quinte)
  - |Ch. Pitch|
  - Lautstärke reduzieren
  - ablegen in ZS 3
  - ZS 1 laden
  - Lautstärke auf 30-40% reduzieren
  - |S<->B| aus Range-Panel clicken (Sample und Copy-Buffer werden
    vertauscht)
  - ZS 2 laden
  - |Add| aus Range-Panel clicken
  - |S<->B|
  - ZS 3 laden
  - |Add|

  3. Mit dem Mixer geht das ganze natürlich viel einfacher:
  ---------------------------------------------------------
  - Abspielrate auf C-4
  - Sample -> ZS1
  - Abspielrate auf Eb4
  - ins Others-Panel
  - Zielrate auf C-4
  - |Ch. Pitch|
  - Sample -> ZS2
  - ZS1 laden
  - Abspielrate auf G-4
  - |Ch. Pitch|
  - Sample -> ZS3
  - ins Modulation-Panel
  - Lautstärkenverhältnis der ersten drei ZS einstellen
  - |MIX| (nicht zu verwechseln mit |Mix| aus dem Range-Panel)

...und fertig ist der Mollakkord. Hier kannst Du natürlich auch mehr oder
der weniger Töne zu einem Akkord zusammenmischen. Auch verschiedene
Insrumente und unterschiedliche Einzellautstärken sind natürlich denkbar.
Hierzu noch ein kleiner Tip: Bei der |Add|- und auch bei der |Mix|-Funktion
(hier ist das |Mix aus dem Range-Panel gemeint) wird, sobald im oberen Display
ein Range markiert wurde, nur in den Range hineingemixt. Damit kannst Du die
Akkordtöne auch leicht zueinander versetzen, um z.B. in Durchschlagen der
Saiten bei der Gitarre zu simulieren.

  Das war's nun schon mit der Dokumentation. Ich hoffe, Du kommst mit meinem
Programm zurecht. Ok, ich weiß, das klingt möglicherweise alles ziemlich
kompliziert. Oft hilft probieren weiter, wenn man mal was nicht gleich
ganz kapiert.

  Falls Du die unregistrierte Version SOUNDEffect benutzt, wirst Du früher
oder später merken, das Samples, die länger als 10000 Bytes sind, nicht
dargestellt werden. Ich sehe mich zu dieser "Verkrüppelung" des Programms
gezwungen, um durch die Share-Einnahmen wenigstens einen angemessenen Lohn
für das Schreiben der Dokumentation zu erhalten. Das Programm hätte ich auch
für mich allein gemacht, nicht aber die Dokumentation. Und die
Share-Gebühr ist mit 15 bzw. 20 DM inkl. freiem Update ja auch wohl
auch ziemlich preiswert. Sharezahlern schicke ich unverzüglich eine
geupdatete Voll-Version zu.

  Die Version 2.0 ist wahrscheinlich gegen Ende Januar '93 fertig und wird
neben einer neuen Benutzeroberfläche SOUNDEffect die Stereophonie bringen.

****************************************************************************

  Bekannte Bugs:
  --------------
  Einige Bugs aus früheren Versionen hab ich mittlerweile rausgenommen, aber
natürlich habe ich mir inzwischen wieder ein paar Neue einfallen lassen:
  - mitunter kann es passieren, daß sich das Programm beim Verlassen nicht
    ganz von seinem Speicher trennt (es fehlen 1 - 2 KByte). Dieser Fehler
    trat allerdings bei meinen letzten Tests seltsamerweise nicht mehr auf.
    (...ach wie schade)
  - beim allzu wüsten Rumklicken mit beiden Maustasten kann es im oberen
    Display passieren, daß mal ein Strich von einem Range stehenbleibt. Dies
    tritt aber nur sehr selten auf, und außerdem hat die linke Maustaste im
    oberen Display keine Funktion.


*****************************************************************************

  Zukunftsmusik:
  --------------
  Was werden die nächsten Versionen von SOUNDEffect bringen?
  - neue Benutzeroberfläche
  - Stereo
  - Namens- und Loopspeicherung bei Disk-ZS (wird bisher nur im RAM
    gespeichert)
  - Vektorsynthese (Mischung, bei der sich die Einzellautstärken zeitlich
    verändern)
  - Spectrum-Analyzer / Equalizer
  - ARexx-Support und ev. eigene integrierte Kommandosprache (somit auch
    für 1.3-User nutzbar)
  - Synthesefunktionen
  - Vereinfachungen für Vibrato und Tremollo

*****************************************************************************

  Zum Schluß noch ein bißchen Werbung (nein, nein, nicht ausschalten!)...

  Falls Du jetzt vor dem Problem stehst: Du hast ein tolles Tracker-Programm
(z.B. MED), und Du hast ein geniales (naja) Sampleverbiegungsprogramm, aber
 was Dir zum vollen Glück noch fehlt, sind die Samples - auch da kann ich Dir
helfen:
  Und zwar mit  *Sound_Lib*  - DER ULTIMATIVEN SAMPLELIBRARY!!!!!!!!!

  ...Na ja, ich geb ja zu, "ultimativ" ist noch etwas übertrieben, da die
Sound_Lib mit ihren 10 Disks, die im Schnitt zu 60% voll sind, im
Vergleich zu einer Serie wie Sacrilege etwas nunja äähhm also ich meine ...
(hüstel, hüstel)
  Aber auch gilt der alte Grundsatz: KLEIN ABER FEIN, denn
      - Sound_Lib ist differenzierter sortiert
      - Sound_Lib wird ständig erweitert
      - jedes Sample ist kurz dokumentiert
      - Sound_Lib wird mit dem Sampleauswahlprogramm SampleFinder
        ausgeliefert bei dem die Samplenamen zusammen mit dem
        Dokumentationstext angezeigt werden und durch Anclicken
        abgespielt werden können
      - Sound_Lib ist überschaubar (iss ja logisch wenn se nich so groß iss,
        aber 20 Bass-Drums müßten doch für den Hausgebrauch auch erst mal
        reichen, oder ?)

  Die Sound_Lib kostet incl. der 10 Disks und den Versandkosten 30 DM.
Meine Adresse hab ich oben schon mal geschrieben.

*****************************************************************************

  So das war's jetzt endgültig. Ich hoffe, Du kannst mit meinem Programm
was anfangen!

        Mach's gut!                                 Sven


