Entwickler-Ecke
Multimedia / Grafik - Sound laden, bearbeiten und Speichern
NTcomputer - Sa 22.05.10 16:51
Titel: Sound laden, bearbeiten und Speichern
Hallo,
ich habe eine Frage zum Thema Audio, für die ich bis jetzt keine passende Lösung gefunden habe.
Ich möchte Sounddateien (übliche Formate wie wav,mp3) öffnen, bearbeiten und anschließend als .wav speichern.
Das Bearbeiten soll lediglich aus Ändern der Geschwindigkeit (und damit Länge) und Lautstärke der Tonspuren bestehen. Die konkrete Berechnung dieser Bearbeitungen kann ich ja auch selber programmieren, nur muss ich erst einmal an direkte Werte kommen (dB?), mit denen ich arbeiten kann.
Weiß jemand mit welchem Verfahren/Komponente ich das hinbekomme?
Edit: Habe ich vorhin vergessen zu schreiben - mehrere Spuren sollen zu einer einzigen zusammengefasst werden können!
elundril - Sa 22.05.10 18:12
Schon mal die Bass.dll angeschaut? Bin mir nicht sicher ob die das kann, muss nachschauen.
lg elundril
NTcomputer - So 23.05.10 08:50
Danke für deine schnelle Antwort.
Ich habe mir die bass.dll mal angeschaut und mit den entsprechenden Erweiterungen scheinen alle meine gewünschten Funktionen enthalten zu sein. :D
---
Moderiert von
Narses: Beiträge zusammengefasst---
Leider passt das mit der bass.dll doch nicht ganz so wie zuerst angenommen. :( Die Komponente ist mehr auf direkte Ausgabe + entsprechende Modifizierung ausgelegt, sodass zum Beispiel Lautstärke nur beim Abspielen (!) angewendet wird.
Gibt es noch eine andere Komponente, die mehr zum Bearbeiten von Sounddateien ausgelegt ist?
ALF - So 23.05.10 20:51
Hi, Du meinst sicherlich sowas wie "WaveLab & Co".
Mit der Bass.Dll geht das auch, ist ebend nur, man muss das halt alles selber schreiben. Die Dll bietet Dir lediglich schon die fertige Schnittstelle für die einzelnen Funktionen und Audioformate.
Mitlerweile gibt es davon schon ne menge Units die das mit der Dll umsetzen z.B. wav/mp3, mp3/wav, peak's berechen und in der Datei neu speichern so das sie leiser wird usw.
Die Links befinden sich auch dort wo es die DLL gibt!
Von alleine kommt aber nix, man muss schon Handanlegen :wink:
Gruss Alf
NTcomputer - Mo 24.05.10 10:44
Ich würde es ja gerne selber schreiben, nur fehlen mir die "Daten", auf die ich zugreifen kann. Bei Bildern kann man über Pixel[x,y] die Farbwerte ändern, genau so etwas hatte ich mir eigentlich für Sound auch vorgestellt.
Also angenommen ich habe einen HSTREAM zu einer Datei erstellt - wie komme ich dann an die eigentlichen Werte?
(Sry dass ich euch mit solchen Frage nerve, aber ich bin im Thema Sound ein Neuling, und kann mir nicht richtig vorstellen, wie das mit der bass.dll funktionieren soll ;-) )
PS: WaveLAb kenne ich nicht :P
ALF - Di 25.05.10 10:03
Hi, ich noch mal.
Du solltest, bevor Du dich mit bearbeiten von Soundfiles beschäftigts, vielleicht erstmal die einfachen Schritte durchgehen!
Also nen einfachen Player schreiben mit Lautstärkeregler, Positionsbestimmung. Dann vielleict nen 3-x Kanalplayer.
Nun kannst Du Dich an die Visuallisierung, also Wellenformdarstellung, des jeweiligen Soundfiles dranmachen, damit man auch was optisches hat :wink:
Wenn man das alles verstanden hat, kann man sich mit schneiden, verändern von "Lautstärke" oder mischen von
mehreren Spuren beschäftigen. Dies alles kannst Du, wie schon gesagt, mit der Bass.Dll und den Plugins machen!
Wavlab, Samplitude(Profibereich), oder der Nero WaveEditor machen das auch.(natürlich nicht mit der Bass.Dll)
Im Anhang mal nen kleines Beispiel von WaveLab :wink:
Im Forum von
http://www.un4seen.com/ gibt es genug Infos(leider in engl). Oder nimm Dir mal diesen
link [
http://www.delphi-treff.de/tutorials/sonstiges/mein-einfacher-mp3-player/] oder auch
diesen lnk [
http://gaedtke.name/]
Ansonsten, um z.B. die "Lautstärke" eines Sountracks zu ändern mal 2 Möglichkeiten mit der Bass.Dll.
1: Soundfile laden, Lautstärke anpassen und wieder recorden der Wiedergabe. (schlecht, weil Zeitintensiv)
2: Soundfile laden, und mit setDSP von der Bass.Dll den Soundtrack direkt bearbeiten und wenn es ok ist speichern.
Aber bis dahin gibts jedemenge Schreibarbeit und ausprobieren.
Wie immer! :wink:
Hilfe natürlich auch!
Und was die Daten betrifft, sie liegen Byteweise im Arbeitspeicher, wo sie dan auch Byteweise bearbeitet werden können.
Gruss Alf
NTcomputer - Di 25.05.10 11:38
Genau das hatte ich eigentlich nicht vor. :P
Die Sound-Bearbeitung ist nur ein kleiner Teil eines größeren Projekts.
Mir würde eine einfache Komponente reichen, die Standard-Soundformate z.B. in einen Record lädt, und ich dann einfach über ein Array auf die einzelnen Samples zugreifen kann. Mehr nicht. Die ganzen Prozeduren zum Mixen, Lautstärke ändern usw. kann ich mir dann ja selber schreiben.
Hoffe das war verständlicher :wink:
ALF - Di 25.05.10 12:10
NTcomputer hat folgendes geschrieben : |
Genau das hatte ich eigentlich nicht vor. :P |
Was hattest Du nicht vor?
NTcomputer hat folgendes geschrieben : |
Die Sound-Bearbeitung ist nur ein kleiner Teil eines größeren Projekts. |
Die Bass.Dll bietet sich dazu optimal an, da sie schon alle Funktionen drin hat!
NTcomputer hat folgendes geschrieben : |
Mir würde eine einfache Komponente reichen, die Standard-Soundformate z.B. in einen Record lädt, und ich dann einfach über ein Array auf die einzelnen Samples zugreifen kann. Mehr nicht. |
Zum abspielen reicht doch im allgemeinen auch der TMediaPlayer, zum anzeigen der FileListe Tlistbox/TlistView usw. von Delphie :wink:
Dazu gibt es einige Posts hier im Forum und in anderen Delphi Foren!
Aber auch hier wieder die einfachste Komponente Bass.Dll, wenn man später noch bearbeiten will!
NTcomputer hat folgendes geschrieben : |
Die ganzen Prozeduren zum Mixen, Lautstärke ändern usw. kann ich mir dann ja selber schreiben. |
Viel Spass dabei.
Auch hier bietet sich die Bass.Dll optimal dafür an!
NTcomputer hat folgendes geschrieben : |
Hoffe das war verständlicher :wink: |
Nicht ganz, aber wenn man natürlich alles selber machen will, warum nicht! :shock:
Warum also das Rad neu erfinden! :gruebel:
Aber gut, musst Du im Prinzip selbst entscheiden :mrgreen:
Wenn es um ne Profi sache geht (zum Verkauf), muss man natürlich die Lizenzen beachten!
Gruss Alf
NTcomputer - Di 25.05.10 16:01
ALF hat folgendes geschrieben : |
NTcomputer hat folgendes geschrieben : | Genau das hatte ich eigentlich nicht vor. :P | Was hattest Du nicht vor? |
Einen MediaPlayer zu schreiben.
Es geht mir nicht ums abspielen, nicht ums anzeigen, NUR bearbeiten.
Und wenn die bass.dll dafür optimal ist, kannst du mir ein kleines Codebeispiel geben, wie ich an die Sample-Werte rankomme?
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!