aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2023-08-16 23:32:15 -0700
committerAdam Soltys <[email protected]>2023-08-16 23:32:15 -0700
commitf2b4dfaa13f28a31b0f12bc2ba88b7ec4d484408 (patch)
treeed354e67f396bf70b591fc40541b58786c0c2a7b
parentb72619d3096e9a9c891b854d29371679dde82ae8 (diff)
downloadcoinos-server-f2b4dfaa13f28a31b0f12bc2ba88b7ec4d484408.tar.gz
coinos-server-f2b4dfaa13f28a31b0f12bc2ba88b7ec4d484408.zip
use mimic for tts
-rw-r--r--.gitignore2
-rw-r--r--Dockerfile8
-rw-r--r--lib/payments.js9
3 files changed, 10 insertions, 9 deletions
diff --git a/.gitignore b/.gitignore
index a29190de..68fddc0f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,3 +4,5 @@ data
config.js
compose.yml
.env
+*.flitevox
+mimic
diff --git a/Dockerfile b/Dockerfile
index bb97a1bc..abb4475f 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,14 +1,18 @@
-FROM node:18-alpine
+FROM node:18
ARG NODE_ENV=production
ENV NODE_ENV $NODE_ENV
-RUN apk add --update inotify-tools npm vips-dev git
+RUN apt update
+RUN apt install gcc make pkg-config automake libpcre2-dev libtool libasound2-dev git -y
RUN npm i -g pnpm
COPY . /app
WORKDIR /app
+COPY mimic /
+COPY cmu_us_axb.flitevox /
+
RUN NODE_ENV=development NODE_OPTIONS="" pnpm i
CMD ["pnpm", "start"]
diff --git a/lib/payments.js b/lib/payments.js
index 61c0b196..ab258b60 100644
--- a/lib/payments.js
+++ b/lib/payments.js
@@ -10,6 +10,7 @@ import { callWebhook } from "$lib/webhooks";
import dollarsToWords from "dollars-to-words";
import got from "got";
import mqtt from "mqtt";
+import { spawn } from "child_process";
export const types = {
internal: "internal",
@@ -179,13 +180,7 @@ export let credit = async (hash, amount, memo, ref, type = types.internal) => {
parseFloat(((amount * p.rate) / 100000000).toFixed(2))
);
- try {
- let r = await got
- .post("http://172.42.0.1:4020/tts", { json: { words, name: p.id } })
- .json();
- } catch (e) {
- console.log(e);
- }
+ const mimic = spawn("/mimic", ["-t", words, "-voice", "/cmu_us_axb.flitevox", "-o", `/app/data/uploads/${p.id}.wav`]);
const client = mqtt.connect('mqtt://ln.coinos.io', config.mqtt);
client.on('connect', function () {