Recently, I completely moved my creative and work environment to Ubuntu Studio (which means I totally gave up Windows), and along with that came the issue of porting audio plugins that run on Windows. I spent about 70 hours solving some of the problems, and now I’m recording and sharing this process, hoping it can be helpful to everyone using Ubuntu Studio.
Also, in order to avoid translation errors from using machine translation, the process records I’ll post next are in Simplified Chinese. If needed, please use translation software to translate them.
You can check here too; the article in this link is the same as the one posted here.
DOTNET_ROOT="C:\Program Files\dotnet" WINEDEBUG=+loaddll wine "/home/nanochima/.wine/drive_c/Program Files/VOCALOID6/Editor/VOCALOID6.exe"
The following results are output in the terminal:
System.Windows.Markup.XamlParseException: Set property 'System.Windows.Controls.Primitives.ButtonBase.Command' threw an exception.
---> System.TypeInitializationException: The type initializer for 'Yamaha.VOCALOID.App' threw an exception.
---> System.InvalidCastException: Specified cast is not valid.
at System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(Int32 errorCode, IntPtr errorInfo)
at System.Management.ManagementObject.Initialize(Boolean getObject)
at System.Management.ManagementBaseObject.get_wbemObject()
at System.Management.ManagementBaseObject.get_ClassName()
at System.Management.ManagementClass.GetInstances(EnumerationOptions options)
at System.Management.ManagementClass.GetInstances()
at Yamaha.VOCALOID.App.<>c.<.cctor>b__124_2()
at Yamaha.VOCALOID.App.<>c.<.cctor>b__124_0()
at Yamaha.VOCALOID.App..cctor()
--- End of inner exception stack trace ---
at Yamaha.VOCALOID.App.get_ContentRenderDone()
at Yamaha.VOCALOID.DelegateCommand.CanExecute(Object parameter)
at System.Windows.Controls.Primitives.ButtonBase.UpdateCanExecute()
at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)
at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)
at System.Windows.DependencyObject.SetValueCommon(DependencyProperty dp, Object value, PropertyMetadata metadata, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType, Boolean isInternal)
at System.Windows.DependencyObject.SetValue(DependencyProperty dp, Object value)
at MS.Internal.Xaml.Runtime.ClrObjectRuntime.SetValue(Object inst, XamlMember property, Object value)
--- End of inner exception stack trace ---
at System.Windows.Markup.XamlReader.RewrapException(Exception e, IXamlLineInfo lineInfo, Uri baseUri)
at System.Windows.Markup.WpfXamlLoader.Load(XamlReader xamlReader, IXamlObjectWriterFactory writerFactory, Boolean skipJournaledProperties, Object rootObject, XamlObjectWriterSettings settings, Uri baseUri)
at System.Windows.Markup.WpfXamlLoader.LoadBaml(XamlReader xamlReader, Boolean skipJournaledProperties, Object rootObject, XamlAccessLevel accessLevel, Uri baseUri)
at System.Windows.Markup.XamlReader.LoadBaml(Stream stream, ParserContext parserContext, Object parent, Boolean closeStream)
at System.Windows.Application.LoadComponent(Object component, Uri resourceLocator)
at Yamaha.VOCALOID.MainWindow.InitializeComponent()
at Yamaha.VOCALOID.MainWindow..ctor()
at Yamaha.VOCALOID.App.OnStartup(StartupEventArgs e)
at System.Windows.Application.<.ctor>b__1_0(Object unused)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.DispatcherOperation.InvokeImpl()
at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(Object obj)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at MS.Internal.CulturePreservingExecutionContext.Run(CulturePreservingExecutionContext executionContext, ContextCallback callback, Object state)
at System.Windows.Threading.DispatcherOperation.Invoke()
at System.Windows.Threading.Dispatcher.ProcessQueue()
at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
at System.Windows.Application.RunDispatcher(Object ignore)
at System.Windows.Application.RunInternal(Window window)
at Yamaha.VOCALOID.App.Main()
May I suggest a different approach? Your command of the English language seems to be rather good and it’s really hard for someone who doesn’t speak Chinese, or any other foreign language, for that matter, to judge if the automatic translation is any good; especially when idioms are involved, translations can sometimes be comically incorrect — imagine diplomats using it and it triggering some international incident.
So how about you filter your text through the auto-translation and correct it? That is actually the more productive/efficient use of such tools; help the (human) translator with the boring stuff. Plus, only one invocation of said auto-translation is required — the one for the author (you) — and not every recipient; two distinct readers of the same native language might even end up with different translations, each ever so slightly wrong in a different way. While LLM-based translations have become quite good, I have yet to see a flawless one.
I have to agree with @peterwhite23 here. This is an English discourse, and any tutorials such as this, therefore, must be written in English. However, I’m going to try to find a place where you can post it. One of the volunteers with Ubuntu Studio runs ubuntustudio.cn and I think that would be a perfect place to contribute.
Actually, Peter, any command of the English language was likely done by a translation application. This person has admitted, in the past, that they don’t know any English at all. Therefore I think @nanochima’s energy would be best spent with a Chinese site like ubuntustudio.cn which is the unofficial Chinese Ubuntu Studio site.
Um… what you’re seeing now is the result of me translating Simplified Chinese into English using Bing Translate. My English is actually really bad, only good enough to understand some computer terms. I’m really sorry.
…I just want to share my experience using and exploring Ubuntu Studio here, to help more people. In order for everyone to accurately understand the content of this record and avoid mistakes, I need to paste the original content here first, and then have you translate it using your translation function. Also, I can’t find any way to contact the webmaster of ubuntustudio.cn.
No, that’s not the way it works here. There is no translation function on this site, and you can’t expect everyone to translate from you language to another when this is an English site.
Well… I use the built-in translation function of Firefox or Microsoft Edge. If you can’t use it, I will try to change the text to pure English later, but I can’t guarantee the quality of the translation… Because I’m using Bing’s translation.