Desidero modificare il sesso e l'età della voce di System.Speech
in C#. Ad esempio, una ragazza di 10 anni, ma non riesce a trovare alcun esempio semplice per aiutarmi a regolare i parametri.come posso cambiare il genere e l'età del sintetizzatore vocale in C#?
risposta
In primo luogo, verificare che voci avete installato enumerando il metodo della classe SpeechSynthesizer
GetInstalledVoices
, e quindi utilizzare SelectVoiceByHints
per selezionare uno di loro:
using (SpeechSynthesizer synthesizer = new SpeechSynthesizer())
{
// show installed voices
foreach (var v in synthesizer.GetInstalledVoices().Select(v => v.VoiceInfo))
{
Console.WriteLine("Name:{0}, Gender:{1}, Age:{2}",
v.Description, v.Gender, v.Age);
}
// select male senior (if it exists)
synthesizer.SelectVoiceByHints(VoiceGender.Male, VoiceAge.Senior);
// select audio device
synthesizer.SetOutputToDefaultAudioDevice();
// build and speak a prompt
PromptBuilder builder = new PromptBuilder();
builder.AppendText("Found this on Stack Overflow.");
synthesizer.Speak(builder);
}
http://msdn.microsoft.com/en-us/library/system.speech.synthesis.voiceage.aspx http://msdn.microsoft.com/en-us/library/system.speech.synthesis.voicegender.aspx
Hai preso un'occhiata a questo?
Perché [StackOverflow] (http: // http: //stackoverflow.com) Non ha ** ** COME pulsante? :) –
Non lo so, ma ha un pulsante [+1]! : P –
Sì, ma non ho capito –
Questi età e il sesso è in realtà di alcuna utilità. Se hai molte voci installate nella tua finestra, puoi chiamare voci specifiche con questi parametri. Altrimenti, è semplicemente falso!
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Speech.Synthesis; // first import this package
namespace textToSpeech
{
public partial class home : Form
{
public string s = "pran"; // storing string (pran) to s
private void home_Load(object sender, EventArgs e)
{
speech(s); // calling the function with a string argument
}
private void speech(string args) // defining the function which will accept a string parameter
{
SpeechSynthesizer synthesizer = new SpeechSynthesizer();
synthesizer.SelectVoiceByHints(VoiceGender.Male , VoiceAge.Adult); // to change VoiceGender and VoiceAge check out those links below
synthesizer.Volume = 100; // (0 - 100)
synthesizer.Rate = 0; // (-10 - 10)
// Synchronous
synthesizer.Speak("Now I'm speaking, no other function'll work");
// Asynchronous
synthesizer.SpeakAsync("Welcome" + args); // here args = pran
}
}
}
- Sarà meglio scelta di utilizzare "SpeakAsync" perché quando "parlare" la funzione è in esecuzione/nessuno di altra funzione in esecuzione funzionerà fino a quando finisce è un lavoro (personalmente consigliato)
prima è necessario intialise il discorso di riferimento utilizzando il riferimento aggiuntivo.
quindi creare un gestore eventi per la conversazione avviata, quindi è possibile modificare i parametri all'interno di quel gestore.
nel gestore è dove si può cambiare la voce e l'età utilizzando il
synthesizer.SelectVoiceByHints(VoiceGender.Male , VoiceAge.Adult);
- 1. Sintetizzatore MIDI Java - Impossibile cambiare gli strumenti
- 2. C# Riconoscimento vocale
- 3. Come implementare il riconoscimento vocale e la sintesi vocale in C++?
- 4. Qual è il? genere?
- 5. In che modo programmi come Matematica disegnano grafici e come posso creare un programma del genere?
- 6. Come posso cambiare il colore del testo in IFrame
- 7. Google Doodle di oggi del sintetizzatore Moog
- 8. Posso cambiare il colore del pulsante Bootstrap?
- 9. Posso cambiare il titolo del mio FolderBrowserDialog?
- 10. Unicode - in genere funziona con C++
- 11. Come posso cambiare il colore del font in gridview DevExpress C#
- 12. Mediaelement.js: come posso cambiare l'immagine del poster?
- 13. Come posso cambiare il colore del carattere di un TextRange in PowerPoint da C#?
- 14. Come posso cambiare il colore del textView android.R.layout.simple_spinner_dropdown_item?
- 15. C# Riconoscimento vocale
- 16. Come posso cambiare il nome del dispositivo? (dispositivi adb)
- 17. Come posso cambiare il giorno del primo giorno della settimana?
- 18. come posso cambiare la voce chiamata su richiesta in Android? (cambiare l'uomo in donna e così via)
- 19. Come posso cambiare il colore del testo con jQuery?
- 20. Come posso cambiare il colore predefinito del pulsante su iPhone?
- 21. Come posso cambiare il colore del titolo UIButton?
- 22. Le voci del motore di sintesi vocale di Google?
- 23. Come posso cambiare la dimensione di un array in C?
- 24. Come posso rilevare una parola con riconoscimento vocale in Python
- 25. Come posso cambiare il formato del testo di una cella Excel usando C#?
- 26. Come posso cambiare il colore dell'intestazione in un xyplot?
- 27. Come posso cambiare il messaggio iniziale in Emacs?
- 28. Come posso cambiare il tema Sourcetree?
- 29. C# Come cambiare il carattere di un'etichetta
- 30. Posso mantenere il riconoscimento vocale in ascolto indefinitamente?
Se chi parla è ancora una donna, significa che non ho la voce maschile nel mio sistema, quindi devo scaricarlo? –
@Pablo: è corretto, anche se, a dir la verità, non ho idea di dove scaricarli. [Questa pagina MSDN] (http://www.microsoft.com/en-us/download/details.aspx?id=27224) sembra che abbia alcune voci aggiuntive, ma non ne ho mai usato nessuna. – Groo
Ok, cambiare le proprietà della voce è solo una domanda che ho avuto tempo fa, perché voglio saperne di più sul namespace parlato. Vado a trovare una voce di bambina se esiste davvero hahah grazie ancora –