Skip to content

Version 25.11.11#1121

Merged
ROBERT-MCDOWELL merged 2236 commits intomainfrom
v25
Nov 19, 2025
Merged

Version 25.11.11#1121
ROBERT-MCDOWELL merged 2236 commits intomainfrom
v25

Conversation

@DrewThomasson
Copy link
Copy Markdown
Owner

No description provided.

this manual exemple won't work as the apps are installed automatically from the sh or cmd
Updated README to reflect changes in dependencies and hardware requirements.
Added Note for macOS users about homebrew
@DrewThomasson
Copy link
Copy Markdown
Owner Author

Creating this to run the auto workflow MacE2A Tests

@DrewThomasson
Copy link
Copy Markdown
Owner Author

DrewThomasson commented Nov 11, 2025

If this is still qued by tomorrow then there may of been a power outage (from the cold) and I'll have to check on the workflow server to see what is going on

--note to future Drew also check to the status of if the runner is online or not

@DrewThomasson
Copy link
Copy Markdown
Owner Author

using spare server in the meantime to run this workflow.....

@DrewThomasson
Copy link
Copy Markdown
Owner Author

DrewThomasson commented Nov 11, 2025

Main Workflow Runner is back up,

Was just a weird glitch

@DrewThomasson
Copy link
Copy Markdown
Owner Author

@ROBERT-MCDOWELL

Ready to merge and make new version release announcement?

@ROBERT-MCDOWELL
Copy link
Copy Markdown
Collaborator

It needs another PR to fix OCR.. I'm working on it.... should be ready in couple of mn

@DrewThomasson
Copy link
Copy Markdown
Owner Author

DrewThomasson commented Nov 11, 2025

What's an example command of using OCR in headless

So I can make test for that in the workflow

@DrewThomasson
Copy link
Copy Markdown
Owner Author

DrewThomasson commented Nov 17, 2025

nice nice workflow is passing

Only thing is when looking in the results for the output of the XTTSv2FineTuneCustom It's using the default xtts voice, not the BadCartmanSouthPark Voice
audiobooks.zip

The workflow is making it use this as the custom model import zip:
https://huggingface.co/drewThomasson/fineTunedTTSModels/blob/main/xtts-v2/eng/BadCartmanSouthPark/BadCartmanSouthPark.zip

This is the ref.wav contained within that custom zip file BadCartmanSouthPark.zip... which it should be using

ref.wav

This would be the correct command correct?

./ebook2audiobook.sh --headless --language eng --ebook "tools/workflow-testing/test1.txt" --custom_model "BadCartmanSouthPark.zip" --tts_engine XTTSv2 --output_dir ~/ebook2audiobook/audiobooks/XTTSv2FineTuneCustom

@ROBERT-MCDOWELL
Copy link
Copy Markdown
Collaborator

yes, it's the correct cmd. I check why it doesn t use the ref.wav.
btw the upload and unzip went well?

@DrewThomasson
Copy link
Copy Markdown
Owner Author

DrewThomasson commented Nov 17, 2025

Yes

Workflow successfully downloads custom model zip

I confirm the custommodel zip contains the correct CartmanSouthpark ref.wav file
@ROBERT-MCDOWELL

Log proof of download in English XTTSv2 headless custom fine-tuned XTTSv2 model single test
 echo "English XTTSv2 headless custom fine-tuned XTTSv2 model single test..."
  cd ~/ebook2audiobook
  source "$(conda info --base)/etc/profile.d/conda.sh"
  conda deactivate
  [ ! -f BadCartmanSouthPark.zip ] && curl -L "https://huggingface.co/drewThomasson/fineTunedTTSModels/resolve/main/xtts-v2/eng/BadCartmanSouthPark/BadCartmanSouthPark.zip" -o BadCartmanSouthPark.zip || echo "BadCartmanSouthPark.zip already exists"
  ./ebook2audiobook.sh --headless --language eng --ebook "tools/workflow-testing/test1.txt" --custom_model "BadCartmanSouthPark.zip" --tts_engine XTTSv2 --output_dir ~/ebook2audiobook/audiobooks/XTTSv2FineTuneCustom
  rm -rf ./models/__sessions
  shell: /bin/bash --noprofile --norc -e -o pipefail {0}
