openai/openai-dotnet

Public

mirrored from https://github.com/openai/openai-dotnetAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
OpenAI_2.6.0

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

examples/Audio/Example03_VerboseTrascriptionAsync.cs

43lines · modecode

1using NUnit.Framework;
2using OpenAI.Audio;
3using System;
4using System.IO;
5using System.Threading.Tasks;
6
7namespace OpenAI.Examples;
8
9public partial class AudioExamples
10{
11 [Test]
12 public async Task Example03_VerboseTranscriptionAsync()
13 {
14 AudioClient client = new("whisper-1", Environment.GetEnvironmentVariable("OPENAI_API_KEY"));
15
16 string audioFilePath = Path.Combine("Assets", "audio_houseplant_care.mp3");
17
18 AudioTranscriptionOptions options = new()
19 {
20 ResponseFormat = AudioTranscriptionFormat.Verbose,
21 TimestampGranularities = AudioTimestampGranularities.Word | AudioTimestampGranularities.Segment,
22 };
23
24 AudioTranscription transcription = await client.TranscribeAudioAsync(audioFilePath, options);
25
26 Console.WriteLine("Transcription:");
27 Console.WriteLine($"{transcription.Text}");
28
29 Console.WriteLine();
30 Console.WriteLine($"Words:");
31 foreach (TranscribedWord word in transcription.Words)
32 {
33 Console.WriteLine($" {word.Word,15} : {word.StartTime.TotalMilliseconds,5:0} - {word.EndTime.TotalMilliseconds,5:0}");
34 }
35
36 Console.WriteLine();
37 Console.WriteLine($"Segments:");
38 foreach (TranscribedSegment segment in transcription.Segments)
39 {
40 Console.WriteLine($" {segment.Text,90} : {segment.StartTime.TotalMilliseconds,5:0} - {segment.EndTime.TotalMilliseconds,5:0}");
41 }
42 }
43}
44