Skip to content

Whisper Is Library for transcribe sound wav AKA Speech To Text Or Extract Text From Audio

License

Notifications You must be signed in to change notification settings

General-Developer/whisper_library

Whisper Library

Whisper Library Is library for transcribe sound to wav

Copyright (c) 2024 GLOBAL CORPORATION - GENERAL DEVELOPER

📚️ Docs

  1. Documentation
  2. Youtube
  3. Telegram Support Group
  4. Contact Developer (check social media or readme profile github)

🔖️ Features

  1. 📱️ Cross Platform support (Device, Edge Severless functions)
  2. 📜️ Standarization Style Code
  3. ⌨️ Cli (Terminal for help you use this library or create project)
  4. 🔥️ Api (If you developer bot / userbot you can use this library without interact cli just add library and use 🚀️)
  5. 🧩️ Customizable Extension (if you want add extension so you can more speed up on development)
  6. ✨️ Pretty Information (user friendly for newbie)

❔️ Fun Fact

  • This library 100% use on every my create project (App, Server, Bot, Userbot)

  • This library 100% support all models from whisper.cpp (depending on your device specs, if high then it can be up to turbo, but if low, just choose tiny/small)

📈️ Proggres

  • 10-02-2025 Starting Release Stable With core Features

Resources

  1. MODEL

📥️ Install Library

  1. Dart
dart pub add whisper_library_dart
  1. Flutter
flutter pub add whisper_library_flutter ggml_library_flutter

🚀️ Quick Start

Example Quickstart script minimal for insight you or make you use this library because very simple

import 'dart:io';
import 'package:general_lib/general_lib.dart';
import 'package:whisper_library_dart/whisper_library_dart.dart';

void main(List<String> args) async {
  print("start");

  /// make sure you have downloaded model
  final String whisperModelPath =
      "../../../../../big-data/ai/whisper-ggml/ggml-small.bin";
  final WhisperLibrary whisperLibrary = WhisperLibrary(
    libraryWhisperPath: "../whisper_library_flutter/linux/libwhisper.so",
  );
  await whisperLibrary.ensureInitialized();
  final isLoadedModel = whisperLibrary.loadWhisperModel(
    whisperModelPath: whisperModelPath,
  );
  if (isLoadedModel == false) {
    print("cant loaded");
    exit(1);
  }
  final File fileWav = File(
    "../../native_lib/lib/whisper.cpp/samples/jfk.wav",
  );
  await Future.delayed(Duration(seconds: 2));
  DateTime dateTime = DateTime.now();
  final result = await whisperLibrary.transcribeToJson(
    fileWav: fileWav,
    useCountProccecors: 1,
    useCountThread: (Platform.numberOfProcessors / 2).toInt(),
  );
  print("seconds: ${DateTime.now().difference(dateTime)}");
  result.printPretty();
  exit(0);
}

Reference

  1. Azkadev-Whisper Original Idea and concept library + Developer Maintance this library
  2. Ggerganov-whisper.cpp ffi bridge main script so that this program can run

Copyright (c) 2024 GLOBAL CORPORATION - GENERAL DEVELOPER

Example Project Use This Library

Minimal simple application example of using whisper library Youtube Video

Mobile Desktop