掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 3941|回复: 18

[工具] 发个给mdd文件去声音的程序,python写的

[复制链接]

该用户从未签到

发表于 2014-5-26 22:42:20 | 显示全部楼层 |阅读模式
; D) o$ N2 L4 [+ O
在论坛转了一圈,似乎没有人发这方面的东西,自己捣鼓出一个# ]- g7 e( u, ^0 I9 C( a$ u

6 ~  v8 B1 k; {; s( S; g/ m" U一、为什么要去声音?6 D, ?. w" t) O3 ~2 b9 P0 y5 R
6 |& Y' u. l; h) v* Y+ q8 g2 N* q+ Z
原因1:手机的容量有限,主流的几个词典比如朗文5,mdd文件有1G多,放在手机上本人表示压力很大 ' j6 {7 G+ ~- W- \6 M/ A! l
原因2:现在许多词典都有声音,个人认为有一个带声的足以,没必要每个都带声,纯浪费空间
- g* H) U' X- \
% E  [2 `$ Y- Q+ e3 V$ W- H5 ^自测去掉声音后mdd文件大小可以降为原先的20%
, w" a" l/ {: {6 @. h, D. G) n  ]% m: t4 @' r( d+ d9 @
二、反编译mdx/mdd,取得原始txt和data数据2 x0 B, Q8 {7 z6 z5 e6 R* d
! m! S: V0 r4 i. E( H7 m
目前通行的做法似乎是采用yhssdl大侠的Getdict,确实强大,佩服
. ?& Q3 M7 _- ?代码貌似没公开。从已经生成的txt和data着手处理固然可以,不过总觉得方法不够优雅 , N8 n' D" b8 L. p+ g# W0 W+ o
如果在反编译的同时顺便把声音给去了,岂不是更好?, a1 M  C+ e% E) O% P$ H
于是用度娘找啊找,终于在newsmth上找到个牛人kingson写的python,可以做和Getdict同样的工作,
5 O8 |$ R8 x0 b" P  t1 G且代码是公开的。小改几行,收工。
1 U0 ^9 F, ]  c- ]1 I) I  D4 g. j- C# u/ K# s
原始代码在这里:8 Q* V5 d! W+ W+ n& Q" G+ |, C0 C
https://bitbucket.org/xwang/mdict-analysis/src
2 C5 m3 g, \- S. j  v. C
+ G- H! z$ e" u: m本人修改过的见附件,搜下面关键字即可看到我加的代码, S9 B* l& n: U. V
###bt4baidu add start
0 `- b4 @4 N  M5 T7 P5 Y8 \###bt4baidu add end
* g0 g' {/ i; h& ^" D$ n1 Z
+ ^( z2 S& p) Y# I% p! _6 e不会用python请找度娘,本人今天第一次用python。从搭环境到完工一共花半天不到。
. l" d3 o  }4 h3 B0 ?, `  y1 z% A强烈推荐用ulipad,体积小,超轻量,编辑调试手感很赞,还带个动态正则表达式环境
' E5 y0 f2 a. H0 G" L2 K! K3 V. V7 j6 }8 K7 d
三、编译mdx/mdd
3 Q* C7 P/ k( _& p2 x' c& y' p! M7 n! O* \
这个就不废话了,直接上Rayman大婶的MdxBuilder* Z1 M9 L9 D8 p8 @/ D! r

/ `# u) R/ z4 @9 P% ^注意:# Z; l9 q* v0 P( ^8 D% s4 C
1、仅测试了手头有的几个词库,如果遇到例外情况请自行改代码解决,主要是改那个去html声音链接的正则表达式- r$ U( `+ o5 ^: u! e0 Q3 q
2、查看反编译出的data目录最好用cmd命令行方式,文件多,打开一次要等半天
& J" b: Z% c, f' e; b- r# W! Q3、本人比较忙,且比较懒,不常来,有问题可能不会及时回答' P* w+ H; ^; F$ `
4、安装文本和目录比较工具,如beyondcompare,方便校对+ e' c$ P# X  @+ J* L) y
5、干活之前做好备份。计算机小白就不要轻易尝试了,最好请在坛里找高手帮忙(美女可以找我
$ j) X; E- V4 e: d3 c

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?免费注册

x

评分

1

查看全部评分

本帖被以下淘专辑推荐:

  • TA的每日心情
    开心
    2018-3-19 02:23
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2017-1-31 12:40:18 | 显示全部楼层
    HTTPOPPP 发表于 2017-1-31 11:32
    4 G8 `' J# Q* ?5 Y- N: e( @8 x& f可是mdd文件有时候也会包括词条.
    & N$ U$ e" ?5 `3 M0 r, D
    词条全部在mdx,其实mdx就相当于HTML。常见的是:mdd有某些词条的图片
  • TA的每日心情
    难过
    2023-11-26 08:44
  • 签到天数: 49 天

    [LV.5]常住居民I

    发表于 2014-5-26 23:34:32 | 显示全部楼层
    谢谢分享!!!

    该用户从未签到

    发表于 2014-5-27 10:26:12 | 显示全部楼层
    删除了那个最大的mdd文件一般就搞定了

    该用户从未签到

    发表于 2014-5-27 11:42:19 | 显示全部楼层
    原作者不是xwang么 什么时候变成newsmth上找到个牛人kingson了- -
    . l# P% ]# b4 N7 D8 J2 H" Thttps://www.pdawiki.com/forum/fo ... hread&tid=10619

    该用户从未签到

     楼主| 发表于 2014-5-27 12:39:37 | 显示全部楼层
    meigen 发表于 2014-5-27 11:42 5 C$ V4 K+ T7 ]% U9 }0 l/ h
    原作者不是xwang么 什么时候变成newsmth上找到个牛人kingson了- -
    . [+ o- w2 L# m  P) P0 ^https://www.pdawiki.com/forum/forum.ph ...

    4 `5 P! }1 l4 g8 Y# l. qxwang就是kingson,kingson就是xwang

    该用户从未签到

     楼主| 发表于 2014-5-27 13:58:14 | 显示全部楼层
    用这个py脚本貌似能解开getdict无法处理的加密过的mdx1 q) H/ M6 P9 D3 [8 y5 z5 s

    ( F% r2 ?9 b$ f8 r! R+ S) v$ ?- J另外getdict有些小bug,从mdd文件解出data时,有时候好像会写入垃圾数据,不过不影响浏览) u7 q7 ?2 S  f+ ?
    , k, H: J% |4 W" p/ `$ s3 {
    附件是两个例子,比较大的那个getdict生成的,小的是py脚本生成的,用二进制比较可以看出来

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?免费注册

    x

    该用户从未签到

    发表于 2014-6-1 00:54:30 | 显示全部楼层
    正在学Python……
  • TA的每日心情
    奋斗
    2021-9-21 18:07
  • 签到天数: 167 天

    [LV.7]常住居民III

    发表于 2014-9-28 23:23:39 | 显示全部楼层
    谢谢分享,很实用,正想学习一下~

    该用户从未签到

    发表于 2014-11-4 20:49:47 | 显示全部楼层
    想用LDOCE5,又苦恼于文件太大,这下全解决了,赞~~~

    该用户从未签到

    发表于 2014-11-14 11:19:54 | 显示全部楼层
    收藏备用,谢谢.
  • TA的每日心情
    开心
    2018-10-3 08:04
  • 签到天数: 127 天

    [LV.7]常住居民III

    发表于 2016-11-22 09:43:52 | 显示全部楼层
    去声音之后有什么存在的意义

    点评

    因为有的人喜欢用独立的声音库.  发表于 2017-1-31 11:32
  • TA的每日心情
    开心
    2018-12-9 08:17
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2016-11-22 19:25:16 | 显示全部楼层
    bt4baidu真了不起!
  • TA的每日心情
    开心
    2018-4-26 16:40
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2017-1-31 11:32:50 | 显示全部楼层
    reuse 发表于 2014-5-27 10:26  l* i8 w1 Q$ c5 L1 F
    删除了那个最大的mdd文件一般就搞定了

    # n& _6 [% z4 Q* y1 i可是mdd文件有时候也会包括词条.

    该用户从未签到

    发表于 2017-2-8 22:18:02 | 显示全部楼层
    这个真是不错。
  • TA的每日心情
    擦汗
    2018-8-21 14:27
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    发表于 2018-3-1 10:19:33 | 显示全部楼层
    竟然还有这么好的程序  必须实用下
  • TA的每日心情
    开心
    2018-8-5 09:45
  • 签到天数: 108 天

    [LV.6]常住居民II

    发表于 2018-3-2 10:49:20 | 显示全部楼层
    顶,支持
    + `+ n4 Q. [" W4 v% h支持好作品哈哈哈哈哈
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

    小黑屋|手机版|Archiver|PDAWIKI |网站地图

    GMT+8, 2026-7-29 23:12 , Processed in 0.022476 second(s), 27 queries .

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

    快速回复 返回顶部 返回列表