Ik heb een applicatie die een geluidsopname afspeelt in .WAV formaat. De originele opname is in .VOX formaat, maar dat wordt geconverteerd naar .WAV. (Het algorithme daarvoor heb ik van internet, ik ben niet bekend met de ins en outs van beide formaten). De WAV is 8Khz, 16bits/sample, mono.
Het probleem is als volgt: deze applicatie moet kunnen draaien onder zowel WinNT als Compaq unix (voorheen DEC unix) OSF4. En dat doet het ook, maar:
onder unix speelt hij 0.5% te traag af.
Nu zou je zeggen "what the heck, wat is nou 0.5%?" maar dat is in deze applicatie veel te veel. 0.5% is in 20 minuten toch al 6 seconden afwijking, en dat mag in dit geval gewoon niet.
De gebruikte libraries zijn de MS wave lib en de DEC (of Compaq) MME-lib (MultiMedia Environment) versie 2.42. Deze laatste is voor 95% compatible met de MS wave lib. Ik open de soundcard dus met WaveOutOpen en schrijf de data weg met WaveOutWrite.
De vraag: hoe kan ik de afspeelsnelheid 0.5% bijstellen? Ik heb in de doc's van geen van beide libs een mogelijkheid gevonden om de snelheid (pitch?) bij te regelen.... Ik hoop nu maar dat als iemand weet hoe dat in de MS lib moet, datzelfde ook werkt in de MME lib. Weet iemand of die mogelijkheid bestaat, en zo ja hoe?
Btw ik heb al geprobeerd om in de waveheader de samplefrekwentie te verhogen van 8000 naar 8040 in de hoop dat-ie dan 0.5% sneller afspeelt, maar dat wil niet
. Ik krijg nu foutmeldingen van unrecognized wave format of zo iets (weet 't niet exact meer, 'k zit momenteel thuis).
Het probleem is als volgt: deze applicatie moet kunnen draaien onder zowel WinNT als Compaq unix (voorheen DEC unix) OSF4. En dat doet het ook, maar:
onder unix speelt hij 0.5% te traag af.
Nu zou je zeggen "what the heck, wat is nou 0.5%?" maar dat is in deze applicatie veel te veel. 0.5% is in 20 minuten toch al 6 seconden afwijking, en dat mag in dit geval gewoon niet.
De gebruikte libraries zijn de MS wave lib en de DEC (of Compaq) MME-lib (MultiMedia Environment) versie 2.42. Deze laatste is voor 95% compatible met de MS wave lib. Ik open de soundcard dus met WaveOutOpen en schrijf de data weg met WaveOutWrite.
De vraag: hoe kan ik de afspeelsnelheid 0.5% bijstellen? Ik heb in de doc's van geen van beide libs een mogelijkheid gevonden om de snelheid (pitch?) bij te regelen.... Ik hoop nu maar dat als iemand weet hoe dat in de MS lib moet, datzelfde ook werkt in de MME lib. Weet iemand of die mogelijkheid bestaat, en zo ja hoe?
Btw ik heb al geprobeerd om in de waveheader de samplefrekwentie te verhogen van 8000 naar 8040 in de hoop dat-ie dan 0.5% sneller afspeelt, maar dat wil niet