修改源码,让StarDict直接用上mp3真人发音库,不用转wav

由本社区发起的开源项目
头像
konglinglong
帖子: 90
注册时间: 2008-04-14 13:19
来自: 广东 茂名
送出感谢: 0
接收感谢: 0
联系:

修改源码,让StarDict直接用上mp3真人发音库,不用转wav

#1

帖子 konglinglong » 2009-10-19 23:16

今天要用到StarDict的真人发音库,发现有WyabdcRealPeopleTTS 和OtdRealPeopleTTS
两个库。WyabdcRealPeopleTTS的音质太差,不用。那就只有用OtdRealPeopleTTS了,
但OtdRealPeopleTTS是mp3格式的,StarDict只能放wav格式的,还要把mp3转为wav,
本来转换一下不是问题,但转换后150M 的文件变成3G的文件,就算磁盘空间充足也不
是这样浪费的吧!何况这都可以存放很多部片子了~

由于我已经装了mplayer以及mp3解码器,以为在音效设置里面把play改为mplayer,
语音库路径改为/usr/share/OtdRealPeopleTTS就可以了。但修改后发现还是没发声。

决定下开源码来看一下,打开/stardict-3.0.1/src/readword.cpp一看,发现了问题所在

一、
bool ReadWord::RealTts_canRead(const gchar *word)
{
bool return_val = false;
if (!ttspath.empty() && word && g_ascii_isalpha(word[0])) {
std::string lowerword;
const gchar *p = word;
while (*p) {
if (*p!=' ')
lowerword+=g_ascii_tolower(*p);
p++;
}
std::string filename;
std::list<std::string>::const_iterator it;
for (it=ttspath.begin(); it!=ttspath.end(); ++it) {
filename = *it + G_DIR_SEPARATOR_S + lowerword[0] + G_DIR_SEPARATOR_S + lowerword + ".wav"; #1
return_val = g_file_test(filename.c_str(), G_FILE_TEST_EXISTS); #2

if (return_val)
break;
}
}
return return_val;
}

红色标记第一句是找到wav文件的全路径,第二句是判断文件是否存在。由于是硬编定为wav,
所以前面修改音效设置是没有用的。

改为:
bool ReadWord::RealTts_canRead(const gchar *word)
{
bool return_val = false;
if (!ttspath.empty() && word && g_ascii_isalpha(word[0])) {
std::string lowerword;
const gchar *p = word;
while (*p) {
if (*p!=' ')
lowerword+=g_ascii_tolower(*p);
p++;
}
std::string filename;
std::list<std::string>::const_iterator it;
for (it=ttspath.begin(); it!=ttspath.end(); ++it) {
std::string suffix, aword;
aword = *it + G_DIR_SEPARATOR_S + "a" + G_DIR_SEPARATOR_S + "a.mp3";
if (g_file_test(aword.c_str(), G_FILE_TEST_EXISTS))
suffix = ".mp3";
else
suffix = ".wav";
filename = *it + G_DIR_SEPARATOR_S + lowerword[0] + G_DIR_SEPARATOR_S + lowerword + suffix;

return_val = g_file_test(filename.c_str(), G_FILE_TEST_EXISTS);
if (return_val)
break;
}
}
return return_val;
}

在/stardict-3.0.1/src/readword.cpp中有两个这样的地方,另一个在
void ReadWord::Command_read(const gchar *word)这个函数中,都这样改。


二、

在/stardict-3.0.1/src/conf.cpp中

#if defined(CONFIG_GTK) || defined (CONFIG_GPE)
add_entry("/apps/stardict/preferences/dictionary/play_command", std::string("play"));
#endif

把play改为mplayer。这个其实可以在安装运行以后再手动设置。

先装好mplayer及mp3解码器,archlinux用户不用急着装,在PKGBUILD设置了依赖。
接着编译源码,进入/stardict-3.0.1

./configure --prefix=/usr --sysconfdir=/etc --mandir=/usr/share/man --disable-gnome-support --disable-schemas-install --disable-espeak --disable-gucharmap --disable-festival --disable-advertisement --disable-updateinfo

注意:要加上红色标记的那些参数

make

好了,运行,没声?~

对了,把发音库拷到/usr/share/OtdRealPeopleTTS下面,
运行,还是没有声音~
从上面的代码我们可以看到,StarDict只能读到/usr/share/OtdRealPeopleTTS下面路径和文件名都是小写的
声音文件。
这么多文件要一个个手工修改?当然不是了~
我这里有个shell脚本,修改这么多文件就靠它了~
运行它后,再运行StarDict应该就可以了


OtdRealPeopleTTS真人发音库下载地址:http://ubuntu:[email protected] ... TTS.tar.gz
修改好的源码:http://myfilestorage.googlecode.com/fil ... .1.tar.bz2
convert脚本(打开可以看到使用方法):http://myfilestorage.googlecode.com/files/convert

由于这些天在学习使用archlinux,所以特意写了个PKGBUILD
http://myfilestorage.googlecode.com/files/PKGBUILD
上次由 konglinglong 在 2009-10-20 12:42,总共编辑 3 次。
最重要的,
拥有跟随内心与直觉的勇气,
因为你的内心与直觉或多或少已经知道你真正想要成为什么样的人~
我的主页:http://sites.google.com/site/konglinglong/
头像
wangdu2002
帖子: 13284
注册时间: 2008-12-13 19:39
来自: 物华天宝人杰地灵
送出感谢: 1 次
接收感谢: 6 次

Re: 修改源码,让stardict直接用上mp3真人发音库,不用转wav

#2

帖子 wangdu2002 » 2009-10-19 23:17

占位学习,顶楼主。。。楼主水平很不错啊,自个能分析QQ,现在又来改进星际译王了。 :em11
行到水穷处,坐看云起时。
海内生明月,天涯共此夕。
--------------------吾本独!
头像
xjpvictor
帖子: 2837
注册时间: 2007-08-22 15:55
系统: Archlinux
来自: 新加坡
送出感谢: 0
接收感谢: 9 次
联系:

Re: 修改源码,让stardict直接用上mp3真人发音库,不用转wav

#3

帖子 xjpvictor » 2009-10-19 23:21

支持楼主,向楼主学习。。
Entschuldigung. Ich habe keine ahnung.
Secure with PGP: gpg --recv-keys 0x68b6e3d8
Fingerprint: 5556 517C F52F E402 DDF5 5400 6D30 F13E 68B6 E3D8
Towards A Sustainable Earth: Print Only When Necessary
头像
潇洒走一回
帖子: 735
注册时间: 2009-05-20 21:43
送出感谢: 2 次
接收感谢: 2 次

Re: 修改源码,让stardict直接用上mp3真人发音库,不用转wav

#4

帖子 潇洒走一回 » 2009-10-19 23:36

好东西,星际议王的发音问题一直困扰着我...有时间再试!
头像
momova
帖子: 3381
注册时间: 2007-07-11 21:43
系统: archlinux
来自: 东江边
送出感谢: 15 次
接收感谢: 7 次

Re: 修改源码,让stardict直接用上mp3真人发音库,不用转wav

#5

帖子 momova » 2009-10-19 23:50

WyabdcRealPeopleTTS--这个怎么样啊
我来了,我看见了,我征服了!
求勾搭,不管饭。
头像
konglinglong
帖子: 90
注册时间: 2008-04-14 13:19
来自: 广东 茂名
送出感谢: 0
接收感谢: 0
联系:

Re: 修改源码,让stardict直接用上mp3真人发音库,不用转wav

#6

帖子 konglinglong » 2009-10-20 0:03

momova 写了:WyabdcRealPeopleTTS--这个怎么样啊
我是去年用过,音质很差,
后来就换了OtdRealPeopleTTS,不过要转换成wav格式,
可是占了我3G的空间啊~
虽然空间充足,但心里总是感觉疙瘩疙瘩的~
最重要的,
拥有跟随内心与直觉的勇气,
因为你的内心与直觉或多或少已经知道你真正想要成为什么样的人~
我的主页:http://sites.google.com/site/konglinglong/
头像
momova
帖子: 3381
注册时间: 2007-07-11 21:43
系统: archlinux
来自: 东江边
送出感谢: 15 次
接收感谢: 7 次

Re: 修改源码,让StarDict直接用上mp3真人发音库,不用转wav

#7

帖子 momova » 2009-10-21 16:49

代码: 全选

~/tmp/stardict-3.0.1$ ./configure                             
checking for a BSD-compatible install... /usr/bin/install -c                   
checking whether build environment is sane... yes                              
checking for a thread-safe mkdir -p... /bin/mkdir -p                           
checking for gawk... no                                                        
checking for mawk... mawk                                                      
checking whether make sets $(MAKE)... yes                                      
checking whether to enable maintainer-specific portions of Makefiles... no     
checking for gconftool-2... /usr/bin/gconftool-2                               
checking for style of include used by make... GNU                              
checking for gcc... gcc                                                        
checking for C compiler default output file name... a.out                      
checking whether the C compiler works... yes                                   
checking whether we are cross compiling... no                                  
checking for suffix of executables...                                          
checking for suffix of object files... o                                       
checking whether we are using the GNU C compiler... yes                        
checking whether gcc accepts -g... yes                                         
checking for gcc option to accept ISO C89... none needed                       
checking dependency style of gcc... gcc3                                       
checking for intltool >= 0.22... 0.36.2 found                                  
checking for perl... /usr/bin/perl                                             
checking for XML::Parser... ok                                                 
checking build system type... i686-pc-linux-gnu                                
checking host system type... i686-pc-linux-gnu                                 
checking for a sed that does not truncate output... /bin/sed                   
checking for grep that handles long lines and -e... /bin/grep                  
checking for egrep... /bin/grep -E                                             
checking for ld used by gcc... /usr/bin/ld                                     
checking if the linker (/usr/bin/ld) is GNU ld... yes                          
checking for /usr/bin/ld option to reload object files... -r                   
checking for BSD-compatible nm... /usr/bin/nm -B                               
checking whether ln -s works... yes                                            
checking how to recognize dependent libraries... pass_all                      
checking how to run the C preprocessor... gcc -E                               
checking for ANSI C header files... yes                                        
checking for sys/types.h... yes                                                
checking for sys/stat.h... yes                                                 
checking for stdlib.h... yes                                                   
checking for string.h... yes                                                   
checking for memory.h... yes                                                   
checking for strings.h... yes                                                  
checking for inttypes.h... yes                                                 
checking for stdint.h... yes                                                   
checking for unistd.h... yes                                                   
checking dlfcn.h usability... yes                                              
checking dlfcn.h presence... yes                                               
checking for dlfcn.h... yes                                                    
checking for g++... g++                                                        
checking whether we are using the GNU C++ compiler... yes                      
checking whether g++ accepts -g... yes                                         
checking dependency style of g++... gcc3                                       
checking how to run the C++ preprocessor... g++ -E                             
checking for g77... no                                                         
checking for xlf... no                                                         
checking for f77... no                                                         
checking for frt... no                                                         
checking for pgf77... no                                                       
checking for cf77... no                                                        
checking for fort77... no                                                      
checking for fl32... no                                                        
checking for af77... no                                                        
checking for xlf90... no                                                       
checking for f90... no                                                         
checking for pgf90... no                                                       
checking for pghpf... no                                                       
checking for epcf90... no                                                      
checking for gfortran... no                                                    
checking for g95... no                                                         
checking for xlf95... no                                                       
checking for f95... no                                                         
checking for fort... no                                                        
checking for ifort... no                                                       
checking for ifc... no                                                         
checking for efc... no                                                         
checking for pgf95... no                                                       
checking for lf95... no                                                        
checking for ftn... no                                                         
checking whether we are using the GNU Fortran 77 compiler... no                
checking whether  accepts -g... no                                             
checking the maximum length of command line arguments... 1572864               
checking command to parse /usr/bin/nm -B output from gcc object... ok          
checking for objdir... .libs                                                   
checking for ar... ar                                                          
checking for ranlib... ranlib                                                  
checking for strip... strip                                                    
checking if gcc supports -fno-rtti -fno-exceptions... no                       
checking for gcc option to produce PIC... -fPIC                                
checking if gcc PIC flag -fPIC works... yes                                    
checking if gcc static flag -static works... yes                               
checking if gcc supports -c -o file.o... yes                                   
checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes 
checking whether -lc should be explicitly linked in... no                      
checking dynamic linker characteristics... GNU/Linux ld.so                     
checking how to hardcode library paths into programs... immediate              
checking whether stripping libraries is possible... yes                        
checking if libtool supports shared libraries... yes                           
checking whether to build shared libraries... yes                              
checking whether to build static libraries... no                               
configure: creating libtool                                                    
appending configuration tag "CXX" to libtool                                   
checking for ld used by g++... /usr/bin/ld                                     
checking if the linker (/usr/bin/ld) is GNU ld... yes                          
checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes 
checking for g++ option to produce PIC... -fPIC                                
checking if g++ PIC flag -fPIC works... yes                                    
checking if g++ static flag -static works... yes                               
checking if g++ supports -c -o file.o... yes                                   
checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes 
checking dynamic linker characteristics... GNU/Linux ld.so                     
checking how to hardcode library paths into programs... immediate
appending configuration tag "F77" to libtool
checking for library containing strerror... none required
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking dependency style of gcc... (cached) gcc3
checking whether we are using the GNU C++ compiler... (cached) yes
checking whether g++ accepts -g... (cached) yes
checking dependency style of g++... (cached) gcc3
checking for a BSD-compatible install... /usr/bin/install -c
checking whether make sets $(MAKE)... (cached) yes
checking for stdlib.h... (cached) yes
checking for unistd.h... (cached) yes
checking for getpagesize... yes
checking for working mmap... yes
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking for LC_MESSAGES... yes
checking libintl.h usability... yes
checking libintl.h presence... yes
checking for libintl.h... yes
checking for ngettext in libc... yes
checking for dgettext in libc... yes
checking for bind_textdomain_codeset... yes
checking for msgfmt... /usr/bin/msgfmt
checking for dcgettext... yes
checking if msgfmt accepts -c... yes
checking for gmsgfmt... /usr/bin/msgfmt
checking for xgettext... /usr/bin/xgettext
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for ENCHANT... yes
checking for GUCHARMAP... no
configure: error: Gucharmap library not found or too old. Use --disable-gucharmap to build without gucharmap plugin.
怎么办啊?
我来了,我看见了,我征服了!
求勾搭,不管饭。
头像
konglinglong
帖子: 90
注册时间: 2008-04-14 13:19
来自: 广东 茂名
送出感谢: 0
接收感谢: 0
联系:

Re: 修改源码,让StarDict直接用上mp3真人发音库,不用转wav

#8

帖子 konglinglong » 2009-10-21 19:21

momova 写了:

代码: 全选

~/tmp/stardict-3.0.1$ ./configure                             
checking for a BSD-compatible install... /usr/bin/install -c                   
checking whether build environment is sane... yes                              
checking for a thread-safe mkdir -p... /bin/mkdir -p                           
checking for gawk... no                                                        
checking for mawk... mawk                                                      
checking whether make sets $(MAKE)... yes                                      
checking whether to enable maintainer-specific portions of Makefiles... no     
checking for gconftool-2... /usr/bin/gconftool-2                               
checking for style of include used by make... GNU                              
checking for gcc... gcc                                                        
checking for C compiler default output file name... a.out                      
checking whether the C compiler works... yes                                   
checking whether we are cross compiling... no                                  
checking for suffix of executables...                                          
checking for suffix of object files... o                                       
checking whether we are using the GNU C compiler... yes                        
checking whether gcc accepts -g... yes                                         
checking for gcc option to accept ISO C89... none needed                       
checking dependency style of gcc... gcc3                                       
checking for intltool >= 0.22... 0.36.2 found                                  
checking for perl... /usr/bin/perl                                             
checking for XML::Parser... ok                                                 
checking build system type... i686-pc-linux-gnu                                
checking host system type... i686-pc-linux-gnu                                 
checking for a sed that does not truncate output... /bin/sed                   
checking for grep that handles long lines and -e... /bin/grep                  
checking for egrep... /bin/grep -E                                             
checking for ld used by gcc... /usr/bin/ld                                     
checking if the linker (/usr/bin/ld) is GNU ld... yes                          
checking for /usr/bin/ld option to reload object files... -r                   
checking for BSD-compatible nm... /usr/bin/nm -B                               
checking whether ln -s works... yes                                            
checking how to recognize dependent libraries... pass_all                      
checking how to run the C preprocessor... gcc -E                               
checking for ANSI C header files... yes                                        
checking for sys/types.h... yes                                                
checking for sys/stat.h... yes                                                 
checking for stdlib.h... yes                                                   
checking for string.h... yes                                                   
checking for memory.h... yes                                                   
checking for strings.h... yes                                                  
checking for inttypes.h... yes                                                 
checking for stdint.h... yes                                                   
checking for unistd.h... yes                                                   
checking dlfcn.h usability... yes                                              
checking dlfcn.h presence... yes                                               
checking for dlfcn.h... yes                                                    
checking for g++... g++                                                        
checking whether we are using the GNU C++ compiler... yes                      
checking whether g++ accepts -g... yes                                         
checking dependency style of g++... gcc3                                       
checking how to run the C++ preprocessor... g++ -E                             
checking for g77... no                                                         
checking for xlf... no                                                         
checking for f77... no                                                         
checking for frt... no                                                         
checking for pgf77... no                                                       
checking for cf77... no                                                        
checking for fort77... no                                                      
checking for fl32... no                                                        
checking for af77... no                                                        
checking for xlf90... no                                                       
checking for f90... no                                                         
checking for pgf90... no                                                       
checking for pghpf... no                                                       
checking for epcf90... no                                                      
checking for gfortran... no                                                    
checking for g95... no                                                         
checking for xlf95... no                                                       
checking for f95... no                                                         
checking for fort... no                                                        
checking for ifort... no                                                       
checking for ifc... no                                                         
checking for efc... no                                                         
checking for pgf95... no                                                       
checking for lf95... no                                                        
checking for ftn... no                                                         
checking whether we are using the GNU Fortran 77 compiler... no                
checking whether  accepts -g... no                                             
checking the maximum length of command line arguments... 1572864               
checking command to parse /usr/bin/nm -B output from gcc object... ok          
checking for objdir... .libs                                                   
checking for ar... ar                                                          
checking for ranlib... ranlib                                                  
checking for strip... strip                                                    
checking if gcc supports -fno-rtti -fno-exceptions... no                       
checking for gcc option to produce PIC... -fPIC                                
checking if gcc PIC flag -fPIC works... yes                                    
checking if gcc static flag -static works... yes                               
checking if gcc supports -c -o file.o... yes                                   
checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes 
checking whether -lc should be explicitly linked in... no                      
checking dynamic linker characteristics... GNU/Linux ld.so                     
checking how to hardcode library paths into programs... immediate              
checking whether stripping libraries is possible... yes                        
checking if libtool supports shared libraries... yes                           
checking whether to build shared libraries... yes                              
checking whether to build static libraries... no                               
configure: creating libtool                                                    
appending configuration tag "CXX" to libtool                                   
checking for ld used by g++... /usr/bin/ld                                     
checking if the linker (/usr/bin/ld) is GNU ld... yes                          
checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes 
checking for g++ option to produce PIC... -fPIC                                
checking if g++ PIC flag -fPIC works... yes                                    
checking if g++ static flag -static works... yes                               
checking if g++ supports -c -o file.o... yes                                   
checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes 
checking dynamic linker characteristics... GNU/Linux ld.so                     
checking how to hardcode library paths into programs... immediate
appending configuration tag "F77" to libtool
checking for library containing strerror... none required
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking dependency style of gcc... (cached) gcc3
checking whether we are using the GNU C++ compiler... (cached) yes
checking whether g++ accepts -g... (cached) yes
checking dependency style of g++... (cached) gcc3
checking for a BSD-compatible install... /usr/bin/install -c
checking whether make sets $(MAKE)... (cached) yes
checking for stdlib.h... (cached) yes
checking for unistd.h... (cached) yes
checking for getpagesize... yes
checking for working mmap... yes
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking for LC_MESSAGES... yes
checking libintl.h usability... yes
checking libintl.h presence... yes
checking for libintl.h... yes
checking for ngettext in libc... yes
checking for dgettext in libc... yes
checking for bind_textdomain_codeset... yes
checking for msgfmt... /usr/bin/msgfmt
checking for dcgettext... yes
checking if msgfmt accepts -c... yes
checking for gmsgfmt... /usr/bin/msgfmt
checking for xgettext... /usr/bin/xgettext
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for ENCHANT... yes
checking for GUCHARMAP... no
configure: error: Gucharmap library not found or too old. Use --disable-gucharmap to build without gucharmap plugin.
怎么办啊?
看来你没有看到我用红色标记出来要注意的问题:
./configure --prefix=/usr --sysconfdir=/etc --mandir=/usr/share/man --disable-gnome-support --disable-schemas-install --disable-espeak --disable-gucharmap --disable-festival --disable-advertisement --disable-updateinfo

