Szybki start: tworzenie podpisów z zamianą mowy na tekst
Dokumentacja referencyjna Package (NuGet) | Dodatkowe przykłady w witrynie GitHub |
W tym przewodniku Szybki start uruchomisz aplikację konsolową, aby utworzyć podpisy z zamianą mowy na tekst.
Napiwek
Wypróbuj program Speech Studio i wybierz przykładowy klip wideo, aby zobaczyć wyniki transkrybowania w czasie rzeczywistym lub offline.
Napiwek
Wypróbuj zestaw narzędzi Azure AI Speech Toolkit , aby łatwo skompilować i uruchomić przykłady transkrybowania w programie Visual Studio Code.
Wymagania wstępne
- Subskrypcja platformy Azure. Możesz utworzyć go bezpłatnie.
- Utwórz zasób usługi Mowa w witrynie Azure Portal.
- Pobierz klucz zasobu usługi Mowa i region. Po wdrożeniu zasobu usługi Mowa wybierz pozycję Przejdź do zasobu , aby wyświetlić klucze i zarządzać nimi.
Konfigurowanie środowiska
Zestaw SPEECH SDK jest dostępny jako pakiet NuGet i implementuje platformę .NET Standard 2.0. Zestaw SPEECH SDK zostanie zainstalowany w dalszej części tego przewodnika, ale najpierw zapoznaj się z przewodnikiem instalacji zestawu SDK, aby uzyskać więcej wymagań.
Należy również zainstalować GStreamer dla skompresowanego dźwięku wejściowego.
Ustawianie zmiennych środowiskowych
Aby uzyskać dostęp do usług Azure AI, musisz uwierzytelnić aplikację. W tym artykule pokazano, jak używać zmiennych środowiskowych do przechowywania poświadczeń. Następnie możesz uzyskać dostęp do zmiennych środowiskowych z kodu w celu uwierzytelnienia aplikacji. W przypadku środowiska produkcyjnego użyj bezpieczniejszego sposobu przechowywania poświadczeń i uzyskiwania do nich dostępu.
Ważne
Zalecamy uwierzytelnianie za pomocą identyfikatora Entra firmy Microsoft z tożsamościami zarządzanymi dla zasobów platformy Azure, aby uniknąć przechowywania poświadczeń przy użyciu aplikacji uruchamianych w chmurze.
Jeśli używasz klucza interfejsu API, zapisz go bezpiecznie w innym miejscu, na przykład w usłudze Azure Key Vault. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie.
Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.
Aby ustawić zmienne środowiskowe dla klucza i regionu zasobu usługi Mowa, otwórz okno konsoli i postępuj zgodnie z instrukcjami dotyczącymi systemu operacyjnego i środowiska programistycznego.
- Aby ustawić zmienną
SPEECH_KEY
środowiskową, zastąp klucz jednym z kluczy zasobu. - Aby ustawić zmienną
SPEECH_REGION
środowiskową, zastąp region jednym z regionów zasobu.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Uwaga
Jeśli musisz uzyskać dostęp tylko do zmiennych środowiskowych w bieżącej konsoli, możesz ustawić zmienną środowiskową z wartością set
setx
zamiast .
Po dodaniu zmiennych środowiskowych może być konieczne ponowne uruchomienie wszystkich programów, które muszą odczytać zmienne środowiskowe, w tym okno konsoli. Jeśli na przykład używasz programu Visual Studio jako edytora, uruchom ponownie program Visual Studio przed uruchomieniem przykładu.
Tworzenie podpisów na podstawie mowy
Wykonaj następujące kroki, aby skompilować i uruchomić przykład kodu szybkiego startu z podpisami.
- Skopiuj przykładowe pliki scenarios/csharp/dotnetcore/captioning/ z usługi GitHub. Jeśli masz zainstalowane narzędzie Git, otwórz wiersz polecenia i uruchom
git clone
polecenie , aby pobrać repozytorium przykładów zestawu Speech SDK.git clone https://github.com/Azure-Samples/cognitive-services-speech-sdk.git
- Otwórz wiersz polecenia i przejdź do katalogu projektu.
cd <your-local-path>/scenarios/csharp/dotnetcore/captioning/captioning/
- Skompiluj projekt przy użyciu interfejsu wiersza polecenia platformy .NET.
dotnet build
- Uruchom aplikację z preferowanymi argumentami wiersza polecenia. Zobacz użycie i argumenty dotyczące dostępnych opcji. Oto przykład:
dotnet run --input caption.this.mp4 --format any --output caption.output.txt --srt --realTime --threshold 5 --delay 0 --profanity mask --phrases "Contoso;Jessie;Rehaan"
Ważne
Upewnij się, że ścieżki określone przez
--input
i--output
są prawidłowe. W przeciwnym razie należy zmienić ścieżki.Upewnij się, że ustawiono
SPEECH_KEY
zmienne środowiskowe iSPEECH_REGION
zgodnie z powyższym opisem. W przeciwnym razie użyj--key
argumentów i--region
.
Sprawdzanie wyników
W przypadku użycia realTime
opcji w powyższym przykładzie w danych wyjściowych zostaną uwzględnione częściowe wyniki zdarzeń Recognizing
. W tym przykładzie tylko ostatnie Recognized
zdarzenie zawiera przecinki. Przecinki nie są jedynymi różnicami między zdarzeniami Recognizing
i Recognized
. Aby uzyskać więcej informacji, zobacz Pobieranie wyników częściowych.
1
00:00:00,170 --> 00:00:00,380
The
2
00:00:00,380 --> 00:00:01,770
The rainbow
3
00:00:01,770 --> 00:00:02,560
The rainbow has seven
4
00:00:02,560 --> 00:00:03,820
The rainbow has seven colors
5
00:00:03,820 --> 00:00:05,050
The rainbow has seven colors red
6
00:00:05,050 --> 00:00:05,850
The rainbow has seven colors red
orange
7
00:00:05,850 --> 00:00:06,440
The rainbow has seven colors red
orange yellow
8
00:00:06,440 --> 00:00:06,730
The rainbow has seven colors red
orange yellow green
9
00:00:06,730 --> 00:00:07,160
orange, yellow, green, blue,
indigo and Violet.
W przypadku korzystania z --offline
opcji wyniki są stabilne z ostatniego Recognized
zdarzenia. Częściowe wyniki nie są uwzględniane w danych wyjściowych:
1
00:00:00,170 --> 00:00:05,540
The rainbow has seven colors, red,
orange, yellow, green, blue,
2
00:00:05,540 --> 00:00:07,160
indigo and Violet.
Format danych wyjściowych przedziału czasu SRT (SubRip Text) to hh:mm:ss,fff
. Aby uzyskać więcej informacji, zobacz Format danych wyjściowych podpisów.
Użycie i argumenty
Użycie: captioning --input <input file>
Opcje połączenia obejmują:
--key
: Klucz zasobu usługi Mowa. Zastępuje zmienną środowiskową SPEECH_KEY. Należy ustawić zmienną środowiskową (zalecaną--key
) lub użyć opcji .--region REGION
: Region zasobu usługi Mowa. Zastępuje zmienną środowiskową SPEECH_REGION. Należy ustawić zmienną środowiskową (zalecaną--region
) lub użyć opcji . Przykłady:westus
,northeurope
Ważne
Jeśli używasz klucza interfejsu API, zapisz go bezpiecznie w innym miejscu, na przykład w usłudze Azure Key Vault. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie.
Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.
Opcje wejściowe obejmują:
--input FILE
: Wprowadzanie dźwięku z pliku. Domyślne dane wejściowe to mikrofon.--format FORMAT
: użyj skompresowanego formatu audio. Prawidłowe tylko z--file
. Prawidłowe wartości toalaw
, ,any
,mp3
flac
,mulaw
, iogg_opus
. Domyślna wartość toany
. Aby użyćwav
pliku, nie należy określać formatu. Ta opcja nie jest dostępna w przykładzie podpisów w języku JavaScript. W przypadku skompresowanych plików audio, takich jak MP4, zainstaluj GStreamer i zobacz Jak używać skompresowanego dźwięku wejściowego.
Opcje językowe obejmują:
--language LANG
: określ język przy użyciu jednego z odpowiednich obsługiwanych ustawień regionalnych. Jest to używane podczas przerywania podpisów w wierszach. Wartość domyślna toen-US
.
Opcje rozpoznawania obejmują:
--offline
: Dane wyjściowe w trybie offline. Zastępuje .--realTime
Domyślny tryb danych wyjściowych jest w trybie offline.--realTime
: Dane wyjściowe w czasie rzeczywistym.
Dane wyjściowe w czasie rzeczywistym obejmują Recognizing
wyniki zdarzeń. Domyślne dane wyjściowe offline to Recognized
tylko wyniki zdarzenia. Są one zawsze zapisywane w konsoli, nigdy w pliku wyjściowym. Opcja --quiet
zastępuje to. Aby uzyskać więcej informacji, zobacz Pobieranie wyników rozpoznawania mowy.
Opcje dokładności obejmują:
--phrases PHRASE1;PHRASE2
: Można określić listę fraz, które mają być rozpoznawane, na przykładContoso;Jessie;Rehaan
. Aby uzyskać więcej informacji, zobacz Ulepszanie rozpoznawania za pomocą listy fraz.
Opcje danych wyjściowych obejmują:
--help
: Pokaż tę pomoc i zatrzymaj--output FILE
: Podpisy wyjściowe dla określonegofile
elementu . Ta flaga jest wymagana.--srt
: transkrypacje wyjściowe w formacie SRT (SubRip Text). Domyślny format to WebVTT (Web Video Text Track). Aby uzyskać więcej informacji na temat formatów plików podpisów SRT i WebVTT, zobacz Format danych wyjściowych podpisów.--maxLineLength LENGTH
: ustaw maksymalną liczbę znaków w wierszu dla podpisu na LENGTH. Minimalna wartość to 20. Wartość domyślna to 37 (30 dla języka chińskiego).--lines LINES
: ustaw liczbę wierszy dla podpisu na LINES. Wartość minimalna to 1. Wartość domyślna to 2.--delay MILLISECONDS
: Ile milisekund opóźnia wyświetlanie każdego podpisu, aby naśladować środowisko w czasie rzeczywistym. Ta opcja ma zastosowanie tylko wtedy, gdy używasz flagirealTime
. Wartość minimalna to 0,0. Wartość domyślna to 1000.--remainTime MILLISECONDS
: Ile milisekund powinno pozostać podpisem na ekranie, jeśli nie zostanie zastąpiony przez inny. Wartość minimalna to 0,0. Wartość domyślna to 1000.--quiet
: pomija dane wyjściowe konsoli, z wyjątkiem błędów.--profanity OPTION
: Prawidłowe wartości: nieprzetworzone, usuń, maska. Aby uzyskać więcej informacji, zobacz Pojęcia dotyczące filtru wulgaryzmów.--threshold NUMBER
: Ustaw stabilny próg wyniku częściowego. Domyślna wartość to3
. Ta opcja ma zastosowanie tylko wtedy, gdy używasz flagirealTime
. Aby uzyskać więcej informacji, zobacz Uzyskiwanie częściowych pojęć dotyczących wyników .
Czyszczenie zasobów
Aby usunąć utworzony zasób usługi Mowa, możesz użyć witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure.
Dokumentacja referencyjna Package (NuGet) | Dodatkowe przykłady w witrynie GitHub |
W tym przewodniku Szybki start uruchomisz aplikację konsolową, aby utworzyć podpisy z zamianą mowy na tekst.
Napiwek
Wypróbuj program Speech Studio i wybierz przykładowy klip wideo, aby zobaczyć wyniki transkrybowania w czasie rzeczywistym lub offline.
Napiwek
Wypróbuj zestaw narzędzi Azure AI Speech Toolkit , aby łatwo skompilować i uruchomić przykłady transkrybowania w programie Visual Studio Code.
Wymagania wstępne
- Subskrypcja platformy Azure. Możesz utworzyć go bezpłatnie.
- Utwórz zasób usługi Mowa w witrynie Azure Portal.
- Pobierz klucz zasobu usługi Mowa i region. Po wdrożeniu zasobu usługi Mowa wybierz pozycję Przejdź do zasobu , aby wyświetlić klucze i zarządzać nimi.
Konfigurowanie środowiska
Zestaw SPEECH SDK jest dostępny jako pakiet NuGet i implementuje platformę .NET Standard 2.0. Zestaw SPEECH SDK zostanie zainstalowany w dalszej części tego przewodnika, ale najpierw zapoznaj się z przewodnikiem instalacji zestawu SDK, aby uzyskać więcej wymagań
Należy również zainstalować GStreamer dla skompresowanego dźwięku wejściowego.
Ustawianie zmiennych środowiskowych
Aby uzyskać dostęp do usług Azure AI, musisz uwierzytelnić aplikację. W tym artykule pokazano, jak używać zmiennych środowiskowych do przechowywania poświadczeń. Następnie możesz uzyskać dostęp do zmiennych środowiskowych z kodu w celu uwierzytelnienia aplikacji. W przypadku środowiska produkcyjnego użyj bezpieczniejszego sposobu przechowywania poświadczeń i uzyskiwania do nich dostępu.
Ważne
Zalecamy uwierzytelnianie za pomocą identyfikatora Entra firmy Microsoft z tożsamościami zarządzanymi dla zasobów platformy Azure, aby uniknąć przechowywania poświadczeń przy użyciu aplikacji uruchamianych w chmurze.
Jeśli używasz klucza interfejsu API, zapisz go bezpiecznie w innym miejscu, na przykład w usłudze Azure Key Vault. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie.
Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.
Aby ustawić zmienne środowiskowe dla klucza i regionu zasobu usługi Mowa, otwórz okno konsoli i postępuj zgodnie z instrukcjami dotyczącymi systemu operacyjnego i środowiska programistycznego.
- Aby ustawić zmienną
SPEECH_KEY
środowiskową, zastąp klucz jednym z kluczy zasobu. - Aby ustawić zmienną
SPEECH_REGION
środowiskową, zastąp region jednym z regionów zasobu.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Uwaga
Jeśli musisz uzyskać dostęp tylko do zmiennych środowiskowych w bieżącej konsoli, możesz ustawić zmienną środowiskową z wartością set
setx
zamiast .
Po dodaniu zmiennych środowiskowych może być konieczne ponowne uruchomienie wszystkich programów, które muszą odczytać zmienne środowiskowe, w tym okno konsoli. Jeśli na przykład używasz programu Visual Studio jako edytora, uruchom ponownie program Visual Studio przed uruchomieniem przykładu.
Tworzenie podpisów na podstawie mowy
Wykonaj następujące kroki, aby skompilować i uruchomić przykład kodu szybkiego startu z programem Visual Studio Community 2022 w systemie Windows.
Pobierz lub skopiuj przykładowe pliki scenariuszy/cpp/windows/captioning/ z usługi GitHub do katalogu lokalnego.
captioning.sln
Otwórz plik rozwiązania w programie Visual Studio Community 2022.Zainstaluj zestaw SPEECH SDK w projekcie za pomocą menedżera pakietów NuGet.
Install-Package Microsoft.CognitiveServices.Speech
Otwórz ogólne właściwości>projektu.> Ustaw wartość Konfiguracja na
All configurations
. Ustaw wartość C++ Language Standard naISO C++17 Standard (/std:c++17)
.Otwórz program Build>Configuration Manager.
- W 64-bitowej instalacji systemu Windows ustaw opcję Aktywna platforma rozwiązania na
x64
wartość . - W 32-bitowej instalacji systemu Windows ustaw opcję Aktywna platforma rozwiązania na
x86
wartość .
- W 64-bitowej instalacji systemu Windows ustaw opcję Aktywna platforma rozwiązania na
Otwórz debugowanie właściwości>projektu.> Wprowadź preferowane argumenty wiersza polecenia w poleceniu Argumenty. Zobacz użycie i argumenty dotyczące dostępnych opcji. Oto przykład:
--input caption.this.mp4 --format any --output caption.output.txt --srt --realTime --threshold 5 --delay 0 --profanity mask --phrases "Contoso;Jessie;Rehaan"
Ważne
Upewnij się, że ścieżki określone przez
--input
i--output
są prawidłowe. W przeciwnym razie należy zmienić ścieżki.Upewnij się, że ustawiono
SPEECH_KEY
zmienne środowiskowe iSPEECH_REGION
zgodnie z powyższym opisem. W przeciwnym razie użyj--key
argumentów i--region
.Skompiluj i uruchom aplikację konsolową.
Sprawdzanie wyników
W przypadku użycia realTime
opcji w powyższym przykładzie w danych wyjściowych zostaną uwzględnione częściowe wyniki zdarzeń Recognizing
. W tym przykładzie tylko ostatnie Recognized
zdarzenie zawiera przecinki. Przecinki nie są jedynymi różnicami między zdarzeniami Recognizing
i Recognized
. Aby uzyskać więcej informacji, zobacz Pobieranie wyników częściowych.
1
00:00:00,170 --> 00:00:00,380
The
2
00:00:00,380 --> 00:00:01,770
The rainbow
3
00:00:01,770 --> 00:00:02,560
The rainbow has seven
4
00:00:02,560 --> 00:00:03,820
The rainbow has seven colors
5
00:00:03,820 --> 00:00:05,050
The rainbow has seven colors red
6
00:00:05,050 --> 00:00:05,850
The rainbow has seven colors red
orange
7
00:00:05,850 --> 00:00:06,440
The rainbow has seven colors red
orange yellow
8
00:00:06,440 --> 00:00:06,730
The rainbow has seven colors red
orange yellow green
9
00:00:06,730 --> 00:00:07,160
orange, yellow, green, blue,
indigo and Violet.
W przypadku korzystania z --offline
opcji wyniki są stabilne z ostatniego Recognized
zdarzenia. Częściowe wyniki nie są uwzględniane w danych wyjściowych:
1
00:00:00,170 --> 00:00:05,540
The rainbow has seven colors, red,
orange, yellow, green, blue,
2
00:00:05,540 --> 00:00:07,160
indigo and Violet.
Format danych wyjściowych przedziału czasu SRT (SubRip Text) to hh:mm:ss,fff
. Aby uzyskać więcej informacji, zobacz Format danych wyjściowych podpisów.
Użycie i argumenty
Użycie: captioning --input <input file>
Opcje połączenia obejmują:
--key
: Klucz zasobu usługi Mowa. Zastępuje zmienną środowiskową SPEECH_KEY. Należy ustawić zmienną środowiskową (zalecaną--key
) lub użyć opcji .--region REGION
: Region zasobu usługi Mowa. Zastępuje zmienną środowiskową SPEECH_REGION. Należy ustawić zmienną środowiskową (zalecaną--region
) lub użyć opcji . Przykłady:westus
,northeurope
Ważne
Jeśli używasz klucza interfejsu API, zapisz go bezpiecznie w innym miejscu, na przykład w usłudze Azure Key Vault. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie.
Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.
Opcje wejściowe obejmują:
--input FILE
: Wprowadzanie dźwięku z pliku. Domyślne dane wejściowe to mikrofon.--format FORMAT
: użyj skompresowanego formatu audio. Prawidłowe tylko z--file
. Prawidłowe wartości toalaw
, ,any
,mp3
flac
,mulaw
, iogg_opus
. Domyślna wartość toany
. Aby użyćwav
pliku, nie należy określać formatu. Ta opcja nie jest dostępna w przykładzie podpisów w języku JavaScript. W przypadku skompresowanych plików audio, takich jak MP4, zainstaluj GStreamer i zobacz Jak używać skompresowanego dźwięku wejściowego.
Opcje językowe obejmują:
--language LANG
: określ język przy użyciu jednego z odpowiednich obsługiwanych ustawień regionalnych. Jest to używane podczas przerywania podpisów w wierszach. Wartość domyślna toen-US
.
Opcje rozpoznawania obejmują:
--offline
: Dane wyjściowe w trybie offline. Zastępuje .--realTime
Domyślny tryb danych wyjściowych jest w trybie offline.--realTime
: Dane wyjściowe w czasie rzeczywistym.
Dane wyjściowe w czasie rzeczywistym obejmują Recognizing
wyniki zdarzeń. Domyślne dane wyjściowe offline to Recognized
tylko wyniki zdarzenia. Są one zawsze zapisywane w konsoli, nigdy w pliku wyjściowym. Opcja --quiet
zastępuje to. Aby uzyskać więcej informacji, zobacz Pobieranie wyników rozpoznawania mowy.
Opcje dokładności obejmują:
--phrases PHRASE1;PHRASE2
: Można określić listę fraz, które mają być rozpoznawane, na przykładContoso;Jessie;Rehaan
. Aby uzyskać więcej informacji, zobacz Ulepszanie rozpoznawania za pomocą listy fraz.
Opcje danych wyjściowych obejmują:
--help
: Pokaż tę pomoc i zatrzymaj--output FILE
: Podpisy wyjściowe dla określonegofile
elementu . Ta flaga jest wymagana.--srt
: transkrypacje wyjściowe w formacie SRT (SubRip Text). Domyślny format to WebVTT (Web Video Text Track). Aby uzyskać więcej informacji na temat formatów plików podpisów SRT i WebVTT, zobacz Format danych wyjściowych podpisów.--maxLineLength LENGTH
: ustaw maksymalną liczbę znaków w wierszu dla podpisu na LENGTH. Minimalna wartość to 20. Wartość domyślna to 37 (30 dla języka chińskiego).--lines LINES
: ustaw liczbę wierszy dla podpisu na LINES. Wartość minimalna to 1. Wartość domyślna to 2.--delay MILLISECONDS
: Ile milisekund opóźnia wyświetlanie każdego podpisu, aby naśladować środowisko w czasie rzeczywistym. Ta opcja ma zastosowanie tylko wtedy, gdy używasz flagirealTime
. Wartość minimalna to 0,0. Wartość domyślna to 1000.--remainTime MILLISECONDS
: Ile milisekund powinno pozostać podpisem na ekranie, jeśli nie zostanie zastąpiony przez inny. Wartość minimalna to 0,0. Wartość domyślna to 1000.--quiet
: pomija dane wyjściowe konsoli, z wyjątkiem błędów.--profanity OPTION
: Prawidłowe wartości: nieprzetworzone, usuń, maska. Aby uzyskać więcej informacji, zobacz Pojęcia dotyczące filtru wulgaryzmów.--threshold NUMBER
: Ustaw stabilny próg wyniku częściowego. Domyślna wartość to3
. Ta opcja ma zastosowanie tylko wtedy, gdy używasz flagirealTime
. Aby uzyskać więcej informacji, zobacz Uzyskiwanie częściowych pojęć dotyczących wyników .
Czyszczenie zasobów
Aby usunąć utworzony zasób usługi Mowa, możesz użyć witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure.
Dokumentacja referencyjna Package (Go) | Dodatkowe przykłady w witrynie GitHub |
W tym przewodniku Szybki start uruchomisz aplikację konsolową, aby utworzyć podpisy z zamianą mowy na tekst.
Napiwek
Wypróbuj program Speech Studio i wybierz przykładowy klip wideo, aby zobaczyć wyniki transkrybowania w czasie rzeczywistym lub offline.
Napiwek
Wypróbuj zestaw narzędzi Azure AI Speech Toolkit , aby łatwo skompilować i uruchomić przykłady transkrybowania w programie Visual Studio Code.
Wymagania wstępne
- Subskrypcja platformy Azure. Możesz utworzyć go bezpłatnie.
- Utwórz zasób usługi Mowa w witrynie Azure Portal.
- Pobierz klucz zasobu usługi Mowa i region. Po wdrożeniu zasobu usługi Mowa wybierz pozycję Przejdź do zasobu , aby wyświetlić klucze i zarządzać nimi.
Konfigurowanie środowiska
Sprawdź, czy istnieją jakieś kroki instalacji specyficzne dla platformy.
Należy również zainstalować GStreamer dla skompresowanego dźwięku wejściowego.
Tworzenie podpisów na podstawie mowy
Wykonaj następujące kroki, aby skompilować i uruchomić przykład kodu szybkiego startu z podpisami.
Pobierz lub skopiuj przykładowe pliki scenariuszy/go/captioning/ z usługi GitHub do katalogu lokalnego.
Otwórz wiersz polecenia w tym samym katalogu co
captioning.go
.Uruchom następujące polecenia, aby utworzyć
go.mod
plik, który łączy się ze składnikami zestawu SPEECH SDK hostowanymi w usłudze GitHub:go mod init captioning go get github.com/Microsoft/cognitive-services-speech-sdk-go
Skompiluj moduł GO.
go build
Uruchom aplikację z preferowanymi argumentami wiersza polecenia. Zobacz użycie i argumenty dotyczące dostępnych opcji. Oto przykład:
go run captioning --key YourSubscriptionKey --region YourServiceRegion --input caption.this.mp4 --format any --output caption.output.txt --srt --recognizing --threshold 5 --profanity mask --phrases "Contoso;Jessie;Rehaan"
Zastąp
YourSubscriptionKey
ciąg kluczem zasobu usługi Mowa i zastąpYourServiceRegion
ciąg regionem zasobów usługi Mowa, takim jakwestus
lubnortheurope
. Upewnij się, że ścieżki określone przez--input
i--output
są prawidłowe. W przeciwnym razie należy zmienić ścieżki.Ważne
Pamiętaj, aby usunąć klucz z kodu po zakończeniu i nigdy nie publikować go publicznie. W przypadku środowiska produkcyjnego użyj bezpiecznego sposobu przechowywania i uzyskiwania dostępu do poświadczeń, takich jak usługa Azure Key Vault. Aby uzyskać więcej informacji, zobacz artykuł Dotyczący zabezpieczeń usług Azure AI.
Sprawdzanie wyników
Plik wyjściowy z pełnymi podpisami jest zapisywany w pliku caption.output.txt
. Wyniki pośrednie są wyświetlane w konsoli programu :
00:00:00,180 --> 00:00:01,600
Welcome to
00:00:00,180 --> 00:00:01,820
Welcome to applied
00:00:00,180 --> 00:00:02,420
Welcome to applied mathematics
00:00:00,180 --> 00:00:02,930
Welcome to applied mathematics course
00:00:00,180 --> 00:00:03,100
Welcome to applied Mathematics course 2
00:00:00,180 --> 00:00:03,230
Welcome to applied Mathematics course 201.
Format danych wyjściowych przedziału czasu SRT (SubRip Text) to hh:mm:ss,fff
. Aby uzyskać więcej informacji, zobacz Format danych wyjściowych podpisów.
Użycie i argumenty
Użycie: go run captioning.go helper.go --key <key> --region <region> --input <input file>
Opcje połączenia obejmują:
--key
: Klucz zasobu usługi Mowa.--region REGION
: Region zasobu usługi Mowa. Przykłady:westus
,northeurope
Opcje wejściowe obejmują:
--input FILE
: Wprowadzanie dźwięku z pliku. Domyślne dane wejściowe to mikrofon.--format FORMAT
: użyj skompresowanego formatu audio. Prawidłowe tylko z--file
. Prawidłowe wartości toalaw
, ,any
,mp3
flac
,mulaw
, iogg_opus
. Domyślna wartość toany
. Aby użyćwav
pliku, nie należy określać formatu. Ta opcja nie jest dostępna w przykładzie podpisów w języku JavaScript. W przypadku skompresowanych plików audio, takich jak MP4, zainstaluj GStreamer i zobacz Jak używać skompresowanego dźwięku wejściowego.
Opcje językowe obejmują:
--languages LANG1,LANG2
: Włącz identyfikację języka dla określonych języków. Na przykład:en-US,ja-JP
. Ta opcja jest dostępna tylko w przypadku przykładów podpisów w języku C++, C# i Python. Aby uzyskać więcej informacji, zobacz Identyfikacja języka.
Opcje rozpoznawania obejmują:
--recognizing
: Wyniki zdarzeń wyjściowychRecognizing
. Domyślne dane wyjściowe toRecognized
tylko wyniki zdarzenia. Są one zawsze zapisywane w konsoli, nigdy w pliku wyjściowym. Opcja--quiet
zastępuje to. Aby uzyskać więcej informacji, zobacz Pobieranie wyników rozpoznawania mowy.
Opcje dokładności obejmują:
--phrases PHRASE1;PHRASE2
: Można określić listę fraz, które mają być rozpoznawane, na przykładContoso;Jessie;Rehaan
. Aby uzyskać więcej informacji, zobacz Ulepszanie rozpoznawania za pomocą listy fraz.
Opcje danych wyjściowych obejmują:
--help
: Pokaż tę pomoc i zatrzymaj--output FILE
: Podpisy wyjściowe dla określonegofile
elementu . Ta flaga jest wymagana.--srt
: transkrypacje wyjściowe w formacie SRT (SubRip Text). Domyślny format to WebVTT (Web Video Text Track). Aby uzyskać więcej informacji na temat formatów plików podpisów SRT i WebVTT, zobacz Format danych wyjściowych podpisów.--quiet
: pomija dane wyjściowe konsoli, z wyjątkiem błędów.--profanity OPTION
: Prawidłowe wartości: nieprzetworzone, usuń, maska. Aby uzyskać więcej informacji, zobacz Pojęcia dotyczące filtru wulgaryzmów.--threshold NUMBER
: Ustaw stabilny próg wyniku częściowego. Domyślna wartość to3
. Aby uzyskać więcej informacji, zobacz Uzyskiwanie częściowych pojęć dotyczących wyników .
Czyszczenie zasobów
Aby usunąć utworzony zasób usługi Mowa, możesz użyć witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure.
| Dokumentacja referencyjna Dodatkowe przykłady w usłudze GitHub
W tym przewodniku Szybki start uruchomisz aplikację konsolową, aby utworzyć podpisy z zamianą mowy na tekst.
Napiwek
Wypróbuj program Speech Studio i wybierz przykładowy klip wideo, aby zobaczyć wyniki transkrybowania w czasie rzeczywistym lub offline.
Napiwek
Wypróbuj zestaw narzędzi Azure AI Speech Toolkit , aby łatwo skompilować i uruchomić przykłady transkrybowania w programie Visual Studio Code.
Wymagania wstępne
- Subskrypcja platformy Azure. Możesz utworzyć go bezpłatnie.
- Utwórz zasób usługi Mowa w witrynie Azure Portal.
- Pobierz klucz zasobu usługi Mowa i region. Po wdrożeniu zasobu usługi Mowa wybierz pozycję Przejdź do zasobu , aby wyświetlić klucze i zarządzać nimi.
Konfigurowanie środowiska
Przed wykonaniem niczego należy zainstalować zestaw SPEECH SDK. Przykład w tym przewodniku Szybki start działa z kompilacją Microsoft Build zestawu OpenJDK 17
- Zainstaluj narzędzie Apache Maven. Następnie uruchom polecenie
mvn -v
, aby potwierdzić pomyślną instalację. - Utwórz nowy
pom.xml
plik w katalogu głównym projektu i skopiuj do niego następujące elementy:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.microsoft.cognitiveservices.speech.samples</groupId> <artifactId>quickstart-eclipse</artifactId> <version>1.0.0-SNAPSHOT</version> <build> <sourceDirectory>src</sourceDirectory> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.7.0</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>com.microsoft.cognitiveservices.speech</groupId> <artifactId>client-sdk</artifactId> <version>1.42.0</version> </dependency> </dependencies> </project>
- Zainstaluj zestaw SPEECH SDK i zależności.
mvn clean dependency:copy-dependencies
- Należy również zainstalować GStreamer dla skompresowanego dźwięku wejściowego.
Ustawianie zmiennych środowiskowych
Aby uzyskać dostęp do usług Azure AI, musisz uwierzytelnić aplikację. W tym artykule pokazano, jak używać zmiennych środowiskowych do przechowywania poświadczeń. Następnie możesz uzyskać dostęp do zmiennych środowiskowych z kodu w celu uwierzytelnienia aplikacji. W przypadku środowiska produkcyjnego użyj bezpieczniejszego sposobu przechowywania poświadczeń i uzyskiwania do nich dostępu.
Ważne
Zalecamy uwierzytelnianie za pomocą identyfikatora Entra firmy Microsoft z tożsamościami zarządzanymi dla zasobów platformy Azure, aby uniknąć przechowywania poświadczeń przy użyciu aplikacji uruchamianych w chmurze.
Jeśli używasz klucza interfejsu API, zapisz go bezpiecznie w innym miejscu, na przykład w usłudze Azure Key Vault. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie.
Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.
Aby ustawić zmienne środowiskowe dla klucza i regionu zasobu usługi Mowa, otwórz okno konsoli i postępuj zgodnie z instrukcjami dotyczącymi systemu operacyjnego i środowiska programistycznego.
- Aby ustawić zmienną
SPEECH_KEY
środowiskową, zastąp klucz jednym z kluczy zasobu. - Aby ustawić zmienną
SPEECH_REGION
środowiskową, zastąp region jednym z regionów zasobu.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Uwaga
Jeśli musisz uzyskać dostęp tylko do zmiennych środowiskowych w bieżącej konsoli, możesz ustawić zmienną środowiskową z wartością set
setx
zamiast .
Po dodaniu zmiennych środowiskowych może być konieczne ponowne uruchomienie wszystkich programów, które muszą odczytać zmienne środowiskowe, w tym okno konsoli. Jeśli na przykład używasz programu Visual Studio jako edytora, uruchom ponownie program Visual Studio przed uruchomieniem przykładu.
Tworzenie podpisów na podstawie mowy
Wykonaj następujące kroki, aby skompilować i uruchomić przykład kodu szybkiego startu z podpisami.
- Skopiuj przykładowe pliki scenarios/java/jre/captioning/ z usługi GitHub do katalogu projektu. Plik
pom.xml
utworzony w konfiguracji środowiska musi również znajdować się w tym katalogu. - Otwórz wiersz polecenia i uruchom to polecenie, aby skompilować pliki projektu.
javac Captioning.java -cp ".;target\dependency\*" -encoding UTF-8
- Uruchom aplikację z preferowanymi argumentami wiersza polecenia. Zobacz użycie i argumenty dotyczące dostępnych opcji. Oto przykład:
java -cp ".;target\dependency\*" Captioning --input caption.this.mp4 --format any --output caption.output.txt --srt --realTime --threshold 5 --delay 0 --profanity mask --phrases "Contoso;Jessie;Rehaan"
Ważne
Upewnij się, że ścieżki określone przez
--input
i--output
są prawidłowe. W przeciwnym razie należy zmienić ścieżki.Upewnij się, że ustawiono
SPEECH_KEY
zmienne środowiskowe iSPEECH_REGION
zgodnie z powyższym opisem. W przeciwnym razie użyj--key
argumentów i--region
.
Sprawdzanie wyników
W przypadku użycia realTime
opcji w powyższym przykładzie w danych wyjściowych zostaną uwzględnione częściowe wyniki zdarzeń Recognizing
. W tym przykładzie tylko ostatnie Recognized
zdarzenie zawiera przecinki. Przecinki nie są jedynymi różnicami między zdarzeniami Recognizing
i Recognized
. Aby uzyskać więcej informacji, zobacz Pobieranie wyników częściowych.
1
00:00:00,170 --> 00:00:00,380
The
2
00:00:00,380 --> 00:00:01,770
The rainbow
3
00:00:01,770 --> 00:00:02,560
The rainbow has seven
4
00:00:02,560 --> 00:00:03,820
The rainbow has seven colors
5
00:00:03,820 --> 00:00:05,050
The rainbow has seven colors red
6
00:00:05,050 --> 00:00:05,850
The rainbow has seven colors red
orange
7
00:00:05,850 --> 00:00:06,440
The rainbow has seven colors red
orange yellow
8
00:00:06,440 --> 00:00:06,730
The rainbow has seven colors red
orange yellow green
9
00:00:06,730 --> 00:00:07,160
orange, yellow, green, blue,
indigo and Violet.
W przypadku korzystania z --offline
opcji wyniki są stabilne z ostatniego Recognized
zdarzenia. Częściowe wyniki nie są uwzględniane w danych wyjściowych:
1
00:00:00,170 --> 00:00:05,540
The rainbow has seven colors, red,
orange, yellow, green, blue,
2
00:00:05,540 --> 00:00:07,160
indigo and Violet.
Format danych wyjściowych przedziału czasu SRT (SubRip Text) to hh:mm:ss,fff
. Aby uzyskać więcej informacji, zobacz Format danych wyjściowych podpisów.
Użycie i argumenty
Użycie: java -cp ".;target\dependency\*" Captioning --input <input file>
Opcje połączenia obejmują:
--key
: Klucz zasobu usługi Mowa. Zastępuje zmienną środowiskową SPEECH_KEY. Należy ustawić zmienną środowiskową (zalecaną--key
) lub użyć opcji .--region REGION
: Region zasobu usługi Mowa. Zastępuje zmienną środowiskową SPEECH_REGION. Należy ustawić zmienną środowiskową (zalecaną--region
) lub użyć opcji . Przykłady:westus
,northeurope
Ważne
Jeśli używasz klucza interfejsu API, zapisz go bezpiecznie w innym miejscu, na przykład w usłudze Azure Key Vault. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie.
Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.
Opcje wejściowe obejmują:
--input FILE
: Wprowadzanie dźwięku z pliku. Domyślne dane wejściowe to mikrofon.--format FORMAT
: użyj skompresowanego formatu audio. Prawidłowe tylko z--file
. Prawidłowe wartości toalaw
, ,any
,mp3
flac
,mulaw
, iogg_opus
. Domyślna wartość toany
. Aby użyćwav
pliku, nie należy określać formatu. Ta opcja nie jest dostępna w przykładzie podpisów w języku JavaScript. W przypadku skompresowanych plików audio, takich jak MP4, zainstaluj GStreamer i zobacz Jak używać skompresowanego dźwięku wejściowego.
Opcje językowe obejmują:
--language LANG
: określ język przy użyciu jednego z odpowiednich obsługiwanych ustawień regionalnych. Jest to używane podczas przerywania podpisów w wierszach. Wartość domyślna toen-US
.
Opcje rozpoznawania obejmują:
--offline
: Dane wyjściowe w trybie offline. Zastępuje .--realTime
Domyślny tryb danych wyjściowych jest w trybie offline.--realTime
: Dane wyjściowe w czasie rzeczywistym.
Dane wyjściowe w czasie rzeczywistym obejmują Recognizing
wyniki zdarzeń. Domyślne dane wyjściowe offline to Recognized
tylko wyniki zdarzenia. Są one zawsze zapisywane w konsoli, nigdy w pliku wyjściowym. Opcja --quiet
zastępuje to. Aby uzyskać więcej informacji, zobacz Pobieranie wyników rozpoznawania mowy.
Opcje dokładności obejmują:
--phrases PHRASE1;PHRASE2
: Można określić listę fraz, które mają być rozpoznawane, na przykładContoso;Jessie;Rehaan
. Aby uzyskać więcej informacji, zobacz Ulepszanie rozpoznawania za pomocą listy fraz.
Opcje danych wyjściowych obejmują:
--help
: Pokaż tę pomoc i zatrzymaj--output FILE
: Podpisy wyjściowe dla określonegofile
elementu . Ta flaga jest wymagana.--srt
: transkrypacje wyjściowe w formacie SRT (SubRip Text). Domyślny format to WebVTT (Web Video Text Track). Aby uzyskać więcej informacji na temat formatów plików podpisów SRT i WebVTT, zobacz Format danych wyjściowych podpisów.--maxLineLength LENGTH
: ustaw maksymalną liczbę znaków w wierszu dla podpisu na LENGTH. Minimalna wartość to 20. Wartość domyślna to 37 (30 dla języka chińskiego).--lines LINES
: ustaw liczbę wierszy dla podpisu na LINES. Wartość minimalna to 1. Wartość domyślna to 2.--delay MILLISECONDS
: Ile milisekund opóźnia wyświetlanie każdego podpisu, aby naśladować środowisko w czasie rzeczywistym. Ta opcja ma zastosowanie tylko wtedy, gdy używasz flagirealTime
. Wartość minimalna to 0,0. Wartość domyślna to 1000.--remainTime MILLISECONDS
: Ile milisekund powinno pozostać podpisem na ekranie, jeśli nie zostanie zastąpiony przez inny. Wartość minimalna to 0,0. Wartość domyślna to 1000.--quiet
: pomija dane wyjściowe konsoli, z wyjątkiem błędów.--profanity OPTION
: Prawidłowe wartości: nieprzetworzone, usuń, maska. Aby uzyskać więcej informacji, zobacz Pojęcia dotyczące filtru wulgaryzmów.--threshold NUMBER
: Ustaw stabilny próg wyniku częściowego. Domyślna wartość to3
. Ta opcja ma zastosowanie tylko wtedy, gdy używasz flagirealTime
. Aby uzyskać więcej informacji, zobacz Uzyskiwanie częściowych pojęć dotyczących wyników .
Czyszczenie zasobów
Aby usunąć utworzony zasób usługi Mowa, możesz użyć witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure.
Dokumentacja referencyjna | Package (npm) | Dodatkowe przykłady w kodzie źródłowym biblioteki GitHub |
W tym przewodniku Szybki start uruchomisz aplikację konsolową, aby utworzyć podpisy z zamianą mowy na tekst.
Napiwek
Wypróbuj program Speech Studio i wybierz przykładowy klip wideo, aby zobaczyć wyniki transkrybowania w czasie rzeczywistym lub offline.
Napiwek
Wypróbuj zestaw narzędzi Azure AI Speech Toolkit , aby łatwo skompilować i uruchomić przykłady transkrybowania w programie Visual Studio Code.
Wymagania wstępne
- Subskrypcja platformy Azure. Możesz utworzyć go bezpłatnie.
- Utwórz zasób usługi Mowa w witrynie Azure Portal.
- Pobierz klucz zasobu usługi Mowa i region. Po wdrożeniu zasobu usługi Mowa wybierz pozycję Przejdź do zasobu , aby wyświetlić klucze i zarządzać nimi.
Konfigurowanie środowiska
Przed wykonaniem dowolnych czynności należy zainstalować zestaw SPEECH SDK dla języka JavaScript. Jeśli chcesz tylko, aby nazwa pakietu została zainstalowana, uruchom polecenie npm install microsoft-cognitiveservices-speech-sdk
. Aby uzyskać instrukcje instalacji z przewodnikiem, zobacz przewodnik instalacji zestawu SDK.
Tworzenie podpisów na podstawie mowy
Wykonaj następujące kroki, aby skompilować i uruchomić przykład kodu szybkiego startu z podpisami.
Skopiuj przykładowe pliki scenarios/javascript/node/captioning/ z usługi GitHub do katalogu projektu.
Otwórz wiersz polecenia w tym samym katalogu co
Captioning.js
.Zainstaluj zestaw SPEECH SDK dla języka JavaScript:
npm install microsoft-cognitiveservices-speech-sdk
Uruchom aplikację z preferowanymi argumentami wiersza polecenia. Zobacz użycie i argumenty dotyczące dostępnych opcji. Oto przykład:
node captioning.js --key YourSubscriptionKey --region YourServiceRegion --input caption.this.wav --output caption.output.txt --srt --recognizing --threshold 5 --profanity mask --phrases "Contoso;Jessie;Rehaan"
Zastąp
YourSubscriptionKey
ciąg kluczem zasobu usługi Mowa i zastąpYourServiceRegion
ciąg regionem zasobów usługi Mowa, takim jakwestus
lubnortheurope
. Upewnij się, że ścieżki określone przez--input
i--output
są prawidłowe. W przeciwnym razie należy zmienić ścieżki.Uwaga
Zestaw SPEECH SDK dla języka JavaScript nie obsługuje skompresowanego dźwięku wejściowego. Musisz użyć pliku WAV, jak pokazano w przykładzie.
Ważne
Pamiętaj, aby usunąć klucz z kodu po zakończeniu i nigdy nie publikować go publicznie. W przypadku środowiska produkcyjnego użyj bezpiecznego sposobu przechowywania i uzyskiwania dostępu do poświadczeń, takich jak usługa Azure Key Vault. Aby uzyskać więcej informacji, zobacz artykuł Dotyczący zabezpieczeń usług Azure AI.
Sprawdzanie wyników
Plik wyjściowy z pełnymi podpisami jest zapisywany w pliku caption.output.txt
. Wyniki pośrednie są wyświetlane w konsoli programu :
00:00:00,180 --> 00:00:01,600
Welcome to
00:00:00,180 --> 00:00:01,820
Welcome to applied
00:00:00,180 --> 00:00:02,420
Welcome to applied mathematics
00:00:00,180 --> 00:00:02,930
Welcome to applied mathematics course
00:00:00,180 --> 00:00:03,100
Welcome to applied Mathematics course 2
00:00:00,180 --> 00:00:03,230
Welcome to applied Mathematics course 201.
Format danych wyjściowych przedziału czasu SRT (SubRip Text) to hh:mm:ss,fff
. Aby uzyskać więcej informacji, zobacz Format danych wyjściowych podpisów.
Użycie i argumenty
Użycie: node captioning.js --key <key> --region <region> --input <input file>
Opcje połączenia obejmują:
--key
: Klucz zasobu usługi Mowa.--region REGION
: Region zasobu usługi Mowa. Przykłady:westus
,northeurope
Opcje wejściowe obejmują:
--input FILE
: Wprowadzanie dźwięku z pliku. Domyślne dane wejściowe to mikrofon.--format FORMAT
: użyj skompresowanego formatu audio. Prawidłowe tylko z--file
. Prawidłowe wartości toalaw
, ,any
,mp3
flac
,mulaw
, iogg_opus
. Domyślna wartość toany
. Aby użyćwav
pliku, nie należy określać formatu. Ta opcja nie jest dostępna w przykładzie podpisów w języku JavaScript. W przypadku skompresowanych plików audio, takich jak MP4, zainstaluj GStreamer i zobacz Jak używać skompresowanego dźwięku wejściowego.
Opcje językowe obejmują:
--languages LANG1,LANG2
: Włącz identyfikację języka dla określonych języków. Na przykład:en-US,ja-JP
. Ta opcja jest dostępna tylko w przypadku przykładów podpisów w języku C++, C# i Python. Aby uzyskać więcej informacji, zobacz Identyfikacja języka.
Opcje rozpoznawania obejmują:
--recognizing
: Wyniki zdarzeń wyjściowychRecognizing
. Domyślne dane wyjściowe toRecognized
tylko wyniki zdarzenia. Są one zawsze zapisywane w konsoli, nigdy w pliku wyjściowym. Opcja--quiet
zastępuje to. Aby uzyskać więcej informacji, zobacz Pobieranie wyników rozpoznawania mowy.
Opcje dokładności obejmują:
--phrases PHRASE1;PHRASE2
: Można określić listę fraz, które mają być rozpoznawane, na przykładContoso;Jessie;Rehaan
. Aby uzyskać więcej informacji, zobacz Ulepszanie rozpoznawania za pomocą listy fraz.
Opcje danych wyjściowych obejmują:
--help
: Pokaż tę pomoc i zatrzymaj--output FILE
: Podpisy wyjściowe dla określonegofile
elementu . Ta flaga jest wymagana.--srt
: transkrypacje wyjściowe w formacie SRT (SubRip Text). Domyślny format to WebVTT (Web Video Text Track). Aby uzyskać więcej informacji na temat formatów plików podpisów SRT i WebVTT, zobacz Format danych wyjściowych podpisów.--quiet
: pomija dane wyjściowe konsoli, z wyjątkiem błędów.--profanity OPTION
: Prawidłowe wartości: nieprzetworzone, usuń, maska. Aby uzyskać więcej informacji, zobacz Pojęcia dotyczące filtru wulgaryzmów.--threshold NUMBER
: Ustaw stabilny próg wyniku częściowego. Domyślna wartość to3
. Aby uzyskać więcej informacji, zobacz Uzyskiwanie częściowych pojęć dotyczących wyników .
Czyszczenie zasobów
Aby usunąć utworzony zasób usługi Mowa, możesz użyć witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure.
Dokumentacja referencyjna Package (download) | Dodatkowe przykłady w usłudze GitHub |
Zestaw SDK rozpoznawania mowy dla języka Objective-C obsługuje pobieranie wyników rozpoznawania mowy na potrzeby podpisów, ale jeszcze nie dołączyliśmy tutaj przewodnika. Wybierz inny język programowania, aby rozpocząć pracę i poznać koncepcje, lub zapoznaj się z dokumentacją języka Objective-C i przykładami połączonymi od początku tego artykułu.
Dokumentacja referencyjna Package (download) | Dodatkowe przykłady w usłudze GitHub |
Zestaw SPEECH SDK dla języka Swift obsługuje uzyskiwanie wyników rozpoznawania mowy na potrzeby podpisów, ale nie dołączyliśmy jeszcze tutaj przewodnika. Wybierz inny język programowania, aby rozpocząć pracę i dowiedzieć się więcej o pojęciach, lub zapoznaj się z dokumentacją i przykładami usługi Swift połączonymi od początku tego artykułu.
Dokumentacja referencyjna | Package (PyPi) | Dodatkowe przykłady w witrynie GitHub
W tym przewodniku Szybki start uruchomisz aplikację konsolową, aby utworzyć podpisy z zamianą mowy na tekst.
Napiwek
Wypróbuj program Speech Studio i wybierz przykładowy klip wideo, aby zobaczyć wyniki transkrybowania w czasie rzeczywistym lub offline.
Napiwek
Wypróbuj zestaw narzędzi Azure AI Speech Toolkit , aby łatwo skompilować i uruchomić przykłady transkrybowania w programie Visual Studio Code.
Wymagania wstępne
- Subskrypcja platformy Azure. Możesz utworzyć go bezpłatnie.
- Utwórz zasób usługi Mowa w witrynie Azure Portal.
- Pobierz klucz zasobu usługi Mowa i region. Po wdrożeniu zasobu usługi Mowa wybierz pozycję Przejdź do zasobu , aby wyświetlić klucze i zarządzać nimi.
Konfigurowanie środowiska
Zestaw SPEECH SDK dla języka Python jest dostępny jako moduł PyPI (Python Package Index). Zestaw SPEECH SDK dla języka Python jest zgodny z systemami Windows, Linux i macOS.
- Musisz zainstalować platformę Microsoft Pakiet redystrybucyjny Visual C++ dla Visual Studio 2015, 2017, 2019 i 2022. Zainstalowanie tego pakietu po raz pierwszy może wymagać ponownego uruchomienia.
- W systemie Linux należy użyć architektury docelowej x64.
- Zainstaluj wersję języka Python z wersji 3.10 lub nowszej. Najpierw zapoznaj się z przewodnikiem instalacji zestawu SDK, aby uzyskać więcej wymagań
- Należy również zainstalować GStreamer dla skompresowanego dźwięku wejściowego.
Ustawianie zmiennych środowiskowych
Aby uzyskać dostęp do usług Azure AI, musisz uwierzytelnić aplikację. W tym artykule pokazano, jak używać zmiennych środowiskowych do przechowywania poświadczeń. Następnie możesz uzyskać dostęp do zmiennych środowiskowych z kodu w celu uwierzytelnienia aplikacji. W przypadku środowiska produkcyjnego użyj bezpieczniejszego sposobu przechowywania poświadczeń i uzyskiwania do nich dostępu.
Ważne
Zalecamy uwierzytelnianie za pomocą identyfikatora Entra firmy Microsoft z tożsamościami zarządzanymi dla zasobów platformy Azure, aby uniknąć przechowywania poświadczeń przy użyciu aplikacji uruchamianych w chmurze.
Jeśli używasz klucza interfejsu API, zapisz go bezpiecznie w innym miejscu, na przykład w usłudze Azure Key Vault. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie.
Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.
Aby ustawić zmienne środowiskowe dla klucza i regionu zasobu usługi Mowa, otwórz okno konsoli i postępuj zgodnie z instrukcjami dotyczącymi systemu operacyjnego i środowiska programistycznego.
- Aby ustawić zmienną
SPEECH_KEY
środowiskową, zastąp klucz jednym z kluczy zasobu. - Aby ustawić zmienną
SPEECH_REGION
środowiskową, zastąp region jednym z regionów zasobu.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Uwaga
Jeśli musisz uzyskać dostęp tylko do zmiennych środowiskowych w bieżącej konsoli, możesz ustawić zmienną środowiskową z wartością set
setx
zamiast .
Po dodaniu zmiennych środowiskowych może być konieczne ponowne uruchomienie wszystkich programów, które muszą odczytać zmienne środowiskowe, w tym okno konsoli. Jeśli na przykład używasz programu Visual Studio jako edytora, uruchom ponownie program Visual Studio przed uruchomieniem przykładu.
Tworzenie podpisów na podstawie mowy
Wykonaj następujące kroki, aby skompilować i uruchomić przykład kodu szybkiego startu z podpisami.
- Pobierz lub skopiuj przykładowe pliki scenariuszy/python/console/captioning/ z usługi GitHub do katalogu lokalnego.
- Otwórz wiersz polecenia w tym samym katalogu co
captioning.py
. - Uruchom to polecenie, aby zainstalować zestaw SPEECH SDK:
pip install azure-cognitiveservices-speech
- Uruchom aplikację z preferowanymi argumentami wiersza polecenia. Zobacz użycie i argumenty dotyczące dostępnych opcji. Oto przykład:
python captioning.py --input caption.this.mp4 --format any --output caption.output.txt --srt --realTime --threshold 5 --delay 0 --profanity mask --phrases "Contoso;Jessie;Rehaan"
Ważne
Upewnij się, że ścieżki określone przez
--input
i--output
są prawidłowe. W przeciwnym razie należy zmienić ścieżki.Upewnij się, że ustawiono
SPEECH_KEY
zmienne środowiskowe iSPEECH_REGION
zgodnie z powyższym opisem. W przeciwnym razie użyj--key
argumentów i--region
.
Sprawdzanie wyników
W przypadku użycia realTime
opcji w powyższym przykładzie w danych wyjściowych zostaną uwzględnione częściowe wyniki zdarzeń Recognizing
. W tym przykładzie tylko ostatnie Recognized
zdarzenie zawiera przecinki. Przecinki nie są jedynymi różnicami między zdarzeniami Recognizing
i Recognized
. Aby uzyskać więcej informacji, zobacz Pobieranie wyników częściowych.
1
00:00:00,170 --> 00:00:00,380
The
2
00:00:00,380 --> 00:00:01,770
The rainbow
3
00:00:01,770 --> 00:00:02,560
The rainbow has seven
4
00:00:02,560 --> 00:00:03,820
The rainbow has seven colors
5
00:00:03,820 --> 00:00:05,050
The rainbow has seven colors red
6
00:00:05,050 --> 00:00:05,850
The rainbow has seven colors red
orange
7
00:00:05,850 --> 00:00:06,440
The rainbow has seven colors red
orange yellow
8
00:00:06,440 --> 00:00:06,730
The rainbow has seven colors red
orange yellow green
9
00:00:06,730 --> 00:00:07,160
orange, yellow, green, blue,
indigo and Violet.
W przypadku korzystania z --offline
opcji wyniki są stabilne z ostatniego Recognized
zdarzenia. Częściowe wyniki nie są uwzględniane w danych wyjściowych:
1
00:00:00,170 --> 00:00:05,540
The rainbow has seven colors, red,
orange, yellow, green, blue,
2
00:00:05,540 --> 00:00:07,160
indigo and Violet.
Format danych wyjściowych przedziału czasu SRT (SubRip Text) to hh:mm:ss,fff
. Aby uzyskać więcej informacji, zobacz Format danych wyjściowych podpisów.
Użycie i argumenty
Użycie: python captioning.py --input <input file>
Opcje połączenia obejmują:
--key
: Klucz zasobu usługi Mowa. Zastępuje zmienną środowiskową SPEECH_KEY. Należy ustawić zmienną środowiskową (zalecaną--key
) lub użyć opcji .--region REGION
: Region zasobu usługi Mowa. Zastępuje zmienną środowiskową SPEECH_REGION. Należy ustawić zmienną środowiskową (zalecaną--region
) lub użyć opcji . Przykłady:westus
,northeurope
Ważne
Jeśli używasz klucza interfejsu API, zapisz go bezpiecznie w innym miejscu, na przykład w usłudze Azure Key Vault. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie.
Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.
Opcje wejściowe obejmują:
--input FILE
: Wprowadzanie dźwięku z pliku. Domyślne dane wejściowe to mikrofon.--format FORMAT
: użyj skompresowanego formatu audio. Prawidłowe tylko z--file
. Prawidłowe wartości toalaw
, ,any
,mp3
flac
,mulaw
, iogg_opus
. Domyślna wartość toany
. Aby użyćwav
pliku, nie należy określać formatu. Ta opcja nie jest dostępna w przykładzie podpisów w języku JavaScript. W przypadku skompresowanych plików audio, takich jak MP4, zainstaluj GStreamer i zobacz Jak używać skompresowanego dźwięku wejściowego.
Opcje językowe obejmują:
--language LANG
: określ język przy użyciu jednego z odpowiednich obsługiwanych ustawień regionalnych. Jest to używane podczas przerywania podpisów w wierszach. Wartość domyślna toen-US
.
Opcje rozpoznawania obejmują:
--offline
: Dane wyjściowe w trybie offline. Zastępuje .--realTime
Domyślny tryb danych wyjściowych jest w trybie offline.--realTime
: Dane wyjściowe w czasie rzeczywistym.
Dane wyjściowe w czasie rzeczywistym obejmują Recognizing
wyniki zdarzeń. Domyślne dane wyjściowe offline to Recognized
tylko wyniki zdarzenia. Są one zawsze zapisywane w konsoli, nigdy w pliku wyjściowym. Opcja --quiet
zastępuje to. Aby uzyskać więcej informacji, zobacz Pobieranie wyników rozpoznawania mowy.
Opcje dokładności obejmują:
--phrases PHRASE1;PHRASE2
: Można określić listę fraz, które mają być rozpoznawane, na przykładContoso;Jessie;Rehaan
. Aby uzyskać więcej informacji, zobacz Ulepszanie rozpoznawania za pomocą listy fraz.
Opcje danych wyjściowych obejmują:
--help
: Pokaż tę pomoc i zatrzymaj--output FILE
: Podpisy wyjściowe dla określonegofile
elementu . Ta flaga jest wymagana.--srt
: transkrypacje wyjściowe w formacie SRT (SubRip Text). Domyślny format to WebVTT (Web Video Text Track). Aby uzyskać więcej informacji na temat formatów plików podpisów SRT i WebVTT, zobacz Format danych wyjściowych podpisów.--maxLineLength LENGTH
: ustaw maksymalną liczbę znaków w wierszu dla podpisu na LENGTH. Minimalna wartość to 20. Wartość domyślna to 37 (30 dla języka chińskiego).--lines LINES
: ustaw liczbę wierszy dla podpisu na LINES. Wartość minimalna to 1. Wartość domyślna to 2.--delay MILLISECONDS
: Ile milisekund opóźnia wyświetlanie każdego podpisu, aby naśladować środowisko w czasie rzeczywistym. Ta opcja ma zastosowanie tylko wtedy, gdy używasz flagirealTime
. Wartość minimalna to 0,0. Wartość domyślna to 1000.--remainTime MILLISECONDS
: Ile milisekund powinno pozostać podpisem na ekranie, jeśli nie zostanie zastąpiony przez inny. Wartość minimalna to 0,0. Wartość domyślna to 1000.--quiet
: pomija dane wyjściowe konsoli, z wyjątkiem błędów.--profanity OPTION
: Prawidłowe wartości: nieprzetworzone, usuń, maska. Aby uzyskać więcej informacji, zobacz Pojęcia dotyczące filtru wulgaryzmów.--threshold NUMBER
: Ustaw stabilny próg wyniku częściowego. Domyślna wartość to3
. Ta opcja ma zastosowanie tylko wtedy, gdy używasz flagirealTime
. Aby uzyskać więcej informacji, zobacz Uzyskiwanie częściowych pojęć dotyczących wyników .
Czyszczenie zasobów
Aby usunąć utworzony zasób usługi Mowa, możesz użyć witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure.
W tym przewodniku Szybki start uruchomisz aplikację konsolową, aby utworzyć podpisy z zamianą mowy na tekst.
Napiwek
Wypróbuj program Speech Studio i wybierz przykładowy klip wideo, aby zobaczyć wyniki transkrybowania w czasie rzeczywistym lub offline.
Napiwek
Wypróbuj zestaw narzędzi Azure AI Speech Toolkit , aby łatwo skompilować i uruchomić przykłady transkrybowania w programie Visual Studio Code.
Wymagania wstępne
- Subskrypcja platformy Azure. Możesz utworzyć go bezpłatnie.
- Utwórz zasób usługi Mowa w witrynie Azure Portal.
- Pobierz klucz zasobu usługi Mowa i region. Po wdrożeniu zasobu usługi Mowa wybierz pozycję Przejdź do zasobu , aby wyświetlić klucze i zarządzać nimi.
Konfigurowanie środowiska
Wykonaj następujące kroki i zapoznaj się z przewodnikiem Szybki start interfejsu wiersza polecenia usługi Mowa, aby uzyskać inne wymagania dotyczące platformy.
Uruchom następujące polecenie interfejsu wiersza polecenia platformy .NET, aby zainstalować interfejs wiersza polecenia usługi Mowa:
dotnet tool install --global Microsoft.CognitiveServices.Speech.CLI
Uruchom następujące polecenia, aby skonfigurować klucz zasobu usługi Mowa i region. Zastąp
SUBSCRIPTION-KEY
ciąg kluczem zasobu usługi Mowa i zastąpREGION
element regionem zasobu usługi Mowa.spx config @key --set SUBSCRIPTION-KEY spx config @region --set REGION
Należy również zainstalować GStreamer dla skompresowanego dźwięku wejściowego.
Tworzenie podpisów na podstawie mowy
Za pomocą interfejsu wiersza polecenia usługi Mowa można wyświetlać podpisy zarówno SRT (SubRip Text) jak i WebVTT (Web Video Text Track) z dowolnego typu nośnika zawierającego dźwięk.
Aby rozpoznać dźwięk z pliku i wyświetlić napisy WebVtt (vtt
) i SRT (srt
), wykonaj następujące kroki.
Upewnij się, że masz plik wejściowy o nazwie
caption.this.mp4
w ścieżce.Uruchom następujące polecenie, aby wyświetlić podpisy z pliku wideo:
spx recognize --file caption.this.mp4 --format any --output vtt file - --output srt file - --output each file - @output.each.detailed --property SpeechServiceResponse_StablePartialResultThreshold=5 --profanity masked --phrases "Constoso;Jessie;Rehaan"
Podpisy SRT i WebVTT są danymi wyjściowymi konsoli, jak pokazano poniżej:
1 00:00:00,180 --> 00:00:03,230 Welcome to applied Mathematics course 201. WEBVTT 00:00:00.180 --> 00:00:03.230 Welcome to applied Mathematics course 201. { "ResultId": "561a0ea00cc14bb09bd294357df3270f", "Duration": "00:00:03.0500000" }
Użycie i argumenty
Poniżej przedstawiono szczegółowe informacje o opcjonalnych argumentach z poprzedniego polecenia:
--file caption.this.mp4 --format any
: Wprowadzanie dźwięku z pliku. Domyślne dane wejściowe to mikrofon. W przypadku skompresowanych plików audio, takich jak MP4, zainstaluj GStreamer i zobacz Jak używać skompresowanego dźwięku wejściowego.--output vtt file -
i--output srt file -
: Dane wyjściowe webVTT i SRT podpisy do standardowych danych wyjściowych. Aby uzyskać więcej informacji na temat formatów plików podpisów SRT i WebVTT, zobacz Format danych wyjściowych podpisów. Aby uzyskać więcej informacji na temat argumentu, zobacz Opcje danych wyjściowych interfejsu--output
wiersza polecenia usługi Mowa.@output.each.detailed
: Generuje wyniki zdarzenia z tekstem, przesunięciem i czasem trwania. Aby uzyskać więcej informacji, zobacz Pobieranie wyników rozpoznawania mowy.--property SpeechServiceResponse_StablePartialResultThreshold=5
: Możesz zażądać, aby usługa rozpoznawania mowy zwróciła mniejRecognizing
zdarzeń, które są dokładniejsze. W tym przykładzie usługa rozpoznawania mowy musi potwierdzić rozpoznawanie wyrazu co najmniej pięć razy przed zwróceniem do Ciebie częściowych wyników. Aby uzyskać więcej informacji, zobacz Uzyskiwanie częściowych pojęć dotyczących wyników .--profanity masked
: Możesz określić, czy ma być maskowanie, usuwanie, czy pokazywanie wulgaryzmów w wynikach rozpoznawania. Aby uzyskać więcej informacji, zobacz Pojęcia dotyczące filtru wulgaryzmów.--phrases "Constoso;Jessie;Rehaan"
: Można określić listę fraz do rozpoznania, takich jak Contoso, Jessie i Rehaan. Aby uzyskać więcej informacji, zobacz Ulepszanie rozpoznawania za pomocą listy fraz.
Czyszczenie zasobów
Aby usunąć utworzony zasób usługi Mowa, możesz użyć witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure.