Fix function signature
Browse files
ext-torch/torch_binding.cpp
CHANGED
|
@@ -5,7 +5,7 @@
|
|
| 5 |
|
| 6 |
|
| 7 |
TORCH_LIBRARY_EXPAND(TORCH_EXTENSION_NAME, ops) {
|
| 8 |
-
ops.def("mel_spectrogram(Tensor out, Tensor samples, Tensor filters,
|
| 9 |
ops.impl("mel_spectrogram", torch::kCUDA, &mel_spectrogram);
|
| 10 |
}
|
| 11 |
|
|
|
|
| 5 |
|
| 6 |
|
| 7 |
TORCH_LIBRARY_EXPAND(TORCH_EXTENSION_NAME, ops) {
|
| 8 |
+
ops.def("mel_spectrogram(Tensor! out, Tensor samples, Tensor filters, int fft_size, int fft_step) -> ()", &mel_spectrogram);
|
| 9 |
ops.impl("mel_spectrogram", torch::kCUDA, &mel_spectrogram);
|
| 10 |
}
|
| 11 |
|
ext-torch/torch_binding.h
CHANGED
|
@@ -3,8 +3,8 @@
|
|
| 3 |
#include <torch/torch.h>
|
| 4 |
|
| 5 |
void mel_spectrogram(
|
| 6 |
-
torch::Tensor out,
|
| 7 |
-
torch::Tensor samples,
|
| 8 |
-
torch::Tensor filters,
|
| 9 |
int64_t fft_size,
|
| 10 |
-
int64_t fft_step);
|
|
|
|
| 3 |
#include <torch/torch.h>
|
| 4 |
|
| 5 |
void mel_spectrogram(
|
| 6 |
+
torch::Tensor &out,
|
| 7 |
+
torch::Tensor const &samples,
|
| 8 |
+
torch::Tensor const &filters,
|
| 9 |
int64_t fft_size,
|
| 10 |
+
int64_t fft_step);
|
mel_spectrogram/mel_spectrogram.cu
CHANGED
|
@@ -100,11 +100,11 @@ __global__ void normalize_mel_spec_kernel(
|
|
| 100 |
}
|
| 101 |
|
| 102 |
void mel_spectrogram(
|
| 103 |
-
torch::Tensor
|
| 104 |
-
torch::Tensor
|
| 105 |
-
torch::Tensor
|
| 106 |
-
const
|
| 107 |
-
const
|
| 108 |
|
| 109 |
TORCH_CHECK(samples.is_cuda(), "Input samples must be a CUDA tensor");
|
| 110 |
TORCH_CHECK(filters.is_cuda(), "Mel filters must be a CUDA tensor");
|
|
@@ -160,4 +160,4 @@ void mel_spectrogram(
|
|
| 160 |
n_frames);
|
| 161 |
|
| 162 |
cufftDestroy(plan);
|
| 163 |
-
}
|
|
|
|
| 100 |
}
|
| 101 |
|
| 102 |
void mel_spectrogram(
|
| 103 |
+
torch::Tensor &out, // [n_mel, n_frames]
|
| 104 |
+
torch::Tensor const &samples, // [n_samples]
|
| 105 |
+
torch::Tensor const &filters, // [n_mel, n_fft]
|
| 106 |
+
const int64_t fft_size,
|
| 107 |
+
const int64_t fft_step) {
|
| 108 |
|
| 109 |
TORCH_CHECK(samples.is_cuda(), "Input samples must be a CUDA tensor");
|
| 110 |
TORCH_CHECK(filters.is_cuda(), "Mel filters must be a CUDA tensor");
|
|
|
|
| 160 |
n_frames);
|
| 161 |
|
| 162 |
cufftDestroy(plan);
|
| 163 |
+
}
|