stk_min 0.7.0 copy "stk_min: ^0.7.0" to clipboard
stk_min: ^0.7.0 copied to clipboard

A high-performance Flutter wrapper for the Synthesis ToolKit (STK). Features physically modeled musical instruments: Flute, Saxophone, Shakers, and Percussion (Drums, Tabla, Marimba, Agogo, WoodBlocks [...]

CHANGELOG #

0.7.0 #

  • Authentic Tabla Timbre Calibration: Fully restored Tabla percussion quality by replacing legacy vocal-sounding artifacts with high-fidelity synthetic physical models.
    • Engine Fix: Corrected sample rate mismatch (removed 2x speed "click" glitch).
    • Volume Normalization: Added internal gain compensation (+12dB) to align Tabla levels with the rock kit.
    • Resonance Logic: Re-mapped damping poles to support expressive "open" vs "muted" strokes.
    • New Stroke: Added Tabla Tak (Bayan muted stroke) for a crisp, percussive accompaniment.
    • UI Improvement: Renamed "Tabla Din" pad to "Tabla Ghe" for accurate stroke mapping.

0.6.0 #

  • Indian Percussion Support: Added Tabla instruments (Dayan and Bayan) to the Drummer kit.
    • New strokes: Tabla Na (Dayan/Right), Tabla Din (Bayan/Left), and Tabla Tee (Dayan Mute).
    • Enhanced Drummer engine with precise frequency-based tuning for realistic "Sa" and "Shruti" alignment.
  • High-Fidelity Audio Fix: Correctly configured global endianness (__LITTLE_ENDIAN__) across all platforms (Linux, Windows, iOS, macOS), ensuring clean 16-bit PCM playback for all instruments.
  • Premium UI: Added specialized concentric circular pads in the example app with a Saffron and Charcoal aesthetic.
  • Tuning Interface: Added interactive root note (Sa) and bass depth (Shruti) controls in the example app.
  • API Expansion: Added direct constants for all drum instruments in the Drummer class.

0.5.1 #

  • Bug Fix: Resolved a critical hang on Linux/Desktop when initializing StkMin in background isolates.
  • Initialization Optimization: Improved asset discovery logic to search multiple potential paths and bypassed hanging path_provider calls on Desktop.

0.5.0 #

  • Desktop Initialization: Added direct disk-based asset lookup for Linux, Windows, and macOS to support background isolates.
  • Initialization Optimization: Avoids asset extraction on desktop platforms if the assets are already available in the app bundle.

0.4.2 #

  • Drummer Frequency Fix: Implemented explicit frequency-based triggering to resolve "vocal sample" glitch.
  • FFI Refinement: Updated noteOn signature to allow direct Hz control for improved sample selectivity.

0.4.1 #

  • Drummer Stability: Fixed FFI bridge mismatch that could cause runtime crashes.
  • Frequency Mapping: Improved Drummer frequency logic to support real-time playback rate adjustment based on requested frequency.
  • Native Refactoring: Cleaned up Drummer.cpp and StkMini.cpp for better sample index handling.

0.4.0 #

  • Universal Initialization: Added StkMin.initialize() to automatically handle sample extraction and path configuration across all platforms.
  • Unified Assets: Moved raw samples into the package assets (assets/rawwaves/) so they are bundled automatically when the package is installed.
  • Consistency: Guaranteed identical behavior across Linux, Android, and iOS by using a unified storage mechanism for samples.
  • Dependencies: Added path_provider and path to manage cross-platform filesystem locations.

0.3.1 #

  • SEO Optimization: Updated package description with targeted keywords (physical modeling, percussion, FFI) to improve search discoverability on pub.dev.

0.3.0 #

  • Percussion Expansion: Added ModalBar instrument with presets for Agogo (African percussion), Marimba, Vibraphone, and more.
  • Drummer Enhancements:
    • Added setPitch support for real-time playback rate adjustment.
    • Fixed frequency mapping bug ("shouting" sample issue).
  • Native Stability:
    • Implemented lazy initialization for all instruments to prevent startup crashes when STK rawwave paths are not yet set.
    • Improved memory management with pointer usage for native instruments.
  • Example App Update:
    • Comprehensive tabbed UI with 5 sections (Flute, Sax, Shakers, Drums, Percussion).
    • Added controls for pitch, stick hardness, and preset selection.
  • FFI Improvements: Expanded native bridge and updated CMake configurations for all platforms.

0.2.0 (Skipped/Internal) #

  • Initial work on Drummer and Shakers support.

0.1.0 #

  • Initial release
  • Cross-platform support for Android, iOS, Linux, macOS, and Windows
  • Flute instrument with physical modeling synthesis
  • FFI-based direct access to STK library
  • Expressive controls:
    • Vibrato depth and speed
    • Breath noise
    • Tone color (jet delay)
    • Breath pressure
  • Complete example app with SoLoud audio playback integration
  • Comprehensive documentation and usage examples

License #

This plugin is licensed under the MIT License. See LICENSE for details.

0
likes
120
points
381
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

A high-performance Flutter wrapper for the Synthesis ToolKit (STK). Features physically modeled musical instruments: Flute, Saxophone, Shakers, and Percussion (Drums, Tabla, Marimba, Agogo, WoodBlocks). Uses an optimized C++ FFI bridge for low-latency audio synthesis.

Repository (GitHub)
View/report issues

Topics

#audio #synthesis #stk #physical-modeling #ffi

License

unknown (license)

Dependencies

ffi, flutter, path, path_provider, plugin_platform_interface

More

Packages that depend on stk_min

Packages that implement stk_min