Skip to content
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

Updated Ubuntu Workflow file, Added a custom xtts model test #275

Closed
wants to merge 1 commit into from

Conversation

DrewThomasson
Copy link
Owner

@ROBERT-MCDOWELL

Does the command syntax look right to you? 🤔

@DrewThomasson
Copy link
Owner Author

DrewThomasson commented Feb 15, 2025

@ROBERT-MCDOWELL
ah when I run this command locally on my M1 Mac Pro 16gb ram I get this

Did I use the wrong command or is this a bug?

Command used

./ebook2audiobook.sh --headless --language eng --ebook "workflow-testing/test1.txt" --tts_engine xtts --custom_model "custom_xtts_test.zip"

Specific Error given

Loading TTS xtts model from /Users/drew/ebook2audiobook/custom_xtts_test.zip, it takes a while, please be patient...
'TTSManager' object has no attribute 'coqui_tts_load_custom'
Traceback (most recent call last):
  File "/Users/drew/ebook2audiobook/lib/functions.py", line 627, in convert_chapters_to_audio
    tts_manager = TTSManager(session)
                  ^^^^^^^^^^^^^^^^^^^
  File "/Users/drew/ebook2audiobook/lib/classes/tts_manager.py", line 71, in __init__
    self.params['tts'] = self.coqui_tts_load_custom(self.model_path, self.config_path, self.vocab_path, self.session['device'])
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'TTSManager' object has no attribute 'coqui_tts_load_custom'
Caught DependencyError: 'TTSManager' object has no attribute 'coqui_tts_load_custom'
drew@wmughal-CN4D09397T ebook2audiobook %

Full Log

drew@wmughal-CN4D09397T ebook2audiobook % ./ebook2audiobook.sh --headless --language eng --ebook "workflow-testing/test1.txt" --tts_engine xtts --custom_model "custom_xtts_test.zip"
Running in native mode
espeak is not installed.
espeak-ng is not installed.
rustc is not installed.
cargo is not installed.
Installing required programs...
Password:
Error: Running Homebrew as root is extremely dangerous and no longer supported.
As Homebrew does not drop privileges on installation you would be giving all
build scripts full access to your system.
espeak installation failed.
Error: Running Homebrew as root is extremely dangerous and no longer supported.
As Homebrew does not drop privileges on installation you would be giving all
build scripts full access to your system.
espeak-ng installation failed.
Error: Running Homebrew as root is extremely dangerous and no longer supported.
As Homebrew does not drop privileges on installation you would be giving all
build scripts full access to your system.
rustc installation failed.
Error: Running Homebrew as root is extremely dangerous and no longer supported.
As Homebrew does not drop privileges on installation you would be giving all
build scripts full access to your system.
cargo installation failed.
espeak is not installed.
espeak-ng is not installed.
rustc is not installed.
cargo is not installed.
GPU is not available on your device!
Available Processor Unit: cpu
Running command: /opt/homebrew/bin/ebook-convert /Users/drew/ebook2audiobook/tmp/ebook-76560a2b-696d-44f6-93a8-25f48484378b/e8f99d87b2cd176be1e5f0f331a51373/test1.txt /Users/drew/ebook2audiobook/tmp/ebook-76560a2b-696d-44f6-93a8-25f48484378b/e8f99d87b2cd176be1e5f0f331a51373/__test1.epub --input-encoding=utf-8 --output-profile=generic_eink --verbose
Conversion options changed from defaults:
  verbose: 1
  output_profile: 'generic_eink'
  input_encoding: 'utf-8'
1% Converting input to HTML...
InputFormatPlugin: TXT Input running
on /Users/drew/ebook2audiobook/tmp/ebook-76560a2b-696d-44f6-93a8-25f48484378b/e8f99d87b2cd176be1e5f0f331a51373/test1.txt
Reading text from file...
Using user specified input encoding of utf-8
Auto detected paragraph type as single
Auto detected formatting as heuristic
Running text through basic conversion...
Language not specified
Creator not specified
Building file list...
	Found files...
		 HTMLFile:0:a:'/Users/drew/ebook2audiobook/tmp/calibre_7.24.0_tmp__6181c71/azdguhrb_plumber/index.html'
