Hallo, ich will eine art equalizer mit python realisieren. das ding sollte sound:
- compressen
- bestimmte frequenzen pushen
- teilbereiche vorverstärken, wenn sie zu leise sind
Meine frage nun, ist sowas übewrhaupt in python möglich?
Habe mich nun ein wenig mit snack beschäftigt, aber ich habe das gefühl, auch mit snack ist sowas nicht möglich
Was denkt ihr?
equalizer?
Wenn ich mir das
http://docs.python.org/lib/module-audioop.html
ansehe, und, dass das nur ein kleiner Teil der Sound-Features ist, kann ich nicht glauben, dass das unmöglich ist.
Du wirst Dich dafür aber so weit in Python eingearbeitet haben müssen, dass Du von selbst immer als erstes in die library reference siehst.
http://docs.python.org/lib/module-audioop.html
ansehe, und, dass das nur ein kleiner Teil der Sound-Features ist, kann ich nicht glauben, dass das unmöglich ist.
Du wirst Dich dafür aber so weit in Python eingearbeitet haben müssen, dass Du von selbst immer als erstes in die library reference siehst.
[color=green][size=75]Never use idle.pyw, if you need sys.stdin[/size][/color]
-
- User
- Beiträge: 136
- Registriert: Sonntag 15. Januar 2006, 20:31
- Wohnort: Greifswald
- Kontaktdaten:
Na ja,
das hilft alles beim Einlesen und Ausgeben von Audiodateien, aber das Verstärken einzelner Frequenzbänder und dergleichen kommt da ja nicht gerade out-of-the box. Dazu müsste man wohl einiges nicht über Python sondern über das Bearbeiten von Sounds wissen.
Gibt es dazu brauchbaren Lesestoff im Netz?
Gruß,
Bernhard
das hilft alles beim Einlesen und Ausgeben von Audiodateien, aber das Verstärken einzelner Frequenzbänder und dergleichen kommt da ja nicht gerade out-of-the box. Dazu müsste man wohl einiges nicht über Python sondern über das Bearbeiten von Sounds wissen.
Gibt es dazu brauchbaren Lesestoff im Netz?
Gruß,
Bernhard
habe mich eingenhend mit dem thema beschäftigt und bin zum schluss gekommen, dass dies mit einem DSP und ANSI C einfacher geht als mit Python.
Sinn und Unsinn meiner Worte kommt nie von ungefähr. Das nämlich bin ich, nicht mehr.
- sunmountain
- User
- Beiträge: 89
- Registriert: Montag 13. März 2006, 17:18
Ich würde mal hier schauen:gorba hat geschrieben:habe mich eingenhend mit dem thema beschäftigt und bin zum schluss gekommen, dass dies mit einem DSP und ANSI C einfacher geht als mit Python.
http://audacity.sourceforge.net/onlineh ... effect.htm
http://audacity.sourceforge.net/help/nyquist
http://audacity.sourceforge.net/help/nyquist3
Bevor Du einen DSP programmierst, bist Du damit bestimmt schneller
fertig.
Hat halt wenig mit Python zu tun
Das schon eher:
http://www.onlamp.com/pub/a/python/2001 ... tml?page=1
http://www.speech.kth.se/snack/
Zuletzt geändert von sunmountain am Montag 7. Mai 2007, 11:08, insgesamt 1-mal geändert.
Ganz ohne C sollte man es - selbst wenn's ging - wohl schon aus Gründen der Performance nicht machen. Bin aber gerade auf folgenden Abschnitt im Tutorial gestoßen:
Wenn man das in C macht, wäre es natürlich ein schöner Beitrag, gleich noch py-Bindings dazuzuliefern. Die hin- und herzureichenden Objekte sind ja immerhin ziemlich einfacher Natur (ein paar ints und buffers), allzuviel Extra-Code für die py-Bindings hätte man vielleicht gar nicht. Hat das wirklich noch niemand getan, gorba ?
(http://docs.python.org/tut/node8.html). Da steht 'equalizer.py', was natürlich auch nur eine Kapselung für eine DLL sein kann. Nun ja, GvR verspricht selten zuviel.Suppose you want to design a collection of modules (a ``package'') for the uniform handling of sound files and sound data. There are many different sound file formats (usually recognized by their extension, for example: .wav, .aiff, .au), so you may need to create and maintain a growing collection of modules for the conversion between the various file formats. There are also many different operations you might want to perform on sound data (such as mixing, adding echo, applying an equalizer function, creating an artificial stereo effect), so in addition you will be writing a never-ending stream of modules to perform these operations. Here's a possible structure for your package (expressed in terms of a hierarchical filesystem):
...Code: Alles auswählen
Sound/ Top-level package __init__.py Initialize the sound package Formats/ Subpackage for file format conversions __init__.py wavread.py wavwrite.py aiffread.py aiffwrite.py auread.py auwrite.py ... Effects/ Subpackage for sound effects __init__.py echo.py surround.py reverse.py ... Filters/ Subpackage for filters __init__.py equalizer.py vocoder.py karaoke.py
Wenn man das in C macht, wäre es natürlich ein schöner Beitrag, gleich noch py-Bindings dazuzuliefern. Die hin- und herzureichenden Objekte sind ja immerhin ziemlich einfacher Natur (ein paar ints und buffers), allzuviel Extra-Code für die py-Bindings hätte man vielleicht gar nicht. Hat das wirklich noch niemand getan, gorba ?
[color=green][size=75]Never use idle.pyw, if you need sys.stdin[/size][/color]
Warum reden hier immer alle von C? Für so etwas nimmt man FORTRAN wenn es schnell sein soll.