Ich brauche Hilfe herauszufinden, wie man eine Probe von sagen wir 0,25 bis 1 Sekunde mit librosa package dehnt. Ich nehme an, librosa.effects.time
_stretch ist eine Funktion, dies zu tun, aber anstatt ein Signal zu dehnen, tut es etwas anderes. Was ist der richtige Weg, um es oder eine andere librosa
oder numpy
Funktion (oder pydub
) anzuwenden?Python | librosa: wie man das Signal in der Zeit dehnt, indem man mehr Punkte hinzufügt
Hier ist mein Versuch mit 16 kHz Abtastrate, d. H. 4K Proben wird über 0,25 Sekunden Zeit gegeben. Als Ausgabe benötige ich 16K-Samples für die gesamte Dauer von 1 Sekunde, wobei die Abtastrate konstant bleibt.
import numpy as np, librosa
x = np.sin(np.linspace(-np.pi, np.pi, 4000)) # wav sample
y = librosa.effects.time_stretch(x, rate=4000/16000)
plt.plot(x) # plotted in blue
plt.plot(y) # plotted in orange
, die die folgende Handlung ergibt:
Bemerkenswerter wurde, das Sinussignal nicht gestreckt. Ich benutze sin() als Beispiel. Die Absicht ist, Sprach-Audio-WAV-Dateien zu strecken, bei denen die analytische Funktion unbekannt ist.
Dank. Ich werde es versuchen. Ich dachte, die Tonhöhe wäre niedriger, wenn ich mich dehne. Ihre Handlung scheint zu zeigen, was ich hoffentlich mit einer neuen Stichprobengröße von 16.000 Punkten brauche. –