s-macke / sam Goto Github PK
View Code? Open in Web Editor NEWSoftware Automatic Mouth - Tiny Speech Synthesizer
Software Automatic Mouth - Tiny Speech Synthesizer
Nice work! Hopefully I'll integrate sam in my project eventually.
I found sam runs into an infinite loop, it can be reproduced with:
sam lalalalalalalalalalalalalala
The #if defined GNU_LIBRARY || defined GLIBC at line 17 in main.c doesn't seem to trigger on cygwin, so those wrappers don't get included.
Once commented out, the code compiled file and runs on Windows command line, but that's not portable. Interested in a better solution.
Hello
I was wondering about this line in main.c:
unsigned int filesize=bufferlength + 12 + 16 + 8 - 8;
I'm not sure if this is a typo or expected, because the header should be 44 bytes.
Thanks for the project
i was making a wav file for the entire bee movie script to annoy some friends on a bluetooth speaker
i ran into two problems so far,
one is if you hand over a big string, it will create phonemes, but for some reason will stop after a certain amount and use only what it had generated so far
another thing is it freezes up on special characters sometimes, i had to use a regex preprocessor to filter the characters and build about 1000 separate commands to run with it, so i could have the bee movie script spoken with this program
Explain like I'm five, I'm trying to get wav files of sam's voice lines but I can't even run the executable. Tried opening the notepad for instructions but I don't even know what SDL statement or CFLAGS etc. means.
I just need a bunch of cool text to speech noises for my project that's all, thanks.
Sam has issue with certain words, such as "aren't" or "naive". I think an addition could be made that would allow to give a replacement table for specific words, or even complete table. The config file would be a simple text file with tabulator-separated match-phonemes pairs. If the first line would be #disable regexp
it would be a simple lowercase match (usable for "patching out" words which aren't pronounced correctly (such as aren't or naive) without making your head explode by having to use regexps.
Example of the config file:
#disable regexp
aren't AAREHNT
naive NAIYIYV
There would be two new command line switches added to the program -patchtable
which would just add the supplied table to the built-in one and -reptable
which would replace it completely (usable for adapting SAM to speak in another language than English).
Could you reversse-engineer bestSpeech or keynote tts, and post its source code in c? It was written for windows3.1. The zip file containing its files is attached to this issue.
kngmm.zip
if sam can sing in there website,how can sam not say a 50 letter sentence?
Logs:
gcc -Wall -Os -c src/reciter.c
gcc -Wall -Os -c src/sam.c
gcc -Wall -Os -c src/render.c
gcc -Wall -Os -c src/main.c
src/main.c: In function ‘main’:
src/main.c:233:9: warning: ‘strncat’ specified bound 256 equals destination size [-Wstringop-overflow=]
233 | strncat(input, "[", 256);
| ^~~~~~~~~~~~~~~~~~~~~~~~
src/main.c:237:12: warning: ‘strncat’ specified bound 256 equals destination size [-Wstringop-overflow=]
237 | } else strncat(input, "\x9b", 256);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc -Wall -Os -c src/debug.c
gcc -o sam reciter.o sam.o render.o main.o debug.o
/usr/bin/ld: sam.o:(.bss+0x3e1): multiple definition of `X'; reciter.o:(.bss+0x1): first defined here
/usr/bin/ld: sam.o:(.bss+0x3e0): multiple definition of `Y'; reciter.o:(.bss+0x0): first defined here
/usr/bin/ld: sam.o:(.bss+0x3e2): multiple definition of `A'; reciter.o:(.bss+0x2): first defined here
collect2: error: ld returned 1 exit status
make: *** [Makefile:14: sam] Error 1
System info: EndeavourOS, Linux 5.14.0-rc5-1-mainline #1 SMP PREEMPT Mon, 09 Aug 2021 10:28:23 +0000 x86_64 GNU/Linux
gcc v11.1.0
ld v2.36.1
Just wanted to say that I've ported this awesome lib to C#: https://github.com/rds1983/SamSharp
@vidarh's fork had been ported too: https://github.com/rds1983/SamSharp/tree/master/src/Vidarh
I can't find anything about it
On windows
running a command like this
sam -wav long.wav 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
returns a file that cuts off at around 14.
hi! anybody know how to add spanish speech?
thanks!
// Removed debugging statements
if ((flags2[index] & 16) != 0) {
index = phonemeindex[X - 1];
if ((flags[index] & 2) != 0);
phonemeLength[X] -= 2;
}
if X is set to 0 (verified that it can be), this section of code ends up reading phonemeindex[-1]
Also, I'm not sure if that phonemeLength[X] -= 2;
bit should be under the if statement, according to the debugging statement it seems like it should be but currently it's always applied.
Took a look at e23a526 at line 890, and inside Code48619 you can see it was originally under the check.
EDIT: I'm noticing a lot more positions that it can potentially underread from, basically anything that happens to have a [variable-1] in it's index.
Hi, I recently forked this project. Works great.
Back to topic. In Poland there was "Black Box v. 8" (and v8.1) cartridge. It contains modified S.A.M.
Here are rom dumps and and CRT version:
http://csdb.dk/release/?id=83725
Download:
http://csdb.dk/release/download.php?id=105832
Also, I found standalone PRG. Dumped it from floppy some time ago. Here:
SAM - Polish language.zip
note1: if you press T, the rules will be in C000-CFFF, otherwise in 7D00-8CFF, and those regions will differ: 928B-92A4 and A48F-A494
note2:
# (SHIFT and 3) gives Ę
$ (SHIFT and 4) gives Ą
& (SHIFT and 6) gives Ś
' (SHIFT and 7) gives Ć
@ (between P and *) gives Ń
(SHIFT and V) gives Ł
(SHIFT and X) gives Ż
(SHIFT and Q) gives Ź
(SHIFT and U) gives Ó
olo
thx for sharing
comparing this phonetic alphabet:
https://github.com/s-macke/SAM/wiki/Phonetic-Alphabet
with 'original' pdf alphabet:
http://www.apple-iigs.info/newdoc/sam.pdf
the W whale should be WH whale
i might be wrong, not sure
best regards
aum
s love nia
When I try synthesizing 123456789012345678901234567
, a segmentation fault occurs. When there are more than 16 digits next to each other (spaces don't matter), the program crashes.
zsh: segmentation fault (core dumped) ./sam "123456789012345678901234567"
Downloaded the windows executable version from the website provided in the description (.zip file included below for your convenience), but apparently the .exe program doesn't work when I try to run it, is there an extra step I need to take to get this program to work?
The SAM glitches out when you use btchshk hmptchsk btchshk hmptchsk btchshk hmptchsk btchshk hmptchsk
in the web version as the input string.
Would you like to add more error handling for return values from calls of a function like fwrite()?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.