Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Stormy

Anmeldungsdatum: 10.09.2004 Beiträge: 567 Wohnort: Sachsen - wo die schönen Frauen wachsen ;)
|
Verfasst am: 22.03.2007, 12:04 Titel: Spektrum-Visualisierung (mit FMOD&OpenGL) |
|
|
Hallo,
ich habe eine kleine Visualisierung des Spektrums aus der DSP erstellt. Dabei werden die Rohdaten ausgelesen und grafisch (mit OpenGL) umgesetzt. Man kann natürlich jede andere Grafik-Library nehmen (zB die Standard-Library von FreeBasic)
Hier ein Screenshot, was zwei Spektren anzeigt:
Sofern Interesse besteht, würde ich auch den Sourcecode rausrücken! Ansonsten würde ich mir nämlich nicht die Mühe machen, den Code aufzubereiten.
- Stormy _________________ +++ QB-City +++ Die virtuelle Stadt für jeden Freelancer - Join the community!
Projekte: QB-City,MysticWorld (RPG), 2D-OpenGL-Tutorial |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 22.03.2007, 18:36 Titel: |
|
|
könnte ich sehr gut gebruachen, für vChip...
imageshack is mal wieder richtig langsam, deswegen hab ich mal iThumb zum Einsatz gebracht
 _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
Stormy

Anmeldungsdatum: 10.09.2004 Beiträge: 567 Wohnort: Sachsen - wo die schönen Frauen wachsen ;)
|
|
Nach oben |
|
 |
volta
Anmeldungsdatum: 04.05.2005 Beiträge: 1876 Wohnort: D59192
|
Verfasst am: 22.03.2007, 19:38 Titel: |
|
|
Hi, sieht gut aus!
Natürlich möchte ich, andere bestimmt auch, wissen:
Wie macht er das??
EDIT/
na das nennt man promte Bedienung.
Danke! _________________ Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Zuletzt bearbeitet von volta am 22.03.2007, 19:39, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 22.03.2007, 19:39 Titel: |
|
|
steht doch da: FMOD wenn du sound über fmod aufnimmst / abspielst, kannst du dir ein arrray zurückgeben lassen, das die frequenzbänder enthält  _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
volta
Anmeldungsdatum: 04.05.2005 Beiträge: 1876 Wohnort: D59192
|
Verfasst am: 22.03.2007, 19:43 Titel: |
|
|
Nöö, das meinte ich nicht.
Lesen kann ich auch und FMod ist nicht mein Ding.
Mich interessiert es wegen OpenGL. _________________ Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater. |
|
Nach oben |
|
 |
Eisbaer

Anmeldungsdatum: 16.10.2004 Beiträge: 354 Wohnort: Deutschland,Bayern
|
Verfasst am: 23.03.2007, 10:02 Titel: Spektrum |
|
|
Also der Source Code dazu währe für mich auch Interessant;
bzw. erklährung des Verfahrens wie das Spektrum ausgelsen wird;
habe so etwas nun mit der Bass.dll realisiert, dort gibt es auch einige Funktionen dafür, ich werde den Code meines Programmes auch noch posten;
Aber Stormy deine währe auch mal Interessant zum lesen, stellst du ihn bitte zur Verfügung ?
Grüße Eisbaer _________________ Eigene Webseite:
http://www.eisbaer-studios.de |
|
Nach oben |
|
 |
Stormy

Anmeldungsdatum: 10.09.2004 Beiträge: 567 Wohnort: Sachsen - wo die schönen Frauen wachsen ;)
|
Verfasst am: 23.03.2007, 10:14 Titel: |
|
|
Aus Audio.bas:
Code: | SUB Sfx.CalcDSP (SoundSystem AS SoundSystemType, Range AS INTEGER = 512)
dim as integer i, j, k, c, max
dim as single b
dim as single ptr dsp
dsp = FSOUND_DSP_GetSpectrum()
IF Range < SoundSystem.DSPMax THEN range = SoundSystem.DSPMax
k = INT(Range / SoundSystem.DSPMax)
FOR i = 0 TO SoundSystem.DSPMax
b = 0
FOR j = 0 TO k-1
IF k*i+j <= Range-1 THEN IF b < dsp[k*i+j] THEN b = dsp[k*i+j]
NEXT j
SoundSystem.DSPValue[i] = b
NEXT i
END SUB |
FMOD gibt mir ein 512 Single-Pointer-Array wieder, welches Werte von 0 bis 1 liefert. Dieses bekomme ich durch die Funktion "FSOUND_DSP_GetSpectrum()". In der von mir geschriebenen Funktion "SUB Sfx.CalcDSP", wird von dem großen 512er-Array ein Ausschnitt in das Array "SoundSystem.DSPValue" geschrieben wird. (Nur die ersten Werte sind meist von Relevanz bei den meisten Musikstücken). Beim Auslesen nehme ich den höchsten Wert innerhalb eines gelesenen Blockes. Diese erfassten Blöcke kann ich dann einfach verwenden, um das ganze zu visualisieren. _________________ +++ QB-City +++ Die virtuelle Stadt für jeden Freelancer - Join the community!
Projekte: QB-City,MysticWorld (RPG), 2D-OpenGL-Tutorial |
|
Nach oben |
|
 |
|