跳到正文

Shriek

作者:Pryzmm

A Minecraft speech to text library; detect what your players say!

收藏

介绍

中文介绍正在准备中,下面暂时显示原文。

Shriek

A maintained version of VoiceLib by Volcano Bay Studios

[![Requires Architectury API](https://raw.githubusercontent.com/intergrav/devins-badges/refs/heads/v3/assets/cozy/requires/architectury-api_64h.png ‘Architectury API’)](https://modrinth.com/mod/architectury-api)

A speech to text library that can listen to your microphone and understand what you’re saying! Using the power of Vosk, you can speak into your microphone and get an output, and even use multiple languages!

Implementation

repositories {
    maven {
        name = "Modrinth"
        url = "https://api.modrinth.com/maven"
    }
}

dependencies {
    modImplementation "maven.modrinth:shriek:1.1.01+fabric"
}

Usage

ShriekApi is the class for the API.
The following are the methods you will be using

import com.pryzmm.client.event.EventHandler;
EventHandler.setModel();
// This will set the language model, defined in https://alphacephei.com/vosk/models
// Language models vary in size; the default is vosk-model-small-en-us-0.15, which is ~40 MB compressed, while others like vosk-model-ru-0.10 are ~2.5GB compressed
// Changing models will restart a restart to download, or a call from EventHandler.getOrCreatePath();

ShriekApi.registerServerPlayerSpeechListener(Consumer<ServerPlayerTalkEvent> consumer)
// This method registers a ServerPLayerTalkEvent Consumer. Whenever a player speaks,
// This event will be fired. The ServerPlayerTalkEvent provides the player, and a string of what they said.

ShriekApi.registerClientSpeechListener(Consumer<ClientTalkEvent> consumer)
// This method registers a ClientTalkEvent Consumer. This method is only fired on the client.
// Whenever the user speaks, this will be fired.

ShriekApi.setPrintToChat(boolean printToChat)
// This is only on the client. This sets whether or not to 
// print client speak events to chat. (Default False)

ShriekApi.setPrintToConsole(boolean printToConsole)
// Same as printToChat but for the console instead. (Default False)

Example

This method makes it so if any player on the server says “ouch” they light on fire

ShriekApi.registerServerPlayerSpeechListener((serverPlayerTalkEvent -> {
    if (serverPlayerTalkEvent.getText().contains("ouch"))
        serverPlayerTalkEvent.getPlayer().igniteForSeconds(2);
}));

You can also see this in ShriekExample through GitHub

Security

There are a few things to note with this mod:

  • The mod automatically downloads a vosk model from the internet on the first launch. The default model is ~40MB compressed and may freeze your game for a couple seconds while setting up the model.
  • This mod by default, constantly records and sends all text data to the server. This means if a server modification has set up their mod to, they can listen into your conversation. Please be weary of this.
  • The push to mute key will turn OFF your microphone whilst held
  • Other mods have the ability to toggle recording on/off

常见问题

Shriek 支持哪些 Minecraft 版本?

Shriek 支持 Minecraft Java 版 1.21–1.21.11,共 12 个版本,可用的加载器:Fabric / NeoForge。下载时注意选择和你游戏版本一致的文件。

Shriek 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric / NeoForge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:客户端和服务端都要装。

评论

登录后评论和评分

Pryzmm 的其他作品

查看全部 →