General Discussion

Flat
juliuslib sample code C++
User: Tom J.
Date: 1/10/2021 11:41 pm
Views: 4399
Rating: 0
I want to use Julius on a project in C++ and there are some docs and snippets of sample code but they're a little vague from a novice developer perspective. Does anyone know of a whole project written in C++ that I could study to get a firmer grasp on how to use Julius to return a string and pause/resume Julius?

--- (Edited on 1/10/2021 11:42 pm [GMT-0600] by Tom J.) ---

Re: juliuslib sample code C++
User: Tom J.
Date: 4/13/2021 11:48 am
Views: 27
Rating: 0

I loathe bumping threads but I'm still looking for guidance regarding the Julius API, it would be much appreciated if someone could point me in the right direction.

Thank you.

--- (Edited on 4/13/2021 11:48 am [GMT-0500] by Tom J.) ---

Re: juliuslib sample code C++
User: kmaclean
Date: 4/13/2021 4:52 pm
Views: 2
Rating: 0

>looking for guidance regarding the Julius API,

I believe Simon was written in C++.

I started on a simple dialog manager in C that might help.

I believe the Julius source code includes some examples too.

 

--- (Edited on 4/13/2021 5:52 pm [GMT-0400] by kmaclean) ---

Re: juliuslib sample code C++
User: Tom J.
Date: 4/13/2021 5:28 pm
Views: 264
Rating: 0

Thank You Sir!

I'll study that project of yours and look more closely at the Julius code. Simon is pretty crazy, I looked at it for a couple of days.

I wrote quite possibly the worst API in the history of man using a bunch of system() and would like to write something efficient to replace it.

--- (Edited on 4/13/2021 5:28 pm [GMT-0500] by Tom J.) ---

--- (Edited on 4/13/2021 5:30 pm [GMT-0500] by Tom J.) ---

Re: juliuslib sample code C++
User: Tom J.
Date: 8/13/2021 2:20 am
Views: 73
Rating: 0

 Still never got anywhere with a native API, my ugly API is tweaked and working quite well though.

I'm starting Julius and having it log to a file, it copies the file to another name and then it compares the 2 file lengths. If the older version is shorter it grabs the last line of the log and filters the unwanted stuff from it.

Then I have written misc c++ functions to further filter the string, comparing it to lists of words, extracting numbers, etc... (Returning accurate numbers was a tricky one).

I start Julius with different .jconf files so it has different vocabularies for specific tasks, the big trick is keeping the vocabulary as small as possible.

Here's some early videos of the project, she gets better every day so soon I'll make some better videos to show more of what Candice can do.

 

https://m.youtube.com/watch?v=j4Qyo1uvE2g

 

https://m.youtube.co/watch?v=GYaUSA1c8cY

 

--- (Edited on 8/13/2021 2:20 am [GMT-0500] by Tom J.) ---

Re: juliuslib sample code C++
User: kmaclean
Date: 8/21/2021 12:00 pm
Views: 145
Rating: 0

Very cool, I thought I recognized the design but could not quite place it... Buck Rogers!

--- (Edited on 8/21/2021 1:00 pm [GMT-0400] by kmaclean) ---

Re: juliuslib sample code C++
User: Tom J.
Date: 9/1/2021 5:44 pm
Views: 182
Rating: 0

Yep, when I decided to make a personal robot lab assistant I was already familiar with the perfect form factor. Candice is indeed modeled after Buck Rogers council of computers bots like Dr. Theopolis.

--- (Edited on 9/1/2021 5:45 pm [GMT-0500] by Tom J.) ---

Re: juliuslib sample code C++
User: Tom J.
Date: 9/16/2021 10:46 am
Views: 1194
Rating: 0

Spent the last several weeks writing a unit conversion calculator for the project,  she now converts 44 different units of measurement.

She does some other basic things too, since the purpose of the project is to teach myself C++ and I wanted more practice, like ohms law and decoding resistor color bands.

It's not pretty but the program stops Julius and re-starts it with different jconf files, linked to different voca files that are specific to various tasks, 9 sets of vocabularies in all.

I used a PSeye camera for the microphone array and used pulseaudio beamforming. And I wrote a simple AGC so she uses string relevance to keep the gain in the "sweet spot" regardless of background sounds.

Anyone wishing to use Julius for a project just remember Julius is compelled to return everything it hears so a small, relevant arsenal of words and a function to filter the string is key.

I've got a bit more tweaking to do in software and a faceplate to make before making some good videos but I'll be making one where I discuss Julius in detail.

--- (Edited on 9/16/2021 10:46 am [GMT-0500] by Tom J.) ---

PreviousNext