Normalizing filename cases
Rewriting HTML links
Parsing index.html ...
*********  Heuristic processing HTML  *********
flow is too short, not running heuristics
Forcing index.html into XHTML namespace
34% Running transforms on e-book...
Merging user specified metadata...
Detecting structure...
Auto generated TOC with 0 entries.
Flattening CSS and remapping font sizes...
Source base font size is 12.00000pt
Removing fake margins...
Found 1 items of level: p_1
Ignoring level p_1
Cleaning up manifest...
Trimming unused files from manifest...
Creating EPUB Output...
67% Running EPUB Output plugin
Splitting markup on page breaks and flow limits, if any...
	Looking for large trees in index.html...
	No large trees found
Generating default cover
This EPUB file has no Table of Contents. Creating a default TOC
EPUB output written to /Users/drew/ebook2audiobook/tmp/ebook-76560a2b-696d-44f6-93a8-25f48484378b/e8f99d87b2cd176be1e5f0f331a51373/__test1.epub
Output saved to   /Users/drew/ebook2audiobook/tmp/ebook-76560a2b-696d-44f6-93a8-25f48484378b/e8f99d87b2cd176be1e5f0f331a51373/__test1.epub

/Users/drew/ebook2audiobook/python_env/lib/python3.12/site-packages/ebooklib/epub.py:1423: FutureWarning: This search incorrectly ignores the root element, and will be fixed in a future version.  If you rely on the current behaviour, change it to './/xmlns:rootfile[@media-type]'
  for root_file in tree.findall('//xmlns:rootfile[@media-type]', namespaces={'xmlns': NAMESPACES['CONTAINERNS']}):
******* NOTE: YOU CAN SAFELY IGNORE "Character xx not found in the vocabulary." *******
Loading TTS xtts model from /Users/drew/ebook2audiobook/custom_xtts_test.zip, it takes a while, please be patient...
'TTSManager' object has no attribute 'coqui_tts_load_custom'
Traceback (most recent call last):
  File "/Users/drew/ebook2audiobook/lib/functions.py", line 627, in convert_chapters_to_audio
    tts_manager = TTSManager(session)
                  ^^^^^^^^^^^^^^^^^^^
  File "/Users/drew/ebook2audiobook/lib/classes/tts_manager.py", line 71, in __init__
    self.params['tts'] = self.coqui_tts_load_custom(self.model_path, self.config_path, self.vocab_path, self.session['device'])
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'TTSManager' object has no attribute 'coqui_tts_load_custom'
Caught DependencyError: 'TTSManager' object has no attribute 'coqui_tts_load_custom'
drew@wmughal-CN4D09397T ebook2audiobook % 

@ROBERT-MCDOWELL
Copy link
Collaborator

the fix is on my other PR

@DrewThomasson
Copy link
Owner Author

the fix is on my other PR

oh? :0 which PR? link plz I'm curious what you added?

@DrewThomasson
Copy link
Owner Author

the fix is on my other PR

Cause this one adds a custom xtts model zip test for batch and single txt files for English

And it also uses the already existing xtts model files from the previous xtts test runs to create the custom_xtts_model.zip :)

@DrewThomasson
Copy link
Owner Author

the fix is on my other PR

oh I see you meant the bug is fixed lol

@ROBERT-MCDOWELL
Copy link
Collaborator

yes :)

@ROBERT-MCDOWELL
Copy link
Collaborator

the fix is on my other PR

Cause this one adds a custom xtts model zip test for batch and single txt files for English

And it also uses the already existing xtts model files from the previous xtts test runs to create the custom_xtts_model.zip :)

no waste ;)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants