mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2026-09-20 18:13:37 +00:00
Some checks are pending
Build and Release / Determine run mode (push) Waiting to run
Build and Release / Read metadata (push) Blocked by required conditions
Build and Release / Sync Flatpak repo (push) Blocked by required conditions
Build and Release / Collect Flatpak artifacts (push) Blocked by required conditions
Build and Release / Verify (push) Waiting to run
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-aarch64-apple-darwin, osx-arm64, macos-latest, aarch64-apple-darwin, dmg,app,updater, dmg) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-aarch64-pc-windows-msvc.exe, win-arm64, windows-latest, aarch64-pc-windows-msvc, nsis,updater, nsis) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-aarch64-unknown-linux-gnu, linux-arm64, ubuntu-22.04-arm, aarch64-unknown-linux-gnu, appimage,updater, appimage) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-x86_64-apple-darwin, osx-x64, macos-latest, x86_64-apple-darwin, dmg,app,updater, dmg) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-x86_64-pc-windows-msvc.exe, win-x64, windows-latest, x86_64-pc-windows-msvc, nsis,updater, nsis) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-x86_64-unknown-linux-gnu, linux-x64, ubuntu-22.04, x86_64-unknown-linux-gnu, appimage,updater, appimage) (push) Blocked by required conditions
Build and Release / Prepare & create release (push) Blocked by required conditions
Build and Release / Publish release (push) Blocked by required conditions
51 lines
2.6 KiB
C#
51 lines
2.6 KiB
C#
using AIStudio.Provider;
|
|
|
|
namespace AIStudio.Models.Kinds;
|
|
|
|
/// <summary>
|
|
/// The models which listen and write down what they heard.
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// Whisper and Voxtral are missing here on purpose: both have a family of their own, where the
|
|
/// statement that they transcribe stands next to what they can do. Repeating it here would be a
|
|
/// second place to keep it right.
|
|
/// </remarks>
|
|
public sealed class TranscriptionModelsFamily : ModelFamily
|
|
{
|
|
/// <inheritdoc />
|
|
public override ModelVendor Vendor => ModelVendor.UNKNOWN;
|
|
|
|
/// <inheritdoc />
|
|
public override ModelSource Source => new("https://huggingface.co/models?pipeline_tag=automatic-speech-recognition", new DateOnly(2026, 9, 19), "Ported from the transcription markers of Provider/ModelKindExtensions.cs, minus the two which their own families now state. Canary and asr came later: the markers named neither, so both reached the answer meant for everything nobody wrote a rule for. Alibaba's speech line is documented at https://www.alibabacloud.com/help/en/model-studio/qwen-asr-api-reference.");
|
|
|
|
/// <inheritdoc />
|
|
protected override void Declare(ModelFamilyBuilder builder)
|
|
{
|
|
// OpenAI appends it to the model it grew out of: gpt-4o-transcribe, gpt-4o-mini-transcribe.
|
|
builder.Modifier("transcribe").AsSegment().Kind(ModelKind.TRANSCRIPTION);
|
|
|
|
builder.Modifier("wav2vec").AsSubstring().Inherits();
|
|
|
|
builder.Modifier("parakeet").AsSubstring().Inherits();
|
|
|
|
// NVIDIA's other line of speech models, written plain: canary-1b, canary-1b-flash,
|
|
// canary-180m-flash. A segment rather than a substring, because canary is an ordinary
|
|
// English word which would otherwise reach into names it has nothing to do with -- the
|
|
// same reason the embedding family gives for gte.
|
|
builder.Modifier("canary").AsSegment().Inherits();
|
|
|
|
//
|
|
// The abbreviation the whole field goes by, and the one Alibaba names its speech line
|
|
// after: qwen3-asr-flash, qwen3-asr-1.7b, fun-asr-realtime. Three letters, so a name part
|
|
// and never a substring -- "laser" and "eraser" carry them without meaning any of this.
|
|
//
|
|
builder.Modifier("asr").AsSegment().Inherits();
|
|
|
|
//
|
|
// Alibaba also builds the line into its audio models, and "audio" is the longer word, so
|
|
// without this the speech synthesis rule would answer for a model which only listens. A
|
|
// name carrying both words is a transcription model whatever else it is called.
|
|
//
|
|
builder.Modifier("audio").AsSegment().AlsoContains("asr").Inherits();
|
|
}
|
|
} |