You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/fi/6-consumer/lessons/3-spoken-feedback/virtual-device-text-to-spee...

4.6 KiB

Teksti puheeksi - Virtuaalinen IoT-laite

Tässä osassa oppituntia kirjoitat koodia, joka muuntaa tekstin puheeksi käyttämällä puhepalvelua.

Muunna teksti puheeksi

Puhepalveluiden SDK, jota käytit viime oppitunnilla muuntaaksesi puheen tekstiksi, voidaan käyttää tekstin muuntamiseen takaisin puheeksi. Kun pyydät puhetta, sinun täytyy määrittää käytettävä ääni, sillä puhetta voidaan tuottaa monilla eri äänillä.

Jokainen kieli tukee useita eri ääniä, ja voit saada listan tuetuista äänistä kullekin kielelle puhepalveluiden SDK:sta.

Tehtävä - muunna teksti puheeksi

  1. Avaa smart-timer-projekti VS Codessa ja varmista, että virtuaalinen ympäristö on ladattu terminaaliin.

  2. Tuo SpeechSynthesizer azure.cognitiveservices.speech-paketista lisäämällä se olemassa oleviin tuonteihin:

    from azure.cognitiveservices.speech import SpeechConfig, SpeechRecognizer, SpeechSynthesizer
    
  3. Luo say-funktion yläpuolelle puhekonfiguraatio, jota käytetään puhesyntetisaattorin kanssa:

    speech_config = SpeechConfig(subscription=speech_api_key,
                                 region=location)
    speech_config.speech_synthesis_language = language
    speech_synthesizer = SpeechSynthesizer(speech_config=speech_config)
    

    Tämä käyttää samaa API-avainta, sijaintia ja kieltä, joita käytettiin tunnistimessa.

  4. Lisää tämän alle seuraava koodi, joka hakee äänen ja asettaa sen puhekonfiguraatioon:

    voices = speech_synthesizer.get_voices_async().get().voices
    first_voice = next(x for x in voices if x.locale.lower() == language.lower())
    speech_config.speech_synthesis_voice_name = first_voice.short_name
    

    Tämä hakee listan kaikista saatavilla olevista äänistä ja löytää ensimmäisen äänen, joka vastaa käytettävää kieltä.

    💁 Voit saada täydellisen listan tuetuista äänistä Microsoft Docsin kieli- ja äänitukidokumentaatiosta. Jos haluat käyttää tiettyä ääntä, voit poistaa tämän funktion ja kovakoodata äänen dokumentaatiosta löytyvän äänen nimen mukaan. Esimerkiksi:

    speech_config.speech_synthesis_voice_name = 'hi-IN-SwaraNeural'
    
  5. Päivitä say-funktion sisältö luomaan SSML vastaukselle:

    ssml =  f'<speak version=\'1.0\' xml:lang=\'{language}\'>'
    ssml += f'<voice xml:lang=\'{language}\' name=\'{first_voice.short_name}\'>'
    ssml += text
    ssml += '</voice>'
    ssml += '</speak>'
    
  6. Lisää tämän alle koodi, joka pysäyttää puhetunnistuksen, puhuu SSML:n ja käynnistää tunnistuksen uudelleen:

    recognizer.stop_continuous_recognition()
    speech_synthesizer.speak_ssml(ssml)
    recognizer.start_continuous_recognition()
    

    Tunnistus pysäytetään tekstin puhumisen ajaksi, jotta ajastimen käynnistymisen ilmoitusta ei havaita, lähetetä LUIS:lle ja mahdollisesti tulkita uuden ajastimen asettamiseksi.

    💁 Voit testata tätä kommentoimalla tunnistuksen pysäyttämisen ja uudelleenkäynnistämisen rivit. Aseta yksi ajastin, ja saatat huomata, että ilmoitus asettaa uuden ajastimen, mikä aiheuttaa uuden ilmoituksen, joka asettaa uuden ajastimen, ja niin edelleen loputtomiin!

  7. Suorita sovellus ja varmista, että funktiosovellus on myös käynnissä. Aseta ajastimia, ja kuulet puhutun vastauksen, joka kertoo, että ajastimesi on asetettu, ja toisen puhutun vastauksen, kun ajastin on valmis.

💁 Löydät tämän koodin code-spoken-response/virtual-iot-device -kansiosta.

😀 Ajastinohjelmasi oli menestys!


Vastuuvapauslauseke:
Tämä asiakirja on käännetty käyttämällä tekoälypohjaista käännöspalvelua Co-op Translator. Vaikka pyrimme tarkkuuteen, huomioithan, että automaattiset käännökset voivat sisältää virheitä tai epätarkkuuksia. Alkuperäistä asiakirjaa sen alkuperäisellä kielellä tulisi pitää ensisijaisena lähteenä. Kriittisen tiedon osalta suositellaan ammattimaista ihmiskäännöstä. Emme ole vastuussa väärinkäsityksistä tai virhetulkinnoista, jotka johtuvat tämän käännöksen käytöstä.