注意:要加上红色标记的那些参数
最重要的,
拥有跟随内心与直觉的勇气,
因为你的内心与直觉或多或少已经知道你真正想要成为什么样的人~
我的主页:http://sites.google.com/site/konglinglong/
头像
白鳍豚
帖子: 2354
注册时间: 2009-01-19 23:03
送出感谢: 5 次
接收感谢: 0

Re: 修改源码,让StarDict直接用上mp3真人发音库,不用转wav

#9

帖子 白鳍豚 » 2009-10-21 19:53

arch
2009-10-21 19:56:13 (167 KB/s) - 已保存 “stardict-3.0.1.tar.bz2.part” [1964195/1964195])

==> 错误: stardict_gcc43.patch 没有在创建目录中找到,也不是一个 URL。
头像
konglinglong
帖子: 90
注册时间: 2008-04-14 13:19
来自: 广东 茂名
送出感谢: 0
接收感谢: 0
联系:

Re: 修改源码,让StarDict直接用上mp3真人发音库,不用转wav

#10

帖子 konglinglong » 2009-10-21 20:59

白鳍豚 写了:arch
2009-10-21 19:56:13 (167 KB/s) - 已保存 “stardict-3.0.1.tar.bz2.part” [1964195/1964195])

==> 错误: stardict_gcc43.patch 没有在创建目录中找到,也不是一个 URL。
不好意思,在extra仓库里面的stardict文件夹里面是自带stardict_gcc43.patch和sigc++.patch这两个文件的,
我忘了把它们上传到网上并加个连接。
现在好了http://myfilestorage.googlecode.com/files/PKGBUILD
:em03
最重要的,
拥有跟随内心与直觉的勇气,
因为你的内心与直觉或多或少已经知道你真正想要成为什么样的人~
我的主页:http://sites.google.com/site/konglinglong/
头像
白鳍豚
帖子: 2354
注册时间: 2009-01-19 23:03
送出感谢: 5 次
接收感谢: 0

