Delen via


Een professionele gegevensset voor spraaktraining toevoegen

Wanneer u klaar bent om een aangepaste tekst naar spraak te maken voor uw toepassing, is de eerste stap het verzamelen van audio-opnamen en bijbehorende scripts om het spraakmodel te trainen. Zie de zelfstudie voor meer informatie over het opnemen van spraakvoorbeelden. De Speech-service gebruikt deze gegevens om een unieke stem te maken die overeenkomt met de stem in de opnamen. Nadat u de stem hebt getraind, kunt u beginnen met het synthetiseren van spraak in uw toepassingen.

Alle gegevens die u uploadt, moeten voldoen aan de vereisten voor het gegevenstype dat u kiest. Het is belangrijk om uw gegevens correct op te maken voordat ze worden geüpload, zodat de gegevens nauwkeurig worden verwerkt door de Speech-service. Zie Trainingsgegevenstypen om te controleren of uw gegevens correct zijn opgemaakt.

Notitie

  • Gebruikers van een Standard-abonnement (S0) kunnen vijf gegevensbestanden tegelijk uploaden. Als u de limiet bereikt, wacht u totdat ten minste één van uw gegevensbestanden is geïmporteerd. Probeer het opnieuw.
  • Het maximum aantal gegevensbestanden dat per abonnement mag worden geïmporteerd, is 500 .zip bestanden voor standaardgebruikers van abonnementen (S0). Raadpleeg de quota en limieten van de Speech-service voor meer informatie.

Uw gegevens uploaden

Wanneer u klaar bent om uw gegevens te uploaden, gaat u naar het tabblad Trainingsgegevens voorbereiden om uw eerste trainingsset toe te voegen en gegevens te uploaden. Een trainingsset is een set audio-utterances en de bijbehorende toewijzingsscripts die worden gebruikt voor het trainen van een spraakmodel. U kunt een trainingsset gebruiken om uw trainingsgegevens te organiseren. De service controleert de gereedheid van gegevens per trainingsset. U kunt meerdere gegevens importeren in een trainingsset.

Voer de volgende stappen uit om trainingsgegevens te uploaden:

  1. Meld u aan bij Speech Studio.
  2. Selecteer Aangepaste stem> Uw projectnaam> Trainingsgegevens uploaden>voorbereiden.
  3. Kies een gegevenstype in de wizard Gegevens uploaden en selecteer vervolgens Volgende.
  4. Selecteer lokale bestanden op uw computer of voer de URL voor Azure Blob Storage in om gegevens te uploaden.
  5. Selecteer onder De doeltrainingsset opgeven een bestaande trainingsset of maak een nieuwe set. Als u een nieuwe trainingsset hebt gemaakt, controleert u of deze is geselecteerd in de vervolgkeuzelijst voordat u doorgaat.
  6. Selecteer Volgende.
  7. Voer een naam en beschrijving in voor uw gegevens en selecteer vervolgens Volgende.
  8. Controleer de uploadgegevens en selecteer Verzenden.

Notitie

Dubbele id's worden niet geaccepteerd. Uitingen met dezelfde id worden verwijderd.

Dubbele audionamen worden uit de training verwijderd. Zorg ervoor dat de gegevens die u selecteert, niet dezelfde audionamen bevatten in het .zip-bestand of in meerdere .zip-bestanden. Als utterance-id's (in audio- of scriptbestanden) duplicaten zijn, worden deze geweigerd.

Gegevensbestanden worden automatisch gevalideerd wanneer u Verzenden selecteert. Gegevensvalidatie omvat reeks controles op de audiobestanden om de bestandsindeling, grootte en samplingfrequentie te controleren. Als er fouten zijn, herstelt u deze en verzendt u deze opnieuw.

Nadat u de gegevens hebt geüpload, kunt u de details controleren in de detailweergave van de trainingsset. Op de detailpagina kunt u het uitspraakprobleem en het ruisniveau voor elk van uw gegevens verder controleren. De uitspraakscore op zinsniveau varieert van 0-100. Een score onder de 70 geeft normaal gesproken aan dat een spraakfout of script niet overeenkomt. Uitingen met een algehele score lager dan 70 worden geweigerd. Een zwaar accent kan uw uitspraakscore verminderen en de gegenereerde digitale stem beïnvloeden.

Problemen met gegevens online oplossen

Na het uploaden kunt u de gegevensdetails van de trainingsset controleren. Voordat u verdergaat met het trainen van uw spraakmodel, moet u proberen om gegevensproblemen op te lossen.

