v50 Steam/Premium information for editors
  • v50 information can now be added to pages in the main namespace. v0.47 information can still be found in the DF2014 namespace. See here for more details on the new versioning policy.
  • Use this page to report any issues related to the migration.
This notice may be cached—the current version can be found here.

Difference between revisions of "Utility:SoundSense"

From Dwarf Fortress Wiki
Jump to navigation Jump to search
(Created page with '==SoundSense== Discussion: http://www.bay12forums.com/smf/index.php?topic=60287.0 Homepage: http://df.zweistein.cz/soundsense/ ==Known Issues== ===Moments of Silence=== Occat…')
 
 
(51 intermediate revisions by 23 users not shown)
Line 1: Line 1:
==SoundSense==
+
{{Quality|Superior|00:45, 6 November 2013 (UTC)}}
 +
{{uv|DF2014}}
 +
{{Infobox utility
 +
| image = File:Breezeicons-mimetypes-64-audio-x-generic.svg<!-- replace with logo if available-->
 +
| misc  =
 +
* [http://df.zweistein.cz/soundsense/ Official website]
 +
* [http://www.bay12forums.com/smf/index.php?topic=60287 Bay12forum thread]
 +
* [http://dffd.bay12games.com/file.php?id=11849 DFFD download page]
 +
* [https://github.com/zwei2stein/df-soundsense Github page]
 +
* [[Utility:SoundSense/Documentation|Documentation]]
 +
}}
 +
[[File:soundsense_prev.png|thumb|200px|Equipped with a self-updater.]]
  
Discussion: http://www.bay12forums.com/smf/index.php?topic=60287.0
+
'''SoundSense''' is a sound-engine [[Utility]] for Dwarf Fortress, which replaces the single background guitar with a collection of sounds and music that play depending on context. This context is drawn mostly from entries in the [[gamelog.txt]], recent versions of SoundSense come with [[Utility:DFHack|dfhack]] script that writes extra information to the gamelog that significantly expand its capabilities.  
Homepage: http://df.zweistein.cz/soundsense/
 
  
==Known Issues==
+
SoundSense has a [[Utility:SoundSense/Documentation|more advanced documentation here on the wiki]]. 
  
===Moments of Silence===
+
==General information==
  
Occationally, the music in SoundSense will stop for a short period (10, 20, or 30 seconds)
+
SoundSense is focused on Fortress Mode, and provides a very large set of audio cues for events - it can be very helpful in alerting the player of combat, a strange mood, ghosts, weather, and many other things.
before resuming. This is not a bug - it is intentional. This was done to let ears rest a
 
bit between tracks. (Research shows that ears which get a rest have time to recover and
 
are less likely to be damaged.) Also, a few tracks have a silent start and, at low volume,  
 
may take a minute or longer to become audible. If in doubt, you can see what is currently
 
playing in GUI under the volume slider. During periods of silence, this will typically
 
show "10s silence" or similar.
 
  
===Game Loads and the Music is Random===
+
Adventure Mode kind of works. The battle sounds function quite well because they are mostly the same as those in Fortress Mode. But SoundSense is still a bit lacking in other adventure sounds, because Adventure Mode does not log many useful events. For example, encountering a megabeast or a quest mob is resolved in chat, leaving no message in the game log to trigger SoundSense. 
  
When a game is loaded, SoundSense picks a random seasonal music track to play. This is not  
+
Occasionally, the music in SoundSense will stop for a short period; this is not a bug - it was done to let ears rest. A few tracks have a silent start and may take a minute or longer to become audible. If in doubt, you can see what is currently playing in GUI under the volume slider. During periods of silence, this will typically show "10s silence" or similar.
a bug - it is intentional. There is no way for SoundSense to detect what season it is when
 
a game is loaded, so a random soundtrack is chosen. But when the season next changes, it
 
will choose the correct soundtrack.
 
  
===Adventure Mode - A Bit Lacking===
+
SoundSense will only play music immediately on load if the (included) "soundsense-season" script for [[Utility:DFHack|DFHack]] is run (which it is in the default configuration) - otherwise it will wait until the season changes; there is no way to tell before this which music to play.
  
Adventure Mode kind of works. The battle sounds function quite well because they are
+
==Installation==
mostly the same as those in Fortress Mode. But SoundSense is still a bit lacking in other
 
adventure sounds. The problem is that Adventure Mode does not log many other usefull
 
events. For example, encountering a megabeast or a quest mob is resolved in chat, leaving
 
no message in the game log to trigger SoundSense.
 
  
Improvements in how DF handles logging could benfit both SoundSense and DF as a whole.
+
Detailed instructions are available on the [http://df.zweistein.cz/soundsense/ official website].
Such suggestions have already been posted in the official Dwarf Fortress forums:
 
http://www.bay12forums.com/smf/index.php?topic=64834.0
 
  
===Event Detection: Better Late Than Never?===
+
* SoundSense requires Java 7, which most computers already have. 
 +
* Download SoundSense and extract the .zip as a subfolder next to ''Dwarf Fortress'' (or add the path to configuration.xml)
 +
* Move dfhack plugins and scripts to the hack folder if you use these
 +
* Run soundsense.exe, and choose "update soundpack"
  
In some cases, by the time SoundSense detects conditions to trigger an alert, it may be
+
Note that a simple install of SoundSense includes only a few sample sounds, for the proper effect you need to download the soundpack.
too late to react to the situation. For example, a "Tantrum Spiral" might already be over
 
before the player can be alerted.
 
  
Part of this is a balance between detecting too many false positives and ignoring events
+
Finally, remember that SoundSense needs to run in the background. Ideally, you should start SoundSense BEFORE you start ''Dwarf Fortress''.
until it is too late to do anything. For example, a soldier might lose a pet and report
 
feeling like blowing off some steam... but instead of throwing a tantrum they calm down.
 
  
Another problem is FPS sensitivity. A specific sequence of events may trigger certain
+
SoundSense is included and preconfigured in [[Utility:Lazy_Newb_Pack|the Lazy Newb Pack]] and requires no setup beyond pressing "update soundpack" to download the sound files.
alert sounds in a high FPS situation, but it might not trigger with low FPS. The sequence
 
of events might "time out". Also, pausing the game could cause similar problems.
 
  
===Compatible With DF Mods - Should Work, But NO PROMISES===
+
==Mod compatibility==
  
SoundSense was mainly designed for "vanilla" (unmodified) Dwarf Fortress. It should work  
+
SoundSense was designed for "vanilla" (unmodified) ''Dwarf Fortress''. It should work fine with most mods, but there is no guarantee of compatibility. Some mods create unusual behavior or involve events that SoundSense does not detect - in other words, SoundSense lacks sounds for mod-specific events. For example: gunshot sounds for mods that add guns are not included, but you can add them for yourself. Some events that work normally in vanilla DF may also trigger so frequently with a mod as to be very annoying.
fine with most mods. However, I can not guarantee compatibility. Some mods, especially
 
"major" or "full conversions", may create unusual behavior and involve dangerous events  
 
that SoundSense was not designed to detect.
 
  
Another words, SoundSense may lack sounds for certain mod-specific events. (E.g.; you
+
==For Mac Users==
should NOT expect SoundSense to include gunshot sounds for mods that add guns! But you CAN
+
Installing Java is '''not necessary''' if you have any apps that distribute Java, like Minecraft or Mathematica. To do this,
modify SoundSense yourself to do this.) Conversely, some events that work normally in
 
vanilla DF may trigger so frequently with a mod as to be very annoying.
 
  
===Any Other Issues? Post Feedback===
+
# Determine the folder containing the "java" file in the app.  It will have a path like <code>/Applications/Mathematica.app/Contents/SystemFiles/Java/MacOSX-x86-64/bin</code>
 +
# Add a new line to soundSense.sh '''immediately after the first line''' of the form <code>PATH="EXAMPLEPATH:$PATH"</code>, where <code>EXAMPLEPATH</code> is the path you determined.
 +
::* For example: <code>PATH="/Applications/Mathematica.app/Contents/SystemFiles/Java/MacOSX-x86-64/bin:$PATH"</code>
  
There is a thread at the official Dwarf Fortress forums. Feel free to post any issues,
+
The first 3 lines of soundSense.sh should now read something like:
suggestions, and contributions there:
 
http://www.bay12forums.com/smf/index.php?topic=60287.0
 
  
When providing feedback about your experience with SoundSense, please specify which mods
+
<pre>#!/bin/sh
(if any) you are using. If SoundSense seems to behave weirdly only for you, it just might
+
PATH="/Applications/Mathematica.app/Contents/SystemFiles/Java/MacOSX-x86-64/bin:$PATH"
be from using certain mods.
+
dir=${0%/*}</pre>
 +
 
 +
==For Linux Users==
 +
Locating the gamelog.txt may be a bit difficult, because the file for Linux versions of ''Dwarf Fortress'' is not in the usual spot.  To find, simply navigate to your home directory and open the .dwarffortress folder. (it is hidden by default)  The gamelog file will be located inside.
 +
 
 +
==Sparring Sound Spam==
 +
The game does not distinguish between combat sounds and sparring sounds. You can remove the combat sounds under packs\battle, (LNP\utilities\Soundsense\packs\battle). Consider renaming the subfolders of blocked/hit/miss/movement/wrestling/unitsurprised. You can then rename them when real combat happens.
 +
 
 +
 
 +
[[ru:SoundSense]]

Latest revision as of 21:23, 28 January 2022

This utility page is about v0.47.05, an older version of DF.
SoundSense
Breezeicons-mimetypes-64-audio-x-generic.svg
Information
Equipped with a self-updater.

SoundSense is a sound-engine Utility for Dwarf Fortress, which replaces the single background guitar with a collection of sounds and music that play depending on context. This context is drawn mostly from entries in the gamelog.txt, recent versions of SoundSense come with dfhack script that writes extra information to the gamelog that significantly expand its capabilities.

SoundSense has a more advanced documentation here on the wiki.

General information[edit]

SoundSense is focused on Fortress Mode, and provides a very large set of audio cues for events - it can be very helpful in alerting the player of combat, a strange mood, ghosts, weather, and many other things.

Adventure Mode kind of works. The battle sounds function quite well because they are mostly the same as those in Fortress Mode. But SoundSense is still a bit lacking in other adventure sounds, because Adventure Mode does not log many useful events. For example, encountering a megabeast or a quest mob is resolved in chat, leaving no message in the game log to trigger SoundSense.

Occasionally, the music in SoundSense will stop for a short period; this is not a bug - it was done to let ears rest. A few tracks have a silent start and may take a minute or longer to become audible. If in doubt, you can see what is currently playing in GUI under the volume slider. During periods of silence, this will typically show "10s silence" or similar.

SoundSense will only play music immediately on load if the (included) "soundsense-season" script for DFHack is run (which it is in the default configuration) - otherwise it will wait until the season changes; there is no way to tell before this which music to play.

Installation[edit]

Detailed instructions are available on the official website.

  • SoundSense requires Java 7, which most computers already have.
  • Download SoundSense and extract the .zip as a subfolder next to Dwarf Fortress (or add the path to configuration.xml)
  • Move dfhack plugins and scripts to the hack folder if you use these
  • Run soundsense.exe, and choose "update soundpack"

Note that a simple install of SoundSense includes only a few sample sounds, for the proper effect you need to download the soundpack.

Finally, remember that SoundSense needs to run in the background. Ideally, you should start SoundSense BEFORE you start Dwarf Fortress.

SoundSense is included and preconfigured in the Lazy Newb Pack and requires no setup beyond pressing "update soundpack" to download the sound files.

Mod compatibility[edit]

SoundSense was designed for "vanilla" (unmodified) Dwarf Fortress. It should work fine with most mods, but there is no guarantee of compatibility. Some mods create unusual behavior or involve events that SoundSense does not detect - in other words, SoundSense lacks sounds for mod-specific events. For example: gunshot sounds for mods that add guns are not included, but you can add them for yourself. Some events that work normally in vanilla DF may also trigger so frequently with a mod as to be very annoying.

For Mac Users[edit]

Installing Java is not necessary if you have any apps that distribute Java, like Minecraft or Mathematica. To do this,

  1. Determine the folder containing the "java" file in the app. It will have a path like /Applications/Mathematica.app/Contents/SystemFiles/Java/MacOSX-x86-64/bin
  2. Add a new line to soundSense.sh immediately after the first line of the form PATH="EXAMPLEPATH:$PATH", where EXAMPLEPATH is the path you determined.
  • For example: PATH="/Applications/Mathematica.app/Contents/SystemFiles/Java/MacOSX-x86-64/bin:$PATH"

The first 3 lines of soundSense.sh should now read something like:

#!/bin/sh
PATH="/Applications/Mathematica.app/Contents/SystemFiles/Java/MacOSX-x86-64/bin:$PATH"
dir=${0%/*}

For Linux Users[edit]

Locating the gamelog.txt may be a bit difficult, because the file for Linux versions of Dwarf Fortress is not in the usual spot. To find, simply navigate to your home directory and open the .dwarffortress folder. (it is hidden by default) The gamelog file will be located inside.

Sparring Sound Spam[edit]

The game does not distinguish between combat sounds and sparring sounds. You can remove the combat sounds under packs\battle, (LNP\utilities\Soundsense\packs\battle). Consider renaming the subfolders of blocked/hit/miss/movement/wrestling/unitsurprised. You can then rename them when real combat happens.