1. Go to this page and download the library: Download vikas5914/fluidaudio library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
vikas5914 / fluidaudio example snippets
use Vikas5914\Fluidaudio\Facades\FluidAudio;
use Vikas5914\Fluidaudio\Models\AsrModel;
use Vikas5914\Fluidaudio\Models\StreamingModel;
// Batch ASR: load models, then transcribe a file.
$init = FluidAudio::initializeAsr(['version' => AsrModel::MultilingualV3->value]);
// ... wait for ModelLoadProgress(status: 'ready', progress: 100) ...
$result = FluidAudio::transcribeFile('/path/to/audio.wav');
// ... wait for TranscriptionComplete / TranscriptionError ...
// Streaming: start the mic, stop to get the final transcript.
$stream = FluidAudio::startStreaming(['variant' => StreamingModel::Eou160ms->value]);
// ... StreamingStarted / StreamingUpdate(isFinal: false) ... ...
$stop = FluidAudio::stopStreaming();
// ... StreamingUpdate(isFinal: true) carries the final text ...
// Housekeeping
$available = FluidAudio::isAsrAvailable(); // bool
$info = FluidAudio::getSystemInfo(); // null off-device
$progress = FluidAudio::modelLoadProgress(); // last known download state, null off-device
FluidAudio::cancel($requestId); // cancel one in-flight request
FluidAudio::cancel(); // cancel everything (also stops streaming)
FluidAudio::cleanup(); // release models and stop audio
use Native\Mobile\Attributes\OnNative;
use Vikas5914\Fluidaudio\Events\ModelLoadProgress;
use Vikas5914\Fluidaudio\Events\StreamingStarted;
use Vikas5914\Fluidaudio\Events\StreamingUpdate;
use Vikas5914\Fluidaudio\Events\TranscriptionComplete;
use Vikas5914\Fluidaudio\Events\TranscriptionError;
class Transcriber extends Component
{
#[OnNative(ModelLoadProgress::class)]
public function onProgress(string $status, int $progress, ?string $requestId = null, string $type = 'asr') {}
#[OnNative(TranscriptionComplete::class)]
public function onComplete(string $text, ?string $requestId = null) {}
#[OnNative(StreamingStarted::class)]
public function onStarted(?string $requestId = null) {}
#[OnNative(StreamingUpdate::class)]
public function onUpdate(string $text, string $volatile, string $confirmed, bool $isFinal, ?string $requestId = null) {}
#[OnNative(TranscriptionError::class)]
public function onError(string $message, ?string $requestId = null, ?string $code = null) {}
}