From patchwork Thu Jul 11 06:46:50 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Andy Tai X-Patchwork-Id: 66113 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id BB53027BBEA; Thu, 11 Jul 2024 07:49:26 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 340B727BBE2 for ; Thu, 11 Jul 2024 07:49:23 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sRnc3-00049I-3B; Thu, 11 Jul 2024 02:49:08 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sRnbz-00048W-1q for guix-patches@gnu.org; Thu, 11 Jul 2024 02:49:03 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sRnby-0001xV-Nr for guix-patches@gnu.org; Thu, 11 Jul 2024 02:49:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1sRnby-0002DP-0L for guix-patches@gnu.org; Thu, 11 Jul 2024 02:49:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#72027] [PATCH v4] gnu: Add whisper-cpp. References: <0c08fdb11c2641ece7d267340877c58f144df110.1720587166.git.atai@atai.org> In-Reply-To: <0c08fdb11c2641ece7d267340877c58f144df110.1720587166.git.atai@atai.org> Resent-From: Andy Tai Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 11 Jul 2024 06:49:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 72027 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 72027@debbugs.gnu.org Cc: Andy Tai Received: via spool by 72027-submit@debbugs.gnu.org id=B72027.17206804848443 (code B ref 72027); Thu, 11 Jul 2024 06:49:01 +0000 Received: (at 72027) by debbugs.gnu.org; 11 Jul 2024 06:48:04 +0000 Received: from localhost ([127.0.0.1]:50778 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sRnb1-0002C7-I7 for submit@debbugs.gnu.org; Thu, 11 Jul 2024 02:48:03 -0400 Received: from mail-pf1-f180.google.com ([209.85.210.180]:45493) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sRnay-0002Ba-96 for 72027@debbugs.gnu.org; Thu, 11 Jul 2024 02:48:02 -0400 Received: by mail-pf1-f180.google.com with SMTP id d2e1a72fcca58-70b0428f793so423432b3a.3 for <72027@debbugs.gnu.org>; Wed, 10 Jul 2024 23:48:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1720680414; x=1721285214; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:sender:from:to:cc:subject:date:message-id:reply-to; bh=E+w0r76Drp514TKKRdfdcy9tRhs+RPAuWBVv7X11Kb4=; b=W+s3KbjLehWA02ZsCIJaAlBZtjHS8WhcIONeoHuh0OjFZDU2YusA4eTFcULop1o9aa eJ+aofIz8M4I039XYtbWq+R3h4Ja9DKLfRYA93KmiZxXvbqI06Rg8pvg/zc3L6m027dT fazKT+aRuHvbQpnJNDD4rGYwoIUI5GSNy4FiWwNW8VpQz/tbxA0+SaSfKR1tc/9YNZ9l lqqY7Gy/K437/jbZnB64zHRuELGkePJ6pBRmEixZEaTBSQs58Xe8z0X1Y8ljX8iku67X 0AZQ0ACUMvt0Mrb5ZSKgZe5OAJuvNDDyViCFwdqnJAMF3SfoHonmeeiw0LMNWVSFTqIQ 6ubQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1720680414; x=1721285214; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:sender:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=E+w0r76Drp514TKKRdfdcy9tRhs+RPAuWBVv7X11Kb4=; b=KGP9ST9Eo8XIiBE1QNJ8jKI0J7gOrHk7peyODD16Y+Y0EhvKNh+7zIHuJMIs+dKydB prWX7JeBHviRNsWt8VszNcCvH7a2ZqFHZR+ISwVUrZmCXjCAZEcSHuKv2LVGJNEu0fjU P8VmEJLfdWDvyPsmPmI0uaWBZ+p2eTxpuM1PkRHcTDzAcLfPjv2pSo0PerO1axGAwDRl A7BHuHFozwPNLfociwkGjgJoQhD+HWnaB1BpBqBg86KQPdc1o7ucujav6vCBARAoJCBC juXz8cjq9/yEDBKX/oFmPEUmuxCmSoeCJz22xVwrU+otidTT/k6/1b2ujoay0+QFpR73 RONA== X-Gm-Message-State: AOJu0Yzqw9HTmBZoDQwA6/Tu7mEDc8NCFYgVtggKixCUDLrZnUEx3zgJ 8IoyC+uC9GU4M9m9cy+CcZTpgBt7lcsW66DYdL777nuuOlUm/cs0TwOuSA== X-Google-Smtp-Source: AGHT+IEWhd2Ubgaf3QdZxCVu8P6aTJy4D5LlNrnO4HMnDWyxKqnjBCQyQl4A5PRZPZ6t9iNZvdLj4Q== X-Received: by 2002:a05:6a00:1d94:b0:704:14b9:105 with SMTP id d2e1a72fcca58-70b43541709mr8284879b3a.13.1720680414318; Wed, 10 Jul 2024 23:46:54 -0700 (PDT) Received: from DEskMiniX300.. (c-98-37-226-154.hsd1.ca.comcast.net. [98.37.226.154]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-70b43968740sm4917123b3a.119.2024.07.10.23.46.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 10 Jul 2024 23:46:53 -0700 (PDT) From: Andy Tai Date: Wed, 10 Jul 2024 23:46:50 -0700 Message-Id: X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * gnu/packages/machine-learning.scm (whisper-cpp): New variable. Change-Id: If191f434a3f66b16afdc702069eaed1ca22e2427 --- gnu/packages/machine-learning.scm | 42 +++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) base-commit: 8cbc5e5bf0ca35f12cf5bbf123efbc3b6a57ad44 diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index 303e123a15..b6ceca6cb0 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -28,6 +28,7 @@ ;;; Copyright © 2024 Timothee Mathieu ;;; Copyright © 2024 Spencer King ;;; Copyright © 2024 David Elsing +;;; Copyright © 2024 Andy Tai ;;; ;;; This file is part of GNU Guix. ;;; @@ -117,6 +118,7 @@ (define-module (gnu packages machine-learning) #:use-module (gnu packages rdf) #:use-module (gnu packages regex) #:use-module (gnu packages rpc) + #:use-module (gnu packages sdl) #:use-module (gnu packages serialization) #:use-module (gnu packages sphinx) #:use-module (gnu packages statistics) @@ -5990,6 +5992,46 @@ (define-public oneapi-dnnl-for-r-torch (sha256 (base32 "1zyw5rd8x346bb7gac9a7x3saviw3zvp6aqz2z1l9sv163vmjfz6")))))) +(define-public whisper-cpp + (package + (name "whisper-cpp") + (version "1.6.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ggerganov/whisper.cpp") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "01q4j602wkvsf9vw0nsazzgvjppf4fhpy90vqnm9affynyxhi0c4")))) + (build-system cmake-build-system) + (arguments + (list + #:configure-flags #~'("-DWHISPER_STANDALONE=TRUE" "-DWHISPER_SDL2=TRUE") + ;; "-DWHISPER_FFMPEG=TRUE" ; TO DO + #:phases #~(modify-phases %standard-phases + #$@(if (not (target-64bit?)) + #~(add-after 'unpack 'skip-failing-tests + (lambda _ + ;; large model does not fit in RAM in 32-bit system, + ;; disable large model test + `((substitute* "tests/CMakeLists.txt" + (("LABELS \"large\"") + "DISABLED true"))))) + #~())))) + (inputs (list sdl2)) ;ffmpeg openblas ;TO DO: + (native-inputs (list pkg-config)) + (properties '((tunable? . #t))) ;use AVX512, FMA, etc. when available + (home-page "https://github.com/ggerganov/whisper.cpp") + (synopsis "Port of OpenAI's Whisper model in C/C++") + (description + "This package is a high-performance inference of OpenAI's +Whisper automatic speech recognition (ASR) model, implemented in plain C/C++ +without dependencies") + (license license:expat))) + + (define-public python-gguf (package (name "python-gguf")