U kunt gegevensproblemen per uiting identificeren en oplossen in Speech Studio.

  1. Ga op de detailpagina naar de pagina Geaccepteerde gegevens of Geweigerde gegevens . Selecteer afzonderlijke utterances die u wilt wijzigen en selecteer Vervolgens Bewerken.

    Schermopname van het selecteren van de knop Bewerken op de pagina geaccepteerde gegevens of geweigerde gegevensgegevens.

    U kunt kiezen welke gegevensproblemen moeten worden weergegeven op basis van uw criteria.

    Schermopname van het kiezen van welke gegevensproblemen moeten worden weergegeven.

  2. Het venster Bewerken wordt weergegeven.

    Schermopname van het venster Transcriptie en opnamebestand bewerken.

  3. Werk transcriptie of opnamebestand bij volgens de beschrijving van het probleem in het bewerkingsvenster.

    U kunt transcriptie bewerken in het tekstvak en vervolgens Gereed selecteren

    Schermopname van het selecteren van de knop Gereed in het venster Transcriptie en opnamebestand bewerken.

    Als u het opnamebestand wilt bijwerken, selecteert u Opnamebestand bijwerken en uploadt u het vaste opnamebestand (.wav).

    Schermopname van het uploaden van het opnamebestand in het venster Transcriptie bewerken en opnamebestand.

  4. Nadat u wijzigingen hebt aangebracht in uw gegevens, moet u de gegevenskwaliteit controleren door op Gegevens analyseren te klikken voordat u deze gegevensset gebruikt voor training.

    U kunt deze trainingsset niet selecteren voor het trainingsmodel voordat de analyse is voltooid.

    Schermopname van het selecteren van gegevens op de pagina Gegevensdetails analyseren.

    U kunt ook utterances met problemen verwijderen door ze te selecteren en op Verwijderen te klikken.

Veelvoorkomende problemen met gegevens

De problemen zijn onderverdeeld in drie typen. Raadpleeg de volgende tabellen om de respectieve typen fouten te controleren.

Automatisch geweigerd

Gegevens met deze fouten worden niet gebruikt voor training. Geïmporteerde gegevens met fouten worden genegeerd, dus u hoeft ze niet te verwijderen. U kunt deze gegevensfouten online oplossen of de gecorrigeerde gegevens opnieuw uploaden voor training.

Categorie Name Beschrijving
Script Ongeldig scheidingsteken U moet de uitings-id en de scriptinhoud scheiden met een Tab-teken.
Script Ongeldige script-id De scriptregel-id moet numeriek zijn.
Script Gedupliceerd script Elke regel van de scriptinhoud moet uniek zijn. De regel wordt gedupliceerd met {}.
Script Script te lang Het script moet minder dan 1000 tekens bevatten.
Script Geen overeenkomende audio De id van elke uiting (elke regel van het scriptbestand) moet overeenkomen met de audio-id.
Script Geen geldig script Er is geen geldig script gevonden in deze gegevensset. Los de scriptregels op die worden weergegeven in de gedetailleerde lijst met problemen.
Audio Geen overeenkomend script Geen audiobestanden komen overeen met de script-id. De naam van de .wav-bestanden moet overeenkomen met de id's in het scriptbestand.
Audio Ongeldige audio-indeling De audio-indeling van de .wav-bestanden is ongeldig. Controleer de .wav bestandsindeling met behulp van een audiohulpprogramma zoals SoX.
Audio Lage steekproefsnelheid De steekproefsnelheid van de .wav bestanden mag niet lager zijn dan 16 KHz.
Audio Te lang geluid De audioduur is langer dan 30 seconden. Splits de lange audio in meerdere bestanden. Het is een goed idee om uitingen korter te maken dan 15 seconden.
Audio Geen geldig geluid Er is geen geldig geluid gevonden in deze gegevensset. Controleer uw audiogegevens en upload opnieuw.
Wanverhouding Lage score utterance Uitspraakscore op zinsniveau is lager dan 70. Controleer het script en de audio-inhoud om ervoor te zorgen dat ze overeenkomen.

Automatisch opgelost

De volgende fouten worden automatisch opgelost, maar u moet de correcties correct controleren en bevestigen.

Categorie Name Beschrijving
Wanverhouding Stilte automatisch opgelost De stilte van de start is korter dan 100 ms en is automatisch uitgebreid tot 100 ms. Download de genormaliseerde gegevensset en controleer deze.
Wanverhouding Stilte automatisch opgelost De eindstilte wordt gedetecteerd korter dan 100 ms en is automatisch uitgebreid tot 100 ms. Download de genormaliseerde gegevensset en controleer deze.
Script Automatisch genormaliseerde tekst Tekst wordt automatisch genormaliseerd voor cijfers, symbolen en afkortingen. Controleer het script en de audio om ervoor te zorgen dat ze overeenkomen.

Handmatige controle vereist

Niet-opgeloste fouten die in de volgende tabel worden vermeld, zijn van invloed op de kwaliteit van de training, maar gegevens met deze fouten worden niet uitgesloten tijdens de training. Voor hoogwaardige training is het een goed idee om deze fouten handmatig op te lossen.

