Deutsch
Forum

MCI macht Kopfzerbrechen!

 

CB
Hi,

Folgendes Problem:
In mein Gutachten-Programm möchte ich ein Diktafon-Modul einbauen, das eine (Mono-)WAV-Datei erzeugt. Diese WAV soll in weiterer Folge einer Spracherkennungssoftware zugeführt werden können.

Habe mir zu Versuchszwecken ein simples Testprogramm gebastelt.
Aufnahme einer Wav-Datei mit Profan mittels
@MCISend$(record test to 10000) für 10 Sekunden Dauer, Datei speichern als Test.wav.
Das Auslesen der Dateilänge mittels @MCISend$(status PlayWave length) zeigt exakt 10000 (Millisekunden).

Aber
@MCISend$(record test) und Aufnahme manuell stoppen, Datei speichern als Test.wav und das Auslesen der Dateilänge mittels @MCISend$(status PlayWave length) bringt Hausnummern als Ergebnis!
Im TEST: (hier jeweils 12 Sek. Aufnahme, 16 bit, Mono):
keine Parameter gesetzt außer Mono: korrekte Länge von 12000 ms, aber saumäßige Störgeräusche!
mit 11025 Samplespersec: 23000 ms
bei 22050: 47004 ms
bei 44100: 95026 ms
Offenbar wird das entsprechende Bit bei der Aufnahme - ohne Längenangabe bereits vor der Aufnahme - in der Wav-Datei nicht gesetzt!
Wenn ich sämtliche eruierbaren Parameter aus dieser WAV auslese, stelle ich fest, daß 2 Parameter identisch sind, die das gar nicht sein dürften! (Position und die Anzahl der Samples, statt Millisekunden wird Anzahl der Samples gespeichert!!! Daran kann ich leider auch nichts ändern, sämtliche ich-weiß-nicht-wieviele Versuche mit Parameterkombinationen sind erfolglos geblieben!)

Ich würde für mein Projekt aber eine exakte Längenangabe auch bei variabler Aufnahmelänge brauchen und vor allem keine Störgeräusche, also mindestens 22050 Samplespersec, 16 bit.

Wenn die WAVE im PCM-Format gespeichert wird (Set format tag PCM), sind die Störgeräusche deutlich geringer, am grundsätzlichen Problem ändert sich aber nichts!

Der Windows MediaPlayer verweigert das Abspielen der so erzeugten Dateien mit mehr als 11025 Bitspersample und versucht stattdessen einen Codec-Download vom Internet (habe ich ihm bereits abgestellt).
Manche Player spielen die Dateien, meist aber mit falscher Längenangabe.
Ich brauche aber voll kompatible, klanglich einwandfreie WAV-Dateien, weil sonst die Spracherkennungssoftware Probleme machen würde!

Zum Vergleich: bei Aufnahme über verschiedene externe Audiorecorder und Abspielen über Profan: Immer exakte Längenangabe!

Nachdem die Profan-Hilfe puncto MCI und dessen Parametern leider nicht gerade ergiebig ist, habe ich im Internet gesucht und einen interessanten Artikel (eigentlich zu VisualBasic) gefunden. (Siehe Anhang, die Datei enthält auch Auszüge aus der MCI.hlp und Multimedia.hlp von Borland)
Die darin beschriebenen Befehle funktionieren fast alle auch unter Profan.
Ganz am Ende der Datei sind die interessantesten Hinweise:

zB. Bytespersec: Wenn ich diesen Parameter korrekt eingebe, passiert folgendes:
bei 22050 Samplespersec 16 bit und Mono ist BlockAlign = (Channels x Bitspersample/8), also 1 x 16/8 = 2
und Bytespersec müßte dann 44100 sein (Samplespersec x BlockAlign)
Aber:
BytesPerSec > 11025 erzeugt einen Fehler: Parameterwert zu groß!

