AI操作
提供了目标检测、OCR、姿态识别和翻译等功能。(注意目前版本只有目标检测和ocr支持directml加速)
ssf.ai
文字识别返回值结构定义
属性名 | 类型 | 描述 |
---|---|---|
id | number | 唯一标识符 |
x | number | 区域左上角的X坐标 |
y | number | 区域左上角的Y坐标 |
w | number | 区域宽度 |
h | number | 区域高度 |
text | String | 识别出的文字 |
Example:
const result: ssf.ai.OCR_Result = { id: 1, x: 100, y: 200, w: 150, h: 50, text: "Hello World" };
目标检测返回值结构定义
属性名 | 类型 | 描述 |
---|---|---|
score | number | 检测置信度 |
x | number | 区域左上角的X坐标 |
y | number | 区域左上角的Y坐标 |
w | number | 区域宽度 |
h | number | 区域高度 |
label | String | 检测标签 |
Example:
const detection: ssf.ai.DetectionResult = { score: 0.95, x: 50, y: 100, w: 200, h: 100, label: "person" };
姿态检测 模块
-
init_model: 初始化姿态识别模型。
- 参数:
is_cpu
: boolean - 是否使用CPU。model_path
: String | null | undefined - 模型路径。which
: String - 模型类型。
- 示例:
ssf.ai.Pose.init_model(true, "./models/pose", "resnet");
- 参数:
-
parse: 对图像进行姿态解析。
- 参数:
img
: ssf.Image - 输入图像。confidence_threshold
: number - 置信度阈值。nms_threshold
: number - NMS阈值。mask_threshold
: number - 掩码阈值。is_draw
: boolean - 是否绘制结果。
- 示例:
const parsedPose = ssf.ai.Pose.parse(image, 0.5, 0.4, 0.6, true);
- 参数:
翻译 模块
-
init_model: 初始化翻译模型。
- 参数:
tokenizer_path
: String - 分词器路径。tokenizer_dec_path
: String - 解码器路径。model_path
: String - 模型路径。
- 示例:
ssf.ai.Translate.init_model("./models/tokenizer", "./models/tokenizer_dec", "./models/translate");
- 参数:
-
parse: 执行文本翻译。
- 参数:
text
: String - 待翻译文本。
- 返回值:
- String - 翻译后的文本。
- 示例:
const translatedText = ssf.ai.Translate.parse("你好世界");
- 参数:
文字识别 模块
-
init_model: 初始化OCR模型。
- 参数:
dir
: String - 模型目录。
- 示例:
ssf.ai.OCR.init_model("./models/ocr");
- 参数:
-
parse: 对图像执行OCR识别。
- 参数:
image
: ssf.Image - 输入图像。
- 返回值:
- OCR_Result[] - 识别结果数组。
- 示例:
const ocrResults = ssf.ai.OCR.parse(image);
- 参数:
目标检测 模块
-
init_model: 初始化目标检测模型。
- 参数:
dir
: String - 模型目录。keys
: String[] - 模型标签列表。
- 示例:
ssf.ai.Detection.init_model("./models/detection", ["person", "car"]);
- 参数:
-
parse: 对图像执行目标检测。
- 参数:
image
: ssf.Image - 输入图像。
- 返回值:
- DetectionResult[] - 检测结果数组。
- 示例:
const detections = ssf.ai.Detection.parse(image);
- 参数:
ExtTTS(注意ext功能需要翻墙联网目前不推荐使用)
方法名 | 描述 |
---|---|
play_text_with_api | 使用API播放文本到语音 |
wait | 同步等待播放完成 |
stop | 停止播放 |
Example:
const tts = ssf.ai.ExtTTS.init();
await tts.play_text_with_api("Hello, world!", BigInt(1000));
tts.wait();
tts.stop();
离线文本转语音 模块
-
init_model: 初始化TTS模型。
- 参数:
dir
: String - 模型目录。model_type
: String - 模型类型。
- 示例:
ssf.ai.TTS.init_model("./models/tts", "melo");
- 参数:
-
play_text: 播放指定文本。
- 参数:
text
: String - 播放文本。sid
: number - 发音人ID。speed
: number - 播放速度。
- 示例:
ssf.ai.TTS.play_text("你好,世界!", 1, 1.0);
- 参数:
-
wait: 同步等待播放完成。
- 示例:
ssf.ai.TTS.wait();
- 示例:
-
write: 将文本写入音频文件。
- 参数:
path
: String - 输出文件路径。text
: String - 播放文本。sid
: number - 发音人ID。speed
: number - 播放速度。
- 示例:
ssf.ai.TTS.write("./output.wav", "你好,世界!", 1, 1.0);
- 参数:
-
stop: 停止播放。
- 示例:
ssf.ai.TTS.stop();
- 示例:
语音识别 模块
-
listen_output: 监听输出设备。
- 参数:
dir
: String - 模型路径。rule1_min_trailing_silence
: number - 规则1最小尾部静音。rule2_min_trailing_silence
: number - 规则2最小尾部静音。rule3_min_utterance_length
: number - 规则3最小话语长度。enable_endpoint
: number - 是否启用端点检测。
- 示例:
ssf.ai.ASR.listen_output("./models/asr", 2.4, 1.2, 20, 1);
- 参数:
-
listen_input: 监听输入设备。
- 参数:
dir
: String - 模型路径。rule1_min_trailing_silence
: number - 规则1最小尾部静音。rule2_min_trailing_silence
: number - 规则2最小尾部静音。rule3_min_utterance_length
: number - 规则3最小话语长度。enable_endpoint
: number - 是否启用端点检测。
- 示例:
ssf.ai.ASR.listen_input("./models/asr", 2.4, 1.2, 20, 1);
- 参数:
-
init_model: 初始化ASR模型。
- 参数:
dir
: String - 模型路径。rule1_min_trailing_silence
: number - 规则1最小尾部静音。rule2_min_trailing_silence
: number - 规则2最小尾部静音。rule3_min_utterance_length
: number - 规则3最小话语长度。
- 示例:
ssf.ai.ASR.init_model("./models/asr", 2.4, 1.2, 20);
- 参数:
-
parse_file: 解析WAV文件。
- 参数:
dir
: String - 文件路径。
- 返回值:
- String - 识别结果。
- 示例:
const asrResult = ssf.ai.ASR.parse_file("./input.wav");
- 参数:
-
get_result: 获取监听结果。
- 返回值:
- String - 识别结果。
- 示例:
const result = ssf.ai.ASR.get_result();
- 返回值:
-
get_result_with_timeout: 带超时获取监听结果。
- 参数:
timeout
: number - 超时时间(毫秒)。
- 返回值:
- String - 识别结果。
- 示例:
const result = ssf.ai.ASR.get_result_with_timeout(5000);
- 参数:
-
stop: 停止监听。
- 示例:
ssf.ai.ASR.stop();
- 示例:
声音设备监听 模块
-
check_default_input_device: 检查默认输入设备。
- 返回值:
- boolean - 是否存在默认输入设备。
- 示例:
const hasInputDevice = ssf.ai.Device.check_default_input_device();
- 返回值:
-
check_default_output_device: 检查默认输出设备。
- 返回值:
- boolean - 是否存在默认输出设备。
- 示例:
const hasOutputDevice = ssf.ai.Device.check_default_output_device();
- 返回值:
-
init_audio: 初始化音频设备。
- 示例:
ssf.ai.Device.init_audio();
- 示例:
-
load_audio: 加载音频文件。
- 参数:
path
: String - 文件路径。
- 返回值:
- number - 音频文件ID。
- 示例:
const audioId = ssf.ai.Device.load_audio("./audio.wav");
- 参数:
-
audio_play: 播放音频。
- 参数:
file_id
: number - 音频文件ID。
- 示例:
ssf.ai.Device.audio_play(audioId);
- 参数:
-
audio_wait: 同步等待音频播放完成。
- 示例:
ssf.ai.Device.audio_wait();
- 示例:
-
audio_stop: 停止音频播放。
- 示例:
ssf.ai.Device.audio_stop();
- 示例: