Ich versuche, (Audio) -Signal von Einzelton, Frequenz, die sich im Laufe der Zeit ändert.Liste der Frequenzen in Zeit zu signalisieren in Python
Ich habe Ton als 1D-Array numpy: freq = [100, 102, 103, 100, 115, 113, ..., 430]
Jeden Wert Korrespondenten kein N (beispielsweise 100) Proben. Ich weiß, wie man sicherstellt, dass es jedem Muster entspricht (N = 1). (es kann wachsen und fallen während der Zeit)
Jetzt brauche ich diese Frequenz 'Kurve' konvertieren Sinus-Signal.
Ich weiß über scipy.signal.sweep_poly (und ähnliche) Funktionen, aber ich kann Frequenz nicht als Polynom beschreiben.
Bitte, können Sie mir helfen, wie kann ich ein Signal aus der Frequenzliste erzeugen?
Vielen Dank!
verfügbar. Wenn Sie 'N = 1 'wissen, können Sie diese Lösung nicht einfach auf' freq = np.repeat (freq, N) 'anwenden? –
@PaulPanzer Ja, das weiß ich. Ich muss Sinussignal (als Audiosignal) mit wechselnder Frequenz in der Zeit erzeugen. –
Die Frequenz ist die Ableitung der Phase. Wenn sich die Frequenz im Laufe der Zeit ändert, müssen Sie die aktuelle Phase als Integral über die Frequenz berechnen. Dies ist, was @PaulPanzer in der Antwort unten mit "Cumsum" diskret annähert. – kazemakase