Ich habe Roland kürzlich mit diesem Problem konfrontiert (Ist das ein MCI-Fehler oder liegts an Profan?)
Er meinte, daß das ein Windows-Fehler wäre, Profan reicht die MCI-Befehle 1:1 an die API weiter. Aber vielleicht doch nicht so ganz vollständig? Oder liegts an etwas ganz anderem???
Ich weiß einfach nicht mehr weiter! Vielleicht habt Ihr eine Idee?
Wenn ich bei diesem Problem hängenbleibe, bringt das mein Projekt tlw. zu Fall!

Im Anhang sind 4 Wav-Dateien, jeweils 2 mit Goldwave (nur digitale Stille!) und 2 mit meinem Testprogramm und Headset erzeugte. (Könnt ihr mich brabbeln hören...)
Dazu alles, was ich über MCI bisher ausfindig machen konnte. (Zig-mal mehr, als in der Profan-Hilfe steht!)

Ciao, Christian

755 kB
Hochgeladen:03.03.2005
Ladeanzahl53
Herunterladen
 
XProfan 8/9.1, Win XP, AMD 64/3200
03.03.2005  
 



Hallo Christian...

Ich kann mir auch nicht vorstellen, daß das an Profan liegt. Leider ist es schon ewig her, daß ich mich mit MCI beschäftigt habe (als ich Die kleine Mathemaus geschrieben habe). Ich brauche deshalb mal ein paar Quelltexte von dir. Wenn ich es zeitlich irgendwie einbauen kann, schau ich mir das Problem mal an...
 
03.03.2005  
 




GDL
Hallo Christian,

die ersten drei Dateien gehen,bei der 96k Datei höre ich dich brabbeln,die 4 Datei > 400k bricht mit Fehlermeldung Klasse nicht registriert ab.

Servus
Georg
 
Windows7 Xprofan 8,9,10 [...]  [...] 
03.03.2005  
 




Frank
Abbing
Hi,

ich denke auch, das liegt nicht an Profan.
Hast du es schon mit API versucht? Sieh mal nach unter waveInAddBuffer und ähnlichen Funktionen aus der winmm-library. Erscheint mir eh viel flexibler als die alte MCI-Geschichte...
 
03.03.2005  
 




Frank
Abbing
P.S.:

Dein Gebrabbel in Diktafon_10Sek_11025_8_1_PCM_USB.wav klingt für mich aber relativ deutlich. Sind nur wenige Störgeräusche darin hörbar. Die andere Datei ist leider nicht lesbar.

Wow, was für ein Dialekt...
 
03.03.2005  
 




CB
[quote:7e490223aa=Frank Abbing]P.S.:

Dein Gebrabbel in Diktafon_10Sek_11025_8_1_PCM_USB.wav klingt für mich aber relativ deutlich. Sind nur wenige Störgeräusche darin hörbar. Die andere Datei ist leider nicht lesbar.

Wow, was für ein Dialekt... [/quote:7e490223aa]
Hi,
bin halt geborener Wiener... , außerdem war ich da auch schon ziemlich müde und frustriert... :roll:
Interessanterweise kann der Player von IrfanView (!) beide Dateien normal wiedergeben.
Da merkst Du erst, wieviel klarer die Aufnahme mit 22050 ist.

Ich fürchte halt, daß Ihr beide recht habt mit Profan kann nix dafür. Stimmt, MCI ist veraltet und überholt, vom MM-System weiß ich aber leider nur soviel, daß das viel aufwendiger zu programmieren ist und die Resultate manchmal recht überraschend! Und MCI ist ja wirklich ganz simpel!

Habt Ihr vielleicht einen heißen Tip, wo ich an brauchbare Info, ev. sogar Beispielcodes zu WinMM herankomme? Ich habe die wochenlange, erfolglose Probiererei mit MCI bis unter die Haarwurzeln satt!

Ciao, Christian
 
XProfan 8/9.1, Win XP, AMD 64/3200
03.03.2005  
 




Frank
Abbing
Hi,

drück mal [...]  und du erhälst jede Menge Dokus. Unter anderem auch die mm.hlp Datei.
 
04.03.2005  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

4.876 Betrachtungen

Unbenanntvor 0 min.
H.Brill08.05.2024
KJ05.10.2014
Johannes Meyer21.12.2012
Rolf Koch28.11.2012
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie