From d8b3cc16d7d5a22f79b2981c50c40e8dcd518c91 Mon Sep 17 00:00:00 2001 From: David Cantu Date: Tue, 16 Jun 2026 16:41:22 -0500 Subject: [PATCH] Auto-detect audio format from magic bytes in OpenAISpeechToTextClient (#7543) When the audio stream is not a FileStream, the client now peeks at the leading bytes to detect the format (wav, webm, m4a, mp3) and sets the multipart filename accordingly. This fixes HTTP 400 errors when sending non-MP3 audio (e.g. WAV) in a MemoryStream, since the OpenAI API uses the file extension to determine the audio format. - Add DetectAudioExtension using Span.SequenceEqual for readability - Add integration tests for all OpenAI-supported formats (mp3, wav, m4a, webm) - Add unit tests covering each magic-byte detection branch - Add ExpectedAudioFilename assertion to VerbatimMultiPartHttpHandler Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../OpenAISpeechToTextClient.cs | 90 ++++++++++++++++-- ...oft.Extensions.AI.Integration.Tests.csproj | 16 ++++ .../Resources/audio001.m4a | Bin 0 -> 32514 bytes .../Resources/audio001.wav | Bin 0 -> 138248 bytes .../Resources/audio001.webm | Bin 0 -> 39049 bytes .../Resources/audio001_noid3.mp3 | Bin 0 -> 13176 bytes .../SpeechToTextClientIntegrationTests.cs | 17 ++++ .../VerbatimMultiPartHttpHandler.cs | 33 ++++++- .../OpenAISpeechToTextClientTests.cs | 83 ++++++++++++++++ 9 files changed, 227 insertions(+), 12 deletions(-) create mode 100644 test/Libraries/Microsoft.Extensions.AI.Integration.Tests/Resources/audio001.m4a create mode 100644 test/Libraries/Microsoft.Extensions.AI.Integration.Tests/Resources/audio001.wav create mode 100644 test/Libraries/Microsoft.Extensions.AI.Integration.Tests/Resources/audio001.webm create mode 100644 test/Libraries/Microsoft.Extensions.AI.Integration.Tests/Resources/audio001_noid3.mp3 diff --git a/src/Libraries/Microsoft.Extensions.AI.OpenAI/OpenAISpeechToTextClient.cs b/src/Libraries/Microsoft.Extensions.AI.OpenAI/OpenAISpeechToTextClient.cs index b976f4a562a..4c35ff7a5a8 100644 --- a/src/Libraries/Microsoft.Extensions.AI.OpenAI/OpenAISpeechToTextClient.cs +++ b/src/Libraries/Microsoft.Extensions.AI.OpenAI/OpenAISpeechToTextClient.cs @@ -24,10 +24,6 @@ namespace Microsoft.Extensions.AI; [Experimental(DiagnosticIds.Experiments.AISpeechToText, UrlFormat = DiagnosticIds.UrlFormat)] internal sealed class OpenAISpeechToTextClient : ISpeechToTextClient { - /// Filename to use when audio lacks a name. - /// This information internally is required but is only being used to create a header name in the multipart request. - private const string Filename = "audio.mp3"; - /// Metadata about the client. private readonly SpeechToTextClientMetadata _metadata; @@ -64,9 +60,7 @@ public async Task GetTextAsync( SpeechToTextResponse response = new(); - string filename = audioSpeechStream is FileStream fileStream ? - Path.GetFileName(fileStream.Name) : // Use the file name if we can get one from the stream. - Filename; // Otherwise, use a default name; this is only used to create a header name in the multipart request. + string filename = ResolveFilename(audioSpeechStream); if (IsTranslationRequest(options)) { @@ -120,9 +114,7 @@ public async IAsyncEnumerable GetStreamingTextAsync( { _ = Throw.IfNull(audioSpeechStream); - string filename = audioSpeechStream is FileStream fileStream ? - Path.GetFileName(fileStream.Name) : // Use the file name if we can get one from the stream. - Filename; // Otherwise, use a default name; this is only used to create a header name in the multipart request. + string filename = ResolveFilename(audioSpeechStream); if (IsTranslationRequest(options)) { @@ -185,6 +177,84 @@ options is not null && options.TextLanguage is not null && (options.SpeechLanguage is null || options.SpeechLanguage != options.TextLanguage); + /// + /// Resolves the filename to use for the audio stream in the multipart request. + /// Priority: name, then magic-byte detection (seekable streams only), then default. + /// + private static string ResolveFilename(Stream audioSpeechStream) + { + const int FormatDetectionByteCount = 12; + + if (audioSpeechStream is FileStream fileStream) + { + return Path.GetFileName(fileStream.Name); + } + + // For seekable streams, peek at the header to detect audio format, then rewind. + if (audioSpeechStream.CanSeek) + { + byte[] header = new byte[FormatDetectionByteCount]; + int bytesRead = 0; + while (bytesRead < header.Length) + { + int n = audioSpeechStream.Read(header, bytesRead, header.Length - bytesRead); + if (n <= 0) + { + break; + } + + bytesRead += n; + } + + audioSpeechStream.Position -= bytesRead; + return $"audio.{DetectAudioExtension(header.AsSpan(0, bytesRead))}"; + } + + return "audio.mp3"; + } + + /// Detects the audio format extension from the leading bytes of the audio data. + private static string DetectAudioExtension(ReadOnlySpan header) + { + // WAV: "RIFF" at offset 0 and "WAVE" at offset 8. + if (header.Length >= 12 && + header.Slice(0, 4).SequenceEqual("RIFF"u8) && + header.Slice(8, 4).SequenceEqual("WAVE"u8)) + { + return "wav"; + } + + // WebM/Matroska: EBML header ID at offset 0. + if (header.Length >= 4 && + header.Slice(0, 4).SequenceEqual((ReadOnlySpan)[0x1A, 0x45, 0xDF, 0xA3])) + { + return "webm"; + } + + // M4A/MP4: ISO BMFF "ftyp" box type at offset 4. + if (header.Length >= 8 && + header.Slice(4, 4).SequenceEqual("ftyp"u8)) + { + return "m4a"; + } + + // MP3: ID3v2 tag at offset 0. + if (header.Length >= 3 && + header.Slice(0, 3).SequenceEqual("ID3"u8)) + { + return "mp3"; + } + + // MP3: MPEG frame sync word (11 set bits). + if (header.Length >= 2 && + header[0] == 0xFF && (header[1] & 0xE0) == 0xE0) + { + return "mp3"; + } + + return "mp3"; + } + /// Converts an extensions options instance to an OpenAI transcription options instance. private AudioTranscriptionOptions ToOpenAITranscriptionOptions(SpeechToTextOptions? options) { diff --git a/test/Libraries/Microsoft.Extensions.AI.Integration.Tests/Microsoft.Extensions.AI.Integration.Tests.csproj b/test/Libraries/Microsoft.Extensions.AI.Integration.Tests/Microsoft.Extensions.AI.Integration.Tests.csproj index ed657f5e2b6..0c6f1dba503 100644 --- a/test/Libraries/Microsoft.Extensions.AI.Integration.Tests/Microsoft.Extensions.AI.Integration.Tests.csproj +++ b/test/Libraries/Microsoft.Extensions.AI.Integration.Tests/Microsoft.Extensions.AI.Integration.Tests.csproj @@ -20,12 +20,28 @@ + + + + Never + + Never + + + Never + + + Never + + + Never + diff --git a/test/Libraries/Microsoft.Extensions.AI.Integration.Tests/Resources/audio001.m4a b/test/Libraries/Microsoft.Extensions.AI.Integration.Tests/Resources/audio001.m4a new file mode 100644 index 0000000000000000000000000000000000000000..a082110afce04ae7ce0514e9b3ee0410515ddbbe GIT binary patch literal 32514 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 Ud5ie%6nk^v6nj?S$HMx*00M9!ivR!s literal 0 HcmV?d00001 diff --git a/test/Libraries/Microsoft.Extensions.AI.Integration.Tests/Resources/audio001.wav b/test/Libraries/Microsoft.Extensions.AI.Integration.Tests/Resources/audio001.wav new file mode 100644 index 0000000000000000000000000000000000000000..9b655bb88e10f0375b2cbadb23b8e43f1e339be7 GIT binary patch literal 138248 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
|kE(;4#!coIEm!rceqBQ!)~Mqvl# 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 literal 0 HcmV?d00001 diff --git a/test/Libraries/Microsoft.Extensions.AI.Integration.Tests/Resources/audio001.webm b/test/Libraries/Microsoft.Extensions.AI.Integration.Tests/Resources/audio001.webm new file mode 100644 index 0000000000000000000000000000000000000000..98309fa200b7e874ccd301059bf27667cc8460c7 GIT binary patch literal 39049 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 literal 0 HcmV?d00001 diff --git a/test/Libraries/Microsoft.Extensions.AI.Integration.Tests/Resources/audio001_noid3.mp3 b/test/Libraries/Microsoft.Extensions.AI.Integration.Tests/Resources/audio001_noid3.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..9ef9e9378dcdac01d352f694297a02a7fb5b7b38 GIT binary patch literal 13176 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 SendAsync( HttpRequestMessage request, CancellationToken cancellationToken) @@ -111,8 +113,16 @@ protected override async Task SendAsync( // Text field string name = ExtractNameFromHeaders(headers); - // Skip file fields - if (!name.StartsWith("file")) + // For file fields, optionally check the filename + if (name.StartsWith("file")) + { + if (ExpectedAudioFilename is not null) + { + string? actualFilename = ExtractFilenameFromHeaders(headers); + Assert.Equal(ExpectedAudioFilename, actualFilename); + } + } + else { if (parameters.ContainsKey(name)) { @@ -185,6 +195,25 @@ private static string ExtractNameFromHeaders(string headers) return headers.Substring(start, end - start).Trim('"'); } + private static string? ExtractFilenameFromHeaders(string headers) + { + const string FilenamePrefix = "filename="; + int start = headers.IndexOf(FilenamePrefix); + if (start < 0) + { + return null; + } + + start += FilenamePrefix.Length; + int end = headers.IndexOf(";", start); + if (end == -1) + { + end = headers.Length; + } + + return headers.Substring(start, end - start).Trim('"'); + } + public static string? RemoveWhiteSpace(string? text) => text is null ? null : Regex.Replace(text, @"\s*", string.Empty); diff --git a/test/Libraries/Microsoft.Extensions.AI.OpenAI.Tests/OpenAISpeechToTextClientTests.cs b/test/Libraries/Microsoft.Extensions.AI.OpenAI.Tests/OpenAISpeechToTextClientTests.cs index 0605a3ed655..af640b3b598 100644 --- a/test/Libraries/Microsoft.Extensions.AI.OpenAI.Tests/OpenAISpeechToTextClientTests.cs +++ b/test/Libraries/Microsoft.Extensions.AI.OpenAI.Tests/OpenAISpeechToTextClientTests.cs @@ -352,4 +352,87 @@ private static ISpeechToTextClient CreateSpeechToTextClient(HttpClient httpClien new OpenAIClient(new ApiKeyCredential("apikey"), new OpenAIClientOptions { Transport = new HttpClientPipelineTransport(httpClient) }) .GetAudioClient(modelId) .AsISpeechToTextClient(); + + public static TheoryData AudioFormatDetectionData => new() + { + // WAV: RIFF____WAVE + { "RIFF\x00\x00\x00\x00WAVE"u8.ToArray(), "audio.wav" }, + + // MP3: ID3v2 tag + { new byte[] { (byte)'I', (byte)'D', (byte)'3', 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, "audio.mp3" }, + + // MP3: MPEG sync word (0xFF 0xFB) + { new byte[] { 0xFF, 0xFB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, "audio.mp3" }, + + // WebM/Matroska: EBML header + { new byte[] { 0x1A, 0x45, 0xDF, 0xA3, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, "audio.webm" }, + + // M4A/MP4: ISO BMFF ftyp box + { new byte[] { 0x00, 0x00, 0x00, 0x20, (byte)'f', (byte)'t', (byte)'y', (byte)'p', (byte)'M', (byte)'4', (byte)'A', (byte)' ' }, "audio.m4a" }, + + // Unknown bytes: defaults to mp3 + { new byte[] { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C }, "audio.mp3" }, + }; + + [Theory] + [MemberData(nameof(AudioFormatDetectionData))] + public async Task GetTextAsync_DetectsAudioFormatFromMagicBytes(byte[] header, string expectedFilename) + { + const string Input = """ + { + "model": "gpt-4o-transcribe" + } + """; + + const string Output = """ + { + "text":"Hello." + } + """; + + using var audioSpeechStream = new MemoryStream(header); + + using VerbatimMultiPartHttpHandler handler = new(Input, Output) + { + ExpectedAudioFilename = expectedFilename, + }; + using HttpClient httpClient = new(handler); + using ISpeechToTextClient client = CreateSpeechToTextClient(httpClient, "gpt-4o-transcribe"); + + var response = await client.GetTextAsync(audioSpeechStream); + Assert.NotNull(response); + } + + [Theory] + [MemberData(nameof(AudioFormatDetectionData))] + public async Task GetStreamingTextAsync_DetectsAudioFormatFromMagicBytes(byte[] header, string expectedFilename) + { + const string Input = """ + { + "model": "gpt-4o-transcribe", + "stream":true + } + """; + + const string Output = """ + { + "text":"Hello." + } + """; + + using var audioSpeechStream = new MemoryStream(header); + + using VerbatimMultiPartHttpHandler handler = new(Input, Output) + { + ExpectedRequestUriContains = "audio/transcriptions", + ExpectedAudioFilename = expectedFilename, + }; + using HttpClient httpClient = new(handler); + using ISpeechToTextClient client = CreateSpeechToTextClient(httpClient, "gpt-4o-transcribe"); + + await foreach (var update in client.GetStreamingTextAsync(audioSpeechStream)) + { + Assert.NotNull(update); + } + } }