- Aantal_reflecties = 8.
- De afstand tussen twee reflecterende randen is 1,4 meter.
- De afstand die het geluid aflegt vanaf het centrum tot aan de eerste reflecterende rand en weer terug is 2 * 1,4 = 2,8 meter. Als de geluidssnelheid 340 m per seconde is dan bedraagt de reflectietijd, uitgedrukt in Ts:
(2,8 / 340) * Fs =
(2,8 / 340) * 44100 = 363 Ts sec. Dus
EersteReflectie = 363.
-
reflectietijd muur 1 = EersteReflectie = 363 Ts sec.
reflectietijd muur 2 = 2 * EersteReflectie = 726 Ts sec.
reflectietijd muur 3 = 3 * EersteReflectie = 1089 Ts sec.
reflectietijd muur 4 = 4 * EersteReflectie = 1452 Ts sec.
reflectietijd muur 5 = 5 * EersteReflectie = 1815 Ts sec.
reflectietijd muur 6 = 6 * EersteReflectie = 2178 Ts sec.
reflectietijd muur 7 = 7 * EersteReflectie = 2541 Ts sec.
reflectietijd muur 8 = 8 * EersteReflectie = 2904 Ts sec.
- Tk = k * EersteReflectie.
- SignaalLengte = 552193.
- Met Fig. 29 stemt overeen de "mix-methode". Dat is tevens de methode die van toepassing is.
- "Bijmixen" van directe geluid (S1) bij de "stilte" op S3:
Declareer SignaalLengte; EersteReflectie
EersteReflectie = 363
SignaalLengte = 552193
Wis buffers
Wis buffer (F1...F32, S1, S2, S3) S3
Bewerk signaal ! direct geluid bijmixen bij stilte
n0 0
n1 SignaalLengte-1
Bewerking S3[n] = S3[n] + S1[n]
-
Eerste reflectie erbij:
Declareer SignaalLengte; EersteReflectie; V
EersteReflectie = 363
SignaalLengte = 552193
V = 0,2
EersteReflectie = 363
SignaalLengte = 552193
Wis buffers
Wis buffer (F1...F32, S1, S2, S3) S3
Bewerk signaal ! direct geluid bijmixen bij stilte
n0 0
n1 SignaalLengte-1
Bewerking S3[n] = S3[n] + S1[n]
Bewerk signaal ! eerste reflectie
n0 0
n1 SignaalLengte-1
Bewerking S3[n+EersteReflectie] = S3[n+EersteReflectie] + V*S1[n]
N.B. Er zijn meerdere mogelijkheden voor de formulering van een reflectie. Je kunt ook schrijven:
Bewerk signaal ! alternatieve formulering van reflectie
n0 EersteReflectie
n1 EersteReflectie + SignaalLengte-1
Bewerking S3[n] = S3[n] + V*S1[n-EersteReflectie]
Deze formulering is misschien ietsje minder doorzichtig, maar wel sneller, omdat nu de index van S3 niet onnodig twee keer berekend wordt, zoals in de eerste versie!
-
Alle reflecties:
Declareer SignaalLengte; EersteReflectie; V
EersteReflectie = 363
SignaalLengte = 552193
V = 0,2
Wis buffers
Wis buffer (F1...F32, S1, S2, S3) S3
Bewerk signaal ! direct geluid bijmixen bij stilte
n0 0
n1 SignaalLengte-1
Bewerking S3[n] = S3[n] + S1[n]
Bewerk signaal ! eerste reflectie
n0 0
n1 SignaalLengte-1
Bewerking S3[n+EersteReflectie] = S3[n+EersteReflectie] + V*S1[n]
Bewerk signaal ! 2de reflectie
n0 0
n1 SignaalLengte-1
Bewerking S3[n+2*EersteReflectie] = S3[n+2*EersteReflectie] + V*S1[n]
Bewerk signaal ! 3de reflectie
n0 0
n1 SignaalLengte-1
Bewerking S3[n+3*EersteReflectie] = S3[n+3*EersteReflectie] + V*S1[n]
Bewerk signaal ! 4de reflectie
n0 0
n1 SignaalLengte-1
Bewerking S3[n+4*EersteReflectie] = S3[n+4*EersteReflectie] + V*S1[n]
Bewerk signaal ! 5de reflectie
n0 0
n1 SignaalLengte-1
Bewerking S3[n+5*EersteReflectie] = S3[n+5*EersteReflectie] + V*S1[n]
Bewerk signaal ! 6de reflectie
n0 0
n1 SignaalLengte-1
Bewerking S3[n+6*EersteReflectie] = S3[n+6*EersteReflectie] + V*S1[n]
Bewerk signaal ! 7de reflectie
n0 0
n1 SignaalLengte-1
Bewerking S3[n+7*EersteReflectie] = S3[n+7*EersteReflectie] + V*S1[n]
Bewerk signaal ! 8ste reflectie
n0 0
n1 SignaalLengte-1
Bewerking S3[n+8*EersteReflectie] = S3[n+8*EersteReflectie] + V*S1[n]
- Het Waterlabyrint-effect kort genoteerd met de FOR...TO...NEXT-instructie:
Declareer Aantal_reflecties; V; EersteReflectie; T; SignaalLengte
Aantal_reflecties = 8
EersteReflectie = 363
SignaalLengte = 552193
V = 0,2
Wis buffers
Wis buffer (F1...F32, S1, S2, S3) S3
Bewerk signaal ! Het directe geluid
n0 0
n1 SignaalLengte-1
Bewerking S3[n] = S3[n] + S1[n] ! directe geluid wordt niet verzwakt (hier is V = 1)
FOR k = 1 TO Aantal_reflecties
T = k * EersteReflectie
Bewerk signaal
n0 0
n1 SignaalLengte-1
Bewerking S3[T+n] = S3[T+n] + V * S1[n]
NEXT k