Skip to content

Google Colab GPU Generation Speeds

Drew Thomasson edited this page May 29, 2025 · 13 revisions

Google Colab Generation Speeds

12.7 GB CPU RAM, 15.0 GB GPU VRAM, T4 GPU

image

File used in testing

short-poe-tell-tale-heart.txt

GRAPH IMAGE HERE

Raw Test Results:


time python app.py --ebook short-poe-tell-tale-heart.txt --device gpu --tts_engine vits --headless  --output_format mp4

vits Result

real 2m27.572s user 1m42.995s sys 0m8.696s

short-poe-tell-tale-heart.mp4
time python app.py --ebook short-poe-tell-tale-heart.txt --device gpu --tts_engine fairseq --headless  --output_format mp4

fairseq Result

real 1m52.098s user 1m37.295s sys 0m6.853s

short-poe-tell-tale-heart.mp4
time python app.py --ebook short-poe-tell-tale-heart.txt --device gpu --tts_engine yourtts --headless  --output_format mp4

yourtts Result

real 1m57.170s user 1m46.175s sys 0m6.594s

short-poe-tell-tale-heart.mp4
time python app.py --ebook short-poe-tell-tale-heart.txt --device gpu --tts_engine xtts --headless  --output_format mp4

xtts Result

real 4m56.529s user 4m42.113s sys 0m10.280s

short-poe-tell-tale-heart.mp4
time python app.py --ebook short-poe-tell-tale-heart.txt --device gpu --tts_engine yourtts --headless  --output_format mp4 --voice voices/eng/elder/male/CraigGutsy_24000.wav

yourtts voice-cloning Result

real 2m58.321s user 2m27.956s sys 0m11.780s

short-poe-tell-tale-heart.mp4
time python app.py --ebook short-poe-tell-tale-heart.txt --device gpu --tts_engine vits --headless  --output_format mp4 --voice voices/eng/elder/male/CraigGutsy_24000.wav

vits voice-cloning Result

real 3m47.076s user 3m23.998s sys 0m11.071s

short-poe-tell-tale-heart.mp4
time python app.py --ebook short-poe-tell-tale-heart.txt --device gpu --tts_engine fairseq --headless  --output_format mp4 --voice voices/eng/elder/male/CraigGutsy_24000.wav

fairseq voice-cloning Result

real 3m46.987s user 3m31.117s sys 0m10.173s

short-poe-tell-tale-heart.mp4

raw graph code in react

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: 'fairseq', time: 112.098, color: '#2196F3', description: 'fairseq (default)' },
    { name: 'yourTTS', time: 117.170, color: '#4CAF50', description: 'yourTTS (default)' },
    { name: 'vits', time: 147.572, color: '#FF9800', description: 'vits (default)' },
    { name: 'yourTTS + voice', time: 178.321, color: '#8BC34A', description: 'yourTTS with voice cloning' },
    { name: 'fairseq + voice', time: 226.987, color: '#03A9F4', description: 'fairseq with voice cloning' },
    { name: 'vits + voice', time: 227.076, color: '#FF5722', description: 'vits with voice cloning' },
    { name: 'xtts', time: 296.529, 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: GPU | Output: MP4</p>
      </div>
    </div>
  );
};

export default TTSPerformanceChart;
Clone this wiki locally