Categorie Name Beschrijving
Script Niet-genormaliseerde tekst Dit script bevat symbolen. Normaliseer de symbolen zodat deze overeenkomen met de audio. Bijvoorbeeld normaliseren / om te slashen.
Script Onvoldoende vraaguitingen Ten minste 10 procent van de totale uitingen moet vraagzinnen zijn. Dit helpt het spraakmodel om een vraagtoon goed uit te drukken.
Script Onvoldoende uitroeptekens Ten minste 10 procent van de totale uitingen moet uitroeptekens zijn. Dit helpt het spraakmodel om een opgewonden toon goed uit te drukken.
Script Geen geldige eindpunctie Voeg een van de volgende waarden toe aan het einde van de regel: volledige stop (halve breedte '.' of '。 '), uitroepteken (halve breedte '!' of '!' of vraagteken ( halve breedte '?' of volledige breedte '?').
Audio Lage steekproefsnelheid voor neurale spraak Het wordt aanbevolen dat de steekproeffrequentie van uw .wav bestanden 24 KHz of hoger moet zijn voor het maken van neurale stemmen. Als het lager is, wordt deze automatisch verhoogd tot 24 KHz.
Volume Algemeen volume te laag Volume mag niet lager zijn dan -18 dB (10 procent van het maximumvolume). Bepaal het gemiddelde volumeniveau binnen het juiste bereik tijdens de voorbeeldopname of gegevensvoorbereiding.
Volume Volumeoverloop Overlopend volume wordt gedetecteerd bij {}s. Pas de opnameapparatuur aan om te voorkomen dat het volume overloopt bij de piekwaarde.
Volume Probleem met stilte starten De eerste 100 ms stilte is niet schoon. Verminder het opnamegeluidsniveau en laat de eerste 100 ms aan het begin stil.
Volume Probleem met stilzwijgen beëindigen De laatste 100 ms stilte is niet schoon. Verminder het geluidsvloerniveau van de opname en laat de laatste 100 ms aan het einde stil.
Wanverhouding Weinig gescoorde woorden Controleer het script en de audio-inhoud om er zeker van te zijn dat ze overeenkomen en beheer het niveau van de ruisvloer. Verminder de lengte van lange stilte of splits de audio in meerdere uitingen als deze te lang is.
Wanverhouding Probleem met stilte starten Er werd voor het eerste woord extra audio gehoord. Controleer het script en de audio-inhoud om ervoor te zorgen dat ze overeenkomen, beheer het niveau van de ruisvloer en maak de eerste 100 ms stil.
Wanverhouding Probleem met stilzwijgen beëindigen Er is na het laatste woord extra audio gehoord. Controleer het script en de audio-inhoud om ervoor te zorgen dat ze overeenkomen, beheer het niveau van de ruisvloer en maak de laatste 100 ms stil.
Wanverhouding Lage signaalruisverhouding Audio-SNR-niveau is lager dan 20 dB. Ten minste 35 dB wordt aanbevolen.
Wanverhouding Geen score beschikbaar Kan spraakinhoud in deze audio niet herkennen. Controleer de audio en de scriptinhoud om te controleren of de audio geldig is en overeenkomt met het script.

Volgende stappen

U hebt een trainingsgegevensset nodig om een professionele stem te maken. Een trainingsgegevensset bevat audio- en scriptbestanden. De audiobestanden zijn opnamen van het spraaktalent dat de scriptbestanden leest. De scriptbestanden zijn de tekst van de audiobestanden.

In dit artikel maakt u een trainingsset en haalt u de resource-id op. Vervolgens kunt u met behulp van de resource-id een set audio- en scriptbestanden uploaden.

Een trainingsset maken

Als u een trainingsset wilt maken, gebruikt u de TrainingSets_Create bewerking van de aangepaste spraak-API. Bouw de aanvraagbody volgens de volgende instructies:

  • Stel de vereiste projectId eigenschap in. Zie Een project maken.
  • Stel de vereiste voiceKind eigenschap in op Male of Female. Het type kan later niet meer worden gewijzigd.
  • Stel de vereiste locale eigenschap in. Dit moet de landinstelling van de gegevens van de trainingsset zijn. De landinstelling van de trainingsset moet gelijk zijn aan de landinstelling van de toestemmingsverklaring. De landinstelling kan later niet meer worden gewijzigd. Hier vindt u de lijst met taalinstellingen voor tekst.
  • Stel desgewenst de description eigenschap in voor de beschrijving van de trainingsset. De beschrijving van de trainingsset kan later worden gewijzigd.

Maak een HTTP PUT-aanvraag met behulp van de URI, zoals wordt weergegeven in het volgende TrainingSets_Create voorbeeld.

  • Vervang door YourResourceKey uw Spraak-resourcesleutel.
  • Vervang door YourResourceRegion uw spraakresourceregio.
  • Vervang door JessicaTrainingSetId een trainingsset-id van uw keuze. De hoofdlettergevoelige id wordt gebruikt in de URI van de trainingsset en kan later niet meer worden gewijzigd.
curl -v -X PUT -H "Ocp-Apim-Subscription-Key: YourResourceKey" -H "Content-Type: application/json" -d '{
  "description": "300 sentences Jessica data in general style.",
  "projectId": "ProjectId",
  "locale": "en-US",
  "voiceKind": "Female"
} '  "https://YourResourceRegion.api.cognitive.microsoft.com/customvoice/trainingsets/JessicaTrainingSetId?api-version=2024-02-01-preview"

