Как реализовать сдвиг высоты звука в Android с помощью библиотеки Rubber Band?Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Как реализовать сдвиг высоты звука в Android с помощью библиотеки Rubber Band?

Сообщение Anonymous »

Я работаю над приложением для Android для изменения высоты тона и столкнулся с некоторыми проблемами. Сначала я пробовал использовать Superpowered, но столкнулся с проблемами искажения звука при изменении высоты тона. Теперь я пытаюсь создать и использовать библиотеку Rubber Band для Android. Однако предоставленные примеры довольно устарели, и я также без особого успеха исследовал другие сторонние примеры с открытым исходным кодом — они либо не поддерживаются, либо основаны на очень старом коде.
Я новичок в работе с собственным кодом в Android, поэтому могу упустить что-то фундаментальное. Может ли кто-нибудь объяснить мне, как шаг за шагом интегрировать библиотеку Rubber Band в мое приложение для Android?
Вот ссылка на библиотеку Rubber Band, которую я пытаюсь создать: Ссылка на Github.
Я попытался собрать файл .mk с помощью команды ndk-build, но, поскольку ссылка сильно устарела, я обнаружил множество ошибок. Кроме того, с тех пор библиотека Rubber Band претерпела множество обновлений, что может способствовать возникновению проблем.

Вот файл android.mk, который я использую.
LOCAL_PATH := $(call my-dir)/..
LOCAL_MODULE := rubberband
LOCAL_MODULE_FILENAME := librubberband-jni

RUBBERBAND_PATH := $(LOCAL_PATH)
RUBBERBAND_SRC_PATH := $(RUBBERBAND_PATH)/src

LOCAL_C_INCLUDES := $(LOCAL_PATH) $(LOCAL_PATH)/src

LOCAL_CFLAGS := \
-Wall \
-I$(RUBBERBAND_PATH) \
-I$(RUBBERBAND_SRC_PATH) \
-DUSE_SPEEX \
-DUSE_KISSFFT \
-DPROCESS_SAMPLE_TYPE=float \
-DLACK_POSIX_MEMALIGN \
-DUSE_OWN_ALIGNED_MALLOC \
-DLACK_SINCOS \
-DNO_EXCEPTIONS \
-DNO_THREADING \
-DNO_THREAD_CHECKS

RUBBERBAND_JNI_FILES := \
$(RUBBERBAND_SRC_PATH)/jni/RubberBandStretcherJNI.cpp

RUBBERBAND_SRC_FILES := \
$(RUBBERBAND_SRC_PATH)/base/Profiler.cpp \
$(RUBBERBAND_SRC_PATH)/system/Thread.cpp \
$(RUBBERBAND_SRC_PATH)/system/Allocators.cpp \
$(RUBBERBAND_SRC_PATH)/system/sysutils.cpp \
$(RUBBERBAND_SRC_PATH)/system/VectorOpsComplex.cpp \
$(RUBBERBAND_SRC_PATH)/StretcherChannelData.cpp \
$(RUBBERBAND_SRC_PATH)/dsp/AudioCurveCalculator.cpp \
$(RUBBERBAND_SRC_PATH)/dsp/FFT.cpp \
$(RUBBERBAND_SRC_PATH)/dsp/Resampler.cpp \
$(RUBBERBAND_SRC_PATH)/audiocurves/SilentAudioCurve.cpp \
$(RUBBERBAND_SRC_PATH)/audiocurves/CompoundAudioCurve.cpp \
$(RUBBERBAND_SRC_PATH)/audiocurves/HighFrequencyAudioCurve.cpp \
$(RUBBERBAND_SRC_PATH)/audiocurves/SpectralDifferenceAudioCurve.cpp \
$(RUBBERBAND_SRC_PATH)/audiocurves/ConstantAudioCurve.cpp \
$(RUBBERBAND_SRC_PATH)/audiocurves/PercussiveAudioCurve.cpp \
$(RUBBERBAND_SRC_PATH)/StretcherImpl.cpp \
$(RUBBERBAND_SRC_PATH)/StretcherProcess.cpp \
$(RUBBERBAND_SRC_PATH)/StretchCalculator.cpp \
$(RUBBERBAND_SRC_PATH)/RubberBandStretcher.cpp \
$(RUBBERBAND_SRC_PATH)/speex/resample.c

LOCAL_SRC_FILES += \
$(RUBBERBAND_JNI_FILES) \
$(RUBBERBAND_SRC_FILES)

LOCAL_SRC_FILES += \
$(RUBBERBAND_SRC_PATH)/kissfft/kiss_fft.c \
$(RUBBERBAND_SRC_PATH)/kissfft/kiss_fftr.c

ifeq ($(TARGET_ARCH_ABI), x86_64)
LOCAL_CFLAGS += \
-O3 \
-DUSE_POMMIER_MATHFUN \
-DNO_TIMING \
-DNO_TIMING_COMPLETE_NOOP

endif

ifeq ($(TARGET_ARCH_ABI), arm64-v8a)
LOCAL_CFLAGS += \
-O3 \
-DUSE_POMMIER_MATHFUN \
-DNO_TIMING \
-DNO_TIMING_COMPLETE_NOOP

endif

ifeq ($(TARGET_ARCH_ABI), armeabi-v7a)
LOCAL_CFLAGS += \
-O3 \
-mfpu=neon \
-mfloat-abi=softfp \
-ffast-math \
-ftree-vectorize \
-freciprocal-math \
-fsingle-precision-constant \
-D__ARM_ARCH_7__ \
-DARM_RUNFAST \
-DUSE_POMMIER_MATHFUN \
-DNO_TIMING \
-DNO_TIMING_COMPLETE_NOOP

LOCAL_ARM_MODE := arm
LOCAL_ARM_NEON := true
endif

ifeq ($(TARGET_ARCH_ABI), armeabi)
LOCAL_CFLAGS += \
-O3 \
-DNO_TIMING \
-DNO_TIMING_COMPLETE_NOOP

LOCAL_ARM_MODE := arm
LOCAL_ARM_NEON := false
endif

LOCAL_LDLIBS += -llog

include $(BUILD_SHARED_LIBRARY)


Подробнее здесь: https://stackoverflow.com/questions/788 ... nd-library
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Подключите ESP32 к умным часам Mi Band 6.
    Anonymous » » в форуме C++
    0 Ответы
    37 Просмотры
    Последнее сообщение Anonymous
  • Mi Band 3 шага андроид
    Anonymous » » в форуме Android
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • JasperReports не заполняет данные от jrbeancollectiondatasource в The Detail Band
    Anonymous » » в форуме Javascript
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Как получить частоту сердечных сокращений в режиме реального времени и подсчет шагов от Smart Band 9 Active в приложении
    Anonymous » » в форуме Android
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Могу ли я исправить совокупный сдвиг макета, не зная ширины и высоты изображения?
    Anonymous » » в форуме Html
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Android»