Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Auswertung von Wave Dateien

Frage Entwicklung VB for Applications

Mitglied: Shadow377

Shadow377 (Level 1) - Jetzt verbinden

03.09.2007, aktualisiert 04.09.2007, 4033 Aufrufe, 6 Kommentare

Ich will eine Wave Datei auswerten und habe mich dafür schon ein bisschen durch die Wave Spezifikationen gekämpft. Nachdem ich jetzt in etwa weiß wie der Header aufgebaut ist, wollte ich mir das ganze mal an ein paar Beispielen anschauen, wobei ich jedoch auf folgendes Problem gestoßen bin:
Nachdem ich eine Wave Datei mit dem Editor geöffnet habe, ist steht z.B. folgendes am Anfang der Datei (in diesem Fall der XP Anmeldesound aus dem Verzeichnis %windir%\Media ->wer das ganze etwas besser nachvollziehen will kann diese Datei ja mit dem Editor aufmachen):
01.
RIFFøæ WAVEfmt    "V ˆX   dataÔæ         %  8
]Dabei weiß ich zwar mit "RIFF", "WAVE", "fmt" etwas anzufangen, allerdings sollten dazwischen noch Werte stehen anstelle der Kästchen, Leer- und sonstigen (Sonder)zeichen. Für mich ergibt sich der Schluss, dass es sich dabei um eine falsche Interpretation des Editors handelt, der einen anderen Zeichensatz, eine andere Darstellungsform o.ä. verwenden müsste um ALLE Werte korrekt anzuzeigen.
Jetzt die konkrete Frage: Wie kann ich erstmal manuell und später auch zum programmieren unter C#.Net die "richtigen" Werte bekommen?

Danke schon im vorhinein für alle Antworten, wäre mir relativ wichtig hier (rasch) eine Lösung zu finden.
Mitglied: bastla
03.09.2007 um 20:50 Uhr
Hallo Shadow377!

Für die manuelle Vorgangsweise sollte ein beliebiger Hex-Editor (etwa tiny hexer) ausreichen ...

Grüße
bastla
Bitte warten ..
Mitglied: Shadow377
04.09.2007 um 00:06 Uhr
Danke für deine schnelle Antwort bastla
Ich habe den Editor mal runtergeladen und installiert. Allerdings muss ich gestehen dass ich noch nie mit einem Hex Editor gearbeitet habe und deshalb nicht so recht damit umgehen kann. Kannst du mir das bitte kurz erklären?
Prinzipiell ist mir mal aufgefallen, dass für den Wert für die Länge der Datei (abzüglich 8 Byte) 4 Byte verwendet werden, ganz wie es die Spezifikationen vorschreiben. Ich habe das ganze mal als eine Hex Zahl gesehen und umgerechnet, allerdings kommt das irgendwie so übehaupt nicht hin: F0BD0200 (Hex) = 4038918656 (Dez)
Die Dateigröße (Abmeldesound) ist allerdings 179.704 Byte und irgendwie verstehe ich nicht wie ich die zwei Zahlen in Einklang bringen soll. Man muss noch 8 Byte abziehen ok, aber selbst dann geht sich das nicht wirklich aus..
Habe ich hier einen Denkfehler, oder woran scheitert das?
Grüße Shadow377
Bitte warten ..
Mitglied: bastla
04.09.2007 um 00:31 Uhr
Hallo Shadow377!

Soweit ich das auf die Schnelle gesehen habe, wird die Länge im "Little Endian"-Format gespeichert - daher ist die entsprechende Hex-Zahl 0002BDF0 = Dezimal 179696 - das passt doch ganz gut.

Grüße
bastla
Bitte warten ..
Mitglied: Shadow377
04.09.2007 um 00:56 Uhr
Hmm....Da ist was wahres dran. Jetzt wo du es sagst glaube ich auch mich erinnern zu können dass da was von Little Endian gestanden ist, allerdings müsste ich da nochmal genauer nachlesen.
Allerdings gibt es auch hier wieder ein Problem:
F0BD0200 (Big Endian) = 0020DB0F (Little Endian) und nicht 0002BDF0. Das Ergebnis wäre zwar relativ schön und auch das, das ich gerne sehen würde, nur ist mir leider nicht ganz klar wie ich darauf kommen soll..
Ich hoffe es handelt sich hierbei um keinen Schreib-/Denkfehler meinerseits, was ich um diese Uhrzeit auch nicht mehr ausschließen kann da ich leider schon relativ müde bin.
Grüße und nochmals Dankeschön für die bisherige Hilfe
Shadow377
Bitte warten ..
Mitglied: bastla
04.09.2007 um 18:13 Uhr
Hallo Shadow377!

Du musst die Zahl byteweise betrachten, also
01.
F0 BD 02 00
Jetzt schreibst Du einfach die 4 Bytes in umgekehrter Reihenfolge an:
01.
00 02 BD F0
Die Nibbles musst Du nicht zusätzlich auch noch austauschen.

Grüße
bastla
Bitte warten ..
Mitglied: Shadow377
04.09.2007 um 23:59 Uhr
Danke für deine bisherige Hilfe bastla. Hat ganz gut geklappt und beim Little Endian hab ich das ganze leider Pro Hex Ziffer und nicht pro Byte umgedreht; danke für den Hinweis dass das ja falsch ist.
Werd mich jetzt mal weiter daran machen die Wave Datei manuell zu analysieren, gibt es gute Ideen , wie ich den Daten Teil auswerten könnte?

Weißt du (oder jemand anderer) vllt auch noch, wie ich das Ganze in ein C#.Net Programm einlesen kann und zwar so, dass es auswertbar ist (also in dem Fall wohl als Hex)?
Grüße Shadow377
Bitte warten ..
Ähnliche Inhalte
Windows Tools
Reg Auswertung mit Powershell (1)

Frage von Bommi1961 zum Thema Windows Tools ...

Windows Tools
gelöst Auswertung mit Powershell in der Reg (1)

Frage von Bommi1961 zum Thema Windows Tools ...

Batch & Shell
Dateien nach Datum verschieben (3)

Frage von LOWTIM zum Thema Batch & Shell ...

Neue Wissensbeiträge
Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Router & Routing

PfSense auf Supermicro Intel Xeon D-15x8 SoC Bare Bone

Tipp von Dobby zum Thema Router & Routing ...

Windows Server

Exchange 2010 auf Windows Server 2016 und AD

(2)

Tipp von Herbrich19 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Basic
Programmierung von Windows Programmen (9)

Frage von Ghost108 zum Thema Basic ...

LAN, WAN, Wireless
Brauche Hilfe: Mit (schnellem) WLAN Strecke überbrücken (8)

Frage von pierrehansen zum Thema LAN, WAN, Wireless ...

C und C++
Fehlendes verständiss von C und C++ (8)

Frage von zelamedia zum Thema C und C ...