English XTTSv2 headless custom fine-tuned XTTSv2 model single test...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  1379  100  1379    0     0  19592      0 --:--:-- --:--:-- --:--:-- 19700

  0 1647M    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0
  2 1647M    2 37.3M    0     0  20.2M      0  0:01:21  0:00:01  0:01:20 48.2M
  5 1647M    5 87.6M    0     0  30.8M      0  0:00:53  0:00:02  0:00:51 49.4M
  7 1647M    7  128M    0     0  30.9M      0  0:00:53  0:00:04  0:00:49 41.7M
 11 1647M   11  181M    0     0  36.9M      0  0:00:44  0:00:04  0:00:40 47.1M
 14 1647M   14  245M    0     0  41.9M      0  0:00:39  0:00:05  0:00:34 51.3M
 18 1647M   18  296M    0     0  43.4M      0  0:00:37  0:00:06  0:00:31 51.9M
 22 1647M   22  378M    0     0  47.5M      0  0:00:34  0:00:07  0:00:27 56.8M
 26 1647M   26  438M    0     0  49.6M      0  0:00:33  0:00:08  0:00:25 66.0M
 29 1647M   29  490M    0     0  49.8M      0  0:00:33  0:00:09  0:00:24 62.8M
 34 1647M   34  560M    0     0  51.6M      0  0:00:31  0:00:10  0:00:21 63.0M
 36 1647M   36  603M    0     0  50.9M      0  0:00:32  0:00:11  0:00:21 61.2M
 38 1647M   38  640M    0     0  49.8M      0  0:00:33  0:00:12  0:00:21 53.6M
 42 1647M   42  693M    0     0  50.0M      0  0:00:32  0:00:13  0:00:19 50.9M
 45 1647M   45  752M    0     0  50.7M      0  0:00:32  0:00:14  0:00:18 52.3M
 49 1647M   49  816M    0     0  51.5M      0  0:00:31  0:00:15  0:00:16 51.2M
 52 1647M   52  871M    0     0  51.6M      0  0:00:31  0:00:16  0:00:15 53.4M
 56 1647M   56  926M    0     0  51.9M      0  0:00:31  0:00:17  0:00:14 57.1M
 59 1647M   59  983M    0     0  51.8M      0  0:00:31  0:00:18  0:00:13 56.6M
 62 1647M   62 1024M    0     0  51.6M      0  0:00:31  0:00:19  0:00:12 54.2M
 67 1647M   67 1110M    0     0  53.2M      0  0:00:30  0:00:20  0:00:10 58.7M
 71 1647M   71 1174M    0     0  53.7M      0  0:00:30  0:00:21  0:00:09 60.7M
 75 1647M   75 1242M    0     0  53.7M      0  0:00:30  0:00:23  0:00:07 59.7M
 77 1647M   77 1278M    0     0  53.3M      0  0:00:30  0:00:23  0:00:07 58.9M
 81 1647M   81 1342M    0     0  53.6M      0  0:00:30  0:00:25  0:00:05 61.7M
 84 1647M   84 1397M    0     0  53.6M      0  0:00:30  0:00:26  0:00:04 55.3M
 87 1647M   87 1434M    0     0  52.5M      0  0:00:31  0:00:27  0:00:04 47.9M
 89 1647M   89 1471M    0     0  52.3M      0  0:00:31  0:00:28  0:00:03 46.1M
 92 1647M   92 1525M    0     0  52.8M      0  0:00:31  0:00:28  0:00:03 50.7M
 97 1647M   97 1598M    0     0  53.2M      0  0:00:30  0:00:30 --:--:-- 50.8M
100 1647M  100 1647M    0     0  53.6M      0  0:00:30  0:00:30 --:--:-- 53.3M
v25.11.11 native mode
Using CPU
Free Memory available: 7.64GB
Running command: /opt/homebrew/bin/ebook-convert /Users/drew/ebook2audiobook/tmp/proc-7924ae79-2174-45fc-b6c2-c3bfa4dcc52a/eb1205ac3589ee186ba55a8bfaa624c1/test1.txt /Users/drew/ebook2audiobook/tmp/proc-7924ae79-2174-45fc-b6c2-c3bfa4dcc52a/eb1205ac3589ee186ba55a8bfaa624c1/__test1.epub
Conversion options changed from defaults:
  epub_version: '3'
  disable_font_rescaling: True
  flow_size: 0.0
  page_breaks_before: "//*[name()='h1' or name()='h2' or name()='h3' or name()='h4' or name()='h5']"
  input_encoding: 'utf-8'
  output_profile: 'generic_eink'
  verbose: 1
  smarten_punctuation: True
1% Converting input to HTML...
InputFormatPlugin: TXT Input running
on /Users/drew/ebook2audiobook/tmp/proc-7924ae79-2174-45fc-b6c2-c3bfa4dcc52a/eb1205ac3589ee186ba55a8bfaa624c1/test1.txt
Reading text from file...
Using user specified input encoding of utf-8
Auto detected paragraph type as unformatted
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_6.29.0_tmp_st_s0ati/u66qyzw__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...
Generating default cover
This EPUB file has no Table of Contents. Creating a default TOC
Upgrading to EPUB 3...
EPUB output written to /Users/drew/ebook2audiobook/tmp/proc-7924ae79-2174-45fc-b6c2-c3bfa4dcc52a/eb1205ac3589ee186ba55a8bfaa624c1/__test1.epub
Output saved to   /Users/drew/ebook2audiobook/tmp/proc-7924ae79-2174-45fc-b6c2-c3bfa4dcc52a/eb1205ac3589ee186ba55a8bfaa624c1/__test1.epub


