rendchevi / nix-tts

🐤 Nix-TTS: Lightweight and End-to-end Text-to-Speech via Module-wise Distillation
MIT License
233 stars 31 forks source link

ERROR: No matching distribution found for onnxruntime==1.7.0 #15

Open giri256 opened 1 year ago

giri256 commented 1 year ago

this error occurs while trying to run pip install -r requirements.txt i proceeded to install the latest versions of both onnxruntime and phonemizer with the model 'stochastic' , i get the error :

{ "name": "RuntimeError", "message": "input text to phonemize() is str but it must be list of str", "stack": "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[0;31mRuntimeError\u001b[0m Traceback (most recent call last)\nCell \u001b[0;32mIn[9], line 7\u001b[0m\n\u001b[1;32m 5\u001b[0m nix \u001b[39m=\u001b[39m NixTTSInference(model_dir \u001b[39m=\u001b[39m \u001b[39m\"\u001b[39m\u001b[39m/Users/kgspavan/nix-tts/nix\u001b[39m\u001b[39m\"\u001b[39m)\n\u001b[1;32m 6\u001b[0m \u001b[39m# Tokenize input text\u001b[39;00m\n\u001b[0;32m----> 7\u001b[0m c, c_length, phoneme \u001b[39m=\u001b[39m nix\u001b[39m.\u001b[39;49mtokenize(\u001b[39m\"\u001b[39;49m\u001b[39mBorn to multiply, born to gaze into night skies.\u001b[39;49m\u001b[39m\"\u001b[39;49m)\n\u001b[1;32m 8\u001b[0m \u001b[39m# Convert text to raw speech\u001b[39;00m\n\u001b[1;32m 9\u001b[0m xw \u001b[39m=\u001b[39m nix\u001b[39m.\u001b[39mvocalize(c, c_length)\n\nFile \u001b[0;32m~/nix-tts/nix/models/TTS.py:27\u001b[0m, in \u001b[0;36mNixTTSInference.tokenize\u001b[0;34m(self, text)\u001b[0m\n\u001b[1;32m 22\u001b[0m \u001b[39mdef\u001b[39;00m \u001b[39mtokenize\u001b[39m(\n\u001b[1;32m 23\u001b[0m \u001b[39mself\u001b[39m,\n\u001b[1;32m 24\u001b[0m text,\n\u001b[1;32m 25\u001b[0m ):\n\u001b[1;32m 26\u001b[0m \u001b[39m# Tokenize input text\u001b[39;00m\n\u001b[0;32m---> 27\u001b[0m c, c_lengths, phonemes \u001b[39m=\u001b[39m \u001b[39mself\u001b[39;49m\u001b[39m.\u001b[39;49mtokenizer([text])\n\u001b[1;32m 29\u001b[0m \u001b[39mreturn\u001b[39;00m np\u001b[39m.\u001b[39marray(c, dtype \u001b[39m=\u001b[39m np\u001b[39m.\u001b[39mint64), np\u001b[39m.\u001b[39marray(c_lengths, dtype \u001b[39m=\u001b[39m np\u001b[39m.\u001b[39mint64), phonemes\n\nFile \u001b[0;32m~/nix-tts/nix/tokenizers/tokenizer_en.py:31\u001b[0m, in \u001b[0;36mNixTokenizerEN.call\u001b[0;34m(self, texts)\u001b[0m\n\u001b[1;32m 26\u001b[0m \u001b[39mdef\u001b[39;00m \u001b[39mcall\u001b[39m(\n\u001b[1;32m 27\u001b[0m \u001b[39mself\u001b[39m,\n\u001b[1;32m 28\u001b[0m texts,\n\u001b[1;32m 29\u001b[0m ):\n\u001b[1;32m 30\u001b[0m \u001b[39m# 1. Phonemize input texts\u001b[39;00m\n\u001b[0;32m---> 31\u001b[0m phonemes \u001b[39m=\u001b[39m [ \u001b[39mself\u001b[39;49m\u001b[39m.\u001b[39;49m_collapse_whitespace(\n\u001b[1;32m 32\u001b[0m phonemizer_backend\u001b[39m.\u001b[39;49mphonemize(\n\u001b[1;32m 33\u001b[0m \u001b[39mself\u001b[39;49m\u001b[39m.\u001b[39;49m_expand_abbreviations(text\u001b[39m.\u001b[39;49mlower()),\n\u001b[1;32m 34\u001b[0m strip \u001b[39m=\u001b[39;49m \u001b[39mTrue\u001b[39;49;00m,\n\u001b[1;32m 35\u001b[0m )\n\u001b[1;32m 36\u001b[0m ) \u001b[39mfor\u001b[39;49;00m text \u001b[39min\u001b[39;49;00m texts ]\n\u001b[1;32m 38\u001b[0m \u001b[39m# 2. Tokenize phonemes\u001b[39;00m\n\u001b[1;32m 39\u001b[0m tokens \u001b[39m=\u001b[39m [ \u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_intersperse([\u001b[39mself\u001b[39m\u001b[39m.\u001b[39mvocab_dict[p] \u001b[39mfor\u001b[39;00m p \u001b[39min\u001b[39;00m phoneme], \u001b[39m0\u001b[39m) \u001b[39mfor\u001b[39;00m phoneme \u001b[39min\u001b[39;00m phonemes ]\n\nFile \u001b[0;32m~/nix-tts/nix/tokenizers/tokenizer_en.py:32\u001b[0m, in \u001b[0;36m\u001b[0;34m(.0)\u001b[0m\n\u001b[1;32m 26\u001b[0m \u001b[39mdef\u001b[39;00m \u001b[39mcall\u001b[39m(\n\u001b[1;32m 27\u001b[0m \u001b[39mself\u001b[39m,\n\u001b[1;32m 28\u001b[0m texts,\n\u001b[1;32m 29\u001b[0m ):\n\u001b[1;32m 30\u001b[0m \u001b[39m# 1. Phonemize input texts\u001b[39;00m\n\u001b[1;32m 31\u001b[0m phonemes \u001b[39m=\u001b[39m [ \u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_collapse_whitespace(\n\u001b[0;32m---> 32\u001b[0m phonemizer_backend\u001b[39m.\u001b[39;49mphonemize(\n\u001b[1;32m 33\u001b[0m \u001b[39mself\u001b[39;49m\u001b[39m.\u001b[39;49m_expand_abbreviations(text\u001b[39m.\u001b[39;49mlower()),\n\u001b[1;32m 34\u001b[0m strip \u001b[39m=\u001b[39;49m \u001b[39mTrue\u001b[39;49;00m,\n\u001b[1;32m 35\u001b[0m )\n\u001b[1;32m 36\u001b[0m ) \u001b[39mfor\u001b[39;00m text \u001b[39min\u001b[39;00m texts ]\n\u001b[1;32m 38\u001b[0m \u001b[39m# 2. Tokenize phonemes\u001b[39;00m\n\u001b[1;32m 39\u001b[0m tokens \u001b[39m=\u001b[39m [ \u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_intersperse([\u001b[39mself\u001b[39m\u001b[39m.\u001b[39mvocab_dict[p] \u001b[39mfor\u001b[39;00m p \u001b[39min\u001b[39;00m phoneme], \u001b[39m0\u001b[39m) \u001b[39mfor\u001b[39;00m phoneme \u001b[39min\u001b[39;00m phonemes ]\n\nFile \u001b[0;32m/usr/local/lib/python3.11/site-packages/phonemizer/backend/base.py:181\u001b[0m, in \u001b[0;36mBaseBackend.phonemize\u001b[0;34m(self, text, separator, strip, njobs)\u001b[0m\n\u001b[1;32m 144\u001b[0m \u001b[39m\u001b[39m\u001b[39m\"\"\"Returns the text phonemized for the given language\u001b[39;00m\n\u001b[1;32m 145\u001b[0m \n\u001b[1;32m 146\u001b[0m \u001b[39mParameters\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 177\u001b[0m \n\u001b[1;32m 178\u001b[0m \u001b[39m\"\"\"\u001b[39;00m\n\u001b[1;32m 179\u001b[0m \u001b[39mif\u001b[39;00m \u001b[39misinstance\u001b[39m(text, \u001b[39mstr\u001b[39m):\n\u001b[1;32m 180\u001b[0m \u001b[39m# changed in phonemizer-3.0, warn the user\u001b[39;00m\n\u001b[0;32m--> 181\u001b[0m \u001b[39mraise\u001b[39;00m \u001b[39mRuntimeError\u001b[39;00m(\n\u001b[1;32m 182\u001b[0m \u001b[39m'\u001b[39m\u001b[39minput text to phonemize() is str but it must be list of str\u001b[39m\u001b[39m'\u001b[39m)\n\u001b[1;32m 184\u001b[0m \u001b[39mif\u001b[39;00m separator \u001b[39mis\u001b[39;00m \u001b[39mNone\u001b[39;00m:\n\u001b[1;32m 185\u001b[0m separator \u001b[39m=\u001b[39m default_separator\n\n\u001b[0;31mRuntimeError\u001b[0m: input text to phonemize() is str but it must be list of str" }

i then installed phonemizer version 2.2.1 as specified, but the error persists