![]() |
SUBSIM: The Web's #1 resource for all submarine & naval simulations since 1997 |
![]() |
#91 |
XO
![]() Join Date: Mar 2007
Posts: 411
Downloads: 1
Uploads: 0
|
![]() |
![]() |
![]() |
![]() |
#92 |
The Old Man
![]() Join Date: Apr 2005
Posts: 1,336
Downloads: 6
Uploads: 0
|
![]()
Awesome! I just D/L'ed version 1.6 and will be taking it out to sea tomorrow (dying to do it now but it's just too late here). Just had to say that the new reference card is a great thing - I'd done a quick-and-dirty printout of my own from the .csv file but it ran about 4 pages and was not organized or formatted well at all - this one-pager will be perfect for ready reference till it gets to be second nature.
Well Done ![]() Just one question regarding how you managed to get the course and speed commands working - does it depend on using exactly the formulation you have written (e.g., "heading xx degrees", "heading right xx degrees", "make your speed xx knots"), or is it possible for us to modify these slightly (e.g., "make your course xx degrees", "come right xx degrees", "make turns for xx knots")? There's certainly nothing wrong with the way you've got it now, and I think it's amazing that you've gotten this to work, so I don't want to sound like I'm looking a gift horse in the mouth, but I'd love to be able to have alternate ways to say these things too. This just keeps getting better and better ![]()
__________________
![]() |
![]() |
![]() |
![]() |
#93 | |
XO
![]() Join Date: Mar 2007
Posts: 411
Downloads: 1
Uploads: 0
|
![]() Quote:
Unlike all the other voice commands, you might notice that these 1.) All have the same ID for a particular type (that maps to the dial ID) and B.) The Name (2nd column) is somewhat special. The Name is generally ignored but in this case I needed to actually put the numbers somewhere and this was as good as any. So just be careful copy and pasting so that you retain all of that. (Note: These CSVs are just text so you could use Notepad if you must, but you'll just have to watch more closely to ensure you don't change anything you don't mean to.) |
|
![]() |
![]() |
![]() |
#94 | |||
Swabbie
![]() Join Date: Jul 2007
Posts: 7
Downloads: 0
Uploads: 0
|
![]() Quote:
yes, it is 8.0 German and it is working with the German commands. English commands are not recognized. Quote:
But I saw another failure. If I run 'sh4speech.bat' all commands are recognized except those with umlauts. The error message is as follows: Code:
Phrase processed. Waiting for a new phrase... pythoncom error: Python error invoking COM method. Traceback (most recent call last): File "C:\Python25\Lib\site-packages\win32com\server\policy.py", line 285, in _Invoke_ return self._invoke_(dispid, lcid, wFlags, args) File "C:\Python25\Lib\site-packages\win32com\server\policy.py", line 290, in _invoke_ return S_OK, -1, self._invokeex_(dispid, lcid, wFlags, args, None, None) File "C:\Python25\Lib\site-packages\win32com\server\policy.py", line 588, in _invokeex_ return func(*args) File "hear.py", line 94, in OnRecognition print phrase <type 'exceptions.UnicodeEncodeError'>: 'ascii' codec can't encode character u'\xe4' in position 1: ordinal not in range(128) F. |
|||
![]() |
![]() |
![]() |
#95 |
Ace of the Deep
![]() Join Date: Apr 2007
Location: in a convergance zone
Posts: 1,186
Downloads: 3
Uploads: 0
|
![]() ![]() ![]() i'm wondering if the orders are repeated back, ie: "make your depth 225ft." "make my depth 225ft, aye (sir)"
__________________
Leiser und tödlicher edler Ritter der Tiefe ![]() ![]() Corsair Vengeance M70; ASUS Crosshair V Formula-Z; FX 8350; Asus 7870; Samsung SyncMaster 2243SWX; coolmax CUG950B 950w psu; 8GB Kingston HyperX DDR3; Corsair M4 SSD 128GB, WD 1TB; x18 DVR212D; 7SP1 |
![]() |
![]() |
![]() |
#96 |
Silent Hunter
![]() Join Date: Jul 2007
Location: The Peach State
Posts: 4,171
Downloads: 141
Uploads: 10
|
![]()
I hate being so far behind, but I'm just now getting to getting sh4speech installed and ran into a bit of a problem. I've followed the installation instructions (unless I missed something somewhere) and run into the following error when I attempt to run the app
can't locate Time/HiRes.pm in @INC <@INC contains C:/Perl/lib C:/Perl/site/lib.> at go.pl line 13 Begin failed--compilation aborted at go.pl line 13. I have active perl and python installed on C: and the sh4speech folder is also on C: I followed the instructions to run the COM Makepy utility successfully. I tried rerunning the install.bat and received messages stating that Win32-Locale and Win32-API were already installed and got the "everything should be done now" message. Any suggestions on a resolution would be greatly appreciated. Thanks, and nice work on the project. ![]() |
![]() |
![]() |
![]() |
#97 | |
XO
![]() Join Date: Mar 2007
Posts: 411
Downloads: 1
Uploads: 0
|
![]() Quote:
2. I make no effort to repeat them back, so you'll only hear them repeated back if those orders would normally be repeated back in game, which many are. |
|
![]() |
![]() |
![]() |
#98 | |
XO
![]() Join Date: Mar 2007
Posts: 411
Downloads: 1
Uploads: 0
|
![]() Quote:
Any message like this can generally be resolved by typing this from a command prompt: ppm install Time-HiRes Those are case sensitive I believe - so the module name for HiRes.pm in the Time folder (Time/HiRes.pm) will always be called Time-HiRes. Another example, if it says it can't locate some/module/name.pm then you would type ppm install some-module-name |
|
![]() |
![]() |
![]() |
#99 | |
XO
![]() Join Date: Mar 2007
Posts: 411
Downloads: 1
Uploads: 0
|
![]() Quote:
I ran some quick tests with go.pl and I see that, even if a valid umlaut voice command is forced in (not using hear.py but with my special trick), go.pl does not handle it properly. I'll look into it. |
|
![]() |
![]() |
![]() |
#100 |
XO
![]() Join Date: Mar 2007
Posts: 411
Downloads: 1
Uploads: 0
|
![]()
I just noticed an error message in 1.6:
"my" variable $x masks earlier declaration in same scope at go.pl line 346, <DATA> line 164. "my" variable $y masks earlier declaration in same scope at go.pl line 346, <DATA> line 164. I've fixed it (just updated 1.6 without changing the version number) since it was a harmless error that didn't affect anything. By the way, you can run sh4speech from anywhere now, it doesn't need to be in c:\sh4speech. Last edited by minsc_tdp; 08-19-07 at 01:53 PM. |
![]() |
![]() |
![]() |
#101 |
The Old Man
![]() Join Date: Apr 2005
Posts: 1,336
Downloads: 6
Uploads: 0
|
![]()
Just noticed something while tweaking up the voice commands for depth and course as mentioned above - all of the course-related commands are relative to current heading (e.g., come right (or left) xx degrees). Is there any chance of making it work so that you could order a course in "absolute" terms, i.e., "make your course 60 degrees"? It seems like there should be some way to do this by formula, if there's any way to know what your current heading is, but maybe there's no way to automatically get this info to your speech program.
Perhaps you could set this via some sort of variable command (like you do with the resetting your tubes thing) - for example, first say "current heading xx degrees", followed by saying "make your course yy degrees". Then the program could compute how many degrees (zz) left or right you needed to go by properly comparing yy to xx, and then trigger the same mouse click command as if you had spoken "come left (or right) zz degrees". Any chance something like that could work?
__________________
![]() |
![]() |
![]() |
![]() |
#102 |
The Old Man
![]() Join Date: Apr 2005
Posts: 1,336
Downloads: 6
Uploads: 0
|
![]()
Also just noticed what seems to be an error in the new 1.6 voice_commands.csv file - the setup items for the number of tubes you have on your boat are still numbered 61-64, which throws off errors in test mode. I think these are supposed to have been re-numbered to 200-203, to match up with the numbering in the new variables.csv file.
My personal tweaks on the course commands seem to have gone well, and once I renumbered the tube setup items the tube commands seem to be working well in test mode too. Can't seem to catch up with your version releases to actually get out to sea and try this out in game, but it's all good - keep up the great work ![]()
__________________
![]() |
![]() |
![]() |
![]() |
#103 |
XO
![]() Join Date: Mar 2007
Posts: 411
Downloads: 1
Uploads: 0
|
![]()
Fixed the broken tube commands, updated to 1.61 for that. Thanks man!
There's just no way to do absolute headings. For two main reasons: 1. I have no way to know the current course of the ship, 2.) even if I assume it is North on game start with some kind of reset command, it would lose track quickly if you issued a second heading change while the boat is still turning to meet the first. |
![]() |
![]() |
![]() |
#104 | |
The Old Man
![]() Join Date: Apr 2005
Posts: 1,336
Downloads: 6
Uploads: 0
|
![]() Quote:
Just a thought, but what you have already done with the tubes and the relative course change orders already seems so magical I figured it wouldn't hurt to ask about this too - in any event, this is looking very cool so far ![]()
__________________
![]() |
|
![]() |
![]() |
![]() |
#105 |
XO
![]() Join Date: Mar 2007
Posts: 411
Downloads: 1
Uploads: 0
|
![]()
Yeah I considered the "current heading 45" thing, but again, it would break if you issued a second course change while the boat was still turning. I don't like to implement things unless they're pretty foolproof. Besides, there are bigger fish to fry, such as these for v1.7 (don't hold your breath for these, it's going to be a while):
[first you lock a ship on the scope. then -] "recognition manual" or "target ID" (TM only I believe) [you get the ID done so the TDC is updated properly, then -] "prepare for attack" (brings up various torpedo controls on attack scope) [then you would do these in any order, but this would be the typical order] "torpedo contact type [magnetic | contact only]" "torpedo depth [0-50] feet" "torpedo speed [low | high]" "stadimeter" and/or "[increase | decrease] target distance 1-???? feet" "[increase | decrease] angle on bow [0 - 360] degrees" "[increase | decrease] target speed [1-??] knots" or "calculate target speed" (after two readings of course) "mark" or "save" or "send to TDC" or "update computer" or whatever "start position keeper" (making sure not to enable it twice which would turn it off) Then you would fire or make further adjustments after cheating by looking at your PK line on the attack map (as I do hehe). There's only two problems with this whole thing that I know of: 1. AOB dial stops turning if you turn it too far in one direction, but spins indefinitely in the other direction. Could be a problem after a few "increase aob" orders when it hits the wall and doesn't know it. Should be solvable by simply inverting "increase" requests of 5 degrees into 355 degree "decrease" requests, and always spin it that direction. 2. Some of these commands require multiple key presses and clickdrags, and I don't currently have a way to string those together, but it shouldn't be too hard to implement. I just want to implement this properly as a sort of "macro" like feature where people could string together a series of many commands, for example, you could set up a "crazy ivan" that stops the ship, enables silence, and turns of the radio and gramophone, and jumps to the command room just for atmosphere. ![]() For example, increasing AOB on a target would involve this macro sequence: A. Press the attack scope key to ensure we are there (unless you're already there or on attack map) B. Click all of the TDC pullout buttons to ensure all computer panels are visible C. Click the AOB button on the TDC D. Change the AOB with a click/drag C. Click the red "mark" button automatically (if I decide you shouldn't have to say "mark" after each one) So there's four things to do. I'll probably extend the "parent" system that the CSVs already support, where A is the parent of B, B is the parent of C, C parent of D, and D childless. I just have to be sure it is not going to screw up when different types of parents are intermixed, which I'm pretty sure it will right now. Anyway, don't hesitate to put out to sea with 1.6 since 1.7 will be a while. Unlike certain publishers we all know and love, I enjoy sharing what I'm working on long before I start and sharing exactly how I will do it so I can get community feedback. As an aside, I'm thinking of putting a longer delay on all commands in order to allow you to say "belay that" which would cancel the last order before it is implemented. But this is pretty tricky. |
![]() |
![]() |
![]() |
|
|