Acoustics Features, Integration with Ishmael

In addition to the new features in, I’ve updated the minor version to 7 to indicate the move from .NET 4.0 to the latest version, .NET 4.5.

So I attended a FANTASTIC workshop on marine acoustics, run by Tom Norris’ company, Bio-Waves. Highly recommended – this year the class was full to the brim and I expect the next time they run it people will be turned away. Check out their website at for more info on any upcoming classes they might be running.

As such, in this version of Mysticetus I’ve added a number of acoustics features. First up, bearing lines from a towed array:


These lines are created automatically by creating an entry sheet column that uses the new TowedArrayBearing formula. You can either do this yourself or use the new Sample.Mysticetus file available on the Downloads page – the Sample template now includes an Acoustics entry sheet with some simple information encoded.

To do it yourself, edit the page where you want to save acoustics information and add a Bearing field (or name it whatever you want).

Then edit the formula for that field

Select TowedArrayBearing. Save these sheets and your data entry will look like:

To configure your towed array, open up your System Options and tell Mysticetus what kind of towed array you have, and how far behind the boat the hydrophones are located:

Now every time you enter a Bearing in your Acoustics entry sheet, it will add a bearing line, appropriately behind the vessel (or two if you only have a single hydrophone array and have left-right ambiguity)
Great – but why do we have to hand-enter the Bearing to the localized sound? Good question – you  don’t. That is, if you’re using Ishmael to localize your sounds.

We’re going to leverage the network interface already created in Ishmael for interfacing with another software program (Wild, by Chris Kyburg). In Ishmael, select the Localize->Loc Options->WhaleTrack tab:

Check the Box, “Send messages to WILD” and choose a port (the default, 8002, should work fine). Now every time you localize a bearing in Ishmael, it will send it over the network to any other app listening on that port. Next lets go tell Mysticetus to listen to port 8002.

Open up the System Options and choose the “Real-time Imports” tab:

Under “Available Imports”, choose “Real-time UDP Port Monitor”, then press “Add >>>” to create it.

Next, set the port monitor to listen to port 8002 (or whatever port you picked). From now on, any time Ishmael sends a localized bearing across the network, Mysticetus will automatically enter it in the data sheet, and hence, on the map, associated with whatever towed array you have behind your vessel.

One thing to note, Windows Firewall may gripe at times about this new network traffic flying around – this is a good thing and the firewall keeps you protected from hackers, but in this case you need to tell the Firewall to Allow this new network traffic. It is simply Ishmael telling Mysticetus about a localized bearing to some acoustic source.

A special thanks to Chris Kyburg for providing me the docs on the NMEA sentences Ishmael sends across the network – I was definitely not looking forward to packet sniffing the network and reverse engineering the protocol.

Hope everyone’s winter is winding down nicely – spring is just around the corner!


Leave a Reply

Your email address will not be published. Required fields are marked *

14 − four =