Delphi-PRAXiS
Seite 3 von 6     123 45     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Sound graphisch darstellen (https://www.delphipraxis.net/26226-sound-graphisch-darstellen.html)

supermuckl 23. Jul 2004 15:35

Re: Sound graphisch darstellen
 
hab ich mir halb gedacht :) so fehlerchen hab ich auch oft bei diversen liniengrafiken

richard_boderich 23. Jul 2004 15:44

Re: Sound graphisch darstellen
 
@supermuckel, das ist weil ich schnell und schlampig programmiert hab, diese steilen flanken, gehoeren
nicht zur eigentlichen waveinformation, sondern zum iff bzw. waveheader, laesst sich aber leicht
korrigieren ! :) :zwinker:

supermuckl 23. Jul 2004 16:03

Re: Sound graphisch darstellen
 
darf ich fragen wieso du dich wiederholst?

ich les schon jeden post aufmerksam durch :)

dizzy 23. Jul 2004 16:25

Re: Sound graphisch darstellen
 
@richard: Das ist aber mal extem quick'n'dirty...
Codeformatierung := nil;
Flexibilität := 0;
Du zeigst ja sogar sämtliche Header mit an... und was ist wenn das File auf einmal nicht 16 Bit stereo ist :?:. Oder gar > 64k? :zwinker:

Mein Proggie hat allerdings bei einigen Waves auch noch Probleme. Werd da nachher nochmal dran gehen, aber zumindest zeichnet es den RIFF-Header nicht ;)

Macht Spaß binäre Files auseinander zu nehmen! (Aber nur mit guter Doku!!!)

Kernel32.DLL 23. Jul 2004 16:33

Re: Sound graphisch darstellen
 
Zitat:

Zitat von supermuckl
darf ich fragen wieso du dich wiederholst?

ich les schon jeden post aufmerksam durch :)

wahrscheinlich handelt es sich um einen Fehler in der Matrix... :zwinker:

richard_boderich 23. Jul 2004 16:34

Re: Sound graphisch darstellen
 
@supermukl

sorry, wollte mich nicht wiederholen, hab mal wieder den falschen button im IE gedrueckt

:)

dizzy 24. Jul 2004 15:37

Re: Sound graphisch darstellen
 
Liste der Anhänge anzeigen (Anzahl: 1)
So, falls es noch von Interesse ist --- hab meinen Reader ausgebaut. Waren noch ein paar Bugs drin, und das Laden passiert jetzt in einem extra Thread. (Wegen Statusanzeige)

gruss,
dizzy

Florian H 24. Jul 2004 22:04

Re: Sound graphisch darstellen
 
Zitat:

Zitat von dizzy
Und damit du dich nicht verschulden musst, und die o.g. Sammlung sicherlich ganz gewaltiger Overkill nur für zum Zeichnen ist, hab ich mal fix was gebastelt :)
Liest und zeichnet unkomprimierte Standard-PCM-Waves. Also nur die gaaanz einfachen. Komprimierte Files müsstest du also zunächst nach PCM-Wave wandeln.
Weitere Infos in den Soßen (Unit2.pas). Unit2.pas enthält die eigentliche Klasse, und in Unit1 ein kleines Beispiel zum Zeichnen. Die Klasse aus Unit2 stellt lediglich 1 oder 2 Arrays mit den Wave-Daten zur Verfügung - das Zeichnen also nicht.
Ich hoffe du kommst damit weiter. Hat viel Spaß gemacht!
gruss,
dizzy

hi,

irgendwie geht das bei mir nicht mit allen Wav's... wenn ich mir welche erstelle (unkomprimiert!) hängt das prog sich einfach auf (nix tut sich mehr) bei wp := TWaveProvider.Create(OpenDialog1.FileName); ...
woran könnte das liegen?


edit: bei der aktuellen Version zeigt er dann zwar die Infos an aber er macht mir keinen Graphen mehr :-/

edit2: jetzt gehts

Florian H 24. Jul 2004 22:34

Re: Sound graphisch darstellen
 
Liste der Anhänge anzeigen (Anzahl: 1)
hm neues Problem...
irgendwie ist der Graph so ganz und gar nicht wie ich mir das vorstelle...
In einem Audioeditor (WavePad) sehe ich da schon anschaulich die Kurven aber bei "meinem", also dem auf deinem Script basierenden, Prog ist das alles ein Mischmasch aus verschieden hohen strichen...

anbei mal zum vergleich 2 Bilder: das bunte ist dein Script, das schwarz-weisse ist WavePad (nich verwechseln...)
Beides mal der selbe ausschnittt (ca. 3,5 Sek.)

grüße
flo

dizzy 24. Jul 2004 23:24

Re: Sound graphisch darstellen
 
Es kann sehr gut sein, dass Wavepad für einen X-Wert den Durchschnitt aller Samples die auf diesem X-Wert (Pixel) liegen anzeigt. Bei mir wird einfach nur das Sample genommen, dass an dieser Stelle im Wave ist.
Lässt sich aber leicht anpassen, du müsstest nur in der Zeichenroutine je Schritt den Durchschnitt von z.B. Ch16BitMono[i] bis Ch16BitMono[i+scale-1] bilden, und das dann zeichnen. Bisher ists halt nur Ch16BitMono[i], und dann inc(i, scale); zum nächsten X-Wert.

Dann sollte es ähnlich aussehen. Wenn nicht, dann isch da was faul. (Dürfte aber nicht)

gruss,
dizzy


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:39 Uhr.
Seite 3 von 6     123 45     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz