AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Bitmap aus .WAV-Datei erzeugen?
Thema durchsuchen
Ansicht
Themen-Optionen

Bitmap aus .WAV-Datei erzeugen?

Ein Thema von PeterPanino · begonnen am 11. Aug 2022 · letzter Beitrag vom 11. Aug 2022
Antwort Antwort
PeterPanino

Registriert seit: 4. Sep 2004
1.465 Beiträge
 
Delphi 10.4 Sydney
 
#1

Bitmap aus .WAV-Datei erzeugen?

  Alt 11. Aug 2022, 00:43
Hallo, kennt jemand von euch zufällig eine Library oder Unit, mit der man die Audio-WaveForm einer .WAV-Datei als Bitmap erzeugen kann?

Sowas in der Art z.B.:

waveform.png

Es gibt zwar einige sehr aufwändige und teure Libraries, aber ich brauche nur was ganz einfaches.
Geändert von PeterPanino, damit der Platz auf dem Bildschirm nicht so leer aussieht.

Geändert von PeterPanino (11. Aug 2022 um 00:45 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.654 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Bitmap aus .WAV-Datei erzeugen?

  Alt 11. Aug 2022, 07:44
Etwas ganz einfaches kenne ich dafür nicht, aber mit der (für nicht-kommerzielle Zwecke) kostenlosen BASS DLL geht das sehr gut:
https://www.un4seen.com/

Gausi hat dazu (EDIT: Ich meine zu der DLL, nicht zu den Waveforms) eine sehr schöne Anleitung geschrieben:
https://www.gausi.de/memp.html

Es sind auch viele Beispiele dabei. Unter delphi\custloop im Download findest du ein ganz einfaches Beispiel, das dir bei deinem Problem weiterhelfen sollte.
Sebastian Jänicke
AppCentral

Geändert von jaenicke (11. Aug 2022 um 10:42 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
885 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Bitmap aus .WAV-Datei erzeugen?

  Alt 11. Aug 2022, 08:00
Wäre mir neu, dass in meinem Tutorial etwas dazu steht, wie man diese Waveforms mit der bass.dll erzeugt.
/Edit: Der Kommentar war auch nicht "böse" gemeint. Wollte das nur klarstellen, damit Peter da nicht unnötig drin rumsucht. Was ich da graphisch mache, ist ein "Spectrum", d.h. diese hüpfenden Balken während der Wiedergabe. Das ist im Wesentlichen Copy&Paste von einem der Beispiel-Projekte der bass.dll.

Mit der bass.dll sollte das aber dennoch recht problemlos gehen (einen Einstieg dazu kann das Tutorial bieten), zu diesen Waveforms sollte man auch was im Netz finden können, ggf. im Bass-Forum suchen. Mein Ansatzpunkt wäre auf Anhieb Bass.BASS_ChannelGetLevel - aber da kann ich mich auch täuschen.
The angels have the phone box.

Geändert von Gausi (11. Aug 2022 um 10:56 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.654 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Bitmap aus .WAV-Datei erzeugen?

  Alt 11. Aug 2022, 08:35
Wäre mir neu, dass in meinem Tutorial etwas dazu steht, wie man diese Waveforms mit der bass.dll erzeugt.
Ich habe meinen Beitrag zur Klarstellung editiert. Ich meinte das Tutorial für die Nutzung der DLL und im letzten Absatz das Beispiel für die Generierung der Waveform.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Bitmap aus .WAV-Datei erzeugen?

  Alt 11. Aug 2022, 10:38
Das ist vielleicht ein bisschen über das Ziel hinausgeschossen, weil gleich alles fertig mit Bass.dll und Visualisierung des Verlaufs per Direct3D 11, aber es funktioniert laut beiliegenden Demoprogrammen ganz gut und smooth:
https://www.3delite.hu/TGraphDisplay3D/
  Mit Zitat antworten Zitat
Benutzerbild von Sinspin
Sinspin

Registriert seit: 15. Sep 2008
Ort: Dubai
691 Beiträge
 
Delphi 10.3 Rio
 
#6

AW: Bitmap aus .WAV-Datei erzeugen?

  Alt 11. Aug 2022, 12:28
Wenn man die Samples hat, zum Beispiel von der Bass.dll, geht das ganz einfach.
Die simpelste Methode ist eine linie von Punkt zu Punkt zu ziehen. Aber extrem langsam.
Die schönste ist senkrechte Linien von +Spitze zu -Spitze.
Am schnellsten ist es jede zweite Spitze, jeweils + und - nur einen Punkt zu setzen.
Zu Zeiten als ich noch keine Bass.dll kannte, Win95 war gerade 2 Jahre alt, habe ich das mal alles selber implementiert.
Stefan
Nur die Besten sterben jung
A constant is a constant until it change.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:53 Uhr.
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