[Paid Homebrew Request] Port of Flite Text-To-Speech to 3DS

Discussion in '3DS - Homebrew Development and Emulators' started by hoksyjp, Sep 14, 2016.

  1. hoksyjp
    OP

    hoksyjp Member

    Newcomer
    35
    29
    Aug 20, 2016
    United States
    Boston
    HOMEBREW REQUEST!

    So I've been trying to port Flite, a lightweight text-to-speech application to 3DS but I've been hitting walls with trying to build it. Interestingly enough, there's a NDS port of an older version of Flite in the form of MyDSReader. I'm working on a 3DS homebrew game where I would like character's speech to be read in realtime by Flite, (Flite can generate .wav files).

    There's one C file, something to do with sockets which breaks from it's current implementation of it. I've included a fix for it which just disables this functionality, it's located in \flite-2.0.0-release\src\utils\. ---> http://pastebin.com/CTmkM9kG

    Here's a video of MyDSReader:


    Please note that I would be willing to pay the first person who can get Flite to build and run with ctrulib and devkitPro... a whopping $20 + change into your Paypal account, but I need to be able to build and use your implementation of it.

    Sorry if something like this isn't allowed here, mods feel free to take down this post if that's the case.
     
  2. jsa

    jsa GBAtemp Regular

    Member
    214
    197
    Oct 21, 2015
    United Kingdom
    Devon, UK
    What issue exactly are you having trying to build it for 3DS?
     
  3. hoksyjp
    OP

    hoksyjp Member

    Newcomer
    35
    29
    Aug 20, 2016
    United States
    Boston
    @jsa I kept running into errors like "ld: warning: cannot find entry symbol _start; defaulting to xxxxxxxxxx" before finishing building. Eventually it stoped but didn't give any sort of positive affirmation that it did build correctly (which I guess could be normal) But, I wouldn't know how to add new libraries to crtulib. Any attempts I made to modifying the makefile / main.c, it wouldn't recognize the flite commands I had added (even after ensuring flite.h was included) It would be great if a general purpose guide existed for adding C libraries to 3DS, but bearing in mind that if there's any actual porting of Flite, I wouldn't want to do any work, like rewriting C code. However, that shouldn't be an issue considering the NDS port of Flite worked without modification of the souce (to my knowledge). I contacted the guy who did the NDS port and his source code seemed incomplete on the actual DS end of things.

    ...

    If in the end no one takes me up on this homebrew bounty, I'd probably just make some sort of shitty make shift TTS application, it's nbd but it wouldn't be necessarily understandable.
     
  4. jsa

    jsa GBAtemp Regular

    Member
    214
    197
    Oct 21, 2015
    United Kingdom
    Devon, UK
    @hoksyjp The errors you're getting sound like errors you'd get if you haven't linked the library ;)
    You need to build Flite as a Portlib; this is reasonably simple, however I can walk you through this on Skype or Discord (josh.kelly[twenty-seven in numbers]@outlook.com / thejsa#7237 on https://discord.gg/YGyTThH (/r/3dshacks Discord, tag me on the #dev channel)).

    Generalised instructions:
    Code:
    ./configure --prefix=$(PORTLIBS_PATH)/armv6k --host=arm-none-eabi --disable-shared --enable-static
    in a Bash prompt in the Flite source directory (the one with a configure file in it), then
    Code:
    make && make install
    .
     
    Last edited by jsa, Sep 19, 2016 - Reason: Used BBCode rather than Markdown (I've used Discord way too much now, ahah)
    hoksyjp, Minnow and Returnofganon like this.
  5. TheCruel

    TheCruel Developer

    Banned
    1,351
    2,886
    Dec 6, 2013
    United States
    Lol I should add this to DrawAttack. I'll try compiling and using it now.
     
    smileyhead and hoksyjp like this.
  6. hoksyjp
    OP

    hoksyjp Member

    Newcomer
    35
    29
    Aug 20, 2016
    United States
    Boston
    @jsa oh my god you did it!!! what's your paypal, i gotchu man
     
  7. TheCruel

    TheCruel Developer

    Banned
    1,351
    2,886
    Dec 6, 2013
    United States
    It works pretty well, and only adds about 2MB to build size. I like it. :)
     
    smileyhead and hoksyjp like this.
  8. TheCruel

    TheCruel Developer

    Banned
    1,351
    2,886
    Dec 6, 2013
    United States
    Last edited by TheCruel, Sep 20, 2016
    KiiWii, hoksyjp and DavidRO99 like this.
  9. DavidRO99

    DavidRO99 Average Ryzen user.

    Member
    981
    285
    Jun 11, 2016
    Korea, North
    your back-door
  10. natanelho

    natanelho GBAtemp Maniac

    Member
    1,390
    360
    Apr 25, 2015
    Antarctica
    Between the Sacred Silence and Sleep
    Pls can som1 place here source demo poc code and cia build? Id like to use it in my future projects (planned)
     
  11. hoksyjp
    OP

    hoksyjp Member

    Newcomer
    35
    29
    Aug 20, 2016
    United States
    Boston
    Funnily enough, when I was trying to make my own program to string together English phonemes, this was my go-to test phrase.

    — Posts automatically merged - Please don't double post! —

    Oh *now* everyone's interested in this ;)

    ...

    Jkjkjk if I have time tomorrow, I'll put together a little building guide, unless someone else is up to the task.
     
  12. natanelho

    natanelho GBAtemp Maniac

    Member
    1,390
    360
    Apr 25, 2015
    Antarctica
    Between the Sacred Silence and Sleep
    I meant a demo of some simple "input text and click to speak it" or somthing like that
     
  13. TheCruel

    TheCruel Developer

    Banned
    1,351
    2,886
    Dec 6, 2013
    United States
    Last edited by TheCruel, Sep 20, 2016
    I pwned U! and hoksyjp like this.
  14. TheCruel

    TheCruel Developer

    Banned
    1,351
    2,886
    Dec 6, 2013
    United States
  15. natanelho

    natanelho GBAtemp Maniac

    Member
    1,390
    360
    Apr 25, 2015
    Antarctica
    Between the Sacred Silence and Sleep
    Wow cool!
    Can I change the tone/ speed/ pitch of talking?
     
  16. TheCruel

    TheCruel Developer

    Banned
    1,351
    2,886
    Dec 6, 2013
    United States
    Not with the Flite API, but you can modify the audio samples it gives you however you like. There are also other voices with other accents/languages but you have to link them in.
     
  17. natanelho

    natanelho GBAtemp Maniac

    Member
    1,390
    360
    Apr 25, 2015
    Antarctica
    Between the Sacred Silence and Sleep
    Hmm interesting... will be sure to take a look
     
  18. Deck of Noobs

    Deck of Noobs Politically Incorrect

    Member
    774
    1,127
    Apr 9, 2016
    United States
    3ds.guide
    Why 3DS homebrew is perfect
     
    TotalInsanity4 likes this.
  19. Thunder Kai

    Thunder Kai #TeamRem

    Member
    1,349
    384
    Sep 4, 2015
    United States
    With Rem
    Need to change background picture :D
     
  20. TheCruel

    TheCruel Developer

    Banned
    1,351
    2,886
    Dec 6, 2013
    United States
    Yeah, changed it to not spoil.
    Now to make a CIA build for titledb... ;)
     
    Thunder Kai and AshleyCummings like this.