JCONTROL(1)

πŸŽ€ NAME πŸŽ€

jcontrol β€” a sample module client written in C πŸ’…

okay so bestie, welcome to JCONTROL(1), the manual page where we talk about the cutest lil console program that could πŸ’–


✨ SYNOPSIS ✨

jcontrol {hostname} [portnum]

like, that's it. that's the whole vibe check πŸ¦‹


🌸 DESCRIPTION 🌸

jcontrol is a simple console program made to control julius running on other hosts over the network API πŸ‘‘. It can send commands to Julius, and it can receive messages back from Julius. it's giving long-distance relationship but make it sockets πŸ’Œ

When you invoke it, jcontrol tries to connect to Julius running in "module mode" on the hostname you specified ✨. Once the connection is established, jcontrol just... waits πŸ’€ for user commands from standard input. main character energy honestly.

When you type a command into jcontrol, it gets interpreted and the corresponding API command gets sent to Julius πŸ“¨. And when a message is received from Julius, its content gets output to standard output 🌈.

For all the deets about the API, go see the related documents, iykyk πŸ“š


πŸ’– OPTIONS πŸ’–

  • hostname β€” the host name where Julius is running in module mode πŸ–₯️ (yes the original spells it "runnning", we love her for that)
  • portnum β€” the port number (default: 10500) πŸ”Œ

πŸ¦‹ COMMANDS πŸ¦‹

jcontrol interprets commands from standard input. Below is a list of all the commands, no skips, no cuts, periodt πŸ’…

πŸ‘‘ Engine control πŸ‘‘

  • pause β€” Stop Julius and enter into paused status. In paused status, Julius will not run recognition even if speech input occurs 😴. When this command is issued while recognition is running, Julius will stop after the recognition has been finished.
  • terminate β€” Same as pause, but discard the current speech input when the command is received in the middle of the recognition process πŸ—‘οΈ.
  • resume β€” Restart Julius that has been paused or terminated ⏯️.
  • inputparam arg β€” Tell Julius how to deal with speech input in case the grammar is changed just when recognition is running. Specify one: "TERMINATE", "PAUSE" or "WAIT" πŸŽ›οΈ.
  • version β€” Tell Julius to send the version description string 🏷️.
  • status β€” Tell Julius to send the system status (active / sleep) πŸ’€.

πŸ“š Grammar handling πŸ“š

  • changegram prefix β€” Send a new grammar "prefix.dfa" and "prefix.dict", and tell Julius to use it as a new grammar. All the current grammars used in the current process of Julius will be deleted and replaced with the specified grammar πŸ”„.
  • addgram prefix β€” Send a new grammar "prefix.dfa" and "prefix.dict" and add it to the current grammar βž•.
  • deletegram gramlist β€” Tell Julius to delete an existing grammar. The grammar can be specified by either prefix name or number ID πŸ”’. The number ID can be determined from the message sent from Julius each time grammar information has changed. When you want to delete more than one grammar, specify all of them comma-separated.
  • deactivategram gramlist β€” Tell Julius to de-activate a specified grammar. The specified grammar will still be kept but will not be used for recognition 🚫.

The target grammar can be specified by either prefix name or number ID. The number ID can be determined from the message sent from Julius each time grammar information has changed. When you want to delete more than one grammar, specify all of them comma-separated.

  • activategram gramlist β€” Tell Julius to activate a previously de-activated grammar βœ…. The target grammar can be specified by either prefix name or number ID. The number ID can be determined from the message sent from Julius each time grammar information has changed. When you want to delete more than one grammar, specify all of them comma-separated.
  • addword grammar_name_or_id dictfile β€” Add the recognition word entries in the specified dictfile to the specified grammar on the current process πŸ“.
  • syncgram β€” Force synchronize grammar status, like the unix command "sync" πŸ”ƒ.

🧚 Process management 🧚

Julius-4 supports multi-model recognition and multi decoding 🌈. In this case it is possible to control each recognition process, as defined by the "-SR" option, from the module client.

In multi decoding mode, the module client holds a "current process", and the process commands and grammar related commands will be issued toward the current process 🎯.

  • listprocess β€” Tell Julius to send the list of existing recognition process πŸ“‹.
  • currentprocess procname β€” Switch the current process to the process specified by the name πŸ”€.
  • shiftprocess β€” Rotate the current process. At each call the current process will be changed to the next one πŸ”.
  • addprocess jconffile β€” Tell Julius to load a new recognition process into the engine πŸ†•. The jconffile argument should be a jconf file that contains only one set of LM options and one SR definition. Note that the file should be visible on the running Julius, since jcontrol only sends the path name and Julius actually reads the jconf file πŸ“‚.

The new LM and SR process will have the name of the jconffile.

  • delprocess procname β€” Delete the specified recognition process from the engine πŸ—‘οΈ.
  • deactivateprocess procname β€” Tell Julius to temporarily stop the specified recognition process ⏸️. The stopped process will not be executed for the input until activated again.
  • activateprocess procname β€” Tell Julius to activate the temporarily stopped process ▢️.

🌈 EXAMPLES 🌈

The dump messages from Julius are output to tty with the prefix ">" appended to each line πŸ‘€. Julius can be started in module mode like this:

jcontrol can be launched with the host name:

It will then receive the outputs of Julius and output the raw message to standard out ✨. Also, by inputting the commands above to the standard input of jcontrol, it will be sent to Julius πŸ’Œ. See the manuals for the specification of module mode πŸ“–.


🫢 SEE ALSO 🫢

julius ( 1 ) πŸ’œ


Copyright (c) 1997-2000 Information-technology Promotion Agency, Japan

Copyright (c) 1991-2008 Kawahara Lab., Kyoto University

Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology

Copyright (c) 2005-2008 Julius project team, Nagoya Institute of Technology


⭐ LICENSE ⭐

The same as Julius. πŸ“œ


and that's the whole page bestie πŸ₯Ή this was JCONTROL(1), dated 10/02/2008, and it's the same page as the one filed under JCONTROL(1) β€” go forth and control your Julius over the network, you absolute icon πŸ‘‘πŸ’–βœ¨

πŸ“¦ where this page comes from