Skip to content

SAM extension #2032

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 6 commits into
base: master
Choose a base branch
from
Open

SAM extension #2032

wants to merge 6 commits into from

Conversation

MagentaDude
Copy link

This is a new extension that I've been working on the past few days that implements the program SAM (Software Automatic Mouth) into TurboWarp using SamJs. It allows the user to change the speed, pitch, mouth, and throat properties of the voice, which allows for more complex voices and text-to-speech in projects. It also has a nice retro vibe to it which would be great for projects simulating computers. Let me know what you think!

@github-actions github-actions bot added the pr: new extension Pull requests that add a new extension label Mar 12, 2025
@WAYLIVES
Copy link

Does he only know how to speak English?

@MagentaDude MagentaDude marked this pull request as draft March 13, 2025 21:12
@MagentaDude
Copy link
Author

My bad. I didn't understand how to run linting and formatting, but I think I get it now. I'll try to fix all the issues ASAP.

@MagentaDude MagentaDude marked this pull request as ready for review March 13, 2025 22:04
@MagentaDude
Copy link
Author

Alright, I fixed all of the errors.

@lselden
Copy link

lselden commented Mar 14, 2025

Hi @MagentaDude SAM is a lot of fun! I forked your repo and made 3 commits that you're welcome to include or ignore:

  1. added a "add [SPEECH] as a sound" block which adds the speech as a sound in the project, rather than downloading to disk.
  2. slight tweak to use // global SamJs eslint setting to avoid needing to enable/disable as many lines (totally optional!)
  3. This is PROBABLY overboard, but I adapted the SAM doc's Phoneme Chart into a dropdown menu to make it easier to find the right combination of letters. In particular I added IPA symbols for the sounds, so that if anyone really wanted to translate the text to other languages they could (for example, by looking up examples here, which is creative commons licensed).

@WAYLIVES SAM doesn't understand much, which is why it fits in a tiny amount of code. Supporting lots of languages would take > 2 mb for the locale data (I'm thinking mespeak). Maybe my solution in #3 is acceptable?

@MagentaDude
Copy link
Author

@lselden Those features sound great! I can't seem to find your fork though; could you provide a link?

yuri-kiss

This comment was marked as outdated.

@lselden
Copy link

lselden commented Mar 14, 2025

@lselden Those features sound great! I can't seem to find your fork though; could you provide a link?

Whoops! Yeah it's here: https://github.com/lselden/extensions/tree/sam

@lselden
Copy link

lselden commented Mar 15, 2025

you should not leak SamJs to global, this is bad practice, a more indepth review will be required CC: @lselden

@MagentaDude I submitted a PR to your fork the plugs the leak, as well as including the other changes I suggested. Take from it what you will

@MagentaDude
Copy link
Author

Looks great; I think I'll stop adding changes now 😅

@MagentaDude MagentaDude requested a review from yuri-kiss March 15, 2025 14:02
@yuri-kiss yuri-kiss dismissed their stale review March 16, 2025 23:56

that issue was fixed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pr: new extension Pull requests that add a new extension
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants