General Discussion

Re: Log Phenome?
User: Tom J.
Date: 5/3/2021 11:21 am
Views: 15
Rating: 0

Is there a method of changing grammar while Julius is running? I found a post here regarding that but the link to that module is dead. That post is the only mention of that feature I've found.

I can do without but since Julius has no "off" command it means sending a kill command and restarting it every time my program needs to change dictionaries, ugly stuff.

My word teaching function is nearly complete and will be ready to test in a couple of days. My biggest concern is that it's learning a single word without hearing it's interaction with other words, this may only be truly useful for keywords if it works at all.

--- (Edited on 5/3/2021 11:21 am [GMT-0500] by Tom J.) ---

Re: Log Phenome?
User: kmaclean
Date: 5/3/2021 1:02 pm
Views: 27
Rating: 0

>Is there a method of changing grammar while Julius is running? 

see here: change-the-set-of-words/grammar

--- (Edited on 5/3/2021 2:02 pm [GMT-0400] by kmaclean) ---

Re: Log Phenome?
User: Tom J.
Date: 5/5/2021 7:37 pm
Views: 56
Rating: 0

jcontrol does indeed allow changing grammar but once again I'm back to the no C++ API thing with Julius. This project is a C++ program that verbally prompts and listens to learn new words.

--- (Edited on 5/5/2021 7:37 pm [GMT-0500] by Tom J.) ---

Re: Log Phenome?
User: kmaclean
Date: 5/7/2021 8:28 am
Views: 42
Rating: 0

> back to the no C++ API thing with Julius.

can't you just recompile Julius with your c++ compiler:

BTW there is another way to handle this whole thing: compile all your code (even your C-style code) using a C++ compiler. That pretty much eliminates the need to mix C and C++, plus it will cause you to be more careful (and possibly —hopefully!— discover some bugs) in your C-style code. The down-side is that you’ll need to update your C-style code in certain ways, basically because the C++ compiler is more careful/picky than your C compiler. The point is that the effort required to clean up your C-style code may be less than the effort required to mix C and C++, and as a bonus you get cleaned up C-style code. 

Julius supports doing this on Windows:

Julius-4.1.3 and later now supports compilation on Microsoft Visual C++ (MSVC). In addition to the command-based executables, an additional sample application named "SampleApp" is included to demonstrate the C++ wrapper implementation of Julius.

The MSVC support has been tested on MS Visual C++ 2008, both Professional and Express Edition.

--- (Edited on 5/7/2021 9:29 am [GMT-0400] by kmaclean) ---

Re: Log Phenome?
User: Tom J.
Date: 5/10/2021 10:45 am
Views: 1121
Rating: 1

I'd LOVE to get that API working, I figured out a work around and beat it a couple nights ago. It's not pretty, my program kills Julius and restarts it with the next jconf. It works quite well for something so heavy handed.

My function can now take words reliably one letter at a time and make a word all through verbal interaction. It switches to the phonetic grammar and has me say the word ten times, storing each string. This is where I run into trouble, no two strings are the same. I think maybe I need to work more on beamforming and echo cancellation with pulseaudio. I'm going to try getting into a very quiet room and see if that does it. As I understand it without triphones the erratic strings are to be expected so I really need to play with the phonetic jconf and see if that can be tweaked too before admitting failure.

I figure if at least 40% of the strings can come back the same I'll write the rest of the function, but I knew going into this experiment it was a new idea and there was a chance it was hopeless.

--- (Edited on 5/10/2021 10:45 am [GMT-0500] by Tom J.) ---

--- (Edited on 5/10/2021 10:47 am [GMT-0500] by Tom J.) ---