mirror of
https://github.com/SubtitleEdit/subtitleedit.git
synced 2024-10-27 22:42:38 +01:00
More refact
This commit is contained in:
parent
8ce133f357
commit
72383d2e67
@ -18,7 +18,17 @@ namespace Nikse.SubtitleEdit.Core.AudioToText
|
||||
|
||||
public static string GetWebSiteUrl()
|
||||
{
|
||||
return Configuration.Settings.Tools.WhisperChoice == WhisperChoice.Cpp ? "https://github.com/ggerganov/whisper.cpp" : "https://github.com/openai/whisper";
|
||||
if (Configuration.Settings.Tools.WhisperChoice == WhisperChoice.Cpp)
|
||||
{
|
||||
return "https://github.com/ggerganov/whisper.cpp";
|
||||
}
|
||||
|
||||
if (Configuration.Settings.Tools.WhisperChoice == WhisperChoice.WhisperX)
|
||||
{
|
||||
return "https://github.com/m-bain/whisperX";
|
||||
}
|
||||
|
||||
return "https://github.com/openai/whisper";
|
||||
}
|
||||
|
||||
public static bool IsWhisperInstalled()
|
||||
@ -66,6 +76,19 @@ namespace Nikse.SubtitleEdit.Core.AudioToText
|
||||
return Directory.Exists(path) ? path : null;
|
||||
}
|
||||
|
||||
if (Configuration.Settings.Tools.WhisperChoice == WhisperChoice.WhisperX && !string.IsNullOrEmpty(Configuration.Settings.Tools.WhisperXLocation))
|
||||
{
|
||||
if (Configuration.Settings.Tools.WhisperXLocation.EndsWith("whisperx.exe", StringComparison.InvariantCultureIgnoreCase) && File.Exists(location))
|
||||
{
|
||||
return Path.GetDirectoryName(Configuration.Settings.Tools.WhisperXLocation);
|
||||
}
|
||||
|
||||
if (Directory.Exists(Configuration.Settings.Tools.WhisperXLocation) && File.Exists(Path.Combine(location, "whisperx.exe")))
|
||||
{
|
||||
return Configuration.Settings.Tools.WhisperXLocation;
|
||||
}
|
||||
}
|
||||
|
||||
var pythonFolder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile),
|
||||
"AppData",
|
||||
"Local",
|
||||
@ -78,6 +101,15 @@ namespace Nikse.SubtitleEdit.Core.AudioToText
|
||||
var dirName = Path.GetFileName(dir);
|
||||
if (dirName != null && dirName.StartsWith("Python3"))
|
||||
{
|
||||
if (Configuration.Settings.Tools.WhisperChoice == WhisperChoice.WhisperX)
|
||||
{
|
||||
var whisperXFullPath = Path.Combine(dir, "Scripts", "whisperx.exe");
|
||||
if (File.Exists(whisperXFullPath))
|
||||
{
|
||||
return Path.Combine(dir, "Scripts");
|
||||
}
|
||||
}
|
||||
|
||||
var whisperFullPath = Path.Combine(dir, "Scripts", "whisper.exe");
|
||||
if (File.Exists(whisperFullPath))
|
||||
{
|
||||
@ -99,8 +131,7 @@ namespace Nikse.SubtitleEdit.Core.AudioToText
|
||||
{
|
||||
if (Configuration.IsRunningOnWindows)
|
||||
{
|
||||
|
||||
if (Configuration.Settings.Tools.WhisperChoice == "CPP")
|
||||
if (Configuration.Settings.Tools.WhisperChoice == WhisperChoice.Cpp)
|
||||
{
|
||||
var f = Path.Combine(GetWhisperFolder(), "main.exe");
|
||||
if (File.Exists(f))
|
||||
@ -108,7 +139,7 @@ namespace Nikse.SubtitleEdit.Core.AudioToText
|
||||
return f;
|
||||
}
|
||||
}
|
||||
else if (Configuration.Settings.Tools.WhisperChoice == "WhisperX")
|
||||
else if (Configuration.Settings.Tools.WhisperChoice == WhisperChoice.WhisperX)
|
||||
{
|
||||
var f = Path.Combine(GetWhisperFolder(), "whisperx.exe");
|
||||
if (File.Exists(f))
|
||||
@ -134,7 +165,7 @@ namespace Nikse.SubtitleEdit.Core.AudioToText
|
||||
return f;
|
||||
}
|
||||
}
|
||||
else if (Configuration.IsRunningOnLinux && Configuration.Settings.Tools.WhisperChoice == "WhisperX")
|
||||
else if (Configuration.IsRunningOnLinux && Configuration.Settings.Tools.WhisperChoice == WhisperChoice.WhisperX)
|
||||
{
|
||||
var f = Path.Combine(GetWhisperFolder(), "whisperx");
|
||||
if (File.Exists(f))
|
||||
|
@ -101,7 +101,7 @@ namespace Nikse.SubtitleEdit.Core.AudioToText
|
||||
//},
|
||||
new WhisperModel
|
||||
{
|
||||
Name = "large",
|
||||
Name = "large", // large-v2
|
||||
Size = "2.9 GB",
|
||||
UrlPrimary = "https://openaipublic.azureedge.net/main/whisper/models/81f7c96c852ee8fc832187b0132e569d6c3065a3252ed18e56effd0b6a73e524/large-v2.pt",
|
||||
UrlSecondary = "https://openaipublic.azureedge.net/main/whisper/models/81f7c96c852ee8fc832187b0132e569d6c3065a3252ed18e56effd0b6a73e524/large-v2.pt",
|
||||
|
@ -1237,7 +1237,7 @@ namespace Nikse.SubtitleEdit.Forms.AudioToText
|
||||
|
||||
private void whisperPhpOriginalToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
Configuration.Settings.Tools.WhisperChoice = "OpenAI";
|
||||
Configuration.Settings.Tools.WhisperChoice = WhisperChoice.OpenAI;
|
||||
|
||||
if (Configuration.IsRunningOnWindows)
|
||||
{
|
||||
|
@ -431,7 +431,7 @@ namespace Nikse.SubtitleEdit.Forms.AudioToText
|
||||
|
||||
private void whisperPhpOriginalToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
Configuration.Settings.Tools.WhisperChoice = "OpenAI";
|
||||
Configuration.Settings.Tools.WhisperChoice = WhisperChoice.OpenAI;
|
||||
|
||||
if (Configuration.IsRunningOnWindows)
|
||||
{
|
||||
|
@ -34839,13 +34839,13 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
if (Configuration.IsRunningOnLinux && WhisperHelper.GetWhisperPathAndFileName() == "whisper")
|
||||
{
|
||||
SeLogger.Error("UseWhisperChoice changed to 'OpenAI' as 'Whisper/whisper' or '/Whisper/main' was not found!");
|
||||
Configuration.Settings.Tools.WhisperChoice = "OpenAI";
|
||||
Configuration.Settings.Tools.WhisperChoice = WhisperChoice.OpenAI;
|
||||
}
|
||||
|
||||
if (Configuration.IsRunningOnWindows && WhisperHelper.GetWhisperPathAndFileName() == "whisper")
|
||||
{
|
||||
SeLogger.Error("UseWhisperChoice changed to 'OpenAI' as 'Whisper/whisper.exe' or '/Whisper/main.exe' was not found!");
|
||||
Configuration.Settings.Tools.WhisperChoice = "OpenAI";
|
||||
Configuration.Settings.Tools.WhisperChoice = WhisperChoice.OpenAI;
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user