Zurück zum Artikel
Aufnahme und Wiedergabe
Notizbuch herunterladen

Aufnahme und Wiedergabe

Overlay + Biblioteken + Funktionen

Das Overlay mit alle dazugehörigen Biblioteken und Funktionen und Treiber werden geladen.

In [1]:
# Overlay und Funktionen für Aufnahme und Filterung
from my_Overlay_v2 import*
# Um Audio im Notebook darstellen zu können
from IPython.display import Audio as IPAudio

initial-Aufnahme

In [2]:
# Einstellen eingang: LineIn
pAudio.select_line_in()
In [3]:
# Einstellen eingang: HP/MIC
pAudio.select_microphone()
In [3]:
# Aufnahme bereich von (0,60], per Codec-Treiber begrentzt. Empfolen sind 30 sec
recTime = 30
pAudio.record(recTime)
# in pAudio.buffer werden die aufnahmen gespreichert
print(pAudio.buffer, type(pAudio.buffer))
[16777003 16776974       27 ... 16343077 16604841 16466374] <class 'numpy.ndarray'>
In [4]:
# Ausgangslautstärke Wählen
pAudio.set_volume(30)
In [5]:
# Buffer ausspielen über HP
pAudio.play()
In [6]:
# speichert den Inhalt des Buffers als .wav
pAudio.save("record_file.wav")
In [7]:
# Darstellen der .wav im Notebook
IPAudio("record_file.wav")

Filter

Bislang stehen folgene Filter zur Verfügung: - dmaHP Butterworth Hochpass 4.Ordnung mit Fc 2500Hz - dmaTP Butterworth Tiefpass 4.Ordnung mit Fc 1000Hz

Diese lassen sich über die UseFilter(“record_file.wav”, “output_file.wav”,dmaTP) auswählen.

In [8]:
UseFilter("record_file.wav", "TP_out_file.wav",dmaTP)
Frames: 1440000 Channels: 2 Sample Rate: 48000 Sample Width 3
Start Sending left Channel
6 Transmissions
Start Sending right Channel
6 Transmissions
Finished
Dauer: 8.46 Sekunden
In [9]:
# Läd .wav in den Buffer
pAudio.load("TP_out_file.wav")
# Buffer ausspielen über HP
pAudio.play()
In [10]:
# Darstellen der .wav im Notebook
IPAudio("TP_out_file.wav")
In [11]:
UseFilter("record_file.wav", "HP_out_file.wav",dmaHP)
Frames: 1440000 Channels: 2 Sample Rate: 48000 Sample Width 3
Start Sending left Channel
6 Transmissions
Start Sending right Channel
6 Transmissions
Finished
Dauer: 8.60 Sekunden
In [12]:
# Läd .wav in den Buffer
pAudio.load("HP_out_file.wav")
# Buffer ausspielen über HP
pAudio.play()
In [13]:
# Darstellen der .wav im Notebook
IPAudio("HP_out_file.wav")

Darstellung

In [23]:
# Einlesen der originalen Aufnahme
[frames, num_frames, channels, Fs, Fw] = read_wav("record_file.wav")

# Plott der Audio in Zeitdomäne (erste 10 Sekunden)
# samples_10s = int(Fs*10)
# frames_10s = frames[:samples_10s, :]
# plot_audio(frames_10s, samples_10s, channels, Fs)

plot_audio(frames, num_frames, channels, Fs)

# Plott des Spektrums
plot_simple_spectrum(frames, Fs)
Frames: 1440000 Channels: 2 Sample Rate: 48000 Sample Width 3

In [24]:
# Einlesen der TP-Filter Aufnahme
[frames, num_frames, channels, Fs, Fw] = read_wav("TP_out_file.wav")

# Plott der Audio in Zeitdomäne (erste 10 Sekunden)
samples_10s = int(Fs*10)
frames_10s = frames[:samples_10s, :]
plot_audio(frames_10s, samples_10s, channels, Fs)

# Plott des Spektrums
plot_simple_spectrum(frames, Fs, channel=0)
Frames: 1440000 Channels: 2 Sample Rate: 48000 Sample Width 3

In [25]:
# Einlesen der HP-Filter Aufnahme
[frames, num_frames, channels, Fs, Fw] = read_wav("HP_out_file.wav")

# Plott der Audio in Zeitdomäne (erste 10 Sekunden)
samples_10s = int(Fs*10)
frames_10s = frames[:samples_10s, :]
plot_audio(frames_10s, samples_10s, channels, Fs)

# Plott des Spektrums
plot_simple_spectrum(frames, Fs, channel=0)
Frames: 1440000 Channels: 2 Sample Rate: 48000 Sample Width 3