deutsch     english     français     Drucken

Dokumentation Sound


Sound
Befehl Aktion
playTone(freq) spielt Ton mit geg. Frequenz (in Hz) und Dauer 1000 ms (blockierende Funktion)
playTone(freq, block = False) dasselbe, aber nicht-blockierende Funktion (um mehrere Töne fast gleichzeitig abzuspielen)
playTone(freq, duration) spielt Ton mit geg. Frequenz und geg. Dauer (in ms)
playTone([f1, f2, ...]) spielt hintereinander mehrere Töne mit geg. Frequenzen und Dauer 1000 ms
playTone([(f1, d1), (f2, d2), ...])
spielt hintereinander mehrere Töne mit geg. Frequenzen und geg. Dauer
playTone([("c", 700), ("e", 1500), ...])
spielt hintereinander mehrere Töne mit geg. Tonbezeichnungen und geg. Dauer. Erlaubt sind: Grosse Oktave, ein-, zwei- und dreigetrichene Oktave, also der Bereich von C, C#,..., h'''
playTone([("c", 700), ("e", 1500), ...], instrument = "piano")
wie vorher, aber mit gewähltem Instrument (piano, guitar, harp, trumpet, xylophone, organ, violin, panflute, bird, seashore, ... (gemäss MIDI-Spezifikation)
playTone([("c", 700), ("e", 1500), ...], instrument = "piano", volume = 10)
wie vorher, aber mit gewählter Lautstärke (0..100)

Module import: from soundsystem import *

Wiedergabe
Befehl Aktion
getWavMono(filename)

liefert Liste der Abtastwerte der angegeben monauralen Sounddatei. Angabe "wav/xxx.wav" lädt auch vom _wav-Verzeichnis in tigerjython2.jar

getWavStereo(filename) liefert Liste der Abtastwerte der angegeben binauralen Sounddatei. Angabe "wav/xxx.wav" lädt auch vom _wav-Verzeichnis in tigerjython2.jar
getWavInfo(file) liefert String mit Information über Abtastrate, usw.
openSoundPlayer(filename) öffnet einen Soundplayer mit der angegebenen Sounddatei. Nachher kann sie mit den folgenden Player-Funktionen abgespielt werden
openSoundPlayer(buffer) wie oben, aber lädt die Soundsamples in WAV-Format von einem Bytearray (Typ array.array)
openMonoPlayer(filename) öffnet einen monauralen Soundplayer mit der angegeben Datei. Es kann sich auch um eine binaurale Datei handeln (Mittelwert aus beiden Kanälen)
openStereoPlayer(filename) öffnet einen binauralen Soundplayer mit der angegeben Datei. Es kann sich auch um eine monaurale Datei handeln (beide Kanäle identisch)
openSoundPlayerMP3(filename) wie openSoundPlayer(), aber für MP3-Datei
openMonoPlayerMP3(filename) wie openMonotPlayer(), aber für MP3-Datei
openStereoPlayerMP3(filename) wie openStereoPlayer(), aber für MP3-Datei
play() spielt Sound von der aktuellen Position an und kehrt sofort zurück
blockingPlay()

spielt Sound von der aktuellen Position an und wartet, bis er fertig gespielt ist

advanceFrames(n)

schiebt die aktuelle Position um die Anzahl Abtastwerte nach vorne

advanceTime(t)

schiebt die aktuelle Position um die angegebene Zeit nach vorne

getCurrentPos()

gibt die aktuelle Position zurück

getCurrentTime()

gibt die aktuelle Spielzeit zurück

rewindFrames(n)

schiebt die aktuelle Position um die angegebene Anzahl Abtastwerte zurück

rewindTime(t) schiebt die aktuelle Position um die angegebene Zeit zurück
stop() hält das Abspielen an und setzt die aktuelle Abspielposition an den Anfang
setVolume(v) setzt die Lautstärke (v = 0..100)
isPlaying() gibt True zurück, falls noch nicht zu Ende gespielt ist
mute(bool) schaltet mit True auf stumm, mit False wieder auf hörbar
playLoop() wiederholt das Abspielen endlos
replay() wiederholt das Abspielen einmal
delay(time) hält Programm um time (Millisekunden) an (zum Einfügen von Pausen)

 

Aufnahme und speichern
openMonoRecorder() öffnet einen monauralen Soundrecorder
openStereoRecorder() öffnet einen binauralen Soundrecorder
capture() beginnt mit der Aufnahme
stopCapture() beendet die Aufnahme
getCapturedBytes() liefert die aufgenommenen Samples byteweise zurück als Liste
getCapturedSound() liefert die aufgenommenen Samples als integer Listenwerte zurück (binaural: Kanäle abwechselnd)
writeWavFile(samples, filename) schreibt die Samples in eine WAV-Datei

 

Fast Fourier Transform (FFT)
fft(samples, n)

transformiert die ersten n Werte der übergebenen Liste mit Abtastwerten (floats). Rückgabe einer Liste mit n // 2 äquidistanten Spektralwerten (floats). Bei einer Abtastrate von fs reichen diese von 0 bis fs/2 im Abstand fs / n (Auflösung)

sine(A, f, t) Sinusschwingung mit Amplitude A und Frequenz f (Phase 0) für jeden Float-Wert t
square(A, f, t) Rechteckschwingung mit Amplitude A und Frequenz f (Phase 0) für jeden Float-Wert t
sawtooth(A, f, t) Sägezahnschwingung mit Amplitude A und Frequenz f (Phase 0) für jeden Float-Wert t
triangle(A, f, t) Dreieckschwingung mit Amplitude A und Frequenz f (Phase 0) für jeden Float-Wert t
chirp(A, f, t) Sinusschwingung mit Amplitude A und zeitlinear ansteigender Frequenz (Startwert f) für jeden Float-Wert t