U ontvangt een antwoordtekst in de volgende indeling:

{
  "id": "JessicaTrainingSetId",
  "description": "300 sentences Jessica data in general style.",
  "projectId": "ProjectId",
  "locale": "en-US",
  "voiceKind": "Female",
  "status": "Succeeded",
  "createdDateTime": "2023-04-01T05:30:00.000Z",
  "lastActionDateTime": "2023-04-02T10:15:30.000Z"
}

Trainingsetgegevens uploaden

Als u een trainingsset audio en scripts wilt uploaden, gebruikt u de TrainingSets_UploadData bewerking van de aangepaste spraak-API.

Voordat u deze API aanroept, slaat u opname- en scriptbestanden op in Azure Blob. In het onderstaande voorbeeld zijn opnamebestanden *.wav, scriptbestanden *https://contoso.blob.core.windows.net/voicecontainer/jessica300/.txt.https://contoso.blob.core.windows.net/voicecontainer/jessica300/

Bouw de aanvraagbody volgens de volgende instructies:

  • Stel de vereiste eigenschap in kind op AudioAndScript. Het type bepaalt het type trainingsset.
  • Stel de vereiste audios eigenschap in. Stel in de audios eigenschap de volgende eigenschappen in:
    • Stel de vereiste containerUrl eigenschap in op de URL van de Azure Blob Storage-container die de audiobestanden bevat. Shared Access Signatures (SAS) gebruiken voor een container met zowel lees- als lijstmachtigingen.
    • Stel de vereiste eigenschap in extensions op de extensies van de audiobestanden.
    • Stel desgewenst de prefix eigenschap in om een voorvoegsel in te stellen voor de blobnaam.
  • Stel de vereiste scripts eigenschap in. Stel in de scripts eigenschap de volgende eigenschappen in:
    • Stel de vereiste containerUrl eigenschap in op de URL van de Azure Blob Storage-container die de scriptbestanden bevat. Shared Access Signatures (SAS) gebruiken voor een container met zowel lees- als lijstmachtigingen.
    • Stel de vereiste eigenschap in extensions op de extensies van de scriptbestanden.
    • Stel desgewenst de prefix eigenschap in om een voorvoegsel in te stellen voor de blobnaam.

Maak een HTTP POST-aanvraag met behulp van de URI, zoals wordt weergegeven in het volgende TrainingSets_UploadData voorbeeld.

  • Vervang door YourResourceKey uw Spraak-resourcesleutel.
  • Vervang door YourResourceRegion uw spraakresourceregio.
  • Vervang JessicaTrainingSetId als u in de vorige stap een andere id voor de trainingsset hebt opgegeven.
curl -v -X POST -H "Ocp-Apim-Subscription-Key: YourResourceKey" -H "Content-Type: application/json" -d '{
  "kind": "AudioAndScript",
  "audios": {
    "containerUrl": "https://contoso.blob.core.windows.net/voicecontainer?mySasToken",
    "prefix": "jessica300/",
    "extensions": [
      ".wav"
    ]
  },
  "scripts": {
    "containerUrl": "https://contoso.blob.core.windows.net/voicecontainer?mySasToken",
    "prefix": "jessica300/",
    "extensions": [
      ".txt"
    ]
  }
} '  "https://YourResourceRegion.api.cognitive.microsoft.com/customvoice/trainingsets/JessicaTrainingSetId:upload?api-version=2024-02-01-preview"

De antwoordheader bevat de Operation-Location eigenschap. Gebruik deze URI voor meer informatie over de TrainingSets_UploadData-bewerking . Hier volgt een voorbeeld van de antwoordheader:

Operation-Location: https://eastus.api.cognitive.microsoft.com/customvoice/operations/284b7e37-f42d-4054-8fa9-08523c3de345?api-version=2024-02-01-preview
Operation-Id: 284b7e37-f42d-4054-8fa9-08523c3de345

Volgende stappen