← chatter-box-dubbing

multi model update

b2bf27378fcba4e0a043b6e350ac1f856570ee36 · SUP3RMASS1VE · Sep 7, 2025 18:38

+88 −159 · 11 files changed

  • README.md +0 −4
  • install.js +0 −47
  • install.json +39 −0
  • link.js +1 −1
  • pinokio.js +12 −25
  • pinokio_meta.json +0 −22
  • reset.js +1 −1
  • start.js +0 −35
  • start.json +31 −0
  • torch.js +2 −17
  • update.js +2 −7
diff --git a/README.md b/README.md
deleted file mode 100644
index a2084d3..0000000
--- a/README.md
+++ /dev/null
@@ -1,4 +0,0 @@
-# chatterbox
-
-A pinokio script for https://github.com/SUP3RMASS1VE/chatterbox-SUP3R
-
diff --git a/install.js b/install.js
deleted file mode 100644
index a53d118..0000000
--- a/install.js
+++ /dev/null
@@ -1,47 +0,0 @@
-module.exports = {
-  run: [
-    // Edit this step to customize the git repository to use
-    {
-      method: "shell.run",
-      params: {
-        message: [
-          "git clone https://github.com/SUP3RMASS1VE/chatterbox-SUP3R app",
-        ]
-      }
-    },
-    // Delete this step if your project does not use torch
-    {
-      method: "script.start",
-      params: {
-        uri: "torch.js",
-        params: {
-          venv: "env",                // Edit this to customize the venv folder path
-          path: "app",                // Edit this to customize the path to start the shell from
-          // xformers: true   // uncomment this line if your project requires xformers
-          // triton: true   // uncomment this line if your project requires triton
-          // sageattention: true   // uncomment this line if your project requires sageattention
-        }
-      }
-    },
-    // Edit this step with your custom install commands
-    {
-      method: "shell.run",
-      params: {
-        venv: "env",                // Edit this to customize the venv folder path
-        path: "app",                // Edit this to customize the path to start the shell from
-        message: [
-          "uv pip install gradio devicetorch",
-          "uv pip install -r requirements.txt"
-        ]
-      }
-    },
-    {
-      method: "hf.download",
-      params: {
-        path: "app",
-        "_": [ "ResembleAI/chatterbox" ],
-        "include": '"*.json" "*pt"',
-      }
-    }
-  ]
-}
diff --git a/install.json b/install.json
new file mode 100644
index 0000000..12d068d
--- /dev/null
+++ b/install.json
@@ -0,0 +1,39 @@
+{
+  "run": [
+    {
+      "method": "shell.run",
+      "params": {
+        "message": [
+          "git clone https://github.com/SUP3RMASS1VE/chatterbox-SUP3R app"
+        ]
+      }
+    },
+    {
+      "method": "script.start",
+      "params": {
+        "uri": "torch.js",
+        "params": {
+          "path": "app",
+          "venv": "venv",
+          "xformers": false,
+          "triton": false,
+          "sageattention": false
+        }
+      }
+    },
+    {
+      "method": "shell.run",
+      "params": {
+        "venv": "venv",
+        "path": "app",
+        "chain": true,
+        "input": null,
+        "message": [
+          "uv pip install -r requirements.txt",
+          "uv pip install --upgrade pip",
+          "uv pip install chatterbox-tts --no-deps --force-reinstall"
+        ]
+      }
+    }
+  ]
+}
\ No newline at end of file
diff --git a/link.js b/link.js
index dc2247b..4ad79a3 100644
--- a/link.js
+++ b/link.js
@@ -3,7 +3,7 @@ module.exports = {
     {
       method: "fs.link",
       params: {
-        venv: "app/env"
+        venv: "app/venv"
       }
     }
   ]
