-
-
Notifications
You must be signed in to change notification settings - Fork 847
M1 Mac CPU speeds
Drew Thomasson edited this page Mar 20, 2025
·
16 revisions

time python app.py --ebook short-poe-tell-tale-heart.txt --device cpu --tts_engine vits --headless --output_format mp4
221.93s user 104.64s system 587% cpu 55.599 total
short-poe-tell-tale-heart.mp4
time python app.py --ebook short-poe-tell-tale-heart.txt --device cpu --tts_engine fairseq --headless --output_format mp4
194.54s user 82.77s system 569% cpu 48.709 total
short-poe-tell-tale-heart.mp4
time python app.py --ebook short-poe-tell-tale-heart.txt --device cpu --tts_engine yourtts --headless --output_format mp4
84.85s user 25.78s system 433% cpu 25.532 total
short-poe-tell-tale-heart.mp4
time python app.py --ebook short-poe-tell-tale-heart.txt --device cpu --tts_engine xtts --headless --output_format mp4
2860.29s user 506.66s system 734% cpu 7:38.50 total
short-poe-tell-tale-heart.mp4
time python app.py --ebook short-poe-tell-tale-heart.txt --device cpu --tts_engine yourtts --headless --output_format mp4 --voice voices/eng/elder/male/CraigGutsy_24000.wav
189.53s user 71.35s system 544% cpu 47.883 total
short-poe-tell-tale-heart.mp4
time python app.py --ebook short-poe-tell-tale-heart.txt --device cpu --tts_engine vits --headless --output_format mp4 --voice voices/eng/elder/male/CraigGutsy_24000.wav
486.94s user 217.13s system 446% cpu 2:37.54 total
short-poe-tell-tale-heart.mp4
time python app.py --ebook short-poe-tell-tale-heart.txt --device cpu --tts_engine fairseq --headless --output_format mp4 --voice voices/eng/elder/male/CraigGutsy_24000.wav
464.46s user 185.71s system 609% cpu 1:46.71 total
short-poe-tell-tale-heart.mp4
import React from 'react';
import { BarChart, Bar, XAxis, YAxis, CartesianGrid, Tooltip, Legend, ResponsiveContainer } from 'recharts';
const TTSPerformanceChart = () => {
// Parse the data from the benchmark results
const data = [
{ name: 'yourTTS', time: 25.53, color: '#4CAF50', description: 'yourTTS (default)' },
{ name: 'yourTTS + voice', time: 47.88, color: '#8BC34A', description: 'yourTTS with voice cloning' },
{ name: 'fairseq', time: 48.71, color: '#2196F3', description: 'fairseq (default)' },
{ name: 'vits', time: 55.60, color: '#FF9800', description: 'vits (default)' },
{ name: 'fairseq + voice', time: 106.71, color: '#03A9F4', description: 'fairseq with voice cloning' },
{ name: 'vits + voice', time: 157.54, color: '#FF5722', description: 'vits with voice cloning' },
{ name: 'xtts', time: 458.50, color: '#9C27B0', description: 'xtts (default)' }
].sort((a, b) => a.time - b.time);
return (
<div className="flex flex-col items-center w-full p-4 bg-gray-50 rounded-lg shadow">
<h2 className="text-2xl font-bold mb-4">TTS Engine Performance Comparison</h2>
<p className="text-gray-600 mb-6">Processing time in seconds for "The Tell-Tale Heart" text (shorter is better)</p>
<div className="w-full h-96">
<ResponsiveContainer width="100%" height="100%">
<BarChart
data={data}
layout="vertical"
margin={{ top: 5, right: 30, left: 100, bottom: 5 }}
>
<CartesianGrid strokeDasharray="3 3" />
<XAxis type="number" label={{ value: 'Time (seconds)', position: 'insideBottom', offset: -5 }} />
<YAxis
type="category"
dataKey="description"
width={100}
tick={{ fontSize: 12 }}
/>
<Tooltip
formatter={(value) => [`${value.toFixed(2)} seconds`, 'Processing Time']}
labelFormatter={(value) => `Engine: ${value}`}
/>
<Legend />
<Bar
dataKey="time"
name="Processing Time (seconds)"
fill="#8884d8"
background={{ fill: '#eee' }}
label={{ position: 'right', formatter: (value) => `${value.toFixed(2)}s` }}
/>
</BarChart>
</ResponsiveContainer>
</div>
<div className="mt-6 text-sm text-gray-600">
<p>Test file: short-poe-tell-tale-heart.txt | Device: CPU | Output: MP4</p>
</div>
</div>
);
};
export default TTSPerformanceChart;