Whisper.php 项目使用教程
2025-04-21 17:12:52作者:史锋燃Gardner
1. 项目目录结构及介绍
Whisper.php 是一个 PHP 绑定库,用于 whisper.cpp,实现了高性能的自动语音识别和转录。项目的目录结构如下:
whisper.php/
├── .gitignore # Git 忽略文件列表
├── README.md # 项目说明文件
├── composer.json # Composer 配置文件
├── phpunit.xml # PHPUnit 配置文件
├── src/ # 源代码目录
│ ├── Whisper.php # Whisper 类核心文件
│ ├── WhisperContext.php # Whisper 上下文类文件
│ ├── WhisperFullParams.php # Whisper 完整参数类文件
│ └── WhisperSegment.php # Whisper 段落类文件
├── tests/ # 测试目录
│ └── ... # 测试文件
├── include/ # 包含文件目录
│ └── ... # 包含文件
├── examples/ # 示例文件目录
│ └── ... # 示例文件
└── lib/ # 平台特定库目录
└── ... # 平台特定库文件
src/目录包含了项目的核心 PHP 类文件。tests/目录包含了用于测试项目的 PHPUnit 测试文件。include/目录包含了项目可能需要的其他 PHP 包含文件。examples/目录提供了使用 Whisper.php 的示例代码。lib/目录包含了项目依赖的平台特定共享库。
2. 项目的启动文件介绍
Whisper.php 项目的启动主要是通过 Composer 进行依赖管理和安装。首先,你需要确保你的环境中已经安装了 PHP 和 Composer。
在项目根目录下运行以下命令安装依赖:
composer install
安装完成后,你可以在 examples/ 目录中找到一些示例 PHP 脚本,它们演示了如何使用 Whisper.php 进行语音识别。
例如,运行以下命令执行一个简单的转录示例:
php examples/simple_transcription.php
3. 项目的配置文件介绍
Whisper.php 的配置主要通过 composer.json 文件进行。以下是 composer.json 文件的一个基本示例:
{
"name": "codewithkyrian/whisper.php",
"description": "A PHP binding for whisper.cpp, enabling high-performance automatic speech recognition and transcription.",
"type": "library",
"require": {
"php": "^8.1",
"ext-ffi": "*"
},
"autoload": {
"psr-4": {"Whisper\\": "src/"}
}
}
在这个配置文件中:
"name"定义了项目的名称。"description"提供了项目的描述。"type"指定了项目的类型,这里是库(library)。"require"列出了项目依赖的 PHP 版本和扩展,这里需要 PHP 8.1 和 FFI 扩展。"autoload"配置了自动加载,这样你就可以通过命名空间Whisper\来访问src/目录下的类。
确保在使用 Whisper.php 前,你的 php.ini 配置文件中启用了 FFI 扩展:
extension=ffi
以上就是 Whisper.php 项目的目录结构、启动文件和配置文件的介绍。通过这些信息,你可以开始使用 Whisper.php 来实现语音识别功能。
登录后查看全文
热门项目推荐
GLM-5智谱 AI 正式发布 GLM-5,旨在应对复杂系统工程和长时域智能体任务。Jinja00
GLM-5-w4a8GLM-5-w4a8基于混合专家架构,专为复杂系统工程与长周期智能体任务设计。支持单/多节点部署,适配Atlas 800T A3,采用w4a8量化技术,结合vLLM推理优化,高效平衡性能与精度,助力智能应用开发Jinja00
jiuwenclawJiuwenClaw 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。Python0241- QQwen3.5-397B-A17BQwen3.5 实现了重大飞跃,整合了多模态学习、架构效率、强化学习规模以及全球可访问性等方面的突破性进展,旨在为开发者和企业赋予前所未有的能力与效率。Jinja00
AtomGit城市坐标计划AtomGit 城市坐标计划开启!让开源有坐标,让城市有星火。致力于与城市合伙人共同构建并长期运营一个健康、活跃的本地开发者生态。01
electerm开源终端/ssh/telnet/serialport/RDP/VNC/Spice/sftp/ftp客户端(linux, mac, win)JavaScript00
项目优选
收起
deepin linux kernel
C
27
13
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
636
4.17 K
Ascend Extension for PyTorch
Python
473
573
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
932
836
Oohos_react_native
React Native鸿蒙化仓库
JavaScript
327
383
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.51 K
864
暂无简介
Dart
883
211
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
385
269
华为昇腾面向大规模分布式训练的多模态大模型套件,支撑多模态生成、多模态理解。
Python
132
196
昇腾LLM分布式训练框架
Python
139
162