掌上百科 - PDAWIKI

用户名  找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 2954|回复: 18

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

[复制链接]

该用户从未签到

发表于 2014-5-26 22:42:20 | 显示全部楼层 |阅读模式

: z2 X+ [1 @' l- u. q: I+ `在论坛转了一圈,似乎没有人发这方面的东西,自己捣鼓出一个+ D" u5 L# ]7 d/ ]) u  s
2 _9 l5 U. e' [  k
一、为什么要去声音?
/ w# {( \0 u9 }% M
' p8 B. I) Z/ e) Q2 d* c' @9 Z( v原因1:手机的容量有限,主流的几个词典比如朗文5,mdd文件有1G多,放在手机上本人表示压力很大 " h$ _2 U+ Y' w* k9 G7 |2 {8 ]# h
原因2:现在许多词典都有声音,个人认为有一个带声的足以,没必要每个都带声,纯浪费空间 $ h' D# A8 q0 D4 i3 i) u1 L0 \

+ o3 E) g7 s; y+ ^( t: ]9 v7 W. ^自测去掉声音后mdd文件大小可以降为原先的20%
" T7 x' W' x0 Q7 s# L2 R2 X4 z) b0 B7 T; F: j
二、反编译mdx/mdd,取得原始txt和data数据5 A; S' _  G1 p: f

5 \& W8 e# b; O5 D2 v4 k目前通行的做法似乎是采用yhssdl大侠的Getdict,确实强大,佩服
* ?* w$ p, o: l) M$ ^, B- }4 d" M$ N代码貌似没公开。从已经生成的txt和data着手处理固然可以,不过总觉得方法不够优雅
4 {! C  n8 R/ ]' t' }- j  {0 I如果在反编译的同时顺便把声音给去了,岂不是更好?
8 K* Y6 {& h) z3 a1 ^于是用度娘找啊找,终于在newsmth上找到个牛人kingson写的python,可以做和Getdict同样的工作,0 D# C0 }3 w5 I. h& R
且代码是公开的。小改几行,收工。7 |* S* `2 g7 U6 C  k  K4 v+ ], u. s

+ e1 C+ e2 a; A# y原始代码在这里:1 D: U& _+ V  t2 w/ }
https://bitbucket.org/xwang/mdict-analysis/src2 P9 O+ o& _' C6 W) c

' H% A/ t; m2 k  y0 a7 S本人修改过的见附件,搜下面关键字即可看到我加的代码
  c/ L5 C  g7 D' \###bt4baidu add start0 G8 I* k* _$ i- E0 a8 ^
###bt4baidu add end. M& T4 W; q8 Z, S+ T

, S! K4 E+ n* @不会用python请找度娘,本人今天第一次用python。从搭环境到完工一共花半天不到。+ Y) u: |2 n* F# ^' P: Z& C' V- @
强烈推荐用ulipad,体积小,超轻量,编辑调试手感很赞,还带个动态正则表达式环境
6 O+ U% I# G: p* d% u$ u: E6 K# ?& c8 b2 b) c0 E  |
三、编译mdx/mdd0 b/ i2 L0 B! S
% |  T% \3 |3 |, n2 F0 y7 N5 T3 p
这个就不废话了,直接上Rayman大婶的MdxBuilder
# i4 k7 _2 ^# }1 L
/ I6 v) _( P' @/ S注意:
) [# C% c- L# Q/ X: {4 `* e' `3 u1、仅测试了手头有的几个词库,如果遇到例外情况请自行改代码解决,主要是改那个去html声音链接的正则表达式
! m+ p* w% v6 Z( n7 `; x- A/ @2 [/ s2、查看反编译出的data目录最好用cmd命令行方式,文件多,打开一次要等半天6 v2 ^0 A6 [# f. D1 m" h
3、本人比较忙,且比较懒,不常来,有问题可能不会及时回答3 b# T: [. P7 i% I% B. W! ]
4、安装文本和目录比较工具,如beyondcompare,方便校对: g* i9 B+ P5 X  ~1 l9 ?- w: I
5、干活之前做好备份。计算机小白就不要轻易尝试了,最好请在坛里找高手帮忙(美女可以找我
6 z9 B. f4 _: E. R& Z3 Z1 J

本帖子中包含更多资源

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

x

评分

1

查看全部评分

本帖被以下淘专辑推荐:

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

    [LV.1]初来乍到

    发表于 2017-1-31 12:40:18 | 显示全部楼层
    HTTPOPPP 发表于 2017-1-31 11:32
    % `% S. B  s# l- o0 e4 A可是mdd文件有时候也会包括词条.
    ) O6 P/ \/ J, G; c' G* }6 F: s
    词条全部在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了- -( _! ]. B3 h6 O
    https://www.pdawiki.com/forum/fo ... hread&tid=10619

    该用户从未签到

     楼主| 发表于 2014-5-27 12:39:37 | 显示全部楼层
    meigen 发表于 2014-5-27 11:42
    4 a1 o, z- ]! p8 t原作者不是xwang么 什么时候变成newsmth上找到个牛人kingson了- -
    3 x2 y6 n) u, Z2 s1 Phttps://www.pdawiki.com/forum/forum.ph ...
    ! N; y7 [- o: i0 d
    xwang就是kingson,kingson就是xwang

    该用户从未签到

     楼主| 发表于 2014-5-27 13:58:14 | 显示全部楼层
    用这个py脚本貌似能解开getdict无法处理的加密过的mdx
    - l: ]& |$ H8 m+ c; x8 a; {0 l4 l
      Y+ U" s1 L& [5 L* M) p* B  \另外getdict有些小bug,从mdd文件解出data时,有时候好像会写入垃圾数据,不过不影响浏览
    & T/ d# `1 O* |: Y: X5 G& Y3 s& u$ w7 t5 _  j
    附件是两个例子,比较大的那个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
    % P  A: f/ Q! O# T. h删除了那个最大的mdd文件一般就搞定了
    3 K$ |" i- N- W$ g0 x* m
    可是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 | 显示全部楼层
    顶,支持% p4 L( F1 b9 v& M7 \; V( R! r1 g2 w
    支持好作品哈哈哈哈哈
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2025-5-6 16:44 , Processed in 0.024779 second(s), 27 queries .

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

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