AJUDA COM NEW LIST
Citação::
O problema ai é que você não está entendendo o que está fazendo, você precisa entender esta linhagb.Append(New Choices(New String() {[Ô]DÃRIO[Ô], [Ô]RODRIGO[Ô]}))
gb.Append(...) é o método que você está chamando, para ele você passa um parâmetro
New Choices(...) é uma classe que você está instanciando e passando como parâmetro ao gb.Append(), e esta classe possui um construtor que você está passando um parâmetro
New String() {[Ô]DÃRIO[Ô], [Ô]RODRIGO[Ô]} é o que você está passando como parâmetro para o construtor da classe Choices, com isso você está instanciando e preenchendo um Array de Strings
Essa forma de criar o array teria o mesmo resultado que fazer assimDim array(1) As String [ô]lembrando que arrays começam do 0, então neste caso ele tem duas posições, 0 e 1
array(0) = [Ô]DÃRIO[Ô]
array(1) = [Ô]RODRIGO[Ô]
gb.Append(New Choices(array))
Então o que precisa mudar é os valores desse array, que você precisa carregar do arquivo.
Então o primeiro de tudo, se essa classe Choices foi criada por você (o que eu não creio que seja o caso) eu diria para modifica-la para trabalhar com um List(Of String) em vez de Array, como esse provavelmente não é o caso o que você precisa é passar para ela um array, o que no caso de converter um List(Of String) para um array de Strings é simplesmente chamar o método ToArray() dele.
gb.Append(New Choices(Dicionario.ToArray()))
E nesse caso você pode simplificar isso um pouco mais já que a classe System.IO.File possui um método estático chamado ReadAllLines que já faz isso, então o seu código poderia ser simplesmenteDim encoding As System.Text.Encoding = System.Text.Encoding.GetEncoding([Ô]ISO-8859-1[Ô])
Dim linhas = System.IO.File.ReadAllLines(My.Application.Info.DirectoryPath & [Ô]Dic.txt[Ô],encoding)
gb.Append(New Choices(linhas))
Na prática ele faz a mesma coisa, internamente ele carrega tudo em um List(Of String) e depois chama o ToArray() nele
Assim que chegar em casa da faculdade vou tentar da forma que vc falou.
Citação::
Isso mesmo... Dentro do Txt esta desta forma...Abaixo cada um na sua linha.
Dario
Rodrigo
Carlos
Então tu precisa usar isso: Dicionario.ToArray()
Assim, teu código ficaria:[ô]Pessoal tenho essa lista
Dim Dicionario As List(Of String) = New List(Of String)
[ô]Que estou preenchendo desta forma...
Dim codutf As System.Text.Encoding = System.Text.Encoding.GetEncoding([Ô]ISO-8859-1[Ô])
Read = New StreamReader(My.Application.Info.DirectoryPath & [Ô]Dic.txt[Ô], codutf)
Using reader As StreamReader = Read
While Not reader.EndOfStream
Dim Line As String = reader.ReadLine()
Dicionario.Add(Line)
End While
End Using
[ô] para ultilizar estou tentando desta forma...
gb.Append(New Choices(Dicionario.ToArray()))
Vou verificar ainda hoje sem falta
Citação::
:
O que é o objeto [Ô]gb[Ô]? Por conter o método Append, pode ser um StringBuilder, mas pode também ser outra coisa, então, o que ele é? Aliás, o que você quer fazer?
No meu sistema de tcc faço uso da api Recognation para ele funcionar corretamente preciso adicionar e montar uma gramática, comi se ensinar se o sistema a falar, para isso poderia difitar milhares de palavras ao invés disso adicionei o dicionário Aurélio.
Ok, mas o que é o objeto?
Citação::
:
:
O que é o objeto [Ô]gb[Ô]? Por conter o método Append, pode ser um StringBuilder, mas pode também ser outra coisa, então, o que ele é? Aliás, o que você quer fazer?
No meu sistema de tcc faço uso da api Recognation para ele funcionar corretamente preciso adicionar e montar uma gramática, comi se ensinar se o sistema a falar, para isso poderia difitar milhares de palavras ao invés disso adicionei o dicionário Aurélio.
Ok, mas o que é o objeto?
[ô]GB
Dim gb As New GrammarBuilder()
Citação::
Isso mesmo... Dentro do Txt esta desta forma...Abaixo cada um na sua linha.
Dario
Rodrigo
Carlos
Então tu precisa usar isso: Dicionario.ToArray()
Assim, teu código ficaria:[ô]Pessoal tenho essa lista
Dim Dicionario As List(Of String) = New List(Of String)
[ô]Que estou preenchendo desta forma...
Dim codutf As System.Text.Encoding = System.Text.Encoding.GetEncoding([Ô]ISO-8859-1[Ô])
Read = New StreamReader(My.Application.Info.DirectoryPath & [Ô]Dic.txt[Ô], codutf)
Using reader As StreamReader = Read
While Not reader.EndOfStream
Dim Line As String = reader.ReadLine()
Dicionario.Add(Line)
End While
End Using
[ô] para ultilizar estou tentando desta forma...
gb.Append(New Choices(Dicionario.ToArray()))
Desta forma funcionou corretamente mais somente para, algumas milhares de palavras agora se colocar o arquivo do dicionario com alguns Milhões ele da o erro abaixo...
Total de Palavras...
dez milhões e quatrocentos e sessenta e três mil e oitocentos e setenta e cinco
Ai já não sei o que fazer....
Veja se o Kerplunk tem alguma ideia sobre como otimizar teu código.
Citação::
Segundo o MSDN, esse erro acontece porque o array excedeu o limite da memória RAM do teu PC (https://msdn.microsoft.com/en-us/library/b388cb5s(v=vs.90).aspx).
Ai já não sei o que fazer....
Veja se o Kerplunk tem alguma ideia sobre como otimizar teu código.
Estou a manha toda tentando encontrar, ja tinha visto sobre isso da memoria, estanho pc de 8gb de ram kkkk mais vou tentar encontrar algo, mais vlw pela ajuda vou deixar aberto ao final te pontuo pela solução.
Speech recognition é algo bastante novo ainda. Trabalhei bem pouco com isso em um sistema para deficientes visuais. O que fiz foi trabalhar com o RecognitionResult. Ele possui propriedades que indicam o nÃvel de confiança, texto e tudo mais relativo ao que foi dito e só fazia a busca por verbetes(em banco de dados e não arquivo texto, mas isso é opcional).