¿Biblioteca de sonido nativa en Android que puede cambiar de tono?

Estoy confundido en cuanto a cómo establecer la afinación nativa en Android. Intenté alterar la muestra de sonido nativo del NDK que usa OpenSL ES, pero obtengo un SL_RESULT_FEATURE_UNSUPPORTED para prácticamente cualquier cosa relacionada con la afinación al solicitar la interfaz. Interfaces intentados: SL_IID_PITCH, SL_IID_RATEPITCH, SL_3DDOPPLER

// create audio player const SLInterfaceID ids[3] = { SL_IID_BUFFERQUEUE, SL_IID_PITCH, SL_IID_VOLUME}; const SLboolean req[3] = {SL_BOOLEAN_TRUE, SL_BOOLEAN_TRUE, SL_BOOLEAN_TRUE}; result = (*engineEngine)->CreateAudioPlayer(engineEngine, &bqPlayerObject, &audioSrc, &audioSnk, 3, ids, req); assert(SL_RESULT_SUCCESS == result); 

El resultado es siempre SL_RESULT_UNSUPPORTED

Mi objetivo es android-19. He intentado muchos otros también en vano. ¿Estoy haciendo algo mal? ¿Existe alguna alternativa que no requiera el uso de Java?

¡Gracias!

Android tiene una implementación mínima de OpenSL, y ninguna de esas interfaces son compatibles. Puede encontrar una descripción de lo que se admite (y lo que se ha agregado) en los documentos de NDK, o aquí – el enlace es exactamente el mismo que la documentación del NDK.

Desafortunadamente, no hay alternativa fácil además de escribir su propio algoritmo para alterar los datos de PCM.

El Synthesis ToolKit (STK) tiene un efecto de cambio de tono que puede funcionar para usted. https://ccrma.stanford.edu/software/stk/

Como señaló Dave, no hay solución nativa. En la actualidad, yo diría que Android no es el lugar para buscar un buen soporte de audio nativo.

  • RecorderObject en OpenSL no implementa la interfaz para configurar el volumen o configurarlo en Android
  • ¿Es posible tener acceso a la señal del altavoz en Android?
  • Descodificador AES OpenSL ES de Android
  • ¿Qué es SLDataLocator_AndroidSimpleBufferQueue (Android 4.3)?
  • Cómo convertir voz humana a nota musical en Android?
  • OpenSL ES en Android con SL_ANDROID_STREAM_VOICE. La entrada de micrófono es extremadamente baja
  • attachAuxEffect y OpenSL ES
  • Redirigir audio / crear rutas de sonido alternativas en Android
  • Vinculación con la biblioteca actualizada en Android
  • Cómo medir la latencia de audio con OpenSL en Android?
  • Android con Nexus 6 - ¿cómo evitar la disminución de la prioridad de audio de OpenSL en relación con el enfoque de la aplicación?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.