Discover how the power of OpenAI's API can be harnessed in .NET applications to efficiently translate audio files into text. This article dives into the latest functionality added to a popular NuGet package, providing a hands-on guide to implementing audio-to-text translations with ease.
Introduction
OpenAI's advancements in artificial intelligence and machine learning have provided developers with powerful tools. The recent addition of audio translations functionality to the ConnectingApps.Refit.OpenAI NuGet package makes integrating OpenAI's API into .NET applications even more seamless. This article will walk you through utilizing the new audio translations feature.
Background
The ability to translate audio content is invaluable in a myriad of applications, ranging from multimedia content creation to accessibility tools. With multimedia being omnipresent in today's digital landscape, audio translations can play a significant role in creating inclusive and globalized applications.
For those new to this NuGet package, it was introduced in a previous article. Additionally, the package received an update, introducing image variations functionality, which was detailed here.
Using the Code
After ensuring that the NuGet package is installed in your project, the following steps will guide you to use the audio translations feature:
- Retrieve your OpenAI API key and set it as an environment variable.
- Read the audio file to be translated with the
FileStream
object. - Call the OpenAI API for audio translation.
Below is a C# code snippet showcasing this process:
using ConnectingApps.Refit.OpenAI;
using ConnectingApps.Refit.OpenAI.AudioTranslation;
using Refit;
var apiKey = Environment.GetEnvironmentVariable("OPENAI_KEY");
var authorizationHeader = $"Bearer {apiKey}";
await using (var recording = new FileStream
("HalloWereld.mp3", FileMode.Open, FileAccess.Read))
{
var openAiApi = RestService.For<iaudiotranslation>
("https://api.openai.com", OpenAiRefitSettings.RefitSettings);
var streamPart = new StreamPart(recording, "HalloWereld.mp3");
var response = await openAiApi.GetAudioTranslation
(authorizationHeader, streamPart, "whisper-1");
Console.WriteLine($"Returned response status code {response.StatusCode}");
Console.WriteLine($"Translated text {response.Content!.Text}");
}
For comprehensive details and additional examples, visit the package's GitHub repository.
Points of Interest
The ConnectingApps.Refit.OpenAI
NuGet package's evolution is a testament to the growing synergy between AI and modern development practices. The introduction of audio translations, especially, paves the way for a plethora of new applications, enhancing the user experience and breaking language barriers.
History
- 12th October, 2023: Detailed the newly added audio translations feature
- Earlier in October, 2023: Introduced the image variations feature
- Previously: Initial introduction of the NuGet package