Skip to main content

Bass shaker synthesizer for DCS World.

Project description

Shakersynth

python-package-workflow

Shakersynth is an alternative approach to driving tactile transducers (aka. bass shakers) from DCS World. It uses parametric real-time audio synthesis, provided by pyo, enabling it to create sounds that are dynamically derived from DCS telemetry data.

The canonical use-case is helicopter rotor vibrations. Shakersynth continuously adjusts multiple properties of the vibration to match the rotor in the simulator, so you can feel each blade as it passes overhead.

Demo

Play these videos through your bass shakers to (literally) get a feel for what Shakersynth can do.

Note: These videos are taken from an older version. The new version has an improved effect.

Development Status

Currently, Shakersynth provides only rotor vibrations for the Mi-8 , Mi-24, and UH-1H. It's best to run it alongside SimShaker Sound Module, which does a good job of handling a wide range of effects that don't benefit so much from the real-time synthesis approach.

Over time, Shakersynth could support more effects and more aircraft, but the initial priority was to get a really good rotor effect for helicopters.

Installation

Shakersynth is a basic, text-mode application with no GUI. Getting it running is a little bit fiddly. Sorry about that.

  1. Install Python 3
    :point_right: Be sure to select options to add Python to the PATH environment variable.
  2. Open PowerShell and run:
    pip install shakersynth
    
  3. Edit this file:
    %UserProfile%\Saved Games\DCS\Scripts\Export.lua
    
    adding this line:
    dofile(require('lfs').writedir()..'Scripts/Shakersynth.lua')
    
  4. Back in PowerShell, run:
    shakersynth
    
  5. Shakersynth will show a list of audio outputs. Find the number that corresponds to your bass shaker interface and enter that number at the prompt.
  6. Run DCS.

Configuration

When first run, Shakersynth creates a default configuration file at:

%LOCALAPPDATA%\Shakersynth\shakersynth.yml

On my system, that becomes:

C:\Users\jarpy\AppData\Local\Shakersynth\shakersynth.yml

You may need to edit this file to set some important options like the sample rate and output volume. It is written in the YAML format.

Individual configuration options are documented with comments in the file. If you delete the file, it will be recreated with the current defaults, so if anything goes wrong, just delete it and run Shakersynth again.

Upgrading to a new version

Open PowerShell and run:

pip install --upgrade shakersynth

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Shakersynth-0.7.4.tar.gz (10.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

Shakersynth-0.7.4-py3-none-any.whl (13.2 kB view details)

Uploaded Python 3

File details

Details for the file Shakersynth-0.7.4.tar.gz.

File metadata

  • Download URL: Shakersynth-0.7.4.tar.gz
  • Upload date:
  • Size: 10.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.6

File hashes

Hashes for Shakersynth-0.7.4.tar.gz
Algorithm Hash digest
SHA256 33b280944004dc3b8959d115a1c06f5b66b3556933b4a7dcf52a290cf38a2806
MD5 d4a47b5c01f9fe3a2ecc1b55e7463e7a
BLAKE2b-256 c91f875bb77201cafa42f2e2232d9ad8ae00a5fcbecce20a0452e6ebc71032ea

See more details on using hashes here.

File details

Details for the file Shakersynth-0.7.4-py3-none-any.whl.

File metadata

  • Download URL: Shakersynth-0.7.4-py3-none-any.whl
  • Upload date:
  • Size: 13.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.6

File hashes

Hashes for Shakersynth-0.7.4-py3-none-any.whl
Algorithm Hash digest
SHA256 559e0ba6dfe9a70464a2ecbe4216ff8fb0f02b9837d08ec2ebf21afd91027cf8
MD5 ca15e05015e6910f3b435b5d52dc7b3c
BLAKE2b-256 d56d92d20f1e1dc7353301b196a6e2e53da79df0c4c4fd67f93f192b95c2bf7a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page