mirror of
https://github.com/SubtitleEdit/subtitleedit.git
synced 2024-10-27 22:42:38 +01:00
Update cpp models
This commit is contained in:
parent
949d35bcae
commit
165332eb62
100
src/libse/AudioToText/WhisperConstMeModel.cs
Normal file
100
src/libse/AudioToText/WhisperConstMeModel.cs
Normal file
@ -0,0 +1,100 @@
|
||||
using Nikse.SubtitleEdit.Core.Common;
|
||||
using System.IO;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Core.AudioToText
|
||||
{
|
||||
public class WhisperConstMeModel : IWhisperModel
|
||||
{
|
||||
public string ModelFolder
|
||||
{
|
||||
get
|
||||
{
|
||||
if (!string.IsNullOrEmpty(Configuration.Settings.Tools.WhisperCppModelLocation) &&
|
||||
Directory.Exists(Configuration.Settings.Tools.WhisperCppModelLocation))
|
||||
{
|
||||
return Configuration.Settings.Tools.WhisperCppModelLocation;
|
||||
}
|
||||
|
||||
return Path.Combine(Configuration.DataDirectory, "Whisper", "Const-Me", "Models");
|
||||
}
|
||||
}
|
||||
|
||||
public void CreateModelFolder()
|
||||
{
|
||||
var whisperFolder = Path.Combine(Configuration.DataDirectory, "Whisper");
|
||||
if (!Directory.Exists(whisperFolder))
|
||||
{
|
||||
Directory.CreateDirectory(whisperFolder);
|
||||
}
|
||||
|
||||
whisperFolder = Path.Combine(whisperFolder, "Const-Me");
|
||||
if (!Directory.Exists(whisperFolder))
|
||||
{
|
||||
Directory.CreateDirectory(whisperFolder);
|
||||
}
|
||||
|
||||
if (!Directory.Exists(ModelFolder))
|
||||
{
|
||||
Directory.CreateDirectory(ModelFolder);
|
||||
}
|
||||
}
|
||||
|
||||
public WhisperModel[] Models => new[]
|
||||
{
|
||||
new WhisperModel
|
||||
{
|
||||
Name = "tiny.en",
|
||||
Size = "74 MB",
|
||||
Urls = new []{ "https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-tiny.en.bin" },
|
||||
},
|
||||
new WhisperModel
|
||||
{
|
||||
Name = "tiny",
|
||||
Size = "74 MB",
|
||||
Urls = new []{ "https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-tiny.bin" },
|
||||
},
|
||||
new WhisperModel
|
||||
{
|
||||
Name = "base.en",
|
||||
Size = "141 MB",
|
||||
Urls = new []{ "https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-base.en.bin" },
|
||||
},
|
||||
new WhisperModel
|
||||
{
|
||||
Name = "base",
|
||||
Size = "141 MB",
|
||||
Urls = new []{ "https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-base.bin" },
|
||||
},
|
||||
new WhisperModel
|
||||
{
|
||||
Name = "small.en",
|
||||
Size = "465 MB",
|
||||
Urls = new []{ "https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-small.en.bin" },
|
||||
},
|
||||
new WhisperModel
|
||||
{
|
||||
Name = "small",
|
||||
Size = "465 MB",
|
||||
Urls = new []{ "https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-small.bin" },
|
||||
},
|
||||
new WhisperModel
|
||||
{
|
||||
Name = "medium.en",
|
||||
Size = "1.42 GB",
|
||||
Urls = new []{ "https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-medium.en.bin" },
|
||||
},
|
||||
new WhisperModel
|
||||
{
|
||||
Name = "medium",
|
||||
Size = "1.42 GB",
|
||||
Urls = new []{ "https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-medium.bin" },
|
||||
},
|
||||
new WhisperModel
|
||||
{
|
||||
Name = "large",
|
||||
Size = "2.88 GB",
|
||||
Urls = new []{ "https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-large.bin" },
|
||||
},
|
||||
};
|
||||
}
|
||||
}
|
@ -39,61 +39,129 @@ namespace Nikse.SubtitleEdit.Core.AudioToText
|
||||
}
|
||||
}
|
||||
|
||||
private const string DownloadUrlPrefix = "https://huggingface.co/ggerganov/whisper.cpp/resolve/main/";
|
||||
|
||||
public WhisperModel[] Models => new[]
|
||||
{
|
||||
new WhisperModel
|
||||
{
|
||||
Name = "tiny.en",
|
||||
Size = "74 MB",
|
||||
Urls = new []{ "https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-tiny.en.bin" },
|
||||
Urls = new []{ DownloadUrlPrefix + "ggml-tiny.en.bin" },
|
||||
},
|
||||
new WhisperModel
|
||||
{
|
||||
Name = "tiny",
|
||||
Size = "74 MB",
|
||||
Urls = new []{ "https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-tiny.bin" },
|
||||
Urls = new []{ DownloadUrlPrefix + "ggml-tiny.bin" },
|
||||
},
|
||||
new WhisperModel
|
||||
{
|
||||
Name = "tiny.en-q5_1",
|
||||
Size = "32 MB",
|
||||
Urls = new []{ DownloadUrlPrefix + "ggml-tiny.en-q5_1.bin" },
|
||||
},
|
||||
new WhisperModel
|
||||
{
|
||||
Name = "tiny-q5_1",
|
||||
Size = "32 MB",
|
||||
Urls = new []{ DownloadUrlPrefix + "ggml-tiny-q5_1.bin" },
|
||||
},
|
||||
new WhisperModel
|
||||
{
|
||||
Name = "base.en",
|
||||
Size = "141 MB",
|
||||
Urls = new []{ "https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-base.en.bin" },
|
||||
Urls = new []{ DownloadUrlPrefix + "ggml-base.en.bin" },
|
||||
},
|
||||
new WhisperModel
|
||||
{
|
||||
Name = "base",
|
||||
Size = "141 MB",
|
||||
Urls = new []{ "https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-base.bin" },
|
||||
Urls = new []{ DownloadUrlPrefix + "ggml-base.bin" },
|
||||
},
|
||||
new WhisperModel
|
||||
{
|
||||
Name = "base.en-q5_1",
|
||||
Size = "60 MB",
|
||||
Urls = new []{ DownloadUrlPrefix + "ggml-base.en-q5_1.bin" },
|
||||
},
|
||||
new WhisperModel
|
||||
{
|
||||
Name = "base-q5_1",
|
||||
Size = "60 MB",
|
||||
Urls = new []{ DownloadUrlPrefix + "ggml-base-q5_1.bin" },
|
||||
},
|
||||
new WhisperModel
|
||||
{
|
||||
Name = "small.en",
|
||||
Size = "465 MB",
|
||||
Urls = new []{ "https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-small.en.bin" },
|
||||
Urls = new []{ DownloadUrlPrefix + "ggml-small.en.bin" },
|
||||
},
|
||||
new WhisperModel
|
||||
{
|
||||
Name = "small",
|
||||
Size = "465 MB",
|
||||
Urls = new []{ "https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-small.bin" },
|
||||
Urls = new []{ DownloadUrlPrefix + "ggml-small.bin" },
|
||||
},
|
||||
new WhisperModel
|
||||
{
|
||||
Name = "small-q5_1",
|
||||
Size = "190 MB",
|
||||
Urls = new []{ DownloadUrlPrefix + "ggml-small-q5_1.bin" },
|
||||
},
|
||||
new WhisperModel
|
||||
{
|
||||
Name = "small-q5_1",
|
||||
Size = "190 MB",
|
||||
Urls = new []{ DownloadUrlPrefix + "ggml-small-q5_1.bin" },
|
||||
},
|
||||
new WhisperModel
|
||||
{
|
||||
Name = "medium.en",
|
||||
Size = "1.42 GB",
|
||||
Urls = new []{ "https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-medium.en.bin" },
|
||||
Urls = new []{ DownloadUrlPrefix + "ggml-medium.en.bin" },
|
||||
},
|
||||
new WhisperModel
|
||||
{
|
||||
Name = "medium",
|
||||
Size = "1.42 GB",
|
||||
Urls = new []{ "https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-medium.bin" },
|
||||
Urls = new []{ DownloadUrlPrefix + "ggml-medium.bin" },
|
||||
},
|
||||
new WhisperModel
|
||||
{
|
||||
Name = "medium.en-q5_0",
|
||||
Size = "539 MB",
|
||||
Urls = new []{ DownloadUrlPrefix + "ggml-medium.en-q5_0.bin" },
|
||||
},
|
||||
new WhisperModel
|
||||
{
|
||||
Name = "medium-q5_0",
|
||||
Size = "539 MB",
|
||||
Urls = new []{ DownloadUrlPrefix + "ggml-medium-q5_0.bin" },
|
||||
},
|
||||
new WhisperModel
|
||||
{
|
||||
Name = "large-v1",
|
||||
Size = "2.88 GB",
|
||||
Urls = new []{ DownloadUrlPrefix + "ggml-large-v1.bin" },
|
||||
},
|
||||
new WhisperModel
|
||||
{
|
||||
Name = "large-v2",
|
||||
Size = "2.88 GB",
|
||||
Urls = new []{ DownloadUrlPrefix + "ggml-large-v2.bin" },
|
||||
},
|
||||
new WhisperModel
|
||||
{
|
||||
Name = "large",
|
||||
Size = "2.88 GB",
|
||||
Urls = new []{ "https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-large.bin" },
|
||||
Urls = new []{ DownloadUrlPrefix + "ggml-large.bin" },
|
||||
},
|
||||
new WhisperModel
|
||||
{
|
||||
Name = "large-q5_0",
|
||||
Size = "2.88 GB",
|
||||
Urls = new []{ DownloadUrlPrefix + "ggml-large-q5_0.bin" },
|
||||
},
|
||||
};
|
||||
}
|
||||
|
@ -8,12 +8,16 @@ namespace Nikse.SubtitleEdit.Core.AudioToText
|
||||
{
|
||||
public static IWhisperModel GetWhisperModel()
|
||||
{
|
||||
if (Configuration.Settings.Tools.WhisperChoice == WhisperChoice.Cpp ||
|
||||
Configuration.Settings.Tools.WhisperChoice == WhisperChoice.ConstMe)
|
||||
if (Configuration.Settings.Tools.WhisperChoice == WhisperChoice.Cpp)
|
||||
{
|
||||
return new WhisperCppModel();
|
||||
}
|
||||
|
||||
if (Configuration.Settings.Tools.WhisperChoice == WhisperChoice.ConstMe)
|
||||
{
|
||||
return new WhisperConstMeModel();
|
||||
}
|
||||
|
||||
if (Configuration.Settings.Tools.WhisperChoice == WhisperChoice.CTranslate2)
|
||||
{
|
||||
return new WhisperCTranslate2Model();
|
||||
|
Loading…
Reference in New Issue
Block a user