@@ -9,6 +9,24 @@ WavFileWrapper WavFileWrapper::load_wav_file(const char *filename) {
9
9
return WavFileWrapper (&pcmf32, &pcmf32s);
10
10
}
11
11
12
+ std::vector<std::vector<float >> load_wav_file_stereo (const char *filename) {
13
+ std::vector<float > pcmf32;
14
+ std::vector<std::vector<float >> pcmf32s;
15
+ if (!::read_wav (filename, pcmf32, pcmf32s, true )) {
16
+ throw std::runtime_error (" Failed to load wav file" );
17
+ }
18
+ return pcmf32s;
19
+ }
20
+
21
+ std::vector<float > load_wav_file_mono (const char *filename) {
22
+ std::vector<float > pcmf32;
23
+ std::vector<std::vector<float >> pcmf32s;
24
+ if (!::read_wav (filename, pcmf32, pcmf32s, false )) {
25
+ throw std::runtime_error (" Failed to load wav file" );
26
+ }
27
+ return pcmf32;
28
+ }
29
+
12
30
namespace py = pybind11;
13
31
using namespace pybind11 ::literals;
14
32
@@ -58,6 +76,12 @@ PYBIND11_MODULE(api_cpp2py_export, m) {
58
76
whisper_sampling_strategy::WHISPER_SAMPLING_BEAM_SEARCH)
59
77
.export_values ();
60
78
79
+ m.def (" load_wav_file_stereo" , load_wav_file_stereo, " filename" _a,
80
+ py::return_value_policy::reference);
81
+
82
+ m.def (" load_wav_file_mono" , load_wav_file_mono, " filename" _a,
83
+ py::return_value_policy::reference);
84
+
61
85
m.def (" load_wav_file" , &WavFileWrapper::load_wav_file, " filename" _a,
62
86
py::return_value_policy::reference);
63
87
0 commit comments