|
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
bodenseeh
Anmeldungsdatum: 25.01.2005 Beiträge: 2
|
Verfasst am: 25.01.2005, 18:57 Titel: Equalizer in QB? |
|
|
Hallo,
zuerst einmal möchte ich mich ein wenig vorstellen, da ich neu hier bin. Ich bin kein vollkommener neuling, allerdings auch kein Prof. in sachen QB. Habe schon etliche kleinere projekte mit Qb erfolgreich gelöst. nun habe ich vor einen equalizer (müsste jedem aus winamp bekannt sein) zu programmieren.
das ganze soll so aussehen: ich fahre über die soundkarte (stereo) in den PC rein. dort möchte ich mit QB die verschiedenen frequenzen lauter und leiser machen können und dann wieder zur soundkarte raus und in meinen kleine verstärker rein.
ist so etwas möglich? wie gesagt, habe schon vieles in QB gemacht, aber bei diesem projekt habe ich kein ahnung wie ich es realisieren soll. bin über die soundkarte bereits rein (allerdings nur mono) und habe mir die wellen anzeigen lassen und eine ausschlagsanzeige programmiert, aber wie kann ich einzelne frequenzen lauter und leiser machen?
bin um jede hilfe sehr dankbar!!!
MfG Flo |
|
Nach oben |
|
|
helium
Anmeldungsdatum: 10.09.2004 Beiträge: 397 Wohnort: Leverkusen
|
Verfasst am: 25.01.2005, 19:40 Titel: |
|
|
Am besten mit Filtern. Die digitale Signalverarbeitung ist allerdings ein kompliziertes Them. Bevor du anfängst zu versuchen irgendwelche eigenen Filer zu designen, solltest du lieber fertige nehmen. auf www.musicdsp.org findst du jede Menge Code (allerdigns meistens C oder C++, teilweise Delpihi). _________________ Bevor Sie aufhören sich körperlich zu betätigen sollten Sie ihren Doktor befragen. Körperliche Inaktivität ist abnormal und gefährlich für Ihre Gesundheit. |
|
Nach oben |
|
|
E-P-S
Anmeldungsdatum: 16.09.2004 Beiträge: 500 Wohnort: Neuruppin
|
Verfasst am: 25.01.2005, 20:54 Titel: |
|
|
Abgesehen von der Schwierigkeit denke ich das QB dafür erstens gänzlich ungeeignet ist und zweitens auch zu langsam wäre. _________________ Man kann sich öfter als zweimal im Leben halb tot lachen. |
|
Nach oben |
|
|
Paul aka ICC, HV-Freak
Anmeldungsdatum: 11.09.2004 Beiträge: 588 Wohnort: Uelzen
|
Verfasst am: 25.01.2005, 23:07 Titel: |
|
|
Dat passt ja gut, hab mir neulich ein paar Infos zum Thema Soundregelung geholt
-> http://www.icc-software.de/files/sound.zip [11,9 MB !] (Sind ETLICHE Schaltpläne usw., alles was das Herz begehrt)
Also QB selbst kannst du für sowas vergessen, aber du kannst das Signal ja auch extern "Equalisieren"
-Vorausgesetzt du kennst dich mit Elektronik aus...
Ein 3-Bandregler dürfte fürs erste reichen (Treble, Middle & Bass). Dann könnte man in diese Equalizer-Schaltung nen Mikrocontroller einbauen, den du über die Parallele Schnittstelle (LPT) steuerst. Dann kannst du dir ganz bequem in QB eine hübsche GUI zusammenbasteln _________________
|
|
Nach oben |
|
|
bodenseeh
Anmeldungsdatum: 25.01.2005 Beiträge: 2
|
Verfasst am: 26.01.2005, 19:18 Titel: blöd!!! |
|
|
Vielen dnak erstmal für die vielen schnellen antworten!!!
Dass es nicht leicht wird hab ich mir gleich gedacht. hab auch nicht gedacht, dass es nächste woche schon fertig ist. Gibt es da wirklich keine Lösung? Die Idee mit dem externen regeln, wäre ja gar nicht so schlecht, hatte ich auch schon drangedacht. Der equalizer müsste allerdings mindestens 12fach sein und ich hätte halt gerne, dass die jeweiligen frequenzbereiche auf dem monitor ausschlagen. Das wird dann ebenso kompliziert. Die idee mit fremden quellcode ist auch gut, aber dann ist es halt nicht selbst gemacht!
Gibt es denn wirklich keine lösung, wie ich dem computer beibringen kann wie er die frequenzen aufteilen kann? da finden ja laufend schwingungen statt. dann muss man doch sagen können: so, diese schwingung war so lang, die gehört dahin und diese schwingung war so lang, die gehört dahin. oder nicht?
ist es überhaupt möglich in dos die soundkarte mit stereo anzusteuern?wie? wie bekomme ich das signal dann wieder raus?
Die geschwindigkeit dürfte auch kein problem sein. das programm würde auf nem 2GHz rechner laufen.
MfG Flo |
|
Nach oben |
|
|
helium
Anmeldungsdatum: 10.09.2004 Beiträge: 397 Wohnort: Leverkusen
|
Verfasst am: 27.01.2005, 12:19 Titel: |
|
|
Also das Signal aufzuteilen ist ganz einfach. Das Stichwort heißt hier FFT (Fast Fourier Transformation).
Du kannst auch damit Filtern. Eignet sich allerdings nciht sonderlich gut, da du immer blockweise arbeitest dun für einen vernüpftigen Sound überlappungen brauchst. Und so leit es mir tut, das bekommst du vermutlich auch auf dem 2GHz-Rechner mit QB nicht mehr hin.
Zum anzeigen reicht aber eine Recht kleine FFT ohne überlappung und ist deshalb problemlos machbar.
Zitat: | Die idee mit fremden quellcode ist auch gut, aber dann ist es halt nicht selbst gemacht! |
Kein Thema. Ließ einfach diese Kapitel. Da lernst du IIR-Filter zu designen. Ich kann dir zwar beinahe garantieren, dass du kaum was, bis gar nichts verstehen wirst, aber Filterdesign ist eben ein extrem schwieriges Kapitel.
Es geht ja nicht darum, das du es nicht selbst gemacht hast. Wenn du einen Hardware EQ baust wirst du auch fertige Kondensatoren und Wiederstände kaufen und nicht versuchen welche selbst herzustellen. Genau so solltest du das hier sehen.
Naja, eine alternative wären FIR-Filter. Mal dir den gewünschten Frequenzganz und die gewünschte Phasenverschiebung, stell das ganze als Komplexe Zahl in Polarform dar: a +i*p, wobei a die gewünschte Amplitude und p die gewünschte Phasenverschiebung ist. Diese Array von komplexen Zahlen bringst du dann in Normalform. Dann kompierst du dier das Feld nochmal, kehrst die Reihenfolge um und konjugierst dann das Feld (kehrst das vorzeichen des imaginärteils um). Das Originalfeld und dieses Feld hängst du aneinander. Dann bildest du eine inverse FFT aus dem so entstandenen Feld und voilà du hast die Impuls-Antwort deines Filters.
Jetzt musst du das eingehende Signal nurnoch mit dieser Impulsantwort falten (falls du googlen wilst: falten heißt in dem zusammenhang auf englisch: to convolve).
Ach ja, die Länge des Feldes muss ein Potenz von zwei sein wegen der inversen FFT.
Das (original-) Feld ist so aufgebaut, dass es von DC bis Nyquist (halbe Samplerate) geht.
Bevor ich einen IIR-Filter designe würde ich vermutlich den gerde beschriebenen Ansatz verfolgen, da es am Anfang eifnacher ist. Allerdigns klingen FIR-Filter niemals so "analog" wie IIR-Filter. Sie klingen absolut neutral.
Vielleicht ist aber auch genau das wünschenswert. _________________ Bevor Sie aufhören sich körperlich zu betätigen sollten Sie ihren Doktor befragen. Körperliche Inaktivität ist abnormal und gefährlich für Ihre Gesundheit. |
|
Nach oben |
|
|
Quark48
Anmeldungsdatum: 16.10.2004 Beiträge: 559 Wohnort: Saltendorf a.d. Naab bzw. Teublitz i.d. Oberpfalz / Bayern
|
Verfasst am: 14.02.2005, 14:38 Titel: |
|
|
Hallo!
Ich habe auch noch was für dich, in Sachen Soundkarte in QB steuern und lesen; schau mal auf www.qbasic.com nach, irgendwo versteckt muss da so ein Tutorial sein, wo (fast) alles mit der Sound-Programmierung angegangenwird.
Gefunden! hier: http://www.fys.ruu.nl/~bergmann/soundblaster.html
Ich hoffe, dass dich das irgendwie weiterbringt!
MfG Quark48, das Spangengesicht _________________ Grüßle, Stefan
***
Wenn ein Programm auf nem alten Rechner gut läuft, dann läuft´s auf nem neuen erst recht!
Ich habe/hatte keine feste Spange und auch keine Schwester. Der Rest stimmt. Es tut mir leid... :-/ |
|
Nach oben |
|
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|