Visual Basic 2012 WPS
Sprachprogramm programmieren SelMcKenzie Selzer-McKenzie
Author D.Selzer-McKenzie
Video: http://youtu.be/NqRn7p8_TEM
Heute zeige ich Ihnen, wie
Sie ein komplettes Sprachprogramm mit mehreren Stimmen usw. programmieren
können.
Das Sprachprogramm kann benutzt werden, in dem Sie
über das Mikrophon Texte eingeben, die
dann in eine Textdatei geschrieben werden, also Diktieren, ebenfalls kann das
Programm alle Texte vorlesen, aus einer fertigen Datei oder einer Textdatei
oder aus einem Schreibprogramm. Ebenfalls können Sie natürlich Songs aus dem
Internet aufnehmen und kommentieren. Interessant ist natürlich die Funktion
Vorlesen und Diktieren, wobei Ihr gesprochenes Wort direkt in ein
Schreibprogramm geschrieben wird. Lästige Tipparbeit kann man sich also
ersparen. Weiterhin können Sie mit dem Programm auch Befehle erteilen, wie z.B.
Datei öffnen, Datei speichern usw. Dieses Programm ist ein vollumfängliches
Sprachprogramm, welches genausogut Texte in english oder anderen Sprachen
vorlesen kann.
Das Programm kann in WPS oder C bzw. Visual-Basic
geschrieben werden. Dieser Text wird mit diesem Programm und der entsprechenden
Stimme vorgelesen.
Den Source Code habe ich
abgefilmt, aber den Source Code finden Sie auch im Forum unter
Hier nun der Source Code:
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Sprachprogramm Spracheeingabe/Sprachausgabe von SelMcKenzie
Selzer-McKenzie" Height="459" Width="677">
Imports System.Speech.Synthesis
Imports System.IO
Imports System.Media
Class MainWindow
Dim syn As
SpeechSynthesizer = New SpeechSynthesizer
Dim Sprechtext As
String
Sub New()
InitializeComponent()
AddHandler
syn.SpeakCompleted, AddressOf sprechen_beendet
File.Delete("ausgabe.wav")
End Sub
Private Sub
rbkurz(sender As System.Object, e As System.Windows.RoutedEventArgs)
Sprechtext =
"This is my first example"
End Sub
Private Sub
rblang(sender As System.Object, e As System.Windows.RoutedEventArgs)
Sprechtext =
"Berlin is the capital city of Germany, and is one of the sixteen states
of Germany." _
&
"It has a population of 3.4 million people, and is Germany's largest
city."
End Sub
Private Sub
rbsyn(sender As System.Object, e As System.Windows.RoutedEventArgs)
pause_button.IsEnabled = Not rbs.IsChecked
resume_button.IsEnabled = Not rbs.IsChecked
End Sub
Private Sub
rblaut(sender As System.Object, e As System.Windows.RoutedEventArgs)
syn.Volume =
100
End Sub
Private Sub
rbleise(sender As System.Object, e As System.Windows.RoutedEventArgs)
syn.Volume =
50
End Sub
Private Sub
rblautsprecher(sender As System.Object, e As System.Windows.RoutedEventArgs)
syn.SetOutputToDefaultAudioDevice()
End Sub
Private Sub
rbwavdatei(sender As System.Object, e As System.Windows.RoutedEventArgs)
syn.SetOutputToWaveFile("ausgabe.wav")
End Sub
Private Sub
sprechen(sender As System.Object, e As System.Windows.RoutedEventArgs)
If
rbs.IsChecked Then
syn.Speak(Sprechtext)
Else
syn.SpeakAsync(Sprechtext)
End If
End Sub
Private Sub
sprechen_beendet(sender As Object, e As SpeakCompletedEventArgs)
MessageBox.Show("Sprachausgabe beendet")
End Sub
Private Sub
anhalten(sender As System.Object, e As System.Windows.RoutedEventArgs)
syn.Pause()
End Sub
Private Sub
weiter(sender As System.Object, e As System.Windows.RoutedEventArgs)
syn.Resume()
End Sub
Private Sub
sw(sender As System.Object, e As System.Windows.RoutedEventArgs)
syn.SelectVoice("Microsoft Anna")
End Sub
Private Sub
av(sender As System.Object, e As System.Windows.RoutedEventArgs)
MessageBox.Show("Anzahl installierte Stimmen: " &
syn.GetInstalledVoices().Count)
End Sub
Private Sub wa(sender
As System.Object, e As System.Windows.RoutedEventArgs)
If Not
File.Exists("ausgabe.wav") Then Exit Sub
Dim sp As
SoundPlayer = New SoundPlayer("ausgabe.wav")
sp.Play()
End Sub
Private Sub
txa(sender As System.Object, e As System.Windows.RoutedEventArgs)
Dim fp As
FilePrompt = New FilePrompt("wpf.txt", SynthesisMediaType.Text)
If
rbs.IsChecked Then
syn.Speak(fp)
Else
syn.SpeakAsync(fp)
End If
End Sub
Private Sub
tba(sender As System.Object, e As System.Windows.RoutedEventArgs)
If
rbs.IsChecked Then
syn.Speak(tb.Text)
Else
syn.SpeakAsync(tb.Text)
End If
End Sub
End Class
Imports System.Speech.Synthesis
Imports System.IO
Imports System.Media
Class MainWindow
Dim syn As
SpeechSynthesizer = New SpeechSynthesizer
Dim Sprechtext As
String
Sub New()
InitializeComponent()
AddHandler
syn.SpeakCompleted, AddressOf sprechen_beendet
File.Delete("ausgabe.wav")
End Sub
Private Sub
rbkurz(sender As System.Object, e As System.Windows.RoutedEventArgs)
Sprechtext = "This is my first
example"
End Sub
Private Sub
rblang(sender As System.Object, e As System.Windows.RoutedEventArgs)
Sprechtext =
"Dies ist ein Sprachprogramm von SelMcKenzie SelMcKenzie für _ _"
Visuakl
Basic WPS mit Spracherkennung, Diktiereingabe und Vorlesen"
End Sub
Private Sub
rbsyn(sender As System.Object, e As System.Windows.RoutedEventArgs)
pause_button.IsEnabled = Not rbs.IsChecked
resume_button.IsEnabled = Not rbs.IsChecked
End Sub
Private Sub
rblaut(sender As System.Object, e As System.Windows.RoutedEventArgs)
syn.Volume =
100
End Sub
Private Sub
rbleise(sender As System.Object, e As System.Windows.RoutedEventArgs)
syn.Volume =
50
End Sub
Private Sub
rblautsprecher(sender As System.Object, e As System.Windows.RoutedEventArgs)
syn.SetOutputToDefaultAudioDevice()
End Sub
Private Sub
rbwavdatei(sender As System.Object, e As System.Windows.RoutedEventArgs)
syn.SetOutputToWaveFile("ausgabe.wav")
End Sub
Private Sub
sprechen(sender As System.Object, e As System.Windows.RoutedEventArgs)
If
rbs.IsChecked Then
syn.Speak(Sprechtext)
Else
syn.SpeakAsync(Sprechtext)
End If
End Sub
Private Sub
sprechen_beendet(sender As Object, e As SpeakCompletedEventArgs)
MessageBox.Show("Sprachausgabe beendet")
End Sub
Private Sub
anhalten(sender As System.Object, e As System.Windows.RoutedEventArgs)
syn.Pause()
End Sub
Private Sub
weiter(sender As System.Object, e As System.Windows.RoutedEventArgs)
syn.Resume()
End Sub
Private Sub
sw(sender As System.Object, e As System.Windows.RoutedEventArgs)
syn.SelectVoice("Microsoft Anna")
End Sub
Private Sub
av(sender As System.Object, e As System.Windows.RoutedEventArgs)
MessageBox.Show("Anzahl installierte Stimmen: " &
syn.GetInstalledVoices().Count)
End Sub
Private Sub
wa(sender As System.Object, e As System.Windows.RoutedEventArgs)
If Not
File.Exists("ausgabe.wav") Then Exit Sub
Dim sp As
SoundPlayer = New SoundPlayer("ausgabe.wav")
sp.Play()
End Sub
Private Sub
txa(sender As System.Object, e As System.Windows.RoutedEventArgs)
Dim fp As
FilePrompt = New FilePrompt("wpf.txt", SynthesisMediaType.Text)
If
rbs.IsChecked Then
syn.Speak(fp)
Else
syn.SpeakAsync(fp)
End If
End Sub
Private Sub
tba(sender As System.Object, e As System.Windows.RoutedEventArgs)
If
rbs.IsChecked Then
syn.Speak(tb.Text)
Else
syn.SpeakAsync(tb.Text)
End If
End Sub
End Class
Keine Kommentare:
Kommentar veröffentlichen
Hinweis: Nur ein Mitglied dieses Blogs kann Kommentare posten.