跳到主要内容

AI操作

提供了目标检测、OCR、姿态识别和翻译等功能。(注意目前版本只有目标检测和ocr支持directml加速)

ssf.ai

文字识别返回值结构定义

属性名类型描述
idnumber唯一标识符
xnumber区域左上角的X坐标
ynumber区域左上角的Y坐标
wnumber区域宽度
hnumber区域高度
textString识别出的文字

Example:

const result: ssf.ai.OCR_Result = { id: 1, x: 100, y: 200, w: 150, h: 50, text: "Hello World" };

目标检测返回值结构定义

属性名类型描述
scorenumber检测置信度
xnumber区域左上角的X坐标
ynumber区域左上角的Y坐标
wnumber区域宽度
hnumber区域高度
labelString检测标签

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();