[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[hts-users:04211] Re: endianness



Indeed, but it isn't used. The question I was trying to ask was whether the HTS demo is intended to work out of the box on big endian machines.

Matt


On 29/01/15 01:42, Qingsong Liu wrote:
there is a tool called swab in SPTK, which can convert byte order
between little endian  and big endian.

On Thu, Jan 29, 2015 at 9:34 AM, Matt Shannon <sms46@cam.ac.uk
<mailto:sms46@cam.ac.uk>> wrote:

    Hi Xingyu,

    The failures I'm talking about would happen when converting between
    audio data and speech parameters rather than at the modelling stage.
    For example in data/Makefile.in several times x2x is called on the
    raw audio data, which will produce nonsensical results on a big
    endian machine if I'm right about SPTK using native endian by
    default.  Also in scripts/Training.pl, raw2wav would fail to produce
    a valid wav file when not using STRAIGHT (since wav files should
    always be little endian but raw2wav does no conversion unless you
    explicitly tell it to) or MATLAB would fail to read in a valid
    spectrum if using STRAIGHT (since "ieee-le" is explicitly
    specified).  I presume support for big endian machines has just been
    dropped and that seems reasonable enough, but I just wanted to check!

    Matt



    On 29/01/15 01:25, Xingyu Na wrote:

        Hi Matt,

        I remember there are NATURALREADORDER and NATURALWRITEORDER
        options in
        HTK. Can't that help?

        Best,
        Xingyu

        On 01/29/2015 09:19 AM, Matt Shannon wrote:

            Hi all,

            I was wondering recently about whether the HTS demo supports CPU
            architectures which are native big endian.  As far as I can
            ascertain,
            all SPTK tools use native endian by default.  From looking
            at the HTS
            demo scripts, it looks like they will not work on a big
            endian machine
            either at training time or at synthesis time (but it's hard
            to know
            for sure without access to a big endian machine!)  I know in
            older
            versions there was a BYTESWAP variable that got set at configure
            time.  I presume it was decided at some point not to support big
            endian machines?

            Thanks,

            Matt








--
---------------------------------------------
Qingsong Liu
liuqs.ustc@gmail.com <mailto:liuqs.ustc@gmail.com>
Univ. of Sci.& Tech. of China
----------------------------------------------