Mozilla-Ocho / llamafile

Distribute and run LLMs with a single file.
https://llamafile.ai
Other
20.53k stars 1.03k forks source link

whisperfile server: convert files without ffmpeg #568

Closed cjpais closed 1 month ago

cjpais commented 1 month ago

This PR allows the whisperfile server to convert .wav, .mp3, .flac, and .ogg into the appropriate .wav file for whisper (16-bit 16000Hz) without any dependency on ffmpeg.

The ffmpeg support still remains under the --convert flag.

The main change here is giving read_wav a file instead of a buffer. Before it was given a buffer when run through the server, and a filename when run through the cli. Now it is unified to always use a filename.

In addition is_wav_buffer was removed, as the codepath is dead with the changes to use a filename throughout. This function was always expecting a buffer, but was receiving both filenames and buffers.