Skip to content

Commit 5d2cc33

Browse files
author
kkm
committed
Set binary mode for binary I/O for Windows, where it matters.
Pipe all commands through cygwin bash shell, so proper commands are invoked. Handle minimum subset of cygwin-formatted unix paths on Windows. Parent track: d79a8c9 P 4638962 C 3b67707 C bd8e180 C 7d46558 C f27d74e C
1 parent 1cc30dc commit 5d2cc33

12 files changed

+177
-44
lines changed

src/bin/add-self-loops.cc

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,12 @@ int main(int argc, char *argv[]) {
7272
if (fst_in_filename == "-") fst_in_filename = "";
7373
std::string fst_out_filename = po.GetOptArg(3);
7474
if (fst_out_filename == "-") fst_out_filename = "";
75-
75+
#if _MSC_VER
76+
if (fst_in_filename == "")
77+
_setmode(_fileno(stdin), _O_BINARY);
78+
if (fst_out_filename == "")
79+
_setmode(_fileno(stdout), _O_BINARY);
80+
#endif
7681

7782
std::vector<int32> disambig_syms_in;
7883
if (disambig_in_filename != "") {

src/bin/make-h-transducer.cc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,10 @@ int main(int argc, char *argv[]) {
8282
trans_model,
8383
hcfg,
8484
&disambig_syms_out);
85+
#if _MSC_VER
86+
if (fst_out_filename == "")
87+
_setmode(_fileno(stdout), _O_BINARY);
88+
#endif
8589

8690
if (disambig_out_filename != "") { // if option specified..
8791
if (disambig_out_filename == "-")

src/bin/make-ilabel-transducer.cc

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,11 @@ int main(int argc, char *argv[]) {
120120
VectorFst<StdArc> map_fst;
121121
CreateMapFst(old2new_mapping, &map_fst);
122122

123+
#if _MSC_VER
124+
if (fst_out_filename == "")
125+
_setmode(_fileno(stdout), _O_BINARY);
126+
#endif
127+
123128
if (!map_fst.Write(fst_out_filename)) {
124129
KALDI_ERR << "Error writing output fst to "
125130
<< (fst_out_filename == "" ? " standard output "

src/bin/make-pdf-to-tid-transducer.cc

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,6 @@
2323

2424

2525
int main(int argc, char *argv[]) {
26-
#ifdef _MSC_VER
27-
if (0) {
28-
fst::VectorFst<fst::StdArc> *fst = NULL;
29-
fst->Write("");
30-
}
31-
#endif
3226
try {
3327
using namespace kaldi;
3428
typedef kaldi::int32 int32;
@@ -58,6 +52,11 @@ int main(int argc, char *argv[]) {
5852

5953
fst::VectorFst<fst::StdArc> *fst = GetPdfToTransitionIdTransducer(trans_model);
6054

55+
#if _MSC_VER
56+
if (fst_out_filename == "")
57+
_setmode(_fileno(stdout), _O_BINARY);
58+
#endif
59+
6160
if (!fst->Write(fst_out_filename))
6261
KALDI_ERR << "Error writing fst to "
6362
<< (fst_out_filename == "" ? "standard output" : fst_out_filename);

src/feat/feature-fbank-test.cc

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ static void UnitTestReadWave() {
3838
std::cout << "<<<=== Reading waveform\n";
3939

4040
{
41-
std::ifstream is("test_data/test.wav");
41+
std::ifstream is("test_data/test.wav", std::ios_base::binary);
4242
WaveData wave;
4343
wave.Read(is);
4444
const Matrix<BaseFloat> data(wave.Data());
@@ -112,7 +112,7 @@ static void UnitTestSimple() {
112112
static void UnitTestHTKCompare1() {
113113
std::cout << "=== UnitTestHTKCompare1() ===\n";
114114

115-
std::ifstream is("test_data/test.wav");
115+
std::ifstream is("test_data/test.wav", std::ios_base::binary);
116116
WaveData wave;
117117
wave.Read(is);
118118
KALDI_ASSERT(wave.Data().NumRows() == 1);
@@ -193,7 +193,7 @@ static void UnitTestHTKCompare1() {
193193
static void UnitTestHTKCompare2() {
194194
std::cout << "=== UnitTestHTKCompare2() ===\n";
195195

196-
std::ifstream is("test_data/test.wav");
196+
std::ifstream is("test_data/test.wav", std::ios_base::binary);
197197
WaveData wave;
198198
wave.Read(is);
199199
KALDI_ASSERT(wave.Data().NumRows() == 1);
@@ -273,7 +273,7 @@ static void UnitTestHTKCompare2() {
273273
static void UnitTestHTKCompare3() {
274274
std::cout << "=== UnitTestHTKCompare3() ===\n";
275275

276-
std::ifstream is("test_data/test.wav");
276+
std::ifstream is("test_data/test.wav", std::ios_base::binary);
277277
WaveData wave;
278278
wave.Read(is);
279279
KALDI_ASSERT(wave.Data().NumRows() == 1);
@@ -359,7 +359,7 @@ static void UnitTestHTKCompare3() {
359359
static void UnitTestHTKCompare4() {
360360
std::cout << "=== UnitTestHTKCompare4() ===\n";
361361

362-
std::ifstream is("test_data/test.wav");
362+
std::ifstream is("test_data/test.wav", std::ios_base::binary);
363363
WaveData wave;
364364
wave.Read(is);
365365
KALDI_ASSERT(wave.Data().NumRows() == 1);

src/feat/feature-mfcc-test.cc

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ static void UnitTestReadWave() {
3838
std::cout << "<<<=== Reading waveform\n";
3939

4040
{
41-
std::ifstream is("test_data/test.wav");
41+
std::ifstream is("test_data/test.wav", std::ios_base::binary);
4242
WaveData wave;
4343
wave.Read(is);
4444
const Matrix<BaseFloat> data(wave.Data());
@@ -112,7 +112,7 @@ static void UnitTestSimple() {
112112
static void UnitTestHTKCompare1() {
113113
std::cout << "=== UnitTestHTKCompare1() ===\n";
114114

115-
std::ifstream is("test_data/test.wav");
115+
std::ifstream is("test_data/test.wav", std::ios_base::binary);
116116
WaveData wave;
117117
wave.Read(is);
118118
KALDI_ASSERT(wave.Data().NumRows() == 1);
@@ -196,7 +196,7 @@ static void UnitTestHTKCompare1() {
196196
static void UnitTestHTKCompare2() {
197197
std::cout << "=== UnitTestHTKCompare2() ===\n";
198198

199-
std::ifstream is("test_data/test.wav");
199+
std::ifstream is("test_data/test.wav", std::ios_base::binary);
200200
WaveData wave;
201201
wave.Read(is);
202202
KALDI_ASSERT(wave.Data().NumRows() == 1);
@@ -280,7 +280,7 @@ static void UnitTestHTKCompare2() {
280280
static void UnitTestHTKCompare3() {
281281
std::cout << "=== UnitTestHTKCompare3() ===\n";
282282

283-
std::ifstream is("test_data/test.wav");
283+
std::ifstream is("test_data/test.wav", std::ios_base::binary);
284284
WaveData wave;
285285
wave.Read(is);
286286
KALDI_ASSERT(wave.Data().NumRows() == 1);
@@ -365,7 +365,7 @@ static void UnitTestHTKCompare3() {
365365
static void UnitTestHTKCompare4() {
366366
std::cout << "=== UnitTestHTKCompare4() ===\n";
367367

368-
std::ifstream is("test_data/test.wav");
368+
std::ifstream is("test_data/test.wav", std::ios_base::binary);
369369
WaveData wave;
370370
wave.Read(is);
371371
KALDI_ASSERT(wave.Data().NumRows() == 1);
@@ -448,7 +448,7 @@ static void UnitTestHTKCompare4() {
448448
static void UnitTestHTKCompare5() {
449449
std::cout << "=== UnitTestHTKCompare5() ===\n";
450450

451-
std::ifstream is("test_data/test.wav");
451+
std::ifstream is("test_data/test.wav", std::ios_base::binary);
452452
WaveData wave;
453453
wave.Read(is);
454454
KALDI_ASSERT(wave.Data().NumRows() == 1);
@@ -536,7 +536,7 @@ static void UnitTestHTKCompare6() {
536536
std::cout << "=== UnitTestHTKCompare6() ===\n";
537537

538538

539-
std::ifstream is("test_data/test.wav");
539+
std::ifstream is("test_data/test.wav", std::ios_base::binary);
540540
WaveData wave;
541541
wave.Read(is);
542542
KALDI_ASSERT(wave.Data().NumRows() == 1);

src/feat/feature-plp-test.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ static void UnitTestSimple() {
7171
static void UnitTestHTKCompare1() {
7272
std::cout << "=== UnitTestHTKCompare1() ===\n";
7373

74-
std::ifstream is("test_data/test.wav");
74+
std::ifstream is("test_data/test.wav", std::ios_base::binary);
7575
WaveData wave;
7676
wave.Read(is);
7777
KALDI_ASSERT(wave.Data().NumRows() == 1);

src/feat/feature-sdc-test.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ static void UnitTestEndEffects(Matrix<BaseFloat> &raw_features, int32 window,
131131
}
132132

133133
int main() {
134-
std::ifstream is("test_data/test.wav");
134+
std::ifstream is("test_data/test.wav", std::ios_base::binary);
135135
WaveData wave;
136136
wave.Read(is);
137137
KALDI_ASSERT(wave.Data().NumRows() == 1);

src/feat/online-feature-test.cc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ void TestOnlineSpliceFrames() {
154154
}
155155

156156
void TestOnlineMfcc() {
157-
std::ifstream is("../feat/test_data/test.wav");
157+
std::ifstream is("../feat/test_data/test.wav", std::ios_base::binary);
158158
WaveData wave;
159159
wave.Read(is);
160160
KALDI_ASSERT(wave.Data().NumRows() == 1);
@@ -202,7 +202,7 @@ void TestOnlineMfcc() {
202202
}
203203

204204
void TestOnlinePlp() {
205-
std::ifstream is("../feat/test_data/test.wav");
205+
std::ifstream is("../feat/test_data/test.wav", std::ios_base::binary);
206206
WaveData wave;
207207
wave.Read(is);
208208
KALDI_ASSERT(wave.Data().NumRows() == 1);
@@ -250,7 +250,7 @@ void TestOnlinePlp() {
250250
}
251251

252252
void TestOnlineTransform() {
253-
std::ifstream is("../feat/test_data/test.wav");
253+
std::ifstream is("../feat/test_data/test.wav", std::ios_base::binary);
254254
WaveData wave;
255255
wave.Read(is);
256256
KALDI_ASSERT(wave.Data().NumRows() == 1);
@@ -293,7 +293,7 @@ void TestOnlineTransform() {
293293
}
294294

295295
void TestOnlineAppendFeature() {
296-
std::ifstream is("../feat/test_data/test.wav");
296+
std::ifstream is("../feat/test_data/test.wav", std::ios_base::binary);
297297
WaveData wave;
298298
wave.Read(is);
299299
KALDI_ASSERT(wave.Data().NumRows() == 1);

src/feat/pitch-functions-test.cc

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -291,7 +291,7 @@ static void UnitTestKeele() {
291291
wavefile = "keele/16kHz/"+num+".wav";
292292
}
293293
KALDI_LOG << "--- " << wavefile << " ---";
294-
std::ifstream is(wavefile.c_str());
294+
std::ifstream is(wavefile.c_str(), std::ios_base::binary);
295295
WaveData wave;
296296
wave.Read(is);
297297
KALDI_ASSERT(wave.Data().NumRows() == 1);
@@ -323,7 +323,7 @@ static void UnitTestPenaltyFactor() {
323323
wavefile = "keele/16kHz/"+num+".wav";
324324
}
325325
KALDI_LOG << "--- " << wavefile << " ---";
326-
std::ifstream is(wavefile.c_str());
326+
std::ifstream is(wavefile.c_str(), std::ios_base::binary);
327327
WaveData wave;
328328
wave.Read(is);
329329
KALDI_ASSERT(wave.Data().NumRows() == 1);
@@ -356,7 +356,7 @@ static void UnitTestKeeleNccfBallast() {
356356
wavefile = "keele/16kHz/"+num+".wav";
357357
}
358358
KALDI_LOG << "--- " << wavefile << " ---";
359-
std::ifstream is(wavefile.c_str());
359+
std::ifstream is(wavefile.c_str(), std::ios_base::binary);
360360
WaveData wave;
361361
wave.Read(is);
362362
KALDI_ASSERT(wave.Data().NumRows() == 1);
@@ -394,7 +394,7 @@ static void UnitTestPitchExtractionSpeed() {
394394
wavefile = "keele/16kHz/"+num+".wav";
395395
}
396396
KALDI_LOG << "--- " << wavefile << " ---";
397-
std::ifstream is(wavefile.c_str());
397+
std::ifstream is(wavefile.c_str(), std::ios_base::binary);
398398
WaveData wave;
399399
wave.Read(is);
400400
KALDI_ASSERT(wave.Data().NumRows() == 1);
@@ -427,7 +427,7 @@ static void UnitTestPitchExtractorCompareKeele() {
427427
wavefile = "keele/16kHz/"+num+".wav";
428428
}
429429
KALDI_LOG << "--- " << wavefile << " ---";
430-
std::ifstream is(wavefile.c_str());
430+
std::ifstream is(wavefile.c_str(), std::ios_base::binary);
431431
WaveData wave;
432432
wave.Read(is);
433433
KALDI_ASSERT(wave.Data().NumRows() == 1);
@@ -461,7 +461,7 @@ void UnitTestDiffSampleRate() {
461461
wavefile = "keele/"+samp_rate+"kHz/"+num+".wav";
462462
}
463463
KALDI_LOG << "--- " << wavefile << " ---";
464-
std::ifstream is(wavefile.c_str());
464+
std::ifstream is(wavefile.c_str(), std::ios_base::binary);
465465
WaveData wave;
466466
wave.Read(is);
467467
KALDI_ASSERT(wave.Data().NumRows() == 1);
@@ -485,7 +485,7 @@ void UnitTestProcess() {
485485
wavefile = "keele/16kHz/"+num+".wav";
486486
}
487487
KALDI_LOG << "--- " << wavefile << " ---";
488-
std::ifstream is(wavefile.c_str());
488+
std::ifstream is(wavefile.c_str(), std::ios_base::binary);
489489
WaveData wave;
490490
wave.Read(is);
491491
KALDI_ASSERT(wave.Data().NumRows() == 1);

0 commit comments

Comments
 (0)