Closed Ayushi113 closed 4 years ago
Hello, not sure of the nature of the problem. What exact message do you get, when you try the 'write_mat(...)' with the 'key' in it?
The problem seems to be here : https://github.com/vesis84/kaldi-io-for-python/blob/master/kaldi_io/kaldi_io.py#L476 And we need to figure out how to fix it. (Maybe you need to cast the key to some type, or something?)
this issue was abandoned by the reporter...
Hi, I'm working with python 3.5.2, and I am using a virtualenv to run kaldi_io. I'm trying to use this sample:
import kaldi_io ark_scp_output='ark:| copy-feats --compress=true ark:- ark,scp:data/feats2.ark,data/feats2.scp' with kaldi_io.open_or_fd(ark_scp_output,'wb') as f:
for key,mat in dict.iteritems():
kaldi_io.write_mat(f, mat, key=key)My dict is a csv file, such that the first column is utt-id, and the 2nd column is the feature. This feature is in a 2-D (1x1) numpy matrix format. I have 2 problems: a) In using key, string type is not supported. Since that is an optional argument, I just didn't pass it. But I know it will be important.
b) In using open_or_fd, I'm getting the following error: RROR (copy-feats[5.4.176~1-be967]:Read():kaldi-matrix.cc:1616) Failed to read matrix from stream. : Expected "[", got "
[ Stack-Trace: ]
kaldi::MessageLogger::HandleMessage(kaldi::LogMessageEnvelope const&, char const*) kaldi::MessageLogger::~MessageLogger() kaldi::Matrix::Read(std::istream&, bool, bool)
kaldi::KaldiObjectHolder<kaldi::Matrix >::Read(std::istream&)
kaldi::SequentialTableReaderArchiveImpl<kaldi::KaldiObjectHolder<kaldi::Matrix > >::Next()
kaldi::SequentialTableReaderArchiveImpl<kaldi::KaldiObjectHolder<kaldi::Matrix > >::Open(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&)
kaldi::SequentialTableReader<kaldi::KaldiObjectHolder<kaldi::Matrix > >::Open(std:: cxx11::basic_string<char, std::char_traits, std::allocator > const&)
kaldi::SequentialTableReader<kaldi::KaldiObjectHolder<kaldi::Matrix > >::SequentialTableReader(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&)
main
libc_start_main
_start
WARNING (copy-feats[5.4.176~1-be967]:Read():util/kaldi-holder-inl.h:84) Exception caught reading Table object. WARNING (copy-feats[5.4.176~1-be967]:Next():util/kaldi-table-inl.h:574) Object read failed, reading archive standard input WARNING (copy-feats[5.4.176~1-be967]:Open():util/kaldi-table-inl.h:521) Error beginning to read archive file (wrong filename?): standard input ERROR (copy-feats[5.4.176~1-be967]:SequentialTableReader():util/kaldi-table-inl.h:860) Error constructing TableReader: rspecifier is ark:-
[ Stack-Trace: ]
kaldi::MessageLogger::HandleMessage(kaldi::LogMessageEnvelope const&, char const*) kaldi::MessageLogger::~MessageLogger() kaldi::SequentialTableReader<kaldi::KaldiObjectHolder<kaldi::Matrix > >::SequentialTableReader(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&)
main
libc_start_main
_start
Exception in thread Thread-1: Traceback (most recent call last): File "/usr/lib/python3.5/threading.py", line 914, in _bootstrap_inner self.run() File "/usr/lib/python3.5/threading.py", line 862, in run self._target(*self._args, **self._kwargs) File "/home/ayushi/Projects_2018/non_native_perception/data/recordings_edited/kaldi-io/kaldi_io/kaldi_io/kaldi_io.py", line 82, in cleanup raise SubprocessFailed('cmd %s returned %d !' % (cmd,ret)) kaldi_io.kaldi_io.SubprocessFailed: cmd copy-feats --print-args=false ark:- ark,scp:/home/ayushi/Tools/kaldi/egs/nn_perception/data/train/feats.ark,/home/ayushi/Tools/kaldi/egs/nn_perception/data/train/feats.scp returned 255 !
Am I doing something wrong?