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.)

5 comentarios:

  1. hola amigo emmmm me pordrias explicar como funciona el codigo o endonde es la parte donde se usa la libreria del loquendo porfabor

    ResponderEliminar
    Respuestas
    1. Amigo este codigo lo tome de otro blog porque me parecio interesante.
      En primer lugar tienes que ya tener instalado el Loquendo TTS Director, original o pirata pero que te permita escribir y hablar el texto, y solito instalara una libreria a la que podras acceder desde "Agregar|Quitar Componentes" en el Visual Studio: aparecera como LTTS7Lib. Luego desde el codigo pegas lo que yo puse de codigo, solo cambias:
      Sintetizador.Voice = "Carmen" por "Jorge" o el nombre de la voz que instalaste.

      Sintetizador.Language = "SpanishAm" esta parte no estoy seguro te fijas si en la carpeta de instalacion hay algun archivo parecido.

      Si no pones el imports LTTS7Lib te va a salir error. Ademas si el loquendo es crakeado cada cierto tiempo te saldra que no lo tienes registrado y no te dejara usarlo.

      Todo el codigo que he puesto va en la pagina principal del editor de codigo, Si puedes descargar el proyecto y si lo compilas te deberia funcionar sin problemas y de ahi lo vas modificando para que entiendas bien.

      https://mega.nz/#!R9wGlBJD!oajIPX5aA9GUIUCYruiD6d29BrZGZ62SE0GTIEU7Amw

      Eliminar
  2. lo e estado analizando y creo que ya se como funciona bueno parte del codigo enserio muchas gracias por tu aporte me servira mucho para mis estudios

    ResponderEliminar
  3. como puedo saber si esta ocupado... es decir que esta hablando en ese momento

    ResponderEliminar