Betrifft ADSR, wie berechnet sich die Länge des Release?

R
Reaperman
Registrierter Benutzer
Zuletzt hier
30.05.25
Registriert
28.05.25
Beiträge
11
Kekse
0
Für mein Projekt Soundeditor / Soundplayer stellt sich mir die Frage der Dauer von Release. Da die verwendete Hardware keinen eingebaute ADSR Unterstützung für die 3 getrennten Voices hat (Chip MOS 6561), muss ich mir so etwas selbst basteln.

Attack und Decay fallen aus, beim Release kann ich etwas steuern (Frequenz der Note EIN oder AUS), dazwischen gibt es nichts.

Im Bild sieht man oben eine 1/4 Note (E5), gefolgt von zwei 1/8 Noten (H4 / C5); unten insgesamt 4 1/8 Noten (E2 / E4 / E2 /E4).

Wie könnte man das Release bei einer 1/4 Note (t= 0,25 sec) veranschlagen; und wie bei einer 1/8 Note (t=0,125 sec)?

Immer auf eine ganze Note (1 Takt) bezogen oder individuell (je nachdem ob 1/8 oder 1/4 oder 3/8)?
 

Anhänge

  • Berechnung Release.jpg
    Berechnung Release.jpg
    27,5 KB · Aufrufe: 20
Du müßtest mal genauer erklären, was Du eigentlich vorhast. Unter einem Soundeditor verstehe ich so etwas wie Audacity, unter einem Soundplayer so etwas wie VLC. Bei beiden braucht man keine Hüllkurve mit ADSR. ADSR braucht man bei Synthesizern. Willst Du einen Synthesizer programmieren?

Aus Deiner Grafik werde ich auch nicht wirklich schlau. Den Rechteckkurven zufolge hast Du gar kein ADSR, sondern nur ein Note on / Note off. Release ist ja die Zeit, in der ein Ton abklingt. Der Ton auf Deiner Grafik klingt aber gar nicht ab, sondern ist sofort aus (senkrechter Strich nach unten), also Release = 0. :nix:

Viele Grüße,
McCoy

Edit:
Für neu hereingeschneite: Link zum anderen Thread.
 
Genau. Der Chip kann kein Release, nur Ton oder Nicht-Ton.

Die Lautstärke bleibt immer gleich, aber ich kann den Ton ein wenig früher enden lassen (Stimme 1), während Stimme 2 weiterläuft.

Der Chip hat nur Rechteck, leider. Ich habe manuell Pausen programmiert (1/60 Sekunde), aber ich weiß nicht annähernd ob so etwas "richtig" ist.

(von der Dauer). Gemessen mit Lineal ca. 1/20 Taktdauer.
 
Die Lautstärke bleibt immer gleich, aber ich kann den Ton ein wenig früher enden lassen (Stimme 1),
Dann gibt es auch keinen Release. Dann kannst Du nur die Dauer des Tones programmieren. Release heißt: Der Ton wird nach loslassen der Taste (oder was auch immer) allmählich leiser. Wie lange das Release dauert, ist dann einstellbar. Bei Dir ist der Ton aber direkt aus. Das heißt: Release ist bei Dir immer Null und nicht veränderbar.

In welcher Sprache programmierst Du? Python?

Viele Grüße,
McCoy
 
Ich kann einen richtigen Release nur programmieren wenn ich nur 1 Stimme habe (der Chip hat 3 unterschiedliche Generatoren (5 Oktaven werden in etwa abgedeckt)).
Die Lautstärke ist bei allen Stimmen gleich hoch oder niedrig, d.h. wenn Stimme 1 eine ganze Note spielt und Stimme 2 nur eine halbe, würde ein "richtiges" release die ganze Note in zwei halbe verwandeln.

Aber ich kann bei jeder Stimme (voice 1 bis 3) den Generator ausschalten (für die Dauer der Pause).

Darum brauche ich in etwa die Zeit des Release.
Gibt es da keine Tabellen?

Ich programmiere in Assembler für den 6502. Direkt an der Hardware.

Da fällt mir ein:

sustain: ist z.B. die Note "C", genauer gesagt ein C4 (c').
release: anstatt über die Lautstärke wird über die Töne simuliert. In Abfolge C3, C2, C1, Stille.

sustain release
C4 -----------C3 C2 C1

Würde das in etwa einem release entsprechen?
 
Darum brauche ich in etwa die Zeit des Release.
Gibt es da keine Tabellen?
Sorry, ich kann Dir einfach nicht folgen.

Beim Synthesizer ist die Release-Zeit da, was Du hier in dieser Grafik bei R siehst:
1748544558343.png

Wikipedia schrieb:

Release​

[Bearbeiten | Quelltext bearbeiten]
Sobald die Taste losgelassen wird, beginnt die Release-Phase – Das kann auch schon während der Attack- oder Decay-Phase geschehen („AR-“ oder „ADR“-Verlauf). In der Release-Phase sinkt die Spannung vom gegenwärtigen Pegel auf Null ab. Der Release-Parameter (Dauer oder Steilheit) legt fest, wie lange dieser Vorgang dauert.
Quelle: https://de.wikipedia.org/wiki/ADSR

Nach dem Zeitpunkt, der durch die schwarze Linie zwischen S und R markiert ist, wird der Ton über einen gewissen Zeitraum hinweg immer leiser, bis er weg ist. Diesen Zeitraum kann man mit der Releasezeit einstellen. Dafür braucht man keine Tabellen, sondern das macht man nach Gehör, so wie man das für den gerade programmierten Sound für gut befindet. Solche Tabellen gibt es meines Wissens auch gar nicht. Bei Dir ist dieser Zeitraum aber Null, das heißt, der Ton ist sofort zuende, und Du kannst da auch nichts einstellen.

Oder Du verstehst unter Release etwas völlig anderes als ich, und ich irre mich. Dann schick mal einen Link zu einer wasserfesten Definition.

Viele Grüße,
McCoy
 
ok, ich habe den Begriff Release wohl falsch genannt.

Es geht darum, dass die Zeit zwischen 2 Tönen eine Pausezeit hat. In der Realität beim Tastenwechsel.

Kann man die nicht bestimmen?

Beim Bild sieht man beispielsweise, dass in der Folge A A eine kleine Pause ist. Kann man die bestimmen?
 

Anhänge

  • tetris Tonfolgen.PNG
    tetris Tonfolgen.PNG
    56,8 KB · Aufrufe: 4
Ja, da mußt Du halt bestimmen, wie lang der Ton dauern soll, und wann der nächste beginnt. Dann entsteht dazwischen logischerweise eine Pause. Also z.B.: Ton 1 beginnt bei Sekunde 10 und dauert 1/2 Sekunde. Ton 2 beginnt bei Sekunde 11. Dann hat man dazwischen 1/2 Sekunde Pause.

Wie man das in Assembler macht, davon habe ich allerdings keine Ahnung.

Viele Grüße,
McCoy
 
Das zu programmieren ist das kleinere Problem.

Ich war der Meinung, dass diese Pause bestimmbar ist.

Wie beim ADSR.
I
 
Das Aufeinanderfolgen der Töne richtet sich nach den Notenwerten, diese "reservieren" sozusagen den Platzbedarf der Noten im Takt. Mit dem Klang der Noten ist es etwas komplizierter.
Ein Ton kann auch deutlich kürzer klingen, als es seinem Notenwert entspricht. Man beschreibt das mit den Begriffen für die Artikulation. Etwas vereinfacht ausgedrückt entspricht die Länge der Töne ihrem Notenwert. Folgen sie dabei "nahtlos" aufeinander, dann spricht man von legato. Klingen die Noten aber kürzer, als es dem Notenwert entspricht, dann nennt man das staccato. Es gibt natürlich noch differenziertete Anweisungen für Artikulation.
Das Problem für dich ist vermutlich, dass sehr einfache alte Sound-Chips das natürliche Klangverhalten der Töne von akustischen Instrumenten nicht gut nachbilden konnten.

Um auf deine "Lücke" zu kommen, die ergibt sich aus der verbleibenden Dauer, wenn der erste Ton beendet wurde bzw. verklungen ist und der zweite Ton noch nicht begonnen hat. Man kann sich das am besten mit einem MIDI-Sequencer anschauen, der einen "Piano Roll Editor" mitbringt. Jedenfalls können Töne aufgrund von Anweisungen zur Artikulation oder eines musikalischen Stils wie z.B."Swing" deutlich anders klingen, als man es auf den ersten Blick anhand der Noten vielleicht denken mag.
Piano Roll.jpg



Gru0 Claus
 
Ich war der Meinung, dass diese Pause bestimmbar ist.
Ja, das ist natürlich bestimmbar.

ABER: Derjenige, der das bestimmt, ist der ausführende Musiker. Er bestimmt das nach Erfahrung, nach Gefühl, nach Gehör etc. Regeln, wie das ausgeführt werden muß, gibt es nicht. Man lernt das, indem das direkt von Musiker zu Musiker weitergegeben wird, z.B. im Instrumentalunterricht.

Ich nehme mal ein Beispiel:
Das zweite Thema im 1. Satz der Bb-Dur Klaviersonate von Mozart (KV 281) fängt mit sechs aufeinander folgenden Sechszehntelnoten c''' an, von denen die ersten fünf Staccato ausgeführt werden sollen (Kennzeichen: Punkt über der Note). Dieses Motiv wird dann zwei Takte später nochmal wiederholt.

1748570500679.png


Rein rechnerisch und gemäß der Notation müßte man diese fünf aufeinanderfolgenden Staccatonoten alle gleich kurz spielen.

Aber: Ich habe diese Sonate gerade mit einem Schüler erarbeitet (der sie heute auf einem Wettbewerb spielt), und wir sind darauf gekommen, daß jede dieser Staccato-Noten ein kleines bisschen länger gespielt gespielt werden soll, als ihre vorangehende Note. Also die erste ganz kurz und spitz, die zweite minimal länger, aber immer noch kurz, die dritte noch etwas länger, die vierte und fünfte fast schon legato. D.h., daß die Pause zwischen den Noten immer ein kleines bisschen kürzer wird.

Die Gründe, warum wir das so beschlossen haben, sind rein künstlerischer Natur. Dafür gibt es keine Regeln. Das entscheidet der ausübende Künstler, und der erfahrene Musiker kann diese Erfahrungswerte im Unterricht an seinen weniger erfahrenen Schüler weitergeben. Ein anderer Musiker würde es vielleicht völlig anders machen, vielleicht genau umgekehrt. Da gibt es kein richtig oder falsch. Richtig ist es genau dann, wenn es gut klingt. Ob es gut klingt oder nicht, entscheiden der ausübende Musiker und der Zuhörer selbst. Ein Regelwerk mit Formeln gibt es dafür nicht, nur Erfahrungswerte. Man nennt das Interpretation.

Computerprogramme können genau das nicht. Der Programmierer muß also eine Entscheidung treffen, wie das im Detail jeweils ausgeführt werden soll.

Viele Grüße,
McCoy
 

Unser weiteres Online-Angebot:
Bassic.de · Deejayforum.de · Sequencer.de · Clavio.de · Guitarworld.de · Recording.de

Musiker-Board Logo
Zurück
Oben