*******************************************************************************
NOTE:
The warning "Character xx not found in the vocabulary."
MEANS THE MODEL CANNOT INTERPRET THE CHARACTER AND WILL MAYBE GENERATE
(AS WELL AS WRONG PUNCTUATION POSITION) AN HALLUCINATION TO IMPROVE THIS MODEL,
IT NEEDS TO ADD THIS CHARACTER INTO A NEW TRAINING MODEL.
YOU CAN IMPROVE IT OR ASK TO A TRAINING MODEL EXPERT.
*******************************************************************************
        
Downloading https://raw.githubusercontent.com/stanfordnlp/stanza-resources/main/resources_1.10.0.json:   0%|          | 0.00/53.6k [00:00<?, ?B/s]
Downloading https://raw.githubusercontent.com/stanfordnlp/stanza-resources/main/resources_1.10.0.json: 434kB [00:00, 82.4MB/s]                    
2025-11-17 11:23:44 INFO: Downloaded file to /Users/drew/ebook2audiobook/models/stanza/resources.json
2025-11-17 11:23:44 INFO: Downloading default packages for language: en (English) ...
2025-11-17 11:23:45 INFO: File exists: /Users/drew/ebook2audiobook/models/stanza/en/default.zip
2025-11-17 11:23:48 INFO: Finished downloading models and saved to /Users/drew/ebook2audiobook/models/stanza
2025-11-17 11:23:48 INFO: Loading these models for language: en (English):
=========================================
| Processor | Package                   |
-----------------------------------------
| tokenize  | combined                  |
| mwt       | combined                  |
| ner       | ontonotes-ww-multi_charlm |
=========================================

2025-11-17 11:23:48 INFO: Using device: cpu
2025-11-17 11:23:48 INFO: Loading: tokenize
2025-11-17 11:23:48 INFO: Loading: mwt
2025-11-17 11:23:48 INFO: Loading: ner
2025-11-17 11:23:52 INFO: Done loading processors!
NLP model stanza-en loaded!
Analyzing numbers, maths signs, dates and time to convert in words...
Loading TTS xtts-internal model, it takes a while, please be patient...
Loading ZeroShot knnvc model, it takes a while, please be patient...
--------------------------------------------------
A total of 1 block and 1 sentence.
--------------------------------------------------

0.00%: 0/2 
50.00%: : 0/2 
50.00%: : 1/2 
Block 1 containing 1 sentences...
Computing speaker latents...
 : This is test file number one.
 : ‡break‡
End of Block 1
100.00%: : 1/2 
100.00%: : 2/2 

Assemble chunks completed: 100%
Completed → /Users/drew/ebook2audiobook/tmp/proc-7924ae79-2174-45fc-b6c2-c3bfa4dcc52a/eb1205ac3589ee186ba55a8bfaa624c1/chapters/chapter_1.flac
********* Combined block audio file saved in /Users/drew/ebook2audiobook/tmp/proc-7924ae79-2174-45fc-b6c2-c3bfa4dcc52a/eb1205ac3589ee186ba55a8bfaa624c1/chapters/chapter_1.flac
Combining block 1 to audio, sentence 0 to 1
Conversion successful. Combining sentences and chapters...

Assemble chunks completed: 100%
Completed → /Users/drew/ebook2audiobook/tmp/proc-7924ae79-2174-45fc-b6c2-c3bfa4dcc52a/eb1205ac3589ee186ba55a8bfaa624c1/export/tmp05rb047r/all.flac

Export: 100.0%
Export: 100.0%
Export completed: 100%
Adding cover /Users/drew/ebook2audiobook/tmp/proc-7924ae79-2174-45fc-b6c2-c3bfa4dcc52a/eb1205ac3589ee186ba55a8bfaa624c1/test1.jpg into the final audiobook file...

*********** Session: 7924ae79-2174-45fc-b6c2-c3bfa4dcc52a **************
Store it in case of interruption, crash, reuse of custom model or custom voice,
you can resume the conversion with --session option

List the contents of the __sessions directory before removing it.
…rkflow-patch-1

Log and remove __sessions directory in workflow
Refactor E2A Test workflow to support both macOS and Linux environments.
Updated conda deactivate command to suppress errors in E2A-Test workflow.
@ROBERT-MCDOWELL ROBERT-MCDOWELL merged commit f3d52f5 into main Nov 19, 2025
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