Skip to content

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
@PPPDUD PPPDUD removed the request for review from yuri-kiss September 13, 2025 14:02
Copy link
Contributor

@PPPDUD PPPDUD left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This code appears to be minified in some areas. Please use clear, well-formatted code.

@PPPDUD
Copy link
Contributor

PPPDUD commented Sep 13, 2025

!format

Copy link

The formatting bot didn't find any formatting issues. It currently only checks the extensions folder. The author or a maintainer can run terminal command 'npm run format' manually to format all files.

@Brackets-Coder
Copy link
Contributor

This code appears to be minified in some areas. Please use clear, well-formatted code.

Minified libraries aren't banned, so long as you include a license above, and it's recommended to use // prettier-ignore above them to maintain readability

This extension relies on SAM.js and large libraries are probably better left minified

@MagentaDude
Copy link
Author

I'm glad this project is finally out of limbo 😅

@PPPDUD Do you still want me to include the unminified version instead?

@PPPDUD
Copy link
Contributor

PPPDUD commented Sep 17, 2025

I'm glad this project is finally out of limbo 😅

@PPPDUD Do you still want me to include the unminified version instead?

It's fine, nevermind. I was feeling like picking apart PRs that day.

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.

6 participants