Hey All! For those who don't like reading, here is the repo: https://github.com/robertmeta/swiftmac Below I hope to answer most questions you might have, but ask away if I missed something. Q. What did I do now? A. I wrote a new voice server for MacOS 100% in swift with no additional dependancies. If you can run swift from the command line (meaning, have xcode), you are good to go. Q. Why didn't you just fix the python server? A. I tried! Multiple times! A few reasons, the biggest one being I traced some of my problems to something deep and dark happening in pyobjc and lost the thread to fix it (and my will to live). Q. What was wrong with the python server? A. Well, for me, it leaked memory to the tune of hundreds of gigs), it would corrupt my voice server, due to the way it allocated stuff it would double-speak by default (the OS didn't understand it was speaking), I had trouble debugging it in any real manner, it attempted to be nonblocking but WOULD block emacs at times. I also disliked the python + additional deps you have to install for python to get it to work. I am lazy, I want stuff to just work. I also liked the idea of a server working like the other ones, having a build step and you being able to depend on them once built. Q. So, you just ported the Mac server? A. Yep, basically. Added a few bells and whistles and still lagging behind in a few areas (no pitch shift on caps yet). Q. Who should use it at this neophyte stage? A. The brave and true, I am using it as my daily driver, and if you want to report bugs please build it with debug mode (make install-debug) and send the /tmp/swiftmac-debug-....log file Q. Is the code clean? A. No, it is an unholy mess, but if you don't release until you are proud of it you might never release. It will get better, I promise! I learned swift to do this so it had a lot of sharp corners for me. Q. What are you goals? A. • No deps except swift • Compiled and multithread for complete non-blocking operations • Highly reliable, will never corrupt speech on MacOS • Drop in (no configuration or special setup required in Eamcs or the operating system. • Feature complete support of all emacs speech server commands • With a separate test script to confirm all features work Q. Will you contribute this to Emacspeak A. That is the whole point to have it ship in the box, not there yet but getting close, need to support beep caps split caps, pitch shift caps and have a bit more testing. Q. What is the license? A. MIT, go nuts! Q. Any secret features? A. YES! You can change the volume of sounds, voices and tones seperately by setting environmental variables SWIFTMAC_SOUND_VOLUME, SWIFTMAC_TONE_VOLUME and SWIFTMAC_VOICE_VOLUME between 0 and 1, so 0.5 would be half volume. Q. Anything else? A. Nope, but I do have some questions for the community below! ---- How ARE split caps and beep caps supposed to work? I get beep caps, beep before a cap using a tone right? But, how does split caps work, do I break the word in half like CamelCase becomes Camel[*]Case or what? -- Robert "robertmeta" Melton
|Full archive May 1995 - present by Year|Mailing list's archive of current year by month|
If you have questions about this archive or had problems using it, please contact us.