Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 [2] 3 4 ... 7

Author Topic: SoundSense-RS: SoundSense clone, written in Rust  (Read 43004 times)

prixt

  • Bay Watcher
  • has been taken by a fey mood.
    • View Profile
Re: SoundSense-RS: SoundSense clone, written in Rust
« Reply #15 on: February 12, 2020, 08:29:01 am »

Nice. Added a link to your soundpack fork in the README and in SoundSense-rs.
btw, you can add other arbitrary channel names(ex. emotion, industry, ipsum) that are not in the original soundpack, and SoundSense-rs will create a new channel for it!
Logged
SOUNDSENSE-RS - SoundSense alternative written in Rust

Alatun

  • Bay Watcher
    • View Profile
Re: SoundSense-RS: SoundSense clone, written in Rust
« Reply #16 on: February 12, 2020, 08:43:58 am »

Tested this tool for two days now (Windows 10). Works pretty well, so far.

Yesterday it suddenly stopped (program terminated) after the "season is autumn" notification. I examined my sound configuration files and found a reference to an invalid path (drive does not longer exist) Probably this caused the program termination. Will try to reproduce again today.

It would also be helpful, if the settings could also be stored in a settings file (which is expected in the program directory, or in the $HOME dir for *nix like OS). This could make it easier for tools like "PyLNP" that simply start a couple of programs (without any commandline).
Logged

jecowa

  • Bay Watcher
    • View Profile
Re: SoundSense-RS: SoundSense clone, written in Rust
« Reply #17 on: February 12, 2020, 05:49:16 pm »

Nice. Added a link to your soundpack fork in the README and in SoundSense-rs.
btw, you can add other arbitrary channel names(ex. emotion, industry, ipsum) that are not in the original soundpack, and SoundSense-rs will create a new channel for it!

Thank you, that's good to know. It looks like "music", "weather", "trade", and "swords" are all hard-coded. Since SoundSense-RS creates channels for any declared channels, is there any reason to have these hard-coded? It would be nice to move all the stuff on the "swords" channel to a "combat" channel, but then there will be an unused swords channel in the menu. Also the really basic mini sound pack that I'm include in LNPs doesn't have any music or weather (in order to keep file size down).
Logged

prixt

  • Bay Watcher
  • has been taken by a fey mood.
    • View Profile
Re: SoundSense-RS: SoundSense clone, written in Rust
« Reply #18 on: February 12, 2020, 06:12:47 pm »

Good point  :P. Guess I'll just set all, music, and misc as default and let soundsense-rs do the rest.
Logged
SOUNDSENSE-RS - SoundSense alternative written in Rust

jecowa

  • Bay Watcher
    • View Profile
Re: SoundSense-RS: SoundSense clone, written in Rust
« Reply #19 on: February 12, 2020, 11:17:39 pm »

Do you have any idea what playbackThreshhold is? Here's what the wiki says about it:

Quote
playbackThreshhold - number, 0-4, defines level of filter which is applied to this sound.

I don't know what that means.
Logged

prixt

  • Bay Watcher
  • has been taken by a fey mood.
    • View Profile
Re: SoundSense-RS: SoundSense clone, written in Rust
« Reply #20 on: February 12, 2020, 11:28:16 pm »

Neither do I. :-\ Maybe has to do with processing the sound using filters?
Currently, soundsense-rs ignores ansiFormat, ansiPattern, and playbackThreshold parameters.

Also, I just released v1.4.0, which implements default configs.
Logged
SOUNDSENSE-RS - SoundSense alternative written in Rust

jecowa

  • Bay Watcher
    • View Profile
Re: SoundSense-RS: SoundSense clone, written in Rust
« Reply #21 on: February 13, 2020, 12:06:18 am »

The new save settings features from 1.4.0 are working for me on Mac. The settings files are saved to `~/Library/Preferences/soundsense-rs/`.

It looks like Threshold was a feature to block certain sounds. It doesn't seem very useful since you can already control volumes of channels.

from Java SoundSense source:
      if (this.playbackTheshhold < sound.getPlaybackTheshhold()) {
         LOGGER.fine("Sound " + sound.toString() + " filtered because it's threshold is " + sound.getPlaybackTheshhold() + " while global threshold is "
               + this.playbackTheshhold + ".");
         return;
      }


public enum Threshold {

   EVERYTHING(4L, "Everything"),
   FLUFF(3L, "Messages and enviromental sounds"),
   IMPORTANT(2L, "Important messages"),
   CRITICAL(1L, "Only critical messages"),
   NOTHING(0L, "Nothing");


Logged

jecowa

  • Bay Watcher
    • View Profile
Re: SoundSense-RS: SoundSense clone, written in Rust
« Reply #22 on: February 14, 2020, 06:47:32 pm »

Zwei said when too many things are playing at once, it would prioritize playing sounds with a lower PlaybackThreshold setting. He also said "weather" and "music" channels were set to only be able to play one thing at a time.
Logged

Abadrausar

  • Bay Watcher
  • empowering ideas
    • View Profile
    • ♫♪♀HDFPS♂♪♫
Re: SoundSense-RS: SoundSense clone, written in Rust
« Reply #23 on: February 15, 2020, 08:31:20 am »

Zwei said when too many things are playing at once, it would prioritize playing sounds with a lower PlaybackThreshold setting. He also said "weather" and "music" channels were set to only be able to play one thing at a time.

I believe that some play sound files libraries have the concept of mixer, where some channels to play things are able to accept and mix in real time many sound flows over one unique channel, SDL preinstalled with DF has a mixer as described but i do not know the extent of its capabilities. Some mixers are able to use coefficients to mix the different sound flows in an asymmetrical way.

For example: last flow in has normal volume, but the volume of the rest of the flows already in the mix channel is decreased at each new incorporation by some threshold...

That enables the most recent events to have more sound trace than the older events but the mix process assures that the idea of many things happening simultaneously is translated to the user, The true quirk is tinkering with the coefficients until the right desirable properties are attained. 
« Last Edit: February 15, 2020, 11:23:48 am by Abadrausar »
Logged
::: Humble Dwarf Fortress Publishing System ♫♪♀HDFPS♂♪♫ Mods Push Published in DFFD are auto updated in local Players Catalog :::

prixt

  • Bay Watcher
  • has been taken by a fey mood.
    • View Profile
Re: SoundSense-RS: SoundSense clone, written in Rust
« Reply #24 on: February 17, 2020, 03:48:40 am »

Hello! I'm currently tweaking the sound channel player so I can incorporate the features mentioned above.
v1.4.4-alpha4 is out, so if anyone could test it that would be great!
Logged
SOUNDSENSE-RS - SoundSense alternative written in Rust

prixt

  • Bay Watcher
  • has been taken by a fey mood.
    • View Profile
Re: SoundSense-RS: SoundSense clone, written in Rust
« Reply #25 on: February 17, 2020, 01:23:00 pm »

Hello again. Just released v1.4.4-alpha5, which includes a huge performance improvement!
By removing the mistake by past-me. Shame on him.
Sounds should play almost realtime now, even if there are a lot of log messages!
Logged
SOUNDSENSE-RS - SoundSense alternative written in Rust

prixt

  • Bay Watcher
  • has been taken by a fey mood.
    • View Profile
Re: SoundSense-RS: SoundSense clone, written in Rust
« Reply #26 on: February 18, 2020, 08:51:26 am »

v1.4.4 is out!
« Last Edit: February 18, 2020, 09:20:19 am by prixt »
Logged
SOUNDSENSE-RS - SoundSense alternative written in Rust

prixt

  • Bay Watcher
  • has been taken by a fey mood.
    • View Profile
Re: SoundSense-RS: SoundSense clone, written in Rust
« Reply #27 on: February 19, 2020, 12:35:50 am »

Made an icon for the app. Thoughts?
Logged
SOUNDSENSE-RS - SoundSense alternative written in Rust

jecowa

  • Bay Watcher
    • View Profile
Re: SoundSense-RS: SoundSense clone, written in Rust
« Reply #28 on: February 19, 2020, 01:15:39 am »

Some more pixels would be nice so it doesn't look blurry. My 12-inch laptop displays them as 256x256 icons, but it might be larger for people with larger displays. The icon I was using before is 1024x1024, which is the maximum allowed.

Logged

prixt

  • Bay Watcher
  • has been taken by a fey mood.
    • View Profile
Re: SoundSense-RS: SoundSense clone, written in Rust
« Reply #29 on: February 19, 2020, 02:03:39 am »

Also, updated the experiment branch, which includes svg, ico, & icns files.
Logged
SOUNDSENSE-RS - SoundSense alternative written in Rust
Pages: 1 [2] 3 4 ... 7