Digital Signal Processing Reference
In-Depth Information
Der Zusammenhang zwischen den Noten und der physikalischen Signaldarstellung, d. h. die
Frequenzlage, erschließt sich aus den in der Musik bekannten Beziehungen
der Kammerton (Normalton, Stimmton)
a
1
entspricht einem Sinuston mit 440 Hz
eine Oktave, z. B. der Übergang von
a
1
zu
a
2
, umfasst eine Frequenzverdopplung, d. h.
a
2
entspricht 880 Hz
in einer Oktave gibt es 12 Halbtonschritte
Daraus folgt die Frequenzzuordnung der C-Dur-Tonleiter in Tabelle 2-2.
Tabelle 2-2
Frequenzen der C-Dur-Tonleiter bezogen auf 440 Hz
c
2
c
1
d
1
e
1
f
1
g
1
a
1
h
1
Note
Frequenzfaktor
rel. zu
a
1
2
+2/12
+3/12
2
9/12
2
7/12
2
5/12
2
4/12
2
2/12
1
Mit den Festlegungen kann nun, wie im Programmbeispiel 2-2, jeder Note ein Sinuston mit
entsprechender Frequenz und Dauer zugeordnet werden.
Hinweise:
(i) Im Englischen wird für die deutsche Note
h
der Buchstabe
b
verwendet und die
Tonhöhe pitch genannt. Durch das Vorzeichen # auf der 5. Linie von unten wird der Ton
f
um
einen Halbton zum
fis
erhöht. (ii) Beispielsweise ergibt sich die Frequenz für den Ton
d
2
aus
Tabelle 2-2 zu 4402
+5/12
Hz.
Das im Programmbeispiel 2-2 erzeugte
Audiosignal klingt unnatürlich, da es nur
aus jeweils ein- und ausgeschalteten
Sinustönen besteht. Ein besserer Hörein-
druck lässt sich mit einer Hüllkurven-
bewertung erzielen. In der Audiotechnik
wird hierfür oft das
ADSR-Profil
in Bild
2-6 verwendet [StBr96]. Es besteht aus
vier Geradenstücken, die die vier Phasen
Attack (A), Delay (D), Sustain (S) und
Release (R) repräsentieren.
Das Programmbeispiel 2-3 stellt eine mö-
gliche Realisierung der ADSR-Hüllkur-
venbewertung für jeweils einen Ton dar.
E
(
t
)
E
A
= 1
E
D
E
S
D
A
S
R
t
t
S
t
R
t
A
t
D
Bild 2-6
ADSR-Profil
Programmbeispiel 2-2
Audiosignal „Prélude“
% audio signal prelude by Marc-Antoine Charpentier (1634-1704)
% dsplab2_3.m * mw * 03/16/2008
A = 440;
%
pitch in Hz
Dh = A*2^(5/12);
%
high
C = A*2^(3/12); B = A*2^(2/12); G = A*2^(-2/12);
Fis = A*2^(-3/12); E = A*2^(-5/12); D = A*2^(-7/12);
pitch = [D G G A B G Dh B B C Dh C B C Dh A G A B A];
duration = [2 2 1 1 2 2 4 3 1 2 1 1 1 1 2 1 1 1 1 2];