Guten Tag,
Ich habe eine Audiodatei ausgelesen:
fs,data = wavfile.read("sample1.wav")
und will nun das Signal so modifizieren, dass jeder Abtastwert quadriert wird.
Kann mir bitte jemand erklären, wie das geht?
Jeden Abtastwert einer Audiodatei quadrieren
Das sind wirklich absolute numpy Grundlagen. Hast du schonmal ein Tutorial zu dem Thema durchgearbeitet? Denn dir hier Funktion fuer Funktion solche Grundlagen zu erklaeren, ist ein bisschen viel des guten. Gerne beantworten wir Fragen, wenn du dann da etwas nicht verstehst.
-
- User
- Beiträge: 9
- Registriert: Donnerstag 21. April 2022, 18:59
Kannst du mir wenigstens eine Quelle nennen?__deets__ hat geschrieben: ↑Sonntag 22. Mai 2022, 15:44 Das sind wirklich absolute numpy Grundlagen. Hast du schonmal ein Tutorial zu dem Thema durchgearbeitet? Denn dir hier Funktion fuer Funktion solche Grundlagen zu erklaeren, ist ein bisschen viel des guten. Gerne beantworten wir Fragen, wenn du dann da etwas nicht verstehst.
Ich kann nämlich nichts finden.
"numpy tutorial" suchen, erster Link: https://numpy.org/doc/stable/user/quickstart.html
-
- User
- Beiträge: 9
- Registriert: Donnerstag 21. April 2022, 18:59
Es klappt nicht.
fs,data = wavfile.read("sample1.wav")
fs_quad = np.arange(fs)**2
write("sample1_quad", fs_quad, "sample1.wav")
Fehlercode:
dkind = data.dtype.kind
AttributeError: 'str' object has no attribute 'dtype'
Was mache ich falsch?
Die Aufgabenstellung lautet:
Lesen Sie die Audiodatei „sample1.wav“ erneut ein. Modifizieren Sie anschließend
das Signal so, dass jeder Abtastwert quadriert wird.
fs,data = wavfile.read("sample1.wav")
fs_quad = np.arange(fs)**2
write("sample1_quad", fs_quad, "sample1.wav")
Fehlercode:
dkind = data.dtype.kind
AttributeError: 'str' object has no attribute 'dtype'
Was mache ich falsch?
Die Aufgabenstellung lautet:
Lesen Sie die Audiodatei „sample1.wav“ erneut ein. Modifizieren Sie anschließend
das Signal so, dass jeder Abtastwert quadriert wird.
Wenn du dir mal anschaust, was denn wavfile.read zurueck gibt, und die Variablen heissen "fs" und "data" - in welcher denkst du befinden sich deine SampleDATEN? Und was fs ist hast du an anderer Stelle ja schon mal diskutiert. Glaubst du also, dass dein fs_quad das richtige ist?
Und wenn du dir die write-Dokumentation angschaust: https://docs.scipy.org/doc/scipy/refere ... write.html
Passt, was du da uebergibst?
In Zukunft bitte immer den *gesamten* Quelltext, importe inklusive, und die gesamte Fehlermeldung posten. In den dafuer vorgesehen code-tags, das ist der </>-Knopf im vollstaendigen Editor.
Und wenn du dir die write-Dokumentation angschaust: https://docs.scipy.org/doc/scipy/refere ... write.html
Passt, was du da uebergibst?
In Zukunft bitte immer den *gesamten* Quelltext, importe inklusive, und die gesamte Fehlermeldung posten. In den dafuer vorgesehen code-tags, das ist der </>-Knopf im vollstaendigen Editor.
-
- User
- Beiträge: 9
- Registriert: Donnerstag 21. April 2022, 18:59
fs,data = wavfile.read("sample1.wav")
fs_quad = np.arange(data)**2
write("sample1_quad", fs_quad, "sample1.wav")
Fehlercode:
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
?
fs_quad = np.arange(data)**2
write("sample1_quad", fs_quad, "sample1.wav")
Fehlercode:
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
?
Ich hab's schonmal gesagt, ich sage es nochmal: bitte den *vollstaendigen* Code liefern, in Code tags, und die vollstaendige Fehlermeldung.
Warum glaubst du brauchst du np.arange? Was macht die Funktion, und warum hat das etwas mit deinen Sampledaten zu tun?
Warum glaubst du brauchst du np.arange? Was macht die Funktion, und warum hat das etwas mit deinen Sampledaten zu tun?
Es verwundert schon, dass Du in Deiner anderen Frage hier im Forum nicht diese Probleme hast.
Ein Problem hat __blackjack__ ja schon angesprochen, mit dem Variablennamen fs kann niemand was anfangen weshalb Du auch nicht merkst, dass Du damit Unsinn machst.
Und auch hier gilt es zu überlegen, was "Quadrieren" im Hinblick auf den Wertebereich der Samples bedeutet.
Ein Problem hat __blackjack__ ja schon angesprochen, mit dem Variablennamen fs kann niemand was anfangen weshalb Du auch nicht merkst, dass Du damit Unsinn machst.
Und auch hier gilt es zu überlegen, was "Quadrieren" im Hinblick auf den Wertebereich der Samples bedeutet.
- __blackjack__
- User
- Beiträge: 13112
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
Ergänzend zum letzten Satz von Sirius3: Man muss hier auch die verschiedenen Möglichkeiten berücksichtigen die bei den eingelesenen Daten auftreten können. Denn bei einem Wertebereich von -1 bis +1 ist das Problem ein anderes als bei Wertebereichen von 0 bis einem Maximalwert. Entweder man behandelt man die Fälle die auftreten können, oder man schränkt die möglichen Eingabedaten durch einen Test auf das ein was der Code korrekt verarbeiten kann.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman