Italia
Foro

MCI macht Kopfzerbrechen!

 

CB
Hi,

Folgendes Problem:
In mein Gutachten-Programm möchte ich ein Diktafon-Modul einbauen, das eine (Mono-)WAV-File 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-File mit Profan mittels
@MCISend$(record test to 10000) per 10 Sekunden Dauer, File 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, File 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-File 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 per 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 File mit mehr als 11025 Bitspersample und versucht stattdessen einen Codec-Download vom Internet (habe ich ihm bereits abgestellt).
Manche Player spielen die File, meist aber mit falscher Längenangabe.
Ich brauche aber voll kompatible, klanglich einwandfreie WAV-File, weil sonst die Spracherkennungssoftware Probleme machen würde!

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

Nachdem die Profan-Aiuto 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 File 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 File 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 grande!

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-File, 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 circa MCI bisher ausfindig machen konnte. (Zig-mal mehr, als in der Profan-Aiuto steht!)

Ciao, Christian

755 kB
Hochgeladen:03.03.2005
Downloadcounter54
Download
 
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 Fonte 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 File gehen,bei der 96k File höre ich dich brabbeln,die 4 File > 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 per mich aber relativ deutlich. Sind nur wenige Störgeräusche darin hörbar. Die andere File ist leider nicht lesbar.

Wow, was per ein Dialekt...
 
03.03.2005  
 




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

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

Wow, was per 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 File 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 File.
 
04.03.2005  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

4.950 Views

Untitledvor 0 min.
H.Brill08.05.2024
KJ05.10.2014
Johannes Meyer21.12.2012
Rolf Koch28.11.2012
Di più...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


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