Este guia explica como integrar a classe Whisper e Recorder em aplicativos Android para gravação de áudio e reconhecimento de fala.
Aqui estão trechos de código separados para o uso de Whisper e Recorder :
Inicialização e configuração:
// Initialize Whisper
Whisper mWhisper = new Whisper ( this ); // Create Whisper instance
// Load model and vocabulary for Whisper
String modelPath = getFilePath ( "whisper-tiny.tflite" ); // Provide model file path
String vocabPath = getFilePath ( "filters_vocab_multilingual.bin" ); // Provide vocabulary file path
mWhisper . loadModel ( modelPath , vocabPath , true ); // Load model and set multilingual mode
// Set a listener for Whisper to handle updates and results
mWhisper . setListener ( new IWhisperListener () {
@ Override
public void onUpdateReceived ( String message ) {
// Handle Whisper status updates
}
@ Override
public void onResultReceived ( String result ) {
// Handle transcribed results
}
});Transcrição:
// Set the audio file path for transcription. Audio format should be in 16K, mono, 16bits
String waveFilePath = getFilePath ( "your_audio_file.wav" ); // Provide audio file path
mWhisper . setFilePath ( waveFilePath ); // Set audio file path
// Start transcription
mWhisper . setAction ( Whisper . ACTION_TRANSCRIBE ); // Set action to transcription
mWhisper . start (); // Start transcription
// Perform other operations
// Add your additional code here
// Stop transcription
mWhisper . stop (); // Stop transcriptionInicialização e configuração:
// Initialize Recorder
Recorder mRecorder = new Recorder ( this ); // Create Recorder instance
// Set a listener for Recorder to handle updates and audio data
mRecorder . setListener ( new IRecorderListener () {
@ Override
public void onUpdateReceived ( String message ) {
// Handle Recorder status updates
}
@ Override
public void onDataReceived ( float [] samples ) {
// Handle audio data received during recording
// You can forward this data to Whisper for live recognition using writeBuffer()
// mWhisper.writeBuffer(samples);
}
});Gravação:
// Check and request recording permissions
checkRecordPermission (); // Check and request recording permissions
// Set the audio file path for recording. It record audio in 16K, mono, 16bits format
String waveFilePath = getFilePath ( "your_audio_file.wav" ); // Provide audio file path
mRecorder . setFilePath ( waveFilePath ); // Set audio file path
// Start recording
mRecorder . start (); // Start recording
// Perform other operations
// Add your additional code here
// Stop recording
mRecorder . stop (); // Stop recordingAdapte esses trechos de código ao seu caso de uso específico, forneça os caminhos corretos do arquivo e lide com exceções adequadamente em seu aplicativo.
NOTA : Verifique se você possui as permissões necessárias, manipulação de erros e gerenciamento de caminho do arquivo em seu aplicativo ao usar a classe Recorder .
O Whisper ASR é uma ferramenta poderosa para transcrever o discurso para o texto. No entanto, lembre -se de que o manuseio de dados e transcrições de áudio pode exigir sincronização cuidadosa e manuseio de erros em seu aplicativo Android para garantir uma experiência suave do usuário.
Aproveite o uso do aplicativo Whisper ASR Android para aprimorar seus recursos de reconhecimento de fala!