Re: 修改源码,让StarDict直接用上mp3真人发音库,不用转wav

#11

帖子 白鳍豚 » 2009-10-21 21:12

==> 完成创建:stardict 3.0.1-3 i686 (2009年 10月 21日 星期三 21:13:05 CST) :em11
头像
konglinglong
帖子: 90
注册时间: 2008-04-14 13:19
来自: 广东 茂名
送出感谢: 0
接收感谢: 0
联系:

Re: 修改源码,让StarDict直接用上mp3真人发音库,不用转wav

#12

帖子 konglinglong » 2009-10-21 21:22

白鳍豚 写了:==> 完成创建:stardict 3.0.1-3 i686 (2009年 10月 21日 星期三 21:13:05 CST) :em11
:em01
最重要的,
拥有跟随内心与直觉的勇气,
因为你的内心与直觉或多或少已经知道你真正想要成为什么样的人~
我的主页:http://sites.google.com/site/konglinglong/
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙
送出感谢: 4 次
接收感谢: 256 次

Re: 修改源码,让StarDict直接用上mp3真人发音库,不用转wav

#13

帖子 eexpress » 2009-10-21 21:22

如果觉得有用,应该给作者提出。让作者支持后,可以改源的。

常规只开sdcv。
● 鸣学
头像
konglinglong
帖子: 90
注册时间: 2008-04-14 13:19
来自: 广东 茂名
送出感谢: 0
接收感谢: 0
联系:

Re: 修改源码,让StarDict直接用上mp3真人发音库,不用转wav

#14

帖子 konglinglong » 2009-10-21 21:41

eexpress 写了:如果觉得有用,应该给作者提出。让作者支持后,可以改源的。

常规只开sdcv。
我认为作者是不会在源码中直接支持mp3语音库的发音的,mp3不是开源的,因些也不被大多数的linux的发行版直接支持。所以想使用mp3语音库只有自己动手弄了,这就是开源的好处,自己想怎么弄就怎么弄~
最重要的,
拥有跟随内心与直觉的勇气,
因为你的内心与直觉或多或少已经知道你真正想要成为什么样的人~
我的主页:http://sites.google.com/site/konglinglong/
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙
送出感谢: 4 次
接收感谢: 256 次

Re: 修改源码,让StarDict直接用上mp3真人发音库,不用转wav

#15

帖子 eexpress » 2009-10-21 21:53

并不是直接使用。是出一个选择,用户填写或者选择格式文件而已。轻易就绕过了。
● 鸣学
回复

回到 “开源小工具”