Giter VIP home page Giter VIP logo

kaldi-python's Introduction

This is a set of Python wrappers for Kaldi input-output classes.

It allows you to do e.g.:

  In [1]: import kaldi_io
  In [2]: feat_reader = kaldi_io.SequentialBaseFloatMatrixReader('scp:./mfcc/raw_mfcc_test.1.scp')
  In [3]: next(feat_reader)
  Out[3]:
  ('FDHC0_SI1559', Shape: (338, 13)
   [[ 47.97408295 -21.51651001 -24.72166443 ...,  -7.34391451  -5.35192871
       1.24314117]
    [ 46.00983429 -19.34067917 -20.49114227 ...,  -2.23715401  -3.65503502
      -1.64697027]
    [ 43.06345367 -21.29892731 -15.17295933 ...,  -6.0672245  -14.09746265
      -9.02336311]
    ...,
    [ 37.66175842 -27.93688965 -10.73719597 ...,  -4.36497116  -3.1932559
       2.3135519 ]
    [ 38.15282059 -30.81328964 -11.75108433 ...,  -6.77649689  -3.78556442
       2.52763462]
    [ 38.64388275 -29.08744812  -9.59657097 ...,  -1.66973591  -0.54327661
       9.77887821]])

Installation Instructions

The software should build against a recent version of Kaldi:

  1. Install boos python. For anaconda linix run conda install boost
  2. Build and install Kaldi, make sure to use configure --shared
  3. Build kaldi python: KALDI_ROOT=path_to_kaldi make
  4. Configure PYTHONPATH: export PYTHONPATH=`pwd`/kaldi-python

kaldi-python's People

Contributors

janchorowski avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

kaldi-python's Issues

[Solved] Compiling errors when making (with the latest kaldi toolkit)

--Updated 11/29/2017
The problem is solved by using older kaldi toolkit (the version committed on 9/9/2017).

--Original
First sorry for my poor English.
I'm trying to install kaldi-python, but I received compiling errors(see below) when making. I don't know whether it is because I'm using the wrong boost library, which I installed with sudo apt-get libboost-dev-all.
And the GCC version I'm using is 5.4.0(on Ubuntu 16.04).

Sincerely.

The errors are like:

In file included from /home/jian/Downloads/repository/kaldi/src/util/kaldi-table.h:470:0,
                 from kaldi_io_internal.cpp:37:
/home/jian/Downloads/repository/kaldi/src/util/kaldi-table-inl.h: In instantiation of ‘kaldi::SequentialTableReaderBackgroundImpl<Holder>::T& kaldi::SequentialTableReaderBackgroundImpl<Holder>::Value() [with Holder = PythonToKaldiHolder<BoostPythonconverter<std::vector<std::pair<int, int> >, kaldi::BasicPairVectorHolder<int>, kaldi::BasicPairVectorHolder<int> > >; kaldi::SequentialTableReaderBackgroundImpl<Holder>::T = boost::python::api::object]’:
kaldi_io_internal.cpp:510:1:   required from here
/home/jian/Downloads/repository/kaldi/src/util/kaldi-table-inl.h:782:26: error: binding ‘const T {aka const boost::python::api::object}’ to reference of type ‘kaldi::SequentialTableReaderBackgroundImpl<PythonToKaldiHolder<BoostPythonconverter<std::vector<std::pair<int, int> >, kaldi::BasicPairVectorHolder<int>, kaldi::BasicPairVectorHolder<int> > > >::T& {aka boost::python::api::object&}’ discards qualifiers
     return holder_.Value();

and

/usr/include/boost/python/detail/invoke.hpp: In instantiation of ‘PyObject* boost::python::detail::invoke(boost::python::detail::invoke_tag_<false, true>, const RC&, F&, TC&) [with RC = boost::python::detail::copy_const_reference_expects_a_const_reference_return_type<boost::python::api::object&>; F = boost::python::api::object& (kaldi::SequentialTableReader<PythonToKaldiHolder<BoostPythonconverter<std::vector<std::pair<int, int> >, kaldi::BasicPairVectorHolder<int>, kaldi::BasicPairVectorHolder<int> > > >::*)(); TC = boost::python::arg_from_python<kaldi::SequentialTableReader<PythonToKaldiHolder<BoostPythonconverter<std::vector<std::pair<int, int> >, kaldi::BasicPairVectorHolder<int>, kaldi::BasicPairVectorHolder<int> > > >&>; PyObject = _object]’:
/usr/include/boost/python/detail/caller.hpp:218:46:   required from ‘PyObject* boost::python::detail::caller_arity<1u>::impl<F, Policies, Sig>::operator()(PyObject*, PyObject*) [with F = boost::python::api::object& (kaldi::SequentialTableReader<PythonToKaldiHolder<BoostPythonconverter<std::vector<std::pair<int, int> >, kaldi::BasicPairVectorHolder<int>, kaldi::BasicPairVectorHolder<int> > > >::*)(); Policies = boost::python::return_value_policy<boost::python::copy_const_reference>; Sig = boost::mpl::vector2<boost::python::api::object&, kaldi::SequentialTableReader<PythonToKaldiHolder<BoostPythonconverter<std::vector<std::pair<int, int> >, kaldi::BasicPairVectorHolder<int>, kaldi::BasicPairVectorHolder<int> > > >&>; PyObject = _object]’
/usr/include/boost/python/object/py_function.hpp:38:33:   required from ‘PyObject* boost::python::objects::caller_py_function_impl<Caller>::operator()(PyObject*, PyObject*) [with Caller = boost::python::detail::caller<boost::python::api::object& (kaldi::SequentialTableReader<PythonToKaldiHolder<BoostPythonconverter<std::vector<std::pair<int, int> >, kaldi::BasicPairVectorHolder<int>, kaldi::BasicPairVectorHolder<int> > > >::*)(), boost::python::return_value_policy<boost::python::copy_const_reference>, boost::mpl::vector2<boost::python::api::object&, kaldi::SequentialTableReader<PythonToKaldiHolder<BoostPythonconverter<std::vector<std::pair<int, int> >, kaldi::BasicPairVectorHolder<int>, kaldi::BasicPairVectorHolder<int> > > >&> >; PyObject = _object]’
kaldi_io_internal.cpp:510:1:   required from here
/usr/include/boost/python/detail/invoke.hpp:88:14: error: no match for call to ‘(const boost::python::detail::copy_const_reference_expects_a_const_reference_return_type<boost::python::api::object&>) (boost::python::api::object&)’
     return rc( (tc().*f)(BOOST_PP_ENUM_BINARY_PARAMS_Z(1, N, ac, () BOOST_PP_INTERCEPT)) );

Boost Python Argument Error

Hi,

I am trying to use kaldi-python for python3.6. I am able to compile and import kaldi_io, but when I try to use it, there's some error:

--> import kaldi_io
--> ali_reader = kaldi_io.SequentialInt32VectorReader(align_scp)
Boost.Python.ArgumentError: Python argument types in
SequentialInt32VectorReader.init(SequentialInt32VectorReader, str)
did not match C++ signature:
init(_object*, std::__cxx11::basic_string<char, std::char_traits, std::allocator >)

Would you please tell me how to solve this? Thanks a lot!!!

Porting into python 3.4

Hello Jan

Thanks for sharing your valuable code.

Recently, I was trying to port your code into python 3.4 because I want to work in Keras. In order to work in 3.4, I changed library setup in Makefile in kaldi_io directory as follows:

...
PYLIB = $(shell python3-config --libs)
PYINC = $(shell python3-config --includes)
NPINC = -I$(shell python3 -c 'import numpy; print(numpy.get_include())')
...

after python3 setup.py install, I confirmed packages are successfully installed in python3.4 dist-packages directory. However, when I import kaldi_io package in python3, it showed following errors:

Python 3.4.3 (default, Nov 17 2016, 01:08:31) 
[GCC 4.8.4] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import kaldi_io
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.4/dist-packages/kaldi_io/__init__.py", line 243, in <module>
    from kaldi_io_internal import *
ImportError: /data/userdata/jaey1.kim/tools/jaey_dev/kaldi-python/kaldi_io/kaldi_io_internal.so: undefined symbol: _ZNK5boost6python7objects21py_function_impl_base9max_arityEv

I used nm to find the unknown symbol and it turns out to be:
U boost::python::objects::py_function_impl_base::max_arity() const
and I'm stuck. I guess it is related to boost library. I installed latest boost library but still it happened.

Could you give me any advice to port it into python 3.4? I would be really appreciating it.

Thanks

some errors when install kaldi-python

Hi,
ubuntu 14.04.
use thi command(.setup.py install) to setup kaldi-pthon, I have set $KALDI_ROOT already
the errors are as follows:

/usr/include/python2.7/numpy/npy_1_7_deprecated_api.h:15:2: warning: #warning "Using deprecated NumPy API, disable it by " "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
#warning "Using deprecated NumPy API, disable it by "
^
/usr/bin/ld: /home/jtang/Kaldi/kaldi-trunk/src/matrix/kaldi-matrix.a(kaldi-matrix.o): relocation R_X86_64_32 against .rodata' can not be used when making a shared object; recompile with -fPIC
/home/jtang/Kaldi/kaldi-trunk/src/matrix/kaldi-matrix.a: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
make[1]: *** [kaldi_io_internal.so] Error 1
make[1]: Leaving directory /home/jtang/Attention_ASR/kaldi-python/kaldi_io'
make: *** [all] Error 2

thse errors seem to happen in creating kaldi_io_internal.so, if I don't use these .a file $(KALDI_SRC)/matrix/kaldi-matrix.a $(KALDI_SRC)/util/kaldi-util.a $(KALDI_SRC)/base/kaldi-base.a ,
kaldi_io_internal.so can create(of course this file can't be used)
I try to install this package kaldi-python on ubuntu,Centos, but failed.......
Sincerely
Tony Tang

Kaldi-Python install problem concerning : /kaldi/src/util/kaldi-table-inl.h: and has no member named 'ExtractRange'

Dear Dmitry

While I am trying to install kaldi-python, I run into the following error message:

xiaofeng@spears:~/tool/kaldi-python$ python setup.py install
running install
running build
running build_py
make -C kaldi_io depend
make[1]: Entering directory '/home/xiaofeng/tool/kaldi-python/kaldi_io'
g++ -I/home/xiaofeng/tool/kaldi/src -I/home/xiaofeng/anaconda2/include/python2.7 -I/home/xiaofeng/anaconda2/include/python2.7 -I/home/xiaofeng/anaconda2/lib/python2.7/site-packages/numpy/core/include -M -msse -msse2 -Wall -I.. -pthread -DKALDI_DOUBLEPRECISION=0 -DHAVE_POSIX_MEMALIGN -Wno-sign-compare -Wno-unused-local-typedefs -Winit-self -DHAVE_EXECINFO_H=1 -rdynamic -DHAVE_CXXABI_H -DHAVE_ATLAS -I/home/xiaofeng/tool/kaldi/tools/ATLAS/include -I/home/xiaofeng/tool/kaldi/tools/openfst/include -Wno-sign-compare -g -fPIC .cpp > .depend.mk
make[1]: Leaving directory '/home/xiaofeng/tool/kaldi-python/kaldi_io'
make -C kaldi_io
make[1]: Entering directory '/home/xiaofeng/tool/kaldi-python/kaldi_io'
g++ -shared -o kaldi_io_internal.so -Wall -fPIC -I/home/xiaofeng/tool/kaldi/src -I/home/xiaofeng/anaconda2/include/python2.7 -I/home/xiaofeng/anaconda2/include/python2.7 -I/home/xiaofeng/anaconda2/lib/python2.7/site-packages/numpy/core/include -msse -msse2 -Wall -I.. -pthread -DKALDI_DOUBLEPRECISION=0 -DHAVE_POSIX_MEMALIGN -Wno-sign-compare -Wno-unused-local-typedefs -Winit-self -DHAVE_EXECINFO_H=1 -rdynamic -DHAVE_CXXABI_H -DHAVE_ATLAS -I/home/xiaofeng/tool/kaldi/tools/ATLAS/include -I/home/xiaofeng/tool/kaldi/tools/openfst/include -Wno-sign-compare -g -fPIC kaldi_io_internal.cpp /home/xiaofeng/tool/kaldi/src/lm/kaldi-lm.a /home/xiaofeng/tool/kaldi/src/decoder/kaldi-decoder.a /home/xiaofeng/tool/kaldi/src/lat/kaldi-lat.a /home/xiaofeng/tool/kaldi/src/hmm/kaldi-hmm.a /home/xiaofeng/tool/kaldi/src/transform/kaldi-transform.a /home/xiaofeng/tool/kaldi/src/gmm/kaldi-gmm.a /home/xiaofeng/tool/kaldi/src/tree/kaldi-tree.a /home/xiaofeng/tool/kaldi/src/matrix/kaldi-matrix.a /home/xiaofeng/tool/kaldi/src/util/kaldi-util.a /home/xiaofeng/tool/kaldi/src/base/kaldi-base.a /home/xiaofeng/tool/kaldi/src/thread/kaldi-thread.a -rdynamic -Wl,-rpath=/home/xiaofeng/tool/kaldi/tools/openfst/lib -L-lpython2.7 -lpthread -ldl -lutil -lm -L/home/xiaofeng/tool/kaldi/tools/openfst/lib -lfst /usr/lib/libatlas.so.3 /usr/lib/libf77blas.so.3 /usr/lib/libcblas.so.3 /usr/lib/liblapack_atlas.so.3 -lm -lpthread -ldl -lpython2.7 -lboost_python -lboost_system
In file included from /home/xiaofeng/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/ndarraytypes.h:1781:0,
from /home/xiaofeng/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:18,
from /home/xiaofeng/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/arrayobject.h:4,
from kaldi_io_internal.cpp:10:
/home/xiaofeng/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: #warning "Using deprecated NumPy API, disable it by " "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
#warning "Using deprecated NumPy API, disable it by "
^
In file included from /home/xiaofeng/tool/kaldi/src/util/kaldi-table.h:467:0,
from kaldi_io_internal.cpp:21:
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h: In instantiation of 'bool kaldi::RandomAccessTableReaderScriptImpl::HasKeyInternal(const string&, bool) [with Holder = PythonToKaldiHolder<BoostPythonconverter<std::vector<std::pair<int, int> >, kaldi::BasicPairVectorHolder, kaldi::BasicPairVectorHolder > >; std::string = std::basic_string]':
kaldi_io_internal.cpp:482:1: required from here
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h:1813:9: error: 'class PythonToKaldiHolder<BoostPythonconverter<std::vector<std::pair<int, int> >, kaldi::BasicPairVectorHolder, kaldi::BasicPairVectorHolder > >' has no member named 'ExtractRange'
if (range_holder
.ExtractRange(holder_, range)) {
^
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h: In instantiation of 'bool kaldi::RandomAccessTableReaderScriptImpl::HasKeyInternal(const string&, bool) [with Holder = PythonToKaldiHolder<BoostPythonconverter<std::vector<std::vector >, kaldi::BasicVectorVectorHolder, kaldi::BasicVectorVectorHolder > >; std::string = std::basic_string]':
kaldi_io_internal.cpp:482:1: required from here
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h:1813:9: error: 'class PythonToKaldiHolder<BoostPythonconverter<std::vector<std::vector >, kaldi::BasicVectorVectorHolder, kaldi::BasicVectorVectorHolder > >' has no member named 'ExtractRange'
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h: In instantiation of 'bool kaldi::RandomAccessTableReaderScriptImpl::HasKeyInternal(const string&, bool) [with Holder = PythonToKaldiHolder<BoostPythonconverter<std::vector, kaldi::BasicVectorHolder, kaldi::BasicVectorHolder > >; std::string = std::basic_string]':
kaldi_io_internal.cpp:482:1: required from here
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h:1813:9: error: 'class PythonToKaldiHolder<BoostPythonconverter<std::vector, kaldi::BasicVectorHolder, kaldi::BasicVectorHolder > >' has no member named 'ExtractRange'
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h: In instantiation of 'bool kaldi::RandomAccessTableReaderScriptImpl::HasKeyInternal(const string&, bool) [with Holder = PythonToKaldiHolder<VectorToNdArrayConverter >; std::string = std::basic_string]':
kaldi_io_internal.cpp:482:1: required from here
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h:1813:9: error: 'class PythonToKaldiHolder<VectorToNdArrayConverter >' has no member named 'ExtractRange'
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h: In instantiation of 'bool kaldi::RandomAccessTableReaderScriptImpl::HasKeyInternal(const string&, bool) [with Holder = PythonToKaldiHolder<VectorToNdArrayConverter >; std::string = std::basic_string]':
kaldi_io_internal.cpp:482:1: required from here
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h:1813:9: error: 'class PythonToKaldiHolder<VectorToNdArrayConverter >' has no member named 'ExtractRange'
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h: In instantiation of 'bool kaldi::RandomAccessTableReaderScriptImpl::HasKeyInternal(const string&, bool) [with Holder = PythonToKaldiHolder<MatrixToNdArrayConverter >; std::string = std::basic_string]':
kaldi_io_internal.cpp:482:1: required from here
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h:1813:9: error: 'class PythonToKaldiHolder<MatrixToNdArrayConverter >' has no member named 'ExtractRange'
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h: In instantiation of 'bool kaldi::RandomAccessTableReaderScriptImpl::HasKeyInternal(const string&, bool) [with Holder = PythonToKaldiHolder<MatrixToNdArrayConverter >; std::string = std::basic_string]':
kaldi_io_internal.cpp:482:1: required from here
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h:1813:9: error: 'class PythonToKaldiHolder<MatrixToNdArrayConverter >' has no member named 'ExtractRange'
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h: In instantiation of 'bool kaldi::RandomAccessTableReaderScriptImpl::HasKeyInternal(const string&, bool) [with Holder = PyObjectHolder; std::string = std::basic_string]':
kaldi_io_internal.cpp:482:1: required from here
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h:1813:9: error: 'class PyObjectHolder' has no member named 'ExtractRange'
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h: In instantiation of 'bool kaldi::SequentialTableReaderScriptImpl::EnsureObjectLoaded() [with Holder = PythonToKaldiHolder<BoostPythonconverter<std::vector<std::pair<int, int> >, kaldi::BasicPairVectorHolder, kaldi::BasicPairVectorHolder > >]':
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h:175:29: required from 'const T& kaldi::SequentialTableReaderScriptImpl::Value() [with Holder = PythonToKaldiHolder<BoostPythonconverter<std::vector<std::pair<int, int> >, kaldi::BasicPairVectorHolder, kaldi::BasicPairVectorHolder > >; kaldi::SequentialTableReaderScriptImpl::T = boost::python::api::object]'
kaldi_io_internal.cpp:482:1: required from here
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h:351:9: error: 'class PythonToKaldiHolder<BoostPythonconverter<std::vector<std::pair<int, int> >, kaldi::BasicPairVectorHolder, kaldi::BasicPairVectorHolder > >' has no member named 'ExtractRange'
if (!range_holder_.ExtractRange(holder_, range_)) {
^
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h: In instantiation of 'bool kaldi::SequentialTableReaderScriptImpl::EnsureObjectLoaded() [with Holder = PythonToKaldiHolder<BoostPythonconverter<std::vector<std::vector >, kaldi::BasicVectorVectorHolder, kaldi::BasicVectorVectorHolder > >]':
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h:175:29: required from 'const T& kaldi::SequentialTableReaderScriptImpl::Value() [with Holder = PythonToKaldiHolder<BoostPythonconverter<std::vector<std::vector >, kaldi::BasicVectorVectorHolder, kaldi::BasicVectorVectorHolder > >; kaldi::SequentialTableReaderScriptImpl::T = boost::python::api::object]'
kaldi_io_internal.cpp:482:1: required from here
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h:351:9: error: 'class PythonToKaldiHolder<BoostPythonconverter<std::vector<std::vector >, kaldi::BasicVectorVectorHolder, kaldi::BasicVectorVectorHolder > >' has no member named 'ExtractRange'
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h: In instantiation of 'bool kaldi::SequentialTableReaderScriptImpl::EnsureObjectLoaded() [with Holder = PythonToKaldiHolder<BoostPythonconverter<std::vector, kaldi::BasicVectorHolder, kaldi::BasicVectorHolder > >]':
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h:175:29: required from 'const T& kaldi::SequentialTableReaderScriptImpl::Value() [with Holder = PythonToKaldiHolder<BoostPythonconverter<std::vector, kaldi::BasicVectorHolder, kaldi::BasicVectorHolder > >; kaldi::SequentialTableReaderScriptImpl::T = boost::python::api::object]'
kaldi_io_internal.cpp:482:1: required from here
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h:351:9: error: 'class PythonToKaldiHolder<BoostPythonconverter<std::vector, kaldi::BasicVectorHolder, kaldi::BasicVectorHolder > >' has no member named 'ExtractRange'
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h: In instantiation of 'bool kaldi::SequentialTableReaderScriptImpl::EnsureObjectLoaded() [with Holder = PythonToKaldiHolder<VectorToNdArrayConverter >]':
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h:175:29: required from 'const T& kaldi::SequentialTableReaderScriptImpl::Value() [with Holder = PythonToKaldiHolder<VectorToNdArrayConverter >; kaldi::SequentialTableReaderScriptImpl::T = boost::python::api::object]'
kaldi_io_internal.cpp:482:1: required from here
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h:351:9: error: 'class PythonToKaldiHolder<VectorToNdArrayConverter >' has no member named 'ExtractRange'
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h: In instantiation of 'bool kaldi::SequentialTableReaderScriptImpl::EnsureObjectLoaded() [with Holder = PythonToKaldiHolder<VectorToNdArrayConverter >]':
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h:175:29: required from 'const T& kaldi::SequentialTableReaderScriptImpl::Value() [with Holder = PythonToKaldiHolder<VectorToNdArrayConverter >; kaldi::SequentialTableReaderScriptImpl::T = boost::python::api::object]'
kaldi_io_internal.cpp:482:1: required from here
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h:351:9: error: 'class PythonToKaldiHolder<VectorToNdArrayConverter >' has no member named 'ExtractRange'
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h: In instantiation of 'bool kaldi::SequentialTableReaderScriptImpl::EnsureObjectLoaded() [with Holder = PythonToKaldiHolder<MatrixToNdArrayConverter >]':
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h:175:29: required from 'const T& kaldi::SequentialTableReaderScriptImpl::Value() [with Holder = PythonToKaldiHolder<MatrixToNdArrayConverter >; kaldi::SequentialTableReaderScriptImpl::T = boost::python::api::object]'
kaldi_io_internal.cpp:482:1: required from here
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h:351:9: error: 'class PythonToKaldiHolder<MatrixToNdArrayConverter >' has no member named 'ExtractRange'
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h: In instantiation of 'bool kaldi::SequentialTableReaderScriptImpl::EnsureObjectLoaded() [with Holder = PythonToKaldiHolder<MatrixToNdArrayConverter >]':
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h:175:29: required from 'const T& kaldi::SequentialTableReaderScriptImpl::Value() [with Holder = PythonToKaldiHolder<MatrixToNdArrayConverter >; kaldi::SequentialTableReaderScriptImpl::T = boost::python::api::object]'
kaldi_io_internal.cpp:482:1: required from here
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h:351:9: error: 'class PythonToKaldiHolder<MatrixToNdArrayConverter >' has no member named 'ExtractRange'
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h: In instantiation of 'bool kaldi::SequentialTableReaderScriptImpl::EnsureObjectLoaded() [with Holder = PyObjectHolder]':
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h:175:29: required from 'const T& kaldi::SequentialTableReaderScriptImpl::Value() [with Holder = PyObjectHolder; kaldi::SequentialTableReaderScriptImpl::T = boost::python::api::object]'
kaldi_io_internal.cpp:482:1: required from here
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h:351:9: error: 'class PyObjectHolder' has no member named 'ExtractRange'
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h: In member function 'bool kaldi::RandomAccessTableReaderScriptImpl::HasKeyInternal(const string&, bool) [with Holder = PyObjectHolder; std::string = std::basic_string]':
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h:1825:3: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h: In member function 'bool kaldi::SequentialTableReaderScriptImpl::EnsureObjectLoaded() [with Holder = PyObjectHolder]':
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h:360:3: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h: In member function 'bool kaldi::RandomAccessTableReaderScriptImpl::HasKeyInternal(const string&, bool) [with Holder = PythonToKaldiHolder<MatrixToNdArrayConverter >; std::string = std::basic_string]':
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h:1825:3: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h: In member function 'bool kaldi::SequentialTableReaderScriptImpl::EnsureObjectLoaded() [with Holder = PythonToKaldiHolder<MatrixToNdArrayConverter >]':
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h:360:3: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h: In member function 'bool kaldi::RandomAccessTableReaderScriptImpl::HasKeyInternal(const string&, bool) [with Holder = PythonToKaldiHolder<MatrixToNdArrayConverter >; std::string = std::basic_string]':
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h:1825:3: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h: In member function 'bool kaldi::SequentialTableReaderScriptImpl::EnsureObjectLoaded() [with Holder = PythonToKaldiHolder<MatrixToNdArrayConverter >]':
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h:360:3: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h: In member function 'bool kaldi::RandomAccessTableReaderScriptImpl::HasKeyInternal(const string&, bool) [with Holder = PythonToKaldiHolder<VectorToNdArrayConverter >; std::string = std::basic_string]':
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h:1825:3: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h: In member function 'bool kaldi::SequentialTableReaderScriptImpl::EnsureObjectLoaded() [with Holder = PythonToKaldiHolder<VectorToNdArrayConverter >]':
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h:360:3: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h: In member function 'bool kaldi::RandomAccessTableReaderScriptImpl::HasKeyInternal(const string&, bool) [with Holder = PythonToKaldiHolder<VectorToNdArrayConverter >; std::string = std::basic_string]':
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h:1825:3: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h: In member function 'bool kaldi::SequentialTableReaderScriptImpl::EnsureObjectLoaded() [with Holder = PythonToKaldiHolder<VectorToNdArrayConverter >]':
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h:360:3: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h: In member function 'bool kaldi::RandomAccessTableReaderScriptImpl::HasKeyInternal(const string&, bool) [with Holder = PythonToKaldiHolder<BoostPythonconverter<std::vector, kaldi::BasicVectorHolder, kaldi::BasicVectorHolder > >; std::string = std::basic_string]':
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h:1825:3: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h: In member function 'bool kaldi::SequentialTableReaderScriptImpl::EnsureObjectLoaded() [with Holder = PythonToKaldiHolder<BoostPythonconverter<std::vector, kaldi::BasicVectorHolder, kaldi::BasicVectorHolder > >]':
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h:360:3: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h: In member function 'bool kaldi::RandomAccessTableReaderScriptImpl::HasKeyInternal(const string&, bool) [with Holder = PythonToKaldiHolder<BoostPythonconverter<std::vector<std::vector >, kaldi::BasicVectorVectorHolder, kaldi::BasicVectorVectorHolder > >; std::string = std::basic_string]':
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h:1825:3: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h: In member function 'bool kaldi::SequentialTableReaderScriptImpl::EnsureObjectLoaded() [with Holder = PythonToKaldiHolder<BoostPythonconverter<std::vector<std::vector >, kaldi::BasicVectorVectorHolder, kaldi::BasicVectorVectorHolder > >]':
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h:360:3: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h: In member function 'bool kaldi::RandomAccessTableReaderScriptImpl::HasKeyInternal(const string&, bool) [with Holder = PythonToKaldiHolder<BoostPythonconverter<std::vector<std::pair<int, int> >, kaldi::BasicPairVectorHolder, kaldi::BasicPairVectorHolder > >; std::string = std::basic_string]':
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h:1825:3: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h: In member function 'bool kaldi::SequentialTableReaderScriptImpl::EnsureObjectLoaded() [with Holder = PythonToKaldiHolder<BoostPythonconverter<std::vector<std::pair<int, int> >, kaldi::BasicPairVectorHolder, kaldi::BasicPairVectorHolder > >]':
/home/xiaofeng/tool/kaldi/src/util/kaldi-table-inl.h:360:3: warning: control reaches end of non-void function [-Wreturn-type]
}
^
In file included from /home/xiaofeng/tool/kaldi/src/base/kaldi-common.h:38:0,
from /home/xiaofeng/tool/kaldi/src/util/kaldi-io.h:30,
from kaldi_io_internal.cpp:20:
/home/xiaofeng/tool/kaldi/src/base/kaldi-math.h: At global scope:
/home/xiaofeng/tool/kaldi/src/base/kaldi-math.h:130:17: warning: 'kaldi::kLogZeroBaseFloat' defined but not used [-Wunused-variable]
const BaseFloat kLogZeroBaseFloat = -std::numeric_limits::infinity();
^
Makefile:31: recipe for target 'kaldi_io_internal.so' failed
make[1]: *_* [kaldi_io_internal.so] Error 1
make[1]: Leaving directory '/home/xiaofeng/tool/kaldi-python/kaldi_io'
Makefile:10: recipe for target 'all' failed
make: *** [all] Error 2
running build_scripts
running install_lib
running install_scripts
changing mode of /home/xiaofeng/anaconda2/bin/apply-global-cmvn.py to 755
changing mode of /home/xiaofeng/anaconda2/bin/copy-feats-padded.py to 755
changing mode of /home/xiaofeng/anaconda2/bin/show-wav-ali.py to 755
changing mode of /home/xiaofeng/anaconda2/bin/compute-global-cmvn-stats.py to 755
running install_egg_info
Removing /home/xiaofeng/anaconda2/lib/python2.7/site-packages/kaldi_python-1.0-py2.7.egg-info
Writing /home/xiaofeng/anaconda2/lib/python2.7/site-packages/kaldi_python-1.0-py2.7.egg-info

I am sure that I installed the newest kaldi, could that be the cause of the this problem? Does kaldi-python requires older verison of kaldi?
Best

Many thanks

Error with make

Dear Jan,

I am working on acoustic modeling using python.
Recently I came across kaldi ASR toolkit and your modules to read kaldi ark files into python.
I am trying to install kaldi-python, but it gives the following error:

ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [kaldi_io_internal.so] Error 1
make: *** [all] Error 2

I am using Mac OS X Yosemite 10.10.3.
However, I am able to install kaldi (trunk, without python) and run the /egs scripts successfully, but do not know how to read/write the features (ark, scp) with my python codes.

Sincerely,
-Vipul

ImportError: kaldi_io/kaldi_io_internal.so: undefined symbol: _ZN5kaldi9SemaphoreD1Ev

import kaldi_io
Traceback (most recent call last):
File "", line 1, in
File "kaldi_io/init.py", line 243, in
from kaldi_io_internal import *
ImportError: kaldi_io/kaldi_io_internal.so: undefined symbol: _ZN5kaldi9SemaphoreD1Ev
when I import kaldi_io, I encountered the problem. Could you help me solve it, thank you very much.
I rebuilt the kaldi with configure --share, and I also add the kaldi_io_internal.so to /anaconda3/lib/python3.5/site-packages/

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.