Suche MP3 to WAV decoder

Gast #1962319
Lesenswert?

Moin,

ich suche eine Software, die es mir ermöglicht MP§ oder WMA Datein in 
eine WAV Datei zu konvertieren. Dabei soll bei der WAV-Datei die 
Samplerate sowie Mono oder Stereo einstellbar sein. Ich möchte mir 
Datein erstellen, die ich später aufm AVR abspielen kann.

Leider ist das www zu voll damit, ich habe jetzt schon n paar Programme 
runtergeladen, die aber alle nicht das können.

Kann mir jemand ne einfaches Tool empfehlen?

Danke


Gruß Knut
Gast #1964198
Lesenswert?

wie kann ich mit lame eine mp3 datei in wav konvertieren?

folgendes funktioniert leider nicht;(

int main()
{
  int read, write;

    FILE *pcm = fopen("music_noisy.mp3", "rb");
    FILE *mp3 = fopen("music_noisy2.mp3", "wb");

    const int PCM_SIZE = 8192;
    const int MP3_SIZE = 8192;

  short int pcm_buffer[PCM_SIZE*2];
    short int pcm_buffer1[PCM_SIZE];
  short int pcm_buffer2[PCM_SIZE];
    unsigned char mp3_buffer[MP3_SIZE];

  mp3data_struct mp3data = {0};

  memset(pcm_buffer, 0, sizeof(pcm_buffer));
  memset(pcm_buffer1, 0, sizeof(pcm_buffer1));
  memset(pcm_buffer2, 0, sizeof(pcm_buffer2));
  memset(mp3_buffer, 0, sizeof(mp3_buffer));

    lame_t lame = lame_init();
  hip_t l = hip_decode_init();
    lame_set_in_samplerate(lame, 44100);
    lame_set_VBR(lame, vbr_default);
  //lame_set_mode(lame, MONO);
    lame_init_params(lame);

    do {
    read = fread(mp3_buffer, sizeof(unsigned char), MP3_SIZE, pcm);
    read = hip_decode_headers(l, mp3_buffer, MP3_SIZE, pcm_buffer1, 
pcm_buffer2, &mp3data);

    // nun haben wir die mp3 daten als wav in pcm_buffer1 und 
pcm_buffer2

    memcpy(pcm_buffer, pcm_buffer1, sizeof(pcm_buffer1));
    memcpy(&pcm_buffer[PCM_SIZE], pcm_buffer2, sizeof(pcm_buffer2));
        write = lame_encode_buffer_interleaved(lame, pcm_buffer, read, 
mp3_buffer, MP3_SIZE);
        fwrite(mp3_buffer, write, 1, mp3);
  } while (read != 0);

  hip_decode_exit(l);
    lame_close(lame);
    fclose(mp3);
    fclose(pcm);

    return 0;
}
#1964249
Lesenswert?

Muß dein Programm die Konvertierung unbedingt selber machen? Du könntest 
auch ein kleines Skript basteln, das das über Pipes extern macht, etwa 
in der Art:
1
mpg123 input.mp3 --wav - | deinprogramm | lame - output.mp3
(ggf. noch mit den gewünschten Qualitätseinstellungen)


Dann kanst du die wav-Daten direkt von stdin lesen und das Ergebnis auf 
stdout wieder rausschreiben.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren