Skip to main content

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

Metadata

Release files for Shakersynth 0.7.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for Shakersynth 0.7.4
File Size Uploaded Provenance Actions
Shakersynth-0.7.4.tar.gz 10.7 kB Without provenance Details for Shakersynth-0.7.4.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for Shakersynth 0.7.4
File Interpreter ABI Platform Actions
Shakersynth-0.7.4-py3-none-any.whl Python 3 none any Details for Shakersynth-0.7.4-py3-none-any.whl

Total release size: 24.0 kB

Release files / Shakersynth-0.7.4.tar.gz

Download URL Shakersynth-0.7.4.tar.gz
Size 10.7 kB
Tags Source
SHA-256 checksum
How to use checksums
33b280944004dc3b8959d115a1c06f5b66b3556933b4a7dcf52a290cf38a2806
BLAKE2b-256 checksum
How to use checksums
c91f875bb77201cafa42f2e2232d9ad8ae00a5fcbecce20a0452e6ebc71032ea
Upload date
Uploaded using Trusted Publishing?
What is 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

Release files / Shakersynth-0.7.4-py3-none-any.whl

Download URL Shakersynth-0.7.4-py3-none-any.whl
Size 13.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
559e0ba6dfe9a70464a2ecbe4216ff8fb0f02b9837d08ec2ebf21afd91027cf8
BLAKE2b-256 checksum
How to use checksums
d56d92d20f1e1dc7353301b196a6e2e53da79df0c4c4fd67f93f192b95c2bf7a
Upload date
Uploaded using Trusted Publishing?
What is 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

Security for Shakersynth 0.7.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page