В этом руководстве объясняется, как интегрировать класс Whisper and Recorder в приложения Android для записи аудио и распознавания речи.
Вот отдельные фрагменты кода для использования Whisper and Recorder :
Инициализация и конфигурация:
// 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
}
});Транскрипция:
// 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 transcriptionИнициализация и конфигурация:
// 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);
}
});Запись:
// 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 recordingПожалуйста, адаптируйте эти фрагменты кода к вашему конкретному варианту использования, предоставьте правильные пути файла и надлежащим образом обработайте исключения в вашем приложении.
ПРИМЕЧАНИЕ . Убедитесь, что у вас есть необходимые разрешения, обработка ошибок и управление пути файла в вашем приложении при использовании класса Recorder .
Whisper ASR - это мощный инструмент для транскрибирующей речи в текст. Тем не менее, имейте в виду, что обработка аудиоданных и транскрипций может потребовать тщательной синхронизации и обработки ошибок в вашем приложении Android, чтобы обеспечить бесперебойную работу пользователя.
Наслаждайтесь использованием приложения Whisper ASR Android, чтобы расширить возможности распознавания речи!