Como usar loquendo en vb.net (Texto a voz)

Requisitos:
  • Tener instalado loquendo tts director

Youtube: http://youtu.be/U1MSh4rk-to

Instrucciones:

  • Primero abrimos visual studio y creamos un nuevo proyecto, menú Archivo-->Nuevo Proyecto.



  • Elegimos plantilla visual basic, Aplicación de Windows forms y le ponemos un nombre al proyecto y aceptamos.


  • Ahora agregamos referencia en Menu Proyecto--> Agregar referencia


  • En la ventana Administrador de referencia seleccionamos menú COM y en la lista del medio buscamos “Loquendo TTS7 ActiveX Control module” le damos check y aceptamos.


  • Ahora agregamos los siguientes elementos al formulario: 1 combobox, 1 Textbox, 1 Button 1 Checkbox, 1 Trackbar.

  • Al combobox le cambiamos la propiedad “Dropdownstyle” elegimos en la lista  DropdownList”
  • Al button le cambiamos su propiedad “Text” por “Ejecutar” o “Reproducir”, como quieran.
  • Al checkbox la propiedad “Text” por “Guardar”
  • Al Trackbar su propiedad “Maximum” por “100”, la propiedad “TickStyle” por “None” y propiedad “Value” por “20”


  • Presionan la tecla F7 y entraran al editor de código. Arriba de todo sobre el “Public class Form1”, escriben: 
    Imports LTTS7Lib
    si este componente LTTS7Lib aparece entonces vamos por buen camino.


Codigo completo:



Imports LTTS7Lib
Public Class Form1
    Dim Sintetizador As New LTTS7

    Sub New()
        InitializeComponent()
        Sintetizador.Voice = "Carmen"
        Sintetizador.Language = "SpanishAm"
    End Sub

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        'Ponemos ruta de las voces instaladas en loquendo
        Dim Carpeta_loquendo As String = My.Computer.FileSystem.SpecialDirectories.ProgramFiles & "\Loquendo\LTTS7\data"

        If My.Computer.FileSystem.DirectoryExists(Carpeta_loquendo) = True Then
            Dim directorio As New IO.DirectoryInfo(Carpeta_loquendo)
            Dim voces As IO.FileInfo
            For Each voces In directorio.GetFiles
                If voces.Extension = ".vcf" Then
                    'Agregamos al combobox las voces encontradas
                    Me.ComboBox1.Items.Add(System.IO.Path.GetFileNameWithoutExtension(voces.Name))
                End If
            Next
            If Me.ComboBox1.Items.Count > 0 Then
                Me.ComboBox1.SelectedIndex = 0 'selecciona la primera voz del combobox
            End If
            Me.TextBox1.Select()
        Else
            MsgBox("No existe la carpeta: " & vbNewLine & Carpeta_loquendo, MsgBoxStyle.Critical, "")
        End If
       
    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        'Sentencia Try para que no se cuelgue si ocurre algun error
        Try
            If Me.ComboBox1.Items.Count = 0 Then
                MsgBox("Parece que no hay voces instaladas.", MsgBoxStyle.Critical, "")
            Else
                Sintetizador.Voice = Me.ComboBox1.SelectedItem
                Sintetizador.Volume = Me.TrackBar1.Value
                If Trim(Me.TextBox1.Text) = "" Then 'Si es nada muestra mensaje  ó lo dice
                    'MsgBox("Escribe texto a leer.", MsgBoxStyle.Information, "")
                    Sintetizador.Read("Escribe texto a leer.")
                Else
                    If Me.ComboBox1.SelectedIndex = -1 Then 'Sino esta seleccionado ninguno muestra mensaje ó lo dice
                        'MsgBox("Seleccione voz para leer texto.", MsgBoxStyle.Information, "")
                        Sintetizador.Read("Seleccione una voz para leer texto.")
                    Else
                        If Me.CheckBox1.Checked = False Then
                            'lee texto en textbox con la voz seleccionada en el combobox
                            Sintetizador.Read(Me.TextBox1.Text)
                        Else 'Guardamos como audio wav
                            Dim save As New SaveFileDialog
                            save.Filter = "Wav|*.wav"
                            If save.ShowDialog = Windows.Forms.DialogResult.OK Then
                                Sintetizador.Record(Me.TextBox1.Text, save.FileName)
                            End If
                        End If
                    End If
                End If
            End If
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub
End Class

Descargar proyecto completo

Enlace reparado 11/07/2015. Por Mega.
(No me habia dado cuenta que no funcionaba.)
>Codigos


>Codigos

Como abrir y cerrar la lectora de windows desde visual basic.net

 Pasos:
-Agregar 2 botones, uno sera el boton "abrir" y el otro el boton "cerrar".

Abrir lectora de windows con visual basic.net


Codigo fuente:


Public Class Form1
        Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Integer, ByVal hwndCallback As Integer) As Integer
    Dim ret As Integer

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Try
            ret = mciSendString("Set CdAudio Door Open Wait", vbNullString, 127, 0)
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Try
            ret = mciSendString("Set CdAudio Door Closed Wait", vbNullString, 127, 0)
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub
End Class