Compilando a picotts manualmente

Como já comentamos aqui o PicoTTS do Android foi portado para o Debian e tambem esta’ disponivel no repositorio do Ubuntu.

Você pode baixar o código fonte através do comando:

$ sudo apt-src install libttspico-utils

Dentro do diretório svox-blablabla existem vários arquivos que são exclusivos p/ Android e não nos interessa. Copie apenas os arquivos de dentro do diretório libs e o arquivo pico2wave.c (que fica dentro de bin) para o local onde você deseja fazer a compilação.

Inicialmente eu compilei arquivo por arquivo (mas você não precisa fazer isso, veja mais abaixo depois), da seguinte forma:

$ gcc -c -I. picosXYZ.c -o picosXYZ.o

$ gcc picoacph.o picoapi.c picobase.o picocep.o picoctrl.o picodata.o picodbg.o picoextapi.o picofftsg.o picokdbg.o picokdt.o picokfst.o picoklex.o picoknow.o picokpdf.o picokpr.o picoktab.o picoos.o picopal.o picopam.o picopr.o picorsrc.o picosa.o picosig2.o picosig.o picospho.o picotok.o picotrns.o picowa.o pico2wave.o -o pico2wave -lm -lpopt

Copie os arquivos de base de fonemas para o diretorio local:
$ cp -a /usr/share/pico/lang .

E testei executando o comando:

$ ./pico2wave -w /tmp/teste.wav “Hello World” ; aplay /tmp/teste.wav

Agora vamos simplificar o processo criando um Makefile para compilar tudo pra gente:

CC = gcc
CFLAGS = -I.
LDFLAGS = -lm -lpopt

TARGET = pico2wave
OBJ = picoacph.o picoapi.c picobase.o picocep.o picoctrl.o picodata.o picodbg.o picoextapi.o picofftsg.o picokdbg.o picokdt.o picokfst.o picoklex.o picoknow.o picokpdf.o picokpr.o picoktab.o picoos.o picopal.o picopam.o picopr.o picorsrc.o picosa.o picosig2.o picosig.o picospho.o picotok.o picotrns.o picowa.o pico2wave.o

all : $(TARGET)

$(TARGET) : $(OBJ)
$(CC) $(OBJ) -o $@ $(LDFLAGS)

clean:
rm -rf *.[oa] *.gdb *~ core $(TARGET)

O = o

%.$(O) : %.c
$(CC) $(CFLAGS) -c $< -o $@

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s