Audio dan bahasa lisan adalah sumber data yang kaya untuk menangkap maksud pengguna, merekam informasi tentang dunia di sekitar kita, dan memahami masalah spesifik yang harus diselesaikan. Mulai dari Gemma 3n, Anda dapat menggunakan data audio dalam tugas prompt dan pembuatan dengan Gemma. Anda dapat menggunakannya untuk berbagai tugas analisis dan interpretasi audio, dan model ini dilatih untuk menangani tugas pemrosesan ucapan berikut dengan lebih dari 100 bahasa lisan:
- Speech to text (STT): Juga dikenal sebagai pengenalan ucapan otomatis (ASR), mengambil data audio bahasa lisan dan mentranskripsikannya ke output teks dalam bahasa yang sama. Pelajari lebih lanjut
- Terjemahan ucapan otomatis (AST): Juga dikenal sebagai terjemahan ucapan ke teks (S2TT), mengambil data audio ucapan dalam satu bahasa dan menerjemahkannya ke teks dalam bahasa lain. Pelajari lebih lanjut
Anda dapat menggunakan fitur ini di berbagai aplikasi, seperti:
- Membangun antarmuka aplikasi yang dikontrol suara
- Membuat layanan transkripsi untuk rapat atau kuliah
- Mengaktifkan fungsi penelusuran suara dalam lingkungan multibahasa
Panduan ini memberikan ringkasan kemampuan pemrosesan audio Gemma 3n, termasuk pertimbangan data, contoh penggunaan, dan praktik terbaik.
Data audio
Data audio digital dapat memiliki banyak format dan tingkat resolusi. Format audio sebenarnya yang dapat Anda gunakan dengan Gemma, seperti format MP3 dan WAV, ditentukan oleh framework yang Anda pilih untuk mengonversi data suara menjadi tensor. Berikut beberapa pertimbangan khusus untuk menyiapkan data audio agar dapat diproses dengan Gemma:
- Biaya token: Setiap detik audio adalah 6,25 token.
- Saluran audio: Data audio diproses sebagai satu saluran audio. Jika Anda menggunakan audio multi-saluran, seperti saluran kiri dan kanan, pertimbangkan untuk mengurangi data menjadi satu saluran dengan menghapus saluran atau menggabungkan data suara menjadi satu saluran.
- Panjang klip: Klip audio hingga 30 detik direkomendasikan, tetapi Anda dapat memproses durasi yang lebih panjang, hingga ukuran jendela konteks model, dengan mengurangi token output yang Anda minta.
- Frekuensi sampel: Kecepatan pemrosesan audio untuk tokenizer adalah 16 kHz dengan frame 32 milidetik.
- Kedalaman bit: Tokenizer audio menggunakan data float 32-bit untuk setiap frame dalam rentang [-1, 1] untuk setiap sampel audio.
Jika data audio yang akan Anda proses sangat berbeda dari pemrosesan input, terutama dalam hal saluran, frekuensi sampel, dan kedalaman bit, pertimbangkan untuk melakukan resampling atau memangkas data audio agar sesuai dengan resolusi data yang ditangani oleh model.
Encoding audio
Saat mengenkode data audio dengan penerapan kode Anda sendiri untuk digunakan dengan Gemma 3n, Anda harus mengikuti proses konversi yang direkomendasikan. Jika Anda bekerja
dengan file audio yang dienkode dalam format tertentu, seperti data yang dienkode MP3 atau WAV,
Anda harus mendekodenya terlebih dahulu menjadi sampel menggunakan library seperti ffmpeg. Setelah
data didekode, konversikan audio menjadi bentuk gelombang float32 16 kHz satu saluran
dalam rentang [-1, 1]. Misalnya, jika Anda menggunakan file WAV bilangan bulat PCM 16-bit bertanda tangan stereo pada 44,1 kHz, ikuti langkah-langkah berikut:
- Mengambil ulang sampel data audio ke 16 kHz
- Downmix dari stereo ke mono dengan merata-ratakan 2 saluran
- Konversi dari int16 ke float32, dan bagi dengan 32768.0 untuk menskalakan ke rentang [-1, 1]
Speech-to-text
Gemma 3n dilatih untuk pengenalan ucapan multibahasa, sehingga Anda dapat mentranskripsikan input audio dalam berbagai bahasa menjadi teks. Contoh kode berikut menunjukkan cara meminta model untuk mentranskripsikan teks dari file audio menggunakan Hugging Face Transformers:
import torch
from transformers import AutoProcessor, AutoModelForImageTextToText
GEMMA_MODEL_ID = "google/gemma-3n-E4B-it"
processor = AutoProcessor.from_pretrained(GEMMA_MODEL_ID, device_map="auto")
model = AutoModelForImageTextToText.from_pretrained(
GEMMA_MODEL_ID, torch_dtype="auto", device_map="auto")
messages = [
{
"role": "user",
"content": [
{"type": "audio", "audio": "http://localhost/recording_01.wav"},
{"type": "audio", "audio": "http://localhost/recording_02.wav"},
{"type": "audio", "audio": "http://localhost/recording_03.wav"},
{"type": "text", "text": "Transcribe these audio files in order"},
]
}
]
input_ids = processor.apply_chat_template(
messages,
add_generation_prompt=True,
tokenize=True, return_dict=True,
return_tensors="pt",
)
input_ids = input_ids.to(model.device, dtype=model.dtype)
outputs = model.generate(**input_ids, max_new_tokens=64)
text = processor.batch_decode(
outputs,
skip_special_tokens=False,
clean_up_tokenization_spaces=False
)
print(text[0])
Untuk contoh kode yang lebih lengkap, termasuk penginstalan library, lihat dokumentasi Menjalankan Gemma dengan Hugging Face Transformers, bagian audio.
Terjemahan ucapan otomatis
Gemma 3n dilatih untuk tugas ucapan ke terjemahan multibahasa, sehingga Anda dapat menerjemahkan audio ucapan langsung ke bahasa lain. Contoh kode berikut menunjukkan cara meminta model untuk menerjemahkan audio lisan ke dalam teks menggunakan Hugging Face Transformers:
import torch
from transformers import AutoProcessor, AutoModelForImageTextToText
GEMMA_MODEL_ID = "google/gemma-3n-E4B-it"
processor = AutoProcessor.from_pretrained(GEMMA_MODEL_ID, device_map="auto")
model = AutoModelForImageTextToText.from_pretrained(
GEMMA_MODEL_ID, torch_dtype="auto", device_map="auto")
messages = [
{
"role": "user",
"content": [
{"type": "audio", "audio": "https://ai.google.dev/gemma/docs/audio/roses-are.wav"},
{"type": "text", "text": "Transcribe this audio into English, and then translate it into French."},
]
}
]
input_ids = processor.apply_chat_template(
messages,
add_generation_prompt=True,
tokenize=True, return_dict=True,
return_tensors="pt",
)
input_ids = input_ids.to(model.device, dtype=model.dtype)
outputs = model.generate(**input_ids, max_new_tokens=64)
text = processor.batch_decode(
outputs,
skip_special_tokens=False,
clean_up_tokenization_spaces=False
)
print(text[0])
Untuk contoh kode yang lebih lengkap, termasuk penginstalan library, lihat dokumentasi Menjalankan Gemma dengan Hugging Face Transformers, bagian audio.