Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Wav umwandeln (https://www.delphipraxis.net/55812-wav-umwandeln.html)

Matthias-k 27. Okt 2005 11:44


Wav umwandeln
 
Liste der Anhänge anzeigen (Anzahl: 1)
moin leutz,

folgendes Problem, was mir schon seit ein paar tagen den kopf zerbricht:

ich habe ein programm, welches wav dateien verarbeitet.

mit einem anderen Programm erzeuge ich wav dateien.

so, nun will ich mit dem programm, welches die dateien verarbeitet, die dateien aus programm nr2 verarbeiten. da gibt es leider nur ein problem: das programm erfordert eine datei wie datei nummer 1! (siehe anhang nr. 1)

diese 2 dateien unterscheiden sich nicht wesentlich, nur halt ist die erste datei (anscheinend) mono und die von mir erzeugete stereo! dadurch ist die bitrate anders.

die erste datei hat eine bitrate von 128 kbit/s. die von mir erzeugte aber 178 kbit/s.

wie kann ich die 2. datei so umwandeln, das sie ebenfalls 128 kbit/s hat?

ich habs bereits per mcisendstring versucht, die datei beim erzeugen abzuspielen und gleich wieder aufzunehmen, doch leider klappte das nicht! sie hatte dann zwar 128 kbit/s aber war nicht mehr zu gebrauchen.

in dem rar file sind beide wav dateien angehängt. output.wav ist die von mir erzeugte und nine.wav die bereits vorhanden funktionierende datei.


die output.wav wird per directss erzeugt. das aufnehmen durch mcisendstring hab ich folgendermaßen probiert:

Delphi-Quellcode:
procedure TForm1.DirectSS1AudioStart(Sender: TObject; hi, lo: Integer);
begin
  mciSendString('OPEN NEW TYPE WAVEAUDIO ALIAS mySound',nil,0,Handle);
  mciSendString('SET mySound ' +
                   'TIME FORMAT MS ' +
                   'BITSPERSAMPLE 16 ' +
                   'CHANNELS 1 ' +
                   'SAMPLESPERSEC 8000 ' +
                   'BYTESPERSEC 16000 ' +
                   'ALIGNMENT 4',
                   nil,0,handle);
  mciSendString('RECORD mySound',nil,0,Handle);
end;
Matthias

Matthias-k 27. Okt 2005 13:54

Re: Wav umwandeln
 
hab grade nochmal die hilfe zu den komponenten durchgeackert und entdeckt, das diese 16 bit, mono, 8.000 khz erfordern, und das im aLaw format.

nur wie wandel ich das dahin um?

Matthias-k 28. Okt 2005 10:34

Re: Wav umwandeln
 
ich hab jetzt was gefunden,

allerdings noch net das passende:

nennt sich waveconverter, ist eine active x kompo, und kann wav dateien in das benötigte alaw format umwandeln. nur leider kann es keine 16 bit verwenden, sondern nur 8 bit! und dadurch klappt es wieder nicht.

Matthias

Matthias-k 2. Nov 2005 09:27

Re: Wav umwandeln
 
auch, wenn sich nicht wirklich viele dafür interessieren!

folgende lösung wurde durch hilfe von dem user QuickAndDirty gefunden:

ich habe die anwendung zum telefonieren auf die komponente CapiIsdn umgestellt. diese wandelt intern die wav datei in das erforderliche format um.

matthias

QuickAndDirty 27. Nov 2007 16:23

Re: Wav umwandeln
 
*Thread-Necromantie wirk*

Hey Super das dir das geholfen hat,
ich hab dazu noch ein Frage ich hab hier (capiisdn-Komponenten) ja 2
Umwandlungs Tabellen von 13 Bit Linearem PCM nach 8 Bit aLaw und umgedreht.
Hab die Methode ProcessSending angeschaut und sehe da nur wie alles was geht über
den B3 Kanal raus gehauen wird.

Wenn ich jetzt ne 44 Khz Datei ins aLaw umwandeln will. Müste ich mir dann neue Tabellen Ausrechnen (ich mein
es bleiben ja 16 bit mono) oder kann man die b3data Sendegeschwindigkeit irgendwie beeinflussen?


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:54 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz