Estoy tratando de aprender Android Development y me preguntaba cómo puedo capturar audio desde un micrófono y luego cambiar la voz en el audio para que suene más grueso o más nítido, etc. En resumen: ¿Cómo registro y cambio los parámetros? de un sonido? (En Java, por supuesto)¿Cómo grabo audio en Android y cambio el tono?
5
A
Respuesta
5
Estoy trabajando en un android app that involves audio. Grabar el audio es la parte fácil, y puedes copiar mi código principalmente para eso. Escribir un filtro de audio es una tarea mucho más difícil, y requiere el conocimiento de procesamiento de señal digital y el Fast Fourier Transform (FFT)
Se podría empezar por leer sobre audio processing in java here.
Mientras tanto, aquí está el código para grabar audio en android:
public String record() {
// please note: the emulator only supports 8 khz sampling.
// so in test mode, you need to change this to
//int frequency = 8000;
int frequency = 11025;
int channelConfiguration = AudioFormat.CHANNEL_CONFIGURATION_MONO;
int audioEncoding = AudioFormat.ENCODING_PCM_16BIT;
File file = new File(Environment.getExternalStorageDirectory()
.getAbsolutePath() + "/reverseme.pcm");
// Delete any previous recording.
if (file.exists())
file.delete();
// Create the new file.
try {
file.createNewFile();
} catch (IOException e) {
throw new IllegalStateException("Failed to create "
+ file.toString());
}
try {
// Create a DataOuputStream to write the audio data into the saved
// file.
OutputStream os = new FileOutputStream(file);
BufferedOutputStream bos = new BufferedOutputStream(os);
DataOutputStream dos = new DataOutputStream(bos);
// Create a new AudioRecord object to record the audio.
int bufferSize = 2 * AudioRecord.getMinBufferSize(frequency,
channelConfiguration, audioEncoding);
AudioRecord audioRecord = new AudioRecord(
MediaRecorder.AudioSource.MIC, frequency,
channelConfiguration, audioEncoding, bufferSize);
short[] buffer = new short[bufferSize];
audioRecord.startRecording();
Log.e(tag, "Recording started");
long start = SystemClock.elapsedRealtime();
long end = start + 15000;
while (SystemClock.elapsedRealtime() < end) {
int bufferReadResult = audioRecord.read(buffer, 0, bufferSize);
for (int i = 0; i < bufferReadResult; i++)
if (ByteOrder.nativeOrder().equals(ByteOrder.LITTLE_ENDIAN)) {
dos.writeShort(EndianUtils.swapShort(buffer[i]));
} else {
dos.writeShort(buffer[i]);
}
}
Log.e(tag, "Recording stopped");
audioRecord.stop();
bos.flush();
dos.close();
isRecording = false;
return file.getAbsolutePath();
} catch (Exception e) {
Log.e(tag, "Recording Failed:" + e.getMessage());
throw new RuntimeException("Failed to create " + e.getMessage());
}
}
0
Cuestiones relacionadas
- 1. Android audio: cambie el tono
- 2. ¿Cómo grabo audio con Android 1.5?
- 3. playbackRate en AUDIO y tono
- 4. Reconociendo el tono del audio
- 5. Android Audio - Streaming generador de tono sinusoidal comportamiento impar
- 6. Modificar el tono de audio del clip grabado (m4v)
- 7. Python: Cambiar el tono del archivo de audio
- 8. ¿Cómo grabo simultáneamente el audio de cada micrófono de una matriz de micrófonos en un buffer separado en Android?
- 9. Procesamiento de audio - Reconocimiento de tono
- 10. Reproducir tono estéreo en android
- 11. Ajuste de tono en Android
- 12. Android tono de ajuste de Froyo
- 13. Micrófono Android para seleccionar un tono específico
- 14. ¿Cómo grabo video en un disco local en AIR?
- 15. Buscar tono de voz en Android
- 16. configuración de archivo de audio como tono de llamada
- 17. Cómo reproducir tono de llamada/sonido de alarma en Android
- 18. C# Audio - ¿Cómo alargar la duración (diferente ritmo, el mismo tono)
- 19. Audio en el iPhone
- 20. ¿Cómo puedo eliminar el ruido de fondo con java, mientras grabo audio en una zona de multitud?
- 21. Cómo combinar archivos de audio y video en Android
- 22. Android cambia el audio de cualquier archivo de video
- 23. Android - Audio múltiple y simultáneo Streaming
- 24. Html Audio en Android Webview
- 25. porting pulse audio en Android
- 26. cómo reproducir archivos de audio en android
- 27. cómo configurar el ecualizador de audio en android
- 28. incrementar el tono de programación de una serie de muestras de audio
- 29. Desplazamiento de tono en tiempo real en el iPhone
- 30. Cómo utilizar una unidad de audio en el iPhone