▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Плагины/DreamVoice
DreamVoice

DreamVoice

Advanced spatial audio framework for Paper, Fabric & Simple Voice Chat. Featuring soundproof acoustic physics (VoiceWall), 3D visualizer, spatial speakers, covert wiretaps, radio channels, playable audio cassettes, DSP filters & speech AI.

Оцените первым
144
3
Все версии→DreamVoice 2.0.0

DreamVoice 2.0.0

Release08.09.2026

Список изменений

Changelog 2.0.0

🚀 Architectural Overhaul & Modular Storage

  • Modular Folder & Storage Architecture:
    • Transitioned from a monolithic layout to a clean, isolated per-module directory structure under plugins/DreamVoice/modules/:
      • modules/wall/config.json: Acoustic occlusion, diffraction, and material attenuation properties.
      • modules/speaker/data.json: 3D directional and omni speaker locations and configurations.
      • modules/radio/data.json: Walkie-talkie and radio frequency channels.
      • modules/record/: Dedicated subdirectories for raw capture (recordings/) and converted audio files (exports/).
      • modules/wiretap/data.json: Wiretapping bugs persistence.
      • modules/projection/data.json: Voice projections.
      • modules/transmitter/data.json: Voice transmitters.
    • Preserved Root Audio Library:
      • The plugins/DreamVoice/sounds/ directory remains directly at the root, allowing all modules (Speakers, Radios, Intercoms) to seamlessly share common sound effects, chimes, and alarms without duplicate assets.
    • Root config.json Dedicated to Modules:
      • The root config.json is now streamlined to exclusively handle module toggling (modules: { wall: true, speaker: true, ... }).
    • Per-Module Persistence Configuration (config.json):
      • Each persistent module (speaker, radio, wiretap, projection, transmitter, room) includes its own persistence block within modules/<module>/config.json:
        • save_on_stop: When false, ignores saving on server shutdown (onDreamDisable).
        • auto_save: Enables or disables background periodic auto-saving.
        • auto_save_interval_seconds: Dedicated interval in seconds for asynchronous persistence per module.
    • Zero-Loss Hot Migration:
      • Automatic migration on startup: existing data from data/*.json, recordings/, and exports/ are moved safely into their respective modules/ directories with zero administrative intervention and zero downtime.

🌍 DreamAPI LangService Integration

  • Decoupled Localization Engine:
    • Integrated DreamAPI's LangService (fr.dreamin.dreamapi.api.lang.service.LangService).
    • DreamVoice explicitly boots LangServiceImpl when running with @EnableServices(mode = LoadMode.NONE).
    • All hardcoded chat, action bar, title, and item lore strings are moved to plugins/DreamVoice/lang/lang-dreamvoice.json.
    • Automatic per-player client locale resolution (player.locale()) with seamless fallback to English defaults.

🎒 DreamAPI ItemRegistryService Voice Handlers

  • VoiceItemHandler & VoiceItemContext:
    • Introduced native voice handlers designed for DreamAPI's ItemDefinition.builder():
      • VoiceItemHandler.addFilter("filterId"): Applies voice filter (e.g. on ItemAction.SET_ARMOR or ItemAction.HELD).
      • VoiceItemHandler.removeFilter("filterId"): Removes voice filter (e.g. on ItemAction.REMOVE_ARMOR or ItemAction.UNHELD).
      • VoiceItemHandler.toggleFilter("filterId"): Toggles filter on/off with feedback (e.g. on ItemAction.RIGHT_CLICK).
      • VoiceItemHandler.timedFilter("filterId", Duration): Applies a filter for a typed java.time.Duration before auto-reverting.
      • VoiceItemHandler.connectRadio("frequency") & disconnectRadio().
      • VoiceItemHandler.of(consumer): Exposes an enriched VoiceItemContext for custom item logic directly in item builders.

🎛️ Custom File Filters & Auto-Registration Engine

  • Annotation-Driven Auto-Registration (@AutoVoiceFilter):
    • Introduced @AutoVoiceFilter(priority = ..., enabled = ...) for automated discovery and registration of third-party or addon filters via voiceFilterService.registerAnnotatedFilters(Collection<Class<?>>).
  • Dynamic File Filters (.yml, .json, .java):
    • Removed hardcoded filter implementations from core source code in favor of a 100% file-first architecture.
    • All 13 built-in filters (AlienVoiceFilter.java, CaveVoiceFilter.java, DeepVoiceFilter.java, DisguiseVoiceFilter.java, GasmaskVoiceFilter.java, GhostVoiceFilter.java, HeliumVoiceFilter.java, MegaphoneVoiceFilter.java, MuffledVoiceFilter.java, RadioVoiceFilter.java, RobotVoiceFilter.java, TelephoneVoiceFilter.java, UnderwaterVoiceFilter.java) are stored in core/src/main/resources/modules/filter/filters/ and automatically extracted to plugins/DreamVoice/modules/filter/filters/ upon first server boot.
    • Filters can be created, tweaked, or removed on the fly in plugins/DreamVoice/modules/filter/filters/.
    • Declarative DSP pipeline for .yml and .json: support for lowpass, highpass, gain, overdrive, ring_modulator, and delay/echo.
    • Hot-compilation of .java source files on-the-fly via JDK JavaCompiler with custom in-memory classloading and dependency resolution against DreamVoice and DreamAPI.
    • Filter Exporter Engine:
      • Added API method voiceFilterService.exportFilter(filterId, format) supporting "yml", "json", and "java".
      • Added commands: /voice filter list, /voice filter reload, and /voice filter export <filter> <yml|json|java>.
      • Allows exporting any active filter into a declarative pipeline file (.yml / .json) or extracting its full Java source code (.java) directly into modules/filter/filters/.

🏰 Acoustic Zones & Soundproof Rooms (Acoustic Rooms)

  • Module room (plugins/DreamVoice/modules/room/):
    • modules/room/config.json: Defines reusable acoustic presets with dedicated sound isolation percentage (isolation_pct), spatial reverberation (reverb), and automated voice filters (filters). Includes module persistence configuration.
    • modules/room/data.json: Stores active rooms and their DreamAPI Cuboid spatial bounds.
  • Soundproofing & Room Attenuation Integration:
    • Connected directly to VoiceWallServiceImpl.processEntitySoundPacket.
    • Sound isolation blocks sound transmission completely (100% loss) if either the sender or receiver is inside a fully soundproof room, or if they are in distinct isolated rooms.
    • Proportional sound attenuation loss is calculated based on effective isolation percentages.
  • Dynamic Presence & Filter Stacking:
    • Event listeners for DreamAPI CuboidPlayerEnterEvent and CuboidPlayerLeaveEvent automatically track player room transitions and attach or detach room filters seamlessly.
  • Commands & Management:
    • Added /voice room list, /voice room info <id>, /voice room delete <id>, and /voice room reload.

🎙️ Speech-to-Text, Keyword Spotting & Interactive Transcription Stations

  • Module speech (plugins/DreamVoice/modules/speech/):
    • config.json: Comprehensive configuration with English default texts, transcription mode selection (LOCAL or SIDECAR), station parameters, and analysis display settings.
    • keywords.json: Dedicated configuration defining keywords, aliases, confidence thresholds, cooldowns, and required permissions.
    • models/: Dedicated directory storing offline Vosk models, manageable manually or downloaded via command.
  • Realtime Keyword Spotting (KWS) with Constrained Vosk Grammar:
    • Ultra-lightweight asynchronous background listening per player powered by Vosk.
    • Utilizes a constrained grammar JSON array containing only registered keywords and [unk], minimizing CPU usage and eliminating dictionary hallucinations.
    • Instant recognizer reset on keyword trigger to prevent duplicate triggers across consecutive 20ms audio frames.
    • Configurable audio energy gate (min_energy_threshold) preventing microphone hiss and background noise from feeding into the speech decoder.
    • Automatic phonetic buffer clearance on speech pauses (silence_reset_ms), eliminating phantom residue and cross-phrase keyword hallucinations.
    • Triggers the Bukkit VoiceKeywordSpokenEvent(player, keyword, matchedWord, confidence) for game scripting, roleplay spells, secret doors, and voice interactions.
    • Live debug inspector via /voice speech debug [player] or global console logging.
  • Interactive Audio Cassette Transcription Stations:
    • Right-click with an Audio Cassette on a configured block (LECTERN, JUKEBOX, or custom block materials).
    • Fully customizable analysis feedback with multiple display types (ACTION_BAR, CHAT, TITLE), default English strings, and LangService i18n translation keys.
    • Configurable sound effects and particle animations during the analysis period.
    • Generates a formatted Written Book (Material.WRITTEN_BOOK) containing paginated transcripts, timestamps ([00:14] Player: Text), and translatable metadata.
    • Automatic lectern placement (put_on_lectern) when interacting with an empty lectern.
  • Hybrid Local (Vosk) & Sidecar (faster-whisper) Transcription Engine:
    • LOCAL mode: runs directly inside the JVM using com.alphacephei:vosk.
    • SIDECAR mode: offloads audio transcription over asynchronous HTTP to an external Whisper instance with automatic fallback to local Vosk (fallback_to_local).
    • Production-ready official Pterodactyl Egg (egg-dreamvoice-transcription.json).
  • Model Management & Commands:
    • /voice speech download <lang|model>: Asynchronously downloads and unpacks official Vosk models without server freezes. Supports both lightweight small models (fr, en, de, es, it, ja, ru, pt, nl, zh) and high-accuracy big server models (fr-big, en-big, de-big, es-big, it-big, ja-big, ru-big, zh-big, hi-big, uk-big).
    • /voice speech models & /voice speech setmodel <model>: Inspects and selects the active speech recognition model.
    • /voice speech transcribe <id> [book|chat]: Manual transcription utility for staff, moderators, and storytellers.
    • /voice speech keywords: Displays all active keyword spotting definitions and trigger phrases.
    • /voice speech reload: Hot-reloads speech configuration, keywords, and Vosk grammar definitions.

Файлы

DreamVoice.jar(34.21 MiB)
Основной
Скачать

Метаданные

Канал релиза

Release

Номер версии

2.0.0

Загрузчики

Paper
Purpur
Spigot

Версии игры

26.1.2

Загрузок

9

Дата публикации

08.09.2026

Загрузил

ID версии

Главная