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 *
WiedergabeBefehl | 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 |