clc
%('Einlesen von Daten aus einem WAV-File');
datei=input('Welches Wav-File (ohne .wav) soll eingelesen werden? ','s');
%Einlesen im WAV-Format wavedata enthält die Audiodaten, Fs die Abtastfrequenz
[wavedata,Fs]=wavread(datei);
%Darstellung der Original-WAVE Datei
samplingrate=Fs
plot(wavedata),grid,title('Eingelesene Wav-Daten');
%('weiter ==> beliebige Taste');
pause
close
faktor=10^(-3/20); %Faktor für -3dB
Faktor = faktor %gibt Faktor aus
linfaktor=faktor/0.52; %Linearerfaktor = Faktor / Maximalwert(abgelesen: 0,52);
Linfaktor = linfaktor %gibt Linfaktor aus
output = wavedata*linfaktor; %Multiplikation für Ergebnis
%Darstellung der Bearbeiteten-WAVE Datei
plot(output),grid,title('WAVE-Datei -3dB');
%('Abspeichern von WAV-File');
outstringname=input('Wie soll das Wav-File heissen (ohne .wav) ? ','s');
%Speichern als wav-File unter dem Namen in String outstringname
% Audiodaten im Vektor output
samplingrate=8000
bitprosample=16
wavwrite(output,samplingrate,bitprosample,outstringname)
%Anmerkung: wenn direkt der Filename hallo genutzt werden soll:
%wavwrite(y,samplingrate,16,'hallo')
%
%('weiter ==> beliebige Taste');
pause
close
ANTWORTEN
1) Welchem linearen Wert entspricht -3dBFS, wenn die Daten auf den Bereich zwischen +1 und -1 skaliert sind? 0.7 (geht nicht, ich warte auf flos antwort)
2) Welchen maximalen linearen Aussteuerungswert finden Sie in der Testdatei? 0.52
3) Mit welchem Faktor müssen Sie die Daten multiplizieren, damit die maximale Aussteuerung -3dBFS beträgt? 1.34
4) Warum sollte man den Skalierungsfaktor, mit dem die Daten multilpiziert werden, vor der Multiplikation in einer Variablen speichern?
Weil die Berechnung danach schneller geht