Platforma Actions on Google obsługuje liczne funkcje SSML w wersji beta, Standardowe elementy SSML Actions on Google.
Podsumowanie obsługiwanych funkcji SSML w wersji beta:
<phoneme>
: pozwala dostosować wymowę poszczególnych słów.<say-as interpret-as="duration">
: określ czasy trwania.<voice>
: przełączanie się między głosami w ramach tego samego żądania.<lang>
: użyj wielu języków w tej samej prośbie.- Punkty czasowe: użyj tagu
<mark>
, aby zwrócić punkt w czasie o określonej godzinie w transkrypcji.
<phoneme>
Możesz użyć tagu <phoneme>
, aby utworzyć niestandardową wymowę słów
w tekście. Actions on Google akceptuje
IPA oraz
X-SAMPA alfabetu fonetycznego. Zobacz
stronie z fonemami, gdzie znajdziesz listę obsługiwanych
języków i fonetów.
Każde zastosowanie tagu <phoneme>
kieruje wymowę pojedynczego elementu
słowo:
<phoneme alphabet="ipa" ph="ˌmænɪˈtoʊbə">manitoba</phoneme> <phoneme alphabet="x-sampa" ph='m@"hA:g@%ni:'>mahogany</phoneme>
Znaczniki stresu
W transkrypcji można wyróżnić 3 poziomy stresu:
- Główne napięcie: oznaczone jako
ˈ
w standardzie IPA i"
w X-SAMPA. - Naprężenie dodatkowe: oznaczone etykietą
ˌ
w standardzie IPA i%
w X-SAMPA. - Nie zaznacza się: nie jest oznaczony symbolem (w żadnym z notacji).
Niektóre języki mogą mieć mniej niż 3 poziomy lub nie wskazywać miejsca stresu . Zobacz stronę fonetów, aby dowiedzieć się więcej poziomy stresu dostępne w Twoim języku. Znaczniki stresu znajdują się w początku każdej zestresowanej sylab. Na przykład w języku angielskim (USA):
Przykładowe słowo | IPA | X-SAMPA |
---|---|---|
woda | ˈwɑːtɚ |
"wA:t@` |
pod wodą | ˌʌndɚˈwɑːtɚ |
%Vnd@"wA:t@ |
Szerokie a wąskie transkrypcje
Zasadniczo staraj się, aby transkrypcje były szersze i miały charakter fonetyczny.
Na przykład w języku angielskim (USA) utwórz transkrypcję wyrazu „t
” (zamiast stosować
kliknij):
Przykładowe słowo | IPA | X-SAMPA |
---|---|---|
masło | ˈbʌtɚ zamiast ˈbʌɾɚ |
"bVt@` zamiast "bV4@` |
W niektórych przypadkach użycie reprezentacji fonetycznej może spowodować, że funkcja zamiany tekstu na mowę wyniki brzmią nienaturalnie (np. jeśli sekwencja fonemu jest anatomicznie trudnej do wymówienia).
Przykładem może być asymilacja mowy dla s
w języku angielskim. W tym przypadku
asymilacja powinna zostać odzwierciedlona w transkrypcji:
Przykładowe słowo | IPA | X-SAMPA |
---|---|---|
koty | ˈkæts |
"k{ts |
psy | ˈdɑːgz zamiast ˈdɑːgs |
"dA:gz zamiast "dA:gs |
Redukcja
Każda sylaba musi zawierać jedną (i tylko jedną) samogłoskę. Oznacza to, że trzeba unikaj spółgłosek sylabicznych i transkrybuj je z mniejszą liczbą samogłosek. Przykład:
Przykładowe słowo | IPA | X-SAMPA |
---|---|---|
kotek | ˈkɪtən zamiast ˈkɪtn |
"kIt@n zamiast "kitn |
czajnik | ˈkɛtəl zamiast ˈkɛtl |
"kEt@l zamiast "kEtl |
Sylabariusz
Opcjonalnie możesz określić granice sylab za pomocą funkcji .
. Każda sylaba musi
zawierają jedną (i tylko jedną) samogłoskę. Na przykład:
Przykładowe słowo | IPA | X-SAMPA |
---|---|---|
czytelność | ˌɹiː.də.ˈbɪ.lə.tiː |
%r\i:.d@."bI.l@.ti: |
Czasy trwania
Platforma Actions on Google obsługuje <say-as interpret-as="duration">
, aby prawidłowo
czas odczytu. Na przykład poniższy przykład miałby postać „pięć”
godz. i trzydzieści minut”:
<say-as interpret-as="duration" format="h:m">5:30</say-as>
Ciąg formatu obsługuje te wartości:
Skrót | Wartość |
---|---|
godz. | godziny |
m | minuty |
s | s |
ms | milisekundy |
<voice>
Tag <voice>
umożliwia użycie więcej niż 1 głosu w jednym pliku SSML.
użytkownika. W tym przykładzie domyślnym głosem jest głos męski angielski.
Ten głos będzie zawierał wszystkie słowa z wyjątkiem „qu'est-ce qui t'amène”.
ici”, który będzie wypowiadany po francusku „kobiecym głosem” zamiast
język domyślny (angielski) i płeć (mężczyzna).
<speak>And then she asked, <voice language="fr-FR" gender="female">qu'est-ce qui t'amène ici</voice><break time="250ms"/> in her sweet and gentle voice.</speak>
Możesz też użyć tagu <voice>
, aby wskazać pojedynczy głos (parametr
imię i nazwisko na
strona obsługiwanych głosów i języków)
zamiast określania language
i/lub gender
:
<speak>The dog is friendly<voice name="fr-CA-Wavenet-B">mais la chat est mignon</voice><break time="250ms"/> said a pet shop owner</speak>
Gdy używasz tagu <voice>
, Actions on Google oczekuje, że otrzymasz jeden
name
(parametr
imię i nazwisko,
których chcesz użyć) lub kombinacji tych atrybutów. Wszystkie trzy
Atrybuty są opcjonalne, ale musisz podać co najmniej jeden, jeśli nie podajesz
name
gender
: 1 zmale
,female
lubneutral
.variant
: służy do dokończenia w przypadku wielu możliwości użycia głosu w zależności od konfiguracji.language
: wybrany język. W atrybucie podany tag<voice>
. Podaj język w formacie BCP-47. Więcej kod BCP-47 dla Twojego języka w kolumnie kod języka na stronie. stronie z informacjami o obsługiwanych głosach i językach.
Możesz też kontrolować względny priorytet każdego z tych atrybutów: gender
, variant
,
i language
z dwoma dodatkowymi tagami: required
i ordering
.
required
: jeśli atrybut jest oznaczony jakorequired
i nie został skonfigurowany żądanie nie powiedzie się.ordering
: wszystkie atrybuty wymienione po taguordering
są uznawane za preferowanych atrybutów, a nie wymaganych. SSML uwzględnia preferowane atrybuty w miarę możliwości w kolejności, w jakiej są wymienione za tagiemordering
. Jeśli skonfigurowano jakiekolwiek preferowane atrybuty nieprawidłowo, Actions on Google może nadal zwracać poprawny głos, ale z pominięciem nieprawidłowej konfiguracji.
Przykłady konfiguracji, w których używasz tagów required
i ordering
:
<speak>And there it was <voice language="en-GB" gender="male" required="gender" ordering="gender language">a flying bird </voice>roaring in the skies for the first time.</speak>
<speak>Today is supposed to be <voice language="en-GB" gender="female" ordering="language gender">Sunday Funday.</voice></speak>
<lang>
Aby uwzględnić tekst w wielu językach w tym samym SSML, możesz użyć <lang>
użytkownika. Wszystkie języki będą syntetyczne z użyciem tego samego głosu, chyba że użyjesz
<voice>
, aby wyraźnie zmienić głos. Ciąg xml:lang
musi zawierać
język docelowy w formacie BCP-47 (ta wartość jest podana jako „kod języka” w
obsługiwane głosy
). W poniższym przykładzie „czat” będzie wypowiadana po francusku, a nie
domyślny język (angielski):
<speak>The french word for cat is <lang xml:lang="fr-FR">chat</lang></speak>
Platforma Actions on Google obsługuje tag <lang>
w miarę możliwości. Nie wszystkie
kombinacje językowe dają takie same wyniki jakościowe, jeśli są określone w tym samym
Żądanie SSML. W niektórych przypadkach kombinacja języka może dać efekt:
jest wykrywalny, ale subtelny lub postrzegany jako negatywny. Znane problemy:
- Tag
<lang>
nie obsługuje języka japońskiego ze znakami kanji. Dane wejściowe są transliterowane i odczytywane jako znaki chińskie. - Języki półtyczne, takie jak arabski, hebrajski i perski, nie są obsługiwane przez
<lang>
, spowoduje to wyciszenie. Jeśli chcesz użyć którejś z tych zalecamy użycie tagu<voice>
, aby przejść na głos mówi w wybranym języku (jeśli jest dostępny).