Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Rozpoznawanie mowy to technologia zamiany mowy na tekst oparta na sztucznej inteligencji, która transkrypuje dźwięk mówiony do tekstu w czasie rzeczywistym lub z wstępnie zarejestrowanych plików. Uruchamiając całkowicie na urządzeniu, zapewnia transkrypcję o małych opóźnieniach bez konieczności nawiązywania połączenia sieciowego ani wysyłania danych audio do chmury. Podobnie jak we wszystkich modelach sztucznej inteligencji, dane wyjściowe transkrypcji mogą nie zawsze być dokładne i powinny być weryfikowane pod kątem krytycznych przypadków użycia.
Dodawanie funkcji rozpoznawania mowy do aplikacji umożliwia scenariusze, w tym następujące:
- Transkrypowanie i napisy w czasie rzeczywistym na potrzeby spotkań lub odtwarzania multimediów
- Wykonywanie notatek i dyktowanie oparte na głosach
- Funkcje dostępności dla użytkowników korzystających z wprowadzania głosowego
- Transkrypcja nagranych plików audio, takich jak wywiady lub wykłady
- Polecenia głosowe i interakcja bez rąk w aplikacjach klasycznych
Interfejs API obsługuje dwa tryby operacji:
- Rozpoznawanie wsadowe: Transkrypcja całego pliku audio w jednym przebiegu, idealna do uprzednio nagranych materiałów.
- Rozpoznawanie strumieniowe: ciągła transkrypcja w czasie rzeczywistym z mikrofonu lub strumienia audio, zwracająca wyniki w miarę rozpoznawania kolejnych fraz.
Model SpeechRecognitionModel umożliwia transkrypcję mowy z plików audio lub strumieni audio w czasie rzeczywistym na urządzeniu.
Aby uzyskać szczegółowe informacje o interfejsie API, zobacz dokumentację interfejsu API funkcji mowy AI.
Aby uzyskać szczegółowe informacje na temat moderowania zawartości, zobacz Bezpieczeństwo zawartości za pomocą interfejsów API generowania sztucznej inteligencji.
Ważna
Wymagania manifestu pakietu: aby korzystać z interfejsów API tworzenia obrazów sztucznej inteligencji systemu Windows, aplikacja musi być spakowana jako pakiet MSIX z funkcją systemAIModels zadeklarowaną w pliku Package.appxmanifest. Ponadto upewnij się, że atrybut manifestu MaxVersionTested jest ustawiony na najnowszą wersję systemu Windows (np 10.0.26226.0 . lub nowszą), aby prawidłowo obsługiwać funkcje sztucznej inteligencji systemu Windows. Użycie starszych wartości może spowodować błędy "Nie zadeklarowane przez aplikację" podczas ładowania modelu.
<Dependencies>
<TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.17763.0" MaxVersionTested="10.0.26226.0" />
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.17763.0" MaxVersionTested="10.0.26226.0" />
</Dependencies>
Wymagania wstępne
- Wersja systemu Windows: Windows 11, wersja 24H2 (kompilacja 26100) lub nowsza
- Wersja zestawu WinAppSDK: Wersja 1.7.1 lub nowsza
- Sprzęt: komputer Copilot+ PC z układem NPU lub dowolny komputer z systemem Windows spełniający zalecane specyfikacje procesora
Obsługiwany sprzęt
Rozpoznawanie mowy działa na następującym sprzęcie:
| Sprzęt | Status | Details |
|---|---|---|
| NPU (Copilot+ PC) | ✅ Dostępny | Najlepsza wydajność. Model jest wstępnie zainstalowany. Zobacz przewodnik dla deweloperów Copilot+ PCs. |
| CPU | ✅ Dostępne (opcjonalne, wymienne) | Model nie jest wstępnie zainstalowany — zobacz Dostępność i pobieranie modelu. Najlepiej na urządzeniach spełniających zalecane specyfikacje procesora CPU. |
| procesor GPU | ❌ Nieobsługiwane | Rozpoznawanie mowy nie jest dostępne na procesorze GPU. |
Note
Wybór sprzętu jest automatyczny. Na komputerze Copilot+ PC z układem NPU funkcja rozpoznawania mowy zawsze działa na układzie NPU. Na urządzeniach innych niż Copilot+ działa ono automatycznie na procesorze CPU — na urządzeniu Copilot+ deweloper ani użytkownik końcowy nie mają możliwości wyboru procesora CPU. To jest zgodne ze wzorcem używanym przez inne interfejsy API sztucznej inteligencji w systemie Windows; zobacz Obsługiwany sprzęt, aby uzyskać przegląd obejmujący różne interfejsy API.
Zalecane specyfikacje procesora CPU
Rozpoznawanie mowy będzie działać na każdym procesorze, na którym działają pozostałe interfejsy API Windows AI, ale jakość i opóźnienie transkrypcji w czasie rzeczywistym zależą od wydajności procesora hosta.
Aby zapewnić dobrą wydajność procesora, wybieraj urządzenia spełniające wszystkie poniższe zalecane parametry:
- 4 lub więcej rdzeni fizycznych
- Zegar podstawowy 3 GHz lub wyższy
- 32 MB lub więcej pamięci podręcznej L3
Są to zalecenia, a nie twarde minimum — interfejs API nadal będzie próbował dokonać transkrypcji na urządzeniach o niższej specyfikacji. Aplikacje, które obsługują szeroki zakres procesorów CPU, mogą używać tego samego sprawdzania procesora CPU w czasie wykonywania, jak pokazano dla VSR — zobacz Zalecane specyfikacje procesora CPU dla VSR, aby zapoznać się z przykładem w języku C# korzystającym z System.Management (WMI). Użyj wyniku, aby sterować decyzjami dotyczącymi UX, na przykład domyślnie włączać rozpoznawanie wsadowe na sprzęcie o granicznych parametrach albo ukrywać opcję rozpoczęcia transmisji na żywo.
Dostępność i pobieranie modelu
Na komputerach Copilot+ PC model rozpoznawania mowy jest preinstalowany w procesorze NPU. Na urządzeniach tylko z procesorem CPU model nie jest wstępnie zainstalowany — jest pobierany na żądanie przy pierwszym wywołaniu aplikacji EnsureReadyAsync. Pobieranie jest uruchamiane w tle za pośrednictwem Windows Update. Użytkownicy końcowi mogą również później usunąć model, aby odzyskać miejsce na dysku.
To zachowanie jest zgodne z cyklem życia modelu używanym przez inne opcjonalne modele sztucznej inteligencji Windows — aplikacja musi jawnie obsługiwać przypadek "nie zainstalowano jeszcze", a nie zakładać, że model jest obecny.
Zalecany wzorzec środowiska użytkownika
Ponieważ model rozpoznawania mowy jest pobierany na żądanie na urządzeniach tylko z procesorem CPU, przed wywołaniem EnsureReadyAsyncpokaż okno dialogowe potwierdzenia, aby użytkownik mógł wyrazić zgodę na pobieranie w tle. Typowy wzorzec:
Wywołaj metodę GetReadyState i wykonaj rozgałęzienie na podstawie zwróconej wartości AIFeatureReadyState:
-
Ready— model jest zainstalowany; kontynuuj. -
NotReadylubEnsureNeeded— pokaż okno dialogowe zgody (patrz poniżej), a następnie zadzwońEnsureReadyAsynctylko wtedy, gdy użytkownik zgadza się. -
NotSupportedOnCurrentSystem— urządzenie nie spełnia wymagań określonych w sekcji Obsługiwany sprzęt. Zapewnij rozwiązanie zastępcze (na przykład Rozpoznawanie mowy za pośrednictwem pakietu Windows SDK lub usługę opartą na chmurze) oraz, w stosownych przypadkach, poinformuj o wymaganiach sprzętowych, aby użytkownik mógł podjąć świadomą decyzję o modernizacji.
-
W oknie dialogowym wyrażania zgody wyjaśnij:
- Zostanie pobrany opcjonalny model rozpoznawania mowy.
- Pobieranie odbywa się w tle za pośrednictwem Windows Update.
- Użytkownik może monitorować postęp pobierania pod adresem Settings>Windows Update.
- Użytkownik może później usunąć model w sekcji Ustawienia>System>Komponenty AI, jeśli nie będzie już go chciał.
Wskazówka
W ciągach wyświetlanych przez użytkownika (tekst okna dialogowego, komunikaty o stanie) model jest nazywany "modelem rozpoznawania mowy" lub "opcjonalnym modelem sztucznej inteligencji", a nie bazową nazwą modelu. Większość użytkowników końcowych nie zna nazw marek, a określenia ogólne wyraźniej wskazują ich przeznaczenie.
Gdy
EnsureReadyAsyncpostęp jest w toku, pokaż wskaźnik postępu w aplikacji. Zobacz Wprowadzenie do interfejsów API SI systemu Windows, aby zapoznać się ze wzorcem interfejsu użytkownika dla ładowania.
Po zainstalowaniu modelu
Model pozostaje na urządzeniu, dopóki użytkownik go nie usunie. Użytkownicy zarządzają zainstalowanymi modelami — w tym modelem rozpoznawania mowy — w obszarze Ustawienia>Systemowe>składniki sztucznej inteligencji. Jeśli użytkownik później usunie model, kolejne wywołanie GetReadyState przez aplikację zwróci NotReady lub EnsureNeeded i należy ponownie przeprowadzić proces uzyskania zgody oraz pobierania.
Wsadowe rozpoznawanie z pliku dźwiękowego
Użyj rozpoznawania wsadowego do transkrypcji całego pliku audio. Takie podejście jest idealne dla wstępnie nagranej zawartości audio.
- Wywołaj metodę GetReadyState i zaczekaj, aż funkcja EnsureReadyAsync zakończy się pomyślnie, aby potwierdzić, że model SpeechRecognitionModel jest gotowy.
- Gdy model będzie gotowy, wywołaj metodę TryCreateAsync, aby utworzyć obiekt SpeechRecognitionModel.
- Utwórz instancję BatchRecognition przy użyciu modelu SpeechRecognitionModel.
- Wywołaj metodę RecognizeFromFile ze ścieżką do pliku audio w celu transkrypcji.
using Microsoft.Windows.AI;
using Microsoft.Windows.AI.Speech;
if (SpeechRecognitionModel.GetReadyState() != AIFeatureReadyState.Ready)
{
await SpeechRecognitionModel.EnsureReadyAsync();
}
var speechModelResult = await SpeechRecognitionModel.TryCreateAsync();
if (speechModelResult.SpeechModel == null)
{
throw new InvalidOperationException(
$"Failed to create SpeechRecognitionModel: {speechModelResult.ExtendedError}");
}
var speechModel = speechModelResult.SpeechModel;
var batchRecognition = new BatchRecognition(speechModel);
string transcription = await batchRecognition.RecognizeFromFile("path/to/audio.wav");
Console.WriteLine($"Transcription: {transcription}");
Rozpoznawanie przesyłania strumieniowego ze źródła audio w czasie rzeczywistym
Użyj funkcji rozpoznawania przesyłania strumieniowego, aby transkrybować dźwięk w czasie rzeczywistym z mikrofonu lub innego urządzenia wejściowego audio. Takie podejście zapewnia końcowe wyniki w miarę rozpoznawania pełnych fraz.
- Wywołaj metodę GetReadyState i zaczekaj, aż funkcja EnsureReadyAsync zakończy się pomyślnie, aby potwierdzić, że model SpeechRecognitionModel jest gotowy.
- Gdy model będzie gotowy, wywołaj TryCreateAsync, aby utworzyć obiekt SpeechRecognitionModel.
- Utwórz element AudioConfiguration przy użyciu polecenia FromAudioDevice z nazwą urządzenia mikrofonu.
- Utwórz instancję StreamingRecognition za pomocą elementów AudioConfiguration i SpeechRecognitionModel.
- Zasubskrybuj zdarzenie Rozpoznane , aby otrzymywać wyniki transkrypcji.
- Wywołaj metodę StartContinuousRecognitionAsync , aby rozpocząć transkrypcję.
- Po zakończeniu wywołaj metodę StopContinuousRecognition .
using Microsoft.Windows.AI;
using Microsoft.Windows.AI.Speech;
if (SpeechRecognitionModel.GetReadyState() != AIFeatureReadyState.Ready)
{
await SpeechRecognitionModel.EnsureReadyAsync();
}
var speechModelResult = await SpeechRecognitionModel.TryCreateAsync();
if (speechModelResult.SpeechModel == null)
{
throw new InvalidOperationException(
$"Failed to create SpeechRecognitionModel: {speechModelResult.ExtendedError}");
}
var speechModel = speechModelResult.SpeechModel;
var audioConfig = AudioConfiguration.FromAudioDevice(microphoneDeviceName);
var streamingRecognition = new StreamingRecognition(audioConfig, speechModel);
// Subscribe to receive transcription results as phrases are recognized
streamingRecognition.Recognized += (sender, args) =>
{
Console.WriteLine($"Recognized: {args.Text}");
};
// Start real-time recognition
await streamingRecognition.StartContinuousRecognitionAsync();
// ... recognition is active, audio is being transcribed in real-time ...
// Stop recognition when done
streamingRecognition.StopContinuousRecognition();
Zobacz też
- Szept za pośrednictwem rozwiązania Foundry Local (system Windows 10+, nowy model , wydajność różni się, nie jest dostępny na wszystkich urządzeniach)
- Rozpoznawanie mowy za pomocą zestawu Windows SDK (system Windows 10 lub nowszy, starszy model, ale dostępne na wszystkich urządzeniach)
- Przykłady interfejsu API Windows AI
UWAGI I INFORMACJE DOTYCZĄCE MODELI STRON TRZECICH
Ten interfejs API używa składników z modelu OpenAI Whisper , który jest udostępniany w ramach następującej licencji:
Licencja MIT
Copyright (c) 2022 OpenAI
Niniejszym udzielana jest bezpłatna zgoda każdej osobie uzyskującej kopię tego oprogramowania i powiązanych plików dokumentacji ("Oprogramowanie"), na transakcje w Oprogramowaniu bez ograniczeń, w tym między innymi prawa do używania, kopiowania, modyfikowania, scalania, publikowania, rozpowszechniania, sublicencjonowania i/lub sprzedawania kopii Oprogramowania oraz zezwolenia osobom, do których oprogramowanie jest dostarczone, na to, z zastrzeżeniem następujących warunków:
Powyższa informacja o prawach autorskich oraz ta uwaga dotycząca uprawnień muszą być dołączone do wszystkich kopii lub istotnych fragmentów Oprogramowania.
OPROGRAMOWANIE JEST DOSTARCZONE W STANIE TAKIM, W JAKIM SIĘ ZNAJDUJE, BEZ ŻADNYCH GWARANCJI, JAWNYCH BĄDŹ DOROZUMIANYCH, W TYM Z TYTUŁU WARTOŚCI HANDLOWEJ, PRZYDATNOŚCI DO OKREŚLONEGO CELU I NIENARUSZALNOŚCI PRAW OSÓB TRZECICH. W ŻADNYM WYPADKU AUTORZY LUB WŁAŚCICIELE PRAW AUTORSKICH NIE PONOSZĄ ODPOWIEDZIALNOŚCI ZA JAKIEKOLWIEK ROSZCZENIA, SZKODY LUB INNĄ ODPOWIEDZIALNOŚĆ, NIEZALEŻNIE OD TEGO, CZY WYNIKAJĄ ONE Z UMOWY, CZYNU NIEDOZWOLONEGO CZY Z INNEJ PODSTAWY, POWSTAŁE W WYNIKU, Z TYTUŁU LUB W ZWIĄZKU Z OPROGRAMOWANIEM ALBO JEGO UŻYWANIEM LUB INNYMI DZIAŁANIAMI DOTYCZĄCYMI OPROGRAMOWANIA.