<div style="font-family: Arial, sans-serif; font-size: 14px;"><br></div><div style="font-family: Arial, sans-serif; font-size: 14px;"><br></div>
<div style="font-family: Arial, sans-serif; font-size: 14px;" class="protonmail_signature_block">
<div class="protonmail_signature_block-user protonmail_signature_block-empty">
</div>
<div class="protonmail_signature_block-proton">Good afternoon, all,</div><div class="protonmail_signature_block-proton"><br></div><div class="protonmail_signature_block-proton"><br></div>I've been working in the last 2 months to get crow-translate back to a presentable state and make the first qt6 release. We currently have in master a version that works, but the TTS functionality is immediately blocked by upstream providers, essentially dead. </div><div style="font-family: Arial, sans-serif; font-size: 14px;" class="protonmail_signature_block">I've been continuing work in this branch: <span><a target="_blank" rel="noreferrer nofollow noopener" href="https://invent.kde.org/pillowtrucker/crow-translate/-/tree/refactor-tts-and-translators?ref_type=heads">https://invent.kde.org/pillowtrucker/crow-translate/-/tree/refactor-tts-and-translators?ref_type=heads</a></span>. I think it will soon be in a good state for a MR, so I'm trying to build it on Windows so that I can actually test it there first. In this branch, I have fixed some outstanding bugs (a segfault, an outdated interface into KWin's KScreenShot functionality). refactored the code base to allow for modular translation and tts providers and additionally implemented:</div><div style="font-family: Arial, sans-serif; font-size: 14px;" class="protonmail_signature_block"><ul style="margin-top: 0px; margin-bottom: 0px;" data-editing-info="{"orderedStyleType":1,"unorderedStyleType":2}"><li style="list-style-type: "- ";"><span>Qt TTS - this should work fine on windows and mac, because it uses the builtin system tts, but it sounds awful on linux/bsd because that uses speech-dispatcher and has no settings to configure to make it better (from the application side.)</span></li><li style="list-style-type: "- ";">TTS based on Piper, or, more accurately, on espeak-ng and onnxruntime, since this is what the new release of piper uses. This sounds very accurate, if not always natural.</li></ul></div><div style="font-family: Arial, sans-serif; font-size: 14px; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">The latter requires a version of espeak-ng with built-in conversion of text into piper-voices-compatible phonemes. I bundle espeak-ng as a submodule, since it hasn't been released yet. Later on this should be simplified to use a system package.</div><div style="font-family: Arial, sans-serif; font-size: 14px; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);"><br></div><div style="font-family: Arial, sans-serif; font-size: 14px; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">Espeak-ng does not have the most robust build system and has one quirk that does affect the build: even if I tell it to build without libsonic support, it tries to download the library, for some reason, and then ignore it once it's there. On NixOS, I've simply added the sonic library to build inputs (because the build system is sandboxed and isn't allowed to download some external blob) and let it ignore it because it's much less effort than trying to get a fix upstream. Is it fine if it tries to download and then ignore some version of the library in unix ci and craft, or should I add the phantom dependency on sonic?</div><div style="font-family: Arial, sans-serif; font-size: 14px; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);"><br></div><div style="font-family: Arial, sans-serif; font-size: 14px; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">The other new dependency I need is onnxruntime. As far as I could see, both freebsd and most linux distributions have this as a system package. </div><div style="font-family: Arial, sans-serif; font-size: 14px; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">On windows, I have the choice between a binary distribution and some build mechanism that uses a "build.bat" script and expects to build with Visual Studio- should I even try to build this from source, or is it fine if I<span style="font-family: Arial, sans-serif; font-size: 14px; line-height: normal; font-weight: 400;"> use </span><span style="font-family: Arial, sans-serif; font-size: 14px; line-height: normal; font-weight: 400;">BinaryPackageBase with a binary release</span>? Is there anything similar in blueprints already that I could use for comparison? I've tried to find something myself, but, so far, I've only found how to install pkg-config files <span><a target="_blank" rel="noreferrer nofollow noopener" href="https://invent.kde.org/packaging/craft-blueprints-kde/-/blob/master/libs/nvidia-codecs/nvidia-codecs.py">https://invent.kde.org/packaging/craft-blueprints-kde/-/blob/master/libs/nvidia-codecs/nvidia-codecs.py</a>. </span></div><div style="font-family: Arial, sans-serif; font-size: 14px; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);"><span>It looks like for BinaryPackageBase I might just have to specify the url. The zip files in which they come, already have a ./lib and an ./include, so the default binary builder looks like it might understand that, but I'm not sure I fully understand craft. I would probably just try that first, though.</span></div><div style="font-family: Arial, sans-serif; font-size: 14px; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);"><br></div><div style="font-family: Arial, sans-serif; font-size: 14px; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);"><br></div><div style="font-family: Arial, sans-serif; font-size: 14px; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">Kind regards,</div><div style="font-family: Arial, sans-serif; font-size: 14px; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">Maciej</div>