diff --git a/audio/paddleaudio/_ops.py b/audio/paddleaudio/_ops.py deleted file mode 100644 index 3e1524f68..000000000 --- a/audio/paddleaudio/_ops.py +++ /dev/null @@ -1,63 +0,0 @@ -import contextlib -import ctypes -import os -import sys -import types - -# Query `hasattr` only once. -_SET_GLOBAL_FLAGS = hasattr(sys, 'getdlopenflags') and hasattr(sys, - 'setdlopenflags') - - -@contextlib.contextmanager -def dl_open_guard(): - """ - # https://manpages.debian.org/bullseye/manpages-dev/dlopen.3.en.html - Context manager to set the RTLD_GLOBAL dynamic linker flag while we open a - shared library to load custom operators. - """ - if _SET_GLOBAL_FLAGS: - old_flags = sys.getdlopenflags() - sys.setdlopenflags(old_flags | ctypes.RTLD_GLOBAL) - yield - if _SET_GLOBAL_FLAGS: - sys.setdlopenflags(old_flags) - - -def resolve_library_path(path: str) -> str: - return os.path.realpath(path) - - -class _Ops(types.ModuleType): - __file__ = '_ops.py' - - def __init__(self): - super(_Ops, self).__init__('paddleaudio.ops') - self.loaded_libraries = set() - - def load_library(self, path): - """ - Loads a shared library from the given path into the current process. - This allows dynamically loading custom operators. For this, - you should compile your operator and - the static registration code into a shared library object, and then - call ``paddleaudio.ops.load_library('path/to/libcustom.so')`` to load the - shared object. - After the library is loaded, it is added to the - ``paddleaudio.ops.loaded_libraries`` attribute, a set that may be inspected - for the paths of all libraries loaded using this function. - Args: - path (str): A path to a shared library to load. - """ - path = resolve_library_path(path) - with dl_open_guard(): - # https://docs.python.org/3/library/ctypes.html?highlight=ctypes#loading-shared-libraries - # Import the shared library into the process, thus running its - # static (global) initialization code in order to register custom - # operators with the JIT. - ctypes.CDLL(path) - self.loaded_libraries.add(path) - - -# The ops "namespace" -ops = _Ops() diff --git a/audio/paddleaudio/io/__init__.py b/audio/paddleaudio/io/__init__.py deleted file mode 100644 index 185a92b8d..000000000 --- a/audio/paddleaudio/io/__init__.py +++ /dev/null @@ -1,13 +0,0 @@ -# Copyright (c) 2021 PaddlePaddle Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. diff --git a/audio/paddleaudio/src/pybind/pybind.cpp b/audio/paddleaudio/src/pybind/pybind.cpp index 4d35dc80f..c4dfa8d51 100644 --- a/audio/paddleaudio/src/pybind/pybind.cpp +++ b/audio/paddleaudio/src/pybind/pybind.cpp @@ -1,4 +1,3 @@ -// Copyright (c) 2017 Facebook Inc. (Soumith Chintala), All rights reserved. // Copyright (c) 2022 PaddlePaddle Authors. All Rights Reserved. #include "paddleaudio/src/pybind/kaldi/kaldi_feature.h" diff --git a/audio/paddleaudio/src/pybind/sox/utils.cpp b/audio/paddleaudio/src/pybind/sox/utils.cpp index 7a6a55578..bc32b7407 100644 --- a/audio/paddleaudio/src/pybind/sox/utils.cpp +++ b/audio/paddleaudio/src/pybind/sox/utils.cpp @@ -546,96 +546,5 @@ sox_encodinginfo_t get_encodinginfo_for_save( /*opposite_endian=*/sox_false}; } - -/* -SoxFormat::SoxFormat(sox_format_t *fd) noexcept : fd_(fd) {} -SoxFormat::~SoxFormat() { close(); } - -sox_format_t *SoxFormat::operator->() const noexcept { return fd_; } -SoxFormat::operator sox_format_t *() const noexcept { return fd_; } - -void SoxFormat::close() { - if (fd_ != nullptr) { - sox_close(fd_); - fd_ = nullptr; - } -} - -auto read_fileobj(py::object *fileobj, const uint64_t size, char *buffer) - -> uint64_t { - uint64_t num_read = 0; - while (num_read < size) { - auto request = size - num_read; - auto chunk = static_cast( - static_cast(fileobj->attr("read")(request))); - auto chunk_len = chunk.length(); - if (chunk_len == 0) { - break; - } - if (chunk_len > request) { - std::ostringstream message; - message - << "Requested up to " << request << " bytes but, " - << "received " << chunk_len << " bytes. " - << "The given object does not confirm to read protocol of file " - "object."; - throw std::runtime_error(message.str()); - } - memcpy(buffer, chunk.data(), chunk_len); - buffer += chunk_len; - num_read += chunk_len; - } - return num_read; -} - -int64_t get_buffer_size() { return sox_get_globals()->bufsiz; } - -void validate_input_file(const SoxFormat &sf, const std::string &path) { - if (static_cast(sf) == nullptr) { - throw std::runtime_error( - "Error loading audio file: failed to open file " + path); - } - if (sf->encoding.encoding == SOX_ENCODING_UNKNOWN) { - throw std::runtime_error("Error loading audio file: unknown encoding."); - } -} - -void validate_input_memfile(const SoxFormat &sf) { - return validate_input_file(sf, ""); -} - -std::string get_encoding(sox_encoding_t encoding) { - switch (encoding) { - case SOX_ENCODING_UNKNOWN: - return "UNKNOWN"; - case SOX_ENCODING_SIGN2: - return "PCM_S"; - case SOX_ENCODING_UNSIGNED: - return "PCM_U"; - case SOX_ENCODING_FLOAT: - return "PCM_F"; - case SOX_ENCODING_FLAC: - return "FLAC"; - case SOX_ENCODING_ULAW: - return "ULAW"; - case SOX_ENCODING_ALAW: - return "ALAW"; - case SOX_ENCODING_MP3: - return "MP3"; - case SOX_ENCODING_VORBIS: - return "VORBIS"; - case SOX_ENCODING_AMR_WB: - return "AMR_WB"; - case SOX_ENCODING_AMR_NB: - return "AMR_NB"; - case SOX_ENCODING_OPUS: - return "OPUS"; - case SOX_ENCODING_GSM: - return "GSM"; - default: - return "UNKNOWN"; - } -} -*/ } // namespace paddleaudio } // namespace sox_utils