Everybody knows Ubisoft's NFT games and NFT initiative crashed and burned and they had to stop talking about AI, but one other thing I'm noticing is every game with generative AI elements is absolutely slated by consumers - e.g. these are a sample of comments on the Catly trailer from The Game Awards across different channels.
It's exciting to see a new generation just outright reject this stuff.
)


Al Puzzuoli
in reply to Tamas G • • •x0
in reply to Tamas G • • •Alex the Christmas Chapππ
in reply to Tamas G • • •Alex the Christmas Chapππ
in reply to Alex the Christmas Chapππ • • •Eden Linnea
in reply to Tamas G • • •Tamas G
in reply to Eden Linnea • • •Eden Linnea
in reply to Tamas G • • •Tamas G
Unknown parent • • •Brandon Tyson
in reply to Tamas G • • •Brandon Tyson
in reply to Brandon Tyson • • •Tamas G
in reply to Brandon Tyson • • •Tamas G
Unknown parent • • •@alexchapman ah darn. I tried to add this function in but it did not solve my problem:
``` def terminate(self):
# Called when NVDA switches away from this synth or shuts down
self.cancel()
# Signal BG thread to end
bgQueue.put((None, None, None))
self.bgThread.join()
if self.handle:
# Shutup and destroy handle
if self.bstShutup:
self.bstShutup(self.handle)
self.dll.bstDestroy(self.handle)
self.handle=None
if self.win:
self.win.destroy()
self.win=None
# Unload the DLL by removing reference
self.dll = None
```
Tamas G
Unknown parent • • •Tamas G
Unknown parent • • •Tamas G
Unknown parent • • •Alex the Christmas Chapππ
Unknown parent • • •Martin from Toronto
in reply to Tamas G • • •Alex Hall
in reply to Tamas G • • •victor tsaran
in reply to Alex Hall • • •Jack-Frostodon
in reply to victor tsaran • • •victor tsaran
in reply to Jack-Frostodon • • •Jane Suh
in reply to Tamas G • • •I used to use a Braillenote, I am familiar with Keynote gold.
Do you have that for theBraille n -speak synthesizer as well and like the Alex voice or something like that for NVDA
DJ Seedy (migrated)
in reply to Tamas G • • •Tamas G
Unknown parent • • •Tamas G
Unknown parent • • •Tamas G
Unknown parent • • •DJ Seedy (migrated)
Unknown parent • • •Tamas G
Unknown parent • • •Google News
Google NewsTamas G
Unknown parent • • •DJ Seedy (migrated)
in reply to Tamas G • • •Tamas G
Unknown parent • • •Tamas G
Unknown parent • • •Tamas G
Unknown parent • • •Tamas G
Unknown parent • • •Tamas G
Unknown parent • • •Tamas G
Unknown parent • • •Tamas G
Unknown parent • • •Tamas G
Unknown parent • • •"This does not definitively prove that DECTalk must be called only on the main thread or that it canβt be used from a background thread, but the use of a window and messages suggests a design pattern where DECTalk expects a stable, message-driven environment. If calls into DECTalk arenβt synchronized properly or if calls occur on different threads in unexpected ways, crashes can result. This is a heuristic based on experience with similar Windows-based TTS engines and not a guaranteed ruleβofficial documentation or direct testing is the best verification."
As for Espeak:
"Contrary to what might be inferred from earlier assumptions, NVDAβs eSpeak driver does interact with eSpeak in a threaded environment, but in a way that is officially supported and well-tested. The driver feeds text to eSpeak; eSpeak processes it and calls the callback, and NVDA responds. Thereβs no manual message pump or requirement that all calls occur on the main thread."
Which is I think to say, it reaffirmed itself on point 1, but corrected itself on point 2. Whether with more hallucinations or not? A better Python expert would probs know. xD
Tom Grant the tincel
in reply to Tamas G • • •Tom Grant the tincel
in reply to Tamas G • • •Chris Nova
in reply to Tamas G • • •Brandon Tyson
in reply to Tamas G • • •Mckensie parker
in reply to Tamas G • • •Tamas G
Unknown parent • • •valiant8086
in reply to Tamas G • • •Tamas G
in reply to valiant8086 • • •valiant8086
in reply to Tamas G • • •valiant8086
in reply to Tamas G • • •Dominique Gilchrist
in reply to Tamas G • • •Katy T
in reply to Tamas G • • •Tamas G
Unknown parent • • •Tamas G
Unknown parent • • •Tamas G
Unknown parent • • •Tamas G
Unknown parent • • •β’ The DLL still fails to set the custom device ID (Failed to set wave device ID to 1).
β’ TtsWav returns -5 when trying to speak with that device.
This behavior is nearly identical to beforeβjust now weβve tried different approaches (using unsigned integers, avoiding WAVE_MAPPER calls, using c_void_p for handles), and none have resolved the issue. I'm just sad. frustrated and super sad inside.
Tamas G
Unknown parent • • •Tamas G
Unknown parent • • •Tamas G
Unknown parent • • •have been debugging it for 3 hours now but don't think it'll go anywhere. When 2025.1 comes out and they return integers in the config values for the output device, this could be made a little easier (though I don't know if it will still translate the correct mapping into the MME device ID right), but at least it'll mean not needing to enumerate them based on string name. Right now it's a mess:
def enumerateWaveOutDevices():
devices = {}
count = waveOutGetNumDevs()
for i in range(count):
caps = WAVEOUTCAPS()
res = waveOutGetDevCapsW(i, byref(caps), ctypes.sizeof(caps))
if res == 0:
devName = caps.szPname.strip()
devices[devName.lower()] = i
return devices
and then later:
" devices = enumerateWaveOutDevices()
log.info("Enumerating devices for exact match:")
for dn, did in devices.items():
log.info(f"Device '{dn}' = ID {did}")
if val in devices:
matched_id = devices
[val] log.info(f"Matched exact device '{val}' to ID {matched_id}")
return matched_id
else:
log.info(f"No exact match for '{val}', using WAVE_MAPPER")
return WAVE_MAPPER
"
So yeah. All because NVDA's config can return a string. The fuck.
Tamas G
Unknown parent • • •