diff --git a/pinokio.js b/pinokio.js
index 19bd0b2..bcf6bf4 100644
--- a/pinokio.js
+++ b/pinokio.js
@@ -1,28 +1,26 @@
-const path = require('path')
 module.exports = {
   version: "3.7",
-  title: "chatterbox",
-  description: "SoTA open-source TTS",
+  title: "Chatterbox-Multi",
+  description: "Fast and High-Quality Zero-Shot voice clone Text-to-Speech with Flow Matching",
   icon: "icon.png",
   menu: async (kernel, info) => {
-    let installed = info.exists("app/env")
+    let installed = info.exists("app/venv")
     let running = {
-      install: info.running("install.js"),
-      start: info.running("start.js"),
+      install: info.running("install.json"),
+      start: info.running("start.json"),
       update: info.running("update.js"),
       reset: info.running("reset.js"),
-      link: info.running("link.js")
     }
     if (running.install) {
       return [{
         default: true,
         icon: "fa-solid fa-plug",
         text: "Installing",
-        href: "install.js",
+        href: "install.json",
       }]
     } else if (installed) {
       if (running.start) {
-        let local = info.local("start.js")
+        let local = info.local("start.json")
         if (local && local.url) {
           return [{
             default: true,
@@ -32,14 +30,14 @@ module.exports = {
           }, {
             icon: 'fa-solid fa-terminal',
             text: "Terminal",
-            href: "start.js",
+            href: "start.json",
           }]
         } else {
           return [{
             default: true,
             icon: 'fa-solid fa-terminal',
             text: "Terminal",
-            href: "start.js",
+            href: "start.json",
           }]
         }
       } else if (running.update) {
@@ -56,19 +54,12 @@ module.exports = {
           text: "Resetting",
           href: "reset.js",
         }]
-      } else if (running.link) {
-        return [{
-          default: true,
-          icon: 'fa-solid fa-terminal',
-          text: "Deduplicating",
-          href: "link.js",
-        }]
       } else {
         return [{
           default: true,
           icon: "fa-solid fa-power-off",
           text: "Start",
-          href: "start.js",
+          href: "start.json",
         }, {
           icon: "fa-solid fa-plug",
           text: "Update",
@@ -76,11 +67,7 @@ module.exports = {
         }, {
           icon: "fa-solid fa-plug",
           text: "Install",
-          href: "install.js",
-        }, {
-          icon: "fa-solid fa-file-zipper",
-          text: "<div><strong>Save Disk Space</strong><div>Deduplicates redundant library files</div></div>",
-          href: "link.js",
+          href: "install.json",
         }, {
           icon: "fa-regular fa-circle-xmark",
           text: "<div><strong>Reset</strong><div>Revert to pre-install state</div></div>",
@@ -94,7 +81,7 @@ module.exports = {
         default: true,
         icon: "fa-solid fa-plug",
         text: "Install",
-        href: "install.js",
+        href: "install.json",
       }]
     }
   }
diff --git a/pinokio_meta.json b/pinokio_meta.json
deleted file mode 100644
index a6c5c0f..0000000
--- a/pinokio_meta.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
-  "posts": [
-    "https://x.com/SUP3RMASS1VE/status/1929221705664262309",
-    "https://x.com/SUP3RMASS1VE/status/1930267134237511955"
-  ],
-  "links": [{
-    "title": "SUP3RMASS1VE (Wrote the launcher)",
-    "links": [{
-      "type": "bitcoin",
-      "value": "1N942jHr6vVuR2KAe2JEf3nN59eR21tpKv"
-    }, {
-      "title": "X",
-      "value": "https://x.com/SUP3RMASS1VE"
-    }, {
-      "title": "Github",
-      "value": "https://github.com/SUP3RMASS1VE"
-    }, {
-      "title": "Discord",
-      "value": "https://discord.gg/mvDcrA57AQ"
-    }]
-  }]
-}
diff --git a/reset.js b/reset.js
index 89a3d43..cfe7493 100644
--- a/reset.js
+++ b/reset.js
@@ -2,7 +2,7 @@ module.exports = {
   run: [{
     method: "fs.rm",
     params: {
-      path: "app"
+      path: "app/venv"
     }
   }]
 }
diff --git a/start.js b/start.js
deleted file mode 100644
index d913a8a..0000000
--- a/start.js
+++ /dev/null
@@ -1,35 +0,0 @@
-module.exports = {
-  daemon: true,
-  run: [
-    {
-      method: "shell.run",
-      params: {
-        venv: "env",                // Edit this to customize the venv folder path
-        env: { },                   // Edit this to customize environment variables (see documentation)
-        path: "app",                // Edit this to customize the path to start the shell from
-        message: [
-          "python app.py",    // Edit with your custom commands
-        ],
-        on: [{
-          // The regular expression pattern to monitor.
-          // When this pattern occurs in the shell terminal, the shell will return,
-          // and the script will go onto the next step.
-          "event": "/http:\/\/\\S+/",   
-
-          // "done": true will move to the next step while keeping the shell alive.
-          // "kill": true will move to the next step after killing the shell.
-          "done": true
-        }]
-      }
-    },
-    {
-      // This step sets the local variable 'url'.
-      // This local variable will be used in pinokio.js to display the "Open WebUI" tab when the value is set.
-      method: "local.set",
-      params: {
-        // the input.event is the regular expression match object from the previous step
-        url: "{{input.event[0]}}"
-      }
-    }
-  ]
-}
diff --git a/start.json b/start.json
new file mode 100644
index 0000000..0a1dd65
--- /dev/null
+++ b/start.json
@@ -0,0 +1,31 @@
+{
+  "daemon": true,
+  "run": [
+    {
+      "method": "shell.run",
+      "params": {
+        "path": "app",
+        "venv": "venv",
+        "chain": true,
+        "env": {},
+        "input": null,
+        "message": [
+          "python app.py"
+        ],
+        "on": [
+          {
+            "event": "/http://\\S+/",
+            "done": true
+          }
+        ]
+      }
+    },
+    {
+      "when": "{{input && input.event && Array.isArray(input.event) && input.event.length > 0}}",
+      "method": "local.set",
+      "params": {
+        "url": "{{input.event[0]}}"
+      }
+    }
+  ]
+}
\ No newline at end of file
diff --git a/torch.js b/torch.js
index f0eb976..995259c 100644
--- a/torch.js
+++ b/torch.js
@@ -1,8 +1,8 @@
 module.exports = {
   run: [
-    // windows nvidia 50 series
+    // windows nvidia
     {
-      "when": "{{platform === 'win32' && gpu === 'nvidia' && kernel.gpus && kernel.gpus.find(x => / 50.+/.test(x.model))}}",
+      "when": "{{platform === 'win32' && gpu === 'nvidia'}}",
       "method": "shell.run",
       "params": {
         "venv": "{{args && args.venv ? args.venv : null}}",
@@ -15,21 +15,6 @@ module.exports = {
       },
       "next": null
     },
-    // windows nvidia
-    {
-      "when": "{{platform === 'win32' && gpu === 'nvidia'}}",
-      "method": "shell.run",
-      "params": {
-        "venv": "{{args && args.venv ? args.venv : null}}",
-        "path": "{{args && args.path ? args.path : '.'}}",
-        "message": [
-          "uv pip install torch torchvision torchaudio {{args && args.xformers ? 'xformers' : ''}} --index-url https://download.pytorch.org/whl/cu124",
-          "{{args && args.triton ? 'uv pip install -U triton-windows --force-reinstall' : ''}}",
-          "{{args && args.sageattention ? 'uv pip install https://github.com/deepbeepmeep/SageAttention/raw/refs/heads/main/releases/sageattention-2.1.0-cp310-cp310-win_amd64.whl --force-reinstall' : ''}}"
-        ]
-      },
-      "next": null
-    },
     // windows amd
     {
       "when": "{{platform === 'win32' && gpu === 'amd'}}",
diff --git a/update.js b/update.js
index 722cd34..65435de 100644
--- a/update.js
+++ b/update.js
@@ -2,13 +2,8 @@ module.exports = {
   run: [{
     method: "shell.run",
     params: {
-      message: "git pull"
-    }
-  }, {
-    method: "shell.run",
-    params: {
-      path: "app",
-      message: "git pull"
+      message: "git pull",
+      path: "app"
     }
   }]
 }