你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

DIY STM32之MP3素材整理

[复制链接]
北京小王儿 发布时间:2009-5-19 09:38
我们的核心板已经做出来了,根据方案征集,大家达成了一致。准备自己动手,做一个mp3。下面我把关于mp3制作的方案整合一下,以下素材均来自于ouravr
赞 收藏 评论24 发布时间:2009-5-19 09:38

举报

24个回答
北京小王儿 回答时间:2009-5-19 09:40:20

回复:DIY STM32之MP3素材整理

基于STM32核心板的mp3原理图) m& n" L" H6 A, X- i* Z! Y, E
1.jpg
北京小王儿 回答时间:2009-5-19 09:43:30

回复:DIY STM32之MP3素材整理

1.jpg 5 v6 _; n# O2 o
于成功了!经过两个多月的业余时间的努力,我自己制作的MP3 + N. `9 b; ^( w  R- Z# M

) u& |% J2 K1 T5 }( d8 l随身听终于完成了。a方案是tmega8+vs1011,典型的单片机+解码芯片 + q2 k: H, N+ Z3 Q8 v; x& _
; b+ b( t$ i# k3 q" s) N, r/ x
由于自己有一个256MB的SD卡,所以我的
2 S" X/ {; {" @' i& D1 {8 A
5 _2 d! C. _2 aMP3是插SD卡的,这样省了不少成本,反正我的数码相机又不 ) W: J0 E3 t) @/ b* h' R* K! ^. y

. X9 q  j. a" z# x' w是经常使用,闲着也是闲着。大概成本算下来,自己做这样一个M - x2 j  ~6 v$ T5 h( c) ]

) i6 C# C, F6 Q' D  _P3大概才要120左右,不过最大的乐趣还是来自DIY的乐趣^-^
" z3 A5 R+ k" J- P$ f& q4 [4 M: C' ~7 f% w. N
采用的方案是单片机+DSP解码芯片,音质非常好,绝对比普通的MP3
; u6 L; K: X) M6 u4 S) I+ ]; V% O  O
要好。
北京小王儿 回答时间:2009-5-19 09:47:13

mega8 mp3 player

今天晚上我在我做的mp3上试验了播放wma音乐。
/ T" @* o# Q/ g$ R+ A' C! @vs1003手册上说可以解码吗mp3 wma和midi格式的音乐。
* z' o4 A, n4 E8 C3 u- B3 Y试验发现播放wma音乐可以像播放mp3那样播放,只要把wma文件数据送给vs1003就可直接播放。
. V5 ?" ], ]6 h# d' g# S; X0 \/ y5 L7 j
刚开始在从正在播放的wma音乐转入下一首音乐会出现不能播放的问题。
# s& [- h! q5 h; ?" ywma格式不像mp3格式那样容易播放,因此不能播放的原因是其不能正确结束当前播放的数据帧。 % v) N( Y" ]& l4 a
后来查datasheet发现可以通过设置SCI_MODE的SM_OUTOFWAV位来结束wma的播放。
0 ^. Y8 q5 w. c4 }. [4 Y# w1 s* q. T0 G" I3 C7 z& R$ I
由于我的程序没有判断当前播放的音乐是什么类型音乐的程序。所以我有找了个变通的方法,
" l, Y! _, s$ \8 ?就是复位。 " o8 q5 c1 p3 ^2 O% g8 J  x3 l% W

4 u1 c& T, B8 J1 j, D( s我用的是软件复位,通过设置SCI_MODE的SM_RESET位来实现。
6 r& Q# J" J1 P7 M. v即在播放每一首歌前复位一下vs1003就可解决wma歌曲的切换。 & m0 f5 l: [7 e  N. a2 O
按手册上的要求复位前最好向VS1003填充2048个0 且这些数据要根据DREQ引脚的请求送给芯片。 ! s" F. N( V: c5 A4 q& X1 @
另外复位后还要延时约1.35ms芯片才能恢复到先前的工作频率。
6 i* h! W, Z6 M% l8 O接下来就可以发送你的mp3或wma数据了。
0 C4 D' v4 F% ~+ ]- F2 p: h
3 ]  v& e+ n# k  t9 D$ m不过这种方法只能整首的播放wma音乐,不能快进。如要快进VLSI网站上有示例代码。
& r7 ~  H! N1 Y1 ]8 |
4 {9 \- E; ]! h现在我的mp3可以播放mp3和wma两种格式的音乐了,至于midi有空再研究。 / A8 J3 e/ F- r4 M8 H6 G

: E# b8 z/ {6 z2 D5 S  I不知阿永第三版的mp3板是否支持wma,如果没有可以考虑把它加上去,不复杂的,只要按我上面的方法就可。
* R0 p- Y5 I# {" x; ]
今天早上我又把vs1003的midi功能做出来了。  1 o; H) ], m9 p! n4 ^
2 s6 r" Y0 g6 F- e. p
不过在播放midi之前要把SMF1格式的midi转成SMF0格式的midi文件。  " Y8 G) R  A1 C/ y! C
在应用手册上的网址http://www.gnmidi.com/下载转换程序GN1:0转换。  
; _* U& s( A: F: w& j/ \将转换后的文件拷到sd卡中按播放mp3及wma的方式播放即可。  % I5 y7 V- U4 \+ k/ _2 h

. @' w7 {  X9 K" ]3 l1 K但要注意在从正在播放的midi曲子跳出来,在复位前就不要填充2048个零了  
4 s' S6 y& x6 H: T  Q+ I7 [如果填充了将会花很长时间才能进入下一首歌的播放,因为midi需要的数据量很小。  
# Y4 _8 I' [0 ~1 k2 I同样如果按暂停键,你也会等一段时间让vs1003把内部已有的数据处理完。  - e6 a, t7 k3 E, Q, X/ |( @6 Y# T* Z% U
7 e3 O  `' \# }2 a+ M
播放出来的音乐没有在电脑上播放的效果好,类似于手机上的midi音乐。  2 x, b) v. E/ p; \. R" {# a

, R0 i0 |9 D7 K$ z/ b我做的播放器的图片(在通用板上手工焊的)  

! n/ r* g9 T6 w 1.jpg   Z8 H+ V' a9 X
2.jpg
( B  E4 M5 n) l  D1 {; K* ~ 3.jpg
* k. X; J( N: X% A; g/ F% j另外一个问题:  
  `4 H4 X. b- h- z1 ~% g0 k当midi正常播放至结束时,不能按照判断数据是否送完为标准来判断歌曲是否放完。  
. Z/ o0 x6 r, F' l3 \4 V5 W. \在播放mp3和wma格式时用这种方法,由于损失的时间很短所以听不出来。  & v0 b5 d; q4 H4 i3 n
而在放midi时,虽然你的数据送完了,但是由于vs1003内还有2048字节的数据还没解码完。  
/ y1 c* D4 M5 [  M; K" _所以这时跳到下一首歌必然引起一段音乐无法播放完。  
, |: R" y2 W) u- s  z因此在送完所有数据后还要填充2048个数据,我用的是2048个零,才能恰好使midi音乐播放完,其实在播放mp3和wma时也要做同样的处理才对。  
9 |4 c2 ?( A7 B+ i
上传一下我写的程序  : w7 N* @0 o. x, o
里面包含了SD卡的驱动,完整的FAT16操作程序,及VS1003的程序。  ) |  h# U" x- }
整个程序花了我半个月时间。  
0 p. H5 \% A6 }# {: \
5 ?/ y1 ~; V5 x  w/ A7 ?, I" J0 k其中SD卡驱动只包含了初始化,读一扇区,写一扇区的功能。  0 `* K' G- R# ?+ f

) o6 r& [$ n. qFAT16部分  
& l; |3 o1 e5 X* A本来是针对我的毕业设计做的,现在顺便做了个mp3,所以其中有好多函数是不须要的。  
$ u9 A5 l+ J: V但是有需要做文件系统的可以参考一下。  ' }8 K/ w. p  s6 o1 [) y, \
这部分含有,创建文件,删除文件,创建目录,删除目录,重命名,打开文件,写文件,显示目录内容等。另外为了配合mp3的操作多添加了几个函数。  . @& \, Y9 L3 A3 b! b; ]: ]
但是写文件部分做的不完善。不支持长文件名的创建。  
# Y5 c2 K) p, E, ]+ I
; v% z6 F9 Z! Q5 ~3 W在主程序中放置了播放mp3的操作,同时注释掉了一些关于文件系统的函数。  
$ M. h1 E2 A- \2 Q如果把mp3的播放函数去掉,把原来的文件系统函数加上,可以直接使用。  
' K/ T* n% J# q9 _7 y
# J1 ~5 d. a3 D* k' {; L显示用串口调试工具显示,播放mp3时会显示文件名的短文件名项,初始化的时候会显示初始化信息。  
9 t9 \9 X( A( K3 Q2 V1 H* j5 `在用作fat16操作时可以像普通dos 操作一样。  + j/ Z- E4 e+ Y6 T' h
比如显示根目录内容可以输入dir \  4 l  p' Z6 A) C5 ?
具体信息可通过输入help查看帮助。  6 Q3 S3 c5 _# a6 X7 u6 _( c
( X9 a% _: q" i: v& d
关于这个mp3的原理图我就不画了  ! L: B5 ~; q  t. b1 i9 l( C5 M
总共几个脚我用文字描述一下。  
% a7 E+ N' r" u  O$ F& K1 G3 y) x# m
SD卡的cs接m32的SS引脚  
, v; O- s9 M; `3 e9 U; B其它的MISO MOSI SCK就不用说了  
( s" J* n$ @5 W7 E
5 u. w% B; p/ {% R: j4 ?$ G1 ^- CVS1003的  7 Q5 t0 A7 o7 C, I; \; J, |9 F
XCS接    PB0  
. r2 v5 ?: o3 Z4 B% [) q# SXRESET接 PB1  3 `% o9 R2 |; a6 K1 d( D! C* }
DREQ接   PB2  " W  x' F' ~* O
XDCS接   PB3  2 @2 o% a; b$ X* i
其它几根SPI数据线按标准接  8 ]; f" z5 ~' z0 g  Q1 l  C
# _) H. s9 g  r# K+ }
PLAY/STOP键接 PD5  
4 A8 i' n, O- s) K5 m. j+ z! G/ ^PREV键接      PD4  
& o! H  X; A% J6 ^, @NEXT键接      PD3  
+ u7 l; l6 D5 S# H. s3 F8 S/ Q/ a+ nV-   接       PD2  
3 n5 Z; p2 O: N, W) x. v* CV+   接       PD6   
& i5 G, [3 Q# u
/ m5 f6 {  s0 n. @% G+ m如须更改可在程序中修改  ( U% t, w# ^0 \

' Y: S7 G0 I+ ^8 u, [. C' Q( a' }VS1003的电源是这样接的,3.3V接IO电源,模拟电源用3.3串接一个1N4007,核电源在1N4007后接一个快恢复管1N5819。其它的按VS1003手册给的接法就行了。  
* O# R7 [( Y3 U6 l& z9 U3 s- J% R' c( F
如果要手工在通用板上焊VS1003的话,建议先给VS1003各个脚上好锡,然后焊好四周的8个脚用作固定,可以用电阻引脚之类的东西。然后用 细的漆包线,可以从小变压器上拆,把头上的漆用刀子刮掉上上锡。接着用普通的烙铁,记住烙铁不能沾锡,仔细焊上然后把线引到附近固定后接到你要的地方就行 了。
6 `; b" ]0 L1 p( \
+ q3 o% F, @$ G; NVS1003有很多电源脚内部是连在一起的,如果想偷懒的话可以只焊一根,或者只焊重要的脚就可以了,我上面做的mp3就是这样做的,工作没问题。不然48个脚要我焊焊上一天呢。  8 M# K8 u% N! o. n' D& N' ]
+ P- X) ]- S4 @- A2 z- ?5 Z

' j9 d. G4 V) q' ^
+ g2 S  h; \3 r9 [0 c+ I$ s
北京小王儿 回答时间:2009-5-19 09:53:24

发布一个带完整歌词显示的mp3(基于本站的mp3板)_个人业余玩AVR暂告一段落

以前说过要写个带歌词显示的mp3,但是一直没有时间。前一阵子抽4个晚上写出来了,后来又陆续做了改进,现在正式出炉了! $ R) z7 S2 C: ]9 f* I: E0 ~1 I
) ]# i5 Q7 g& x9 C5 ~% k
硬件环境:
  F; m9 ]5 G6 H8 ~8 w2 C) r    是网站的mp3板,还是去年卖的缺陷板,当时是这个板第一次做板,但是有点小错误。当时我仔细看了看问题不大就购了一块。虽然贴了个标签说不可以用作mp3用途,但是我还是做了。
. P, g% [# x$ f: r8 |% Y( F/ M    这个板的问题就是ch375的接线搞成5v版本的了,还有ch375的晶振离芯片太远,并且离数据线太近,这会导致ch375工作不稳 定。后来我通过改变晶振端的电容来稳定起工作。还有就是AVCC没有接VCC,还有个小毛病是232的RXD中少串了个电阻,直接接会导致无法isp下 载。 ! o$ T( J+ g  O& Y8 C. L
, I; M( @/ J" [: s: ^
    板子回来东西也是过了很久一个一个焊上去的,3310是从ppa2001那转让来的(在此表示感谢,他顺便还送了我很多PCB板)。最近从armok这里弄了些零件才算弄完整了。
% e" n! @& D% t* ^( [" I; \$ N
" W% J5 q9 S$ G+ {; E软件平台: * S+ ?: g$ `4 ?1 ^8 L2 p
    AVRSTudio4.13 + WinAVR20070525
8 R# F& Z1 l: E8 D6 P+ a  c" i0 Y9 D6 Q7 u; W1 I( w5 u
    到了公司用起了source insight才觉得AVRSTudio的编辑器太滥了,所以我是用source insight编辑代码,直接命令行敲命令make,用avrdude + jtagice下载代码
& L* j/ i* |: l, s
! U+ w2 S2 a  D3 E- u
6 n( \& R7 A2 _) L/ ]1 T% R功能描述: & u: n$ d8 N7 A6 B  l
    程序包含两部分bootloader+application
& T) R% X" E* @/ x& [) t# T! O, H% j  W/ i" l5 U4 U7 I7 C
    bootloader是前一阵子在坛子里搜到的stk500的bootloader,我对它作了修改,以和我的程序匹配。
7 N) i9 K6 p# a4 A     - D; |8 c1 L( {+ M2 C
    bootloader需要配置成2Kbytes的,可以复位按住start/puse,或者在主程序中按VOL+建,另外复位后10秒如果没有操作则自动进入bootloader 7 P/ Y" n& U1 ?/ K: P* m* N
: j+ a4 V5 q7 {2 R* [: X4 }

4 U6 N. L; X* V4 [9 a    application部分完成的就是mp3的播放功能: * _* [% z7 }8 J
    
- ]+ F& }/ }- R. ?3 R! v& y    5个按键,功能上我只对start/pause作了修改,这个按键是用作模式选择的,可以选择单曲重复,全曲重复,随几播放(shuffle) " z- S- L. m! g- B" _* V! }8 Q
    mp3文件可以存放在任意目录,但是总的文件夹数目受到限制(目前代码限制136个)。也可以采用以前的惯用方法,把文件放在特定目录下,这个需要修改程序fat.h文件中的一个宏定义FIX_DIRECTORY。
- ]& e  ~& g) U  d, m" v    歌词文件可以存放在歌曲所在的目录和一个默认目录下,代码中是\\lrc 即根目录下的lrc文件夹下。
& f* M0 Q; [5 ?$ P, p6 q9 _* g0 a: n. L; k4 a
    程序对歌词提供了完整的支持,支持标准的lrc文件规范。[XX:XX]&[XX:XX.XXX],可以多个时间tag共用一句歌词。 4 B8 P1 F: H! D9 T' h& G: ]% @
程序处理歌词的方法是,根据mp3文件的文件名(短/或长文件名)去寻找lrc后缀的文件。注意:文件名采用前段匹配的方式,即只要歌词文件前面 的和音乐文件匹配即可。如:细说往事.mp3 和 细说往事-南方二重唱.lrc是可以对应起来的。另外对于文件名中的大小写是区分的,如 may it be.mp3 和May it be.lrc是对应不起来的。 & ]% A% [0 d9 [4 q4 E5 B/ [

- Q2 S8 l. ]& S, C1 k    找到歌词文件后程序会对其解析,然后对所有数据进行排序。将结果存到ram或eeprom中。程序中使用静态单向链表来描述各个时间 tag,真正的歌词数据则放到一个数组里。目前这数组在内部ram中试640字节,eeprom中有1500字节。程序优先使用ram如果ram放步下则 会存到eeprom中。eeprom剩下的空间用于存放文件夹的信息,用于支持文件的任意存放。
/ K9 b' K% S' B# ^5 i) e* |8 k0 ~6 @) y: C+ B! U2 M3 m- V& b2 M
    由于部分歌词会存放到eeprom中,eeprom的操作很慢,所以歌词推荐那种使用多个tag公用一个歌词的形式,[xx:xx][yy:yy]XXXX  。当然不是这种也支持了。像这种歌词: 3 m9 G3 p6 I7 H4 c7 Q0 Z
) v% f2 e- T% G; F4 t+ G
[ti: Bohemian Rhapsody (Mercury)] " d% n: X& W! I+ z+ S* m
[arueen]
8 _3 Q1 n( {+ C/ m3 N2 t[al:A Night At The Opera (c)1975]
9 M5 C5 N9 j' B* E. m* S) w' Y: U9 b' I5 q+ q
[00:01]Is this the real life ; a# k, D  z* k: _' ]+ q
[00:04]Is this just fantasy * \. ]+ p1 G1 w
[00:07]Caught in a landslide
6 N" n" f8 r/ Q, `0 {9 `2 e[00:10]No escape from reality
( l. t# Y$ N* r0 J9 b[00:15]Open your eyes . X4 [& h: ?2 z& o* D2 A
[00:18]Look up to the skies and see 7 V: [; J4 w' o+ U/ k# m+ k, e
[00:25]I'm just a poor boy, I need no sympathy
/ h$ K2 T4 t1 Y; u) n: G[00:31]Because I'm easy come, easy go,
" F( b  C8 h  K& N8 b[00:35]little high, little low,
% F3 y8 \4 M  J, I[00:38]Anyway the wind blows, doesn't really matter to me, % F  S1 `: ?7 H, o5 H
[00:48]- to me -, * N' z( g- U, i; O, P

" F: o* N" B- H[00:55]Mama, just killed a man, ; V8 e+ p) _9 _
[01:01]Put a gun against his head,
& o- G9 A! v- N; \[01:05]Pulled my trigger, now he's dead, 2 I7 H- l' R- n: L
[01:09]Mama, life had just begun, & j$ Q0 b  a' T; L, H* B  P' E
[01:15]But now I've gone and thrown it all away
# K9 \- J$ @: C0 O  k* U" |; s[01:22]Mama, ooo, ( Q! f  i5 t/ a, x: O) }7 }0 p6 m
[01:29]Didn't mean to make you cry
5 Q/ l) M2 K+ V. o+ d, v[01:32]If I'm not back again this time tomorrow
6 U# S" U  }9 ?9 v. R[01:37]Carry on, carry on, as if nothing really matters
$ k* K3 y/ ?1 h" E& ~0 k
" j2 h1 F# G) _4 A[01:54]Too late, my time has come, # V- t/ v, A* V
[02:01]Sends shivers down my spine, % }- a& h' \, ~
[02:04]Body's aching all the time, * H* t( c) w+ f2 ]
[02:08]Goodbye everybody - I've got to go
5 z( r% }# q$ E. F! }1 s[02:14]Gotta leave you all behind and face the truth
. _. E3 r/ |: f8 m. D[02:21]Mama, ooo 1 j9 M& M. d' Q1 R
[02:28]I don't want to die,
; Z. A* Y9 R! I3 t' O7 q; e" s) f[02:31]I sometimes wish I'd never been born at all 4 ]2 l$ B: g5 |3 J

5 ^2 q) z! ~9 _# C  M9 L( H[03:05]I see a little silhouetto of a man,
, I5 p3 t' p% T! K$ Y" w& J) G[03:08]Scaramouche, scaramouche will you do the Fandango 4 q, Z- e( Z5 R# }9 P
[03:11]Thunderbolt and lightning - very very frightening me
3 \7 A6 d- _7 C$ G( @0 R[03:16]Galileo, Galileo,
+ N4 w4 R/ I% L1 x; N[03:17]Galileo, Galileo
& K/ }6 N: \8 z[03:19]Galileo figaro - Magnifico $ Z  Q: c( W$ B" z9 N) Z
[03:22]I'm just a poor boy and nobody loves me , H% Z- [; ]7 s0 |
[03:25]He's just a poor boy from a poor family % B0 p+ O0 }0 {8 A! j- p7 ?
[03:29]Spare him his life from this monstrosity - v1 v& T9 Z1 A8 E% B3 b
[03:33]Easy come easy go -, will you let me go
, ^3 J5 a8 X1 _( {& V[03:36]Bismillah! No -, we will not let you go - let him go ( L7 y/ F* y( H6 T( M0 D/ \- A
[03:40]Bismillah! We will not let you go - let him go 0 Q- I. T# x" T" Q# g
[03:43]Bismillah! We will not let you go - let me go 5 @0 m2 e" f  C9 Z7 |$ W( s' H4 a
[03:46]Will not let you go - let me go 7 I% q, t+ M$ `$ `# @! L
[03:48]Will not let you go - let me go
. N" Z6 v, k( K: j  z3 [2 K[03:50]No, no, no, no, no, no, no * F& \& y6 N* ]# g* H, g
[03:53]Mama mia, mama mia, mama mia let me go $ G; `, [! J: r
[03:56]Beelzebub has a devil put aside for me, for me
5 A& C3 k0 b/ V[04:03]for me -
) O6 Y/ n$ i8 D; C8 p# W: _/ X  }2 ]6 a0 c* }
[04:14]So you think you can stone me and spit in my eye
8 M0 Z- [" M) ?# f[04:20]So you think you can love me and leave me to die
+ N8 V8 F; }# k! E[04:25]Oh Baby - Can't do this to me baby -
+ ^  W# i( m/ f6 N[04:32]Just gotta get out - just gotta get right outta here
5 a3 x5 z9 O# u9 F1 @
$ M, V$ D/ \8 I- w0 g$ z[05:10]Nothing really matters,
- w/ J: j+ L" z% s( H( w) S[05:14]Anyone can see,
# m1 q+ v% c# g# Z/ ], Z# Z[05:18]Nothing really matters -, nothing really matters to me
( L& O+ q" N7 v' n4 O+ [, W
* D2 w7 `4 k. v[05:40]Any way the wind blows...
% W, k9 ^' {6 I1 v
, j- M  W, |# t' P, l0 g8 ?这样程序至少要花10秒钟才能把多余的数据存到eeprom中 : K' l' Z# v+ ?+ S

+ \& u9 P. ?- q5 m+ }像这种: 0 i/ {; p$ ?: \
[ti:细说往事] ; m; y3 E# H2 J, h
[ar:南方二重唱] 8 T, ]% x0 ]8 b$ }' A8 Y& q1 {
[al:细说往事]
3 U2 O0 a' b, R# U4 o" @) ?& l[by:炫网资讯 Liuxuan.com] 8 {, W5 _8 r' L+ X4 P: m. z* f
[00:00.00]细说往事 - 南方二重唱
; X4 T: L. m& k" \# F[00:09.56]词/曲:李子恒 6 B  L3 L: G$ A1 C. O
[00:12.24] - w6 C* h: i" @+ V2 k
[02:55.60][00:14.89]蓝蓝的天
& `1 ]; S# B- p, u+ e[02:58.17][00:17.31]往事一缕轻烟飘过你的眼廉
& t: j* t. }# Z. \[03:05.12][00:23.89]沉默的眼 9 ~# E8 b2 x$ A' B5 }' ~9 I
[03:07.19][00:25.75]请回答我还爱不爱我的从前
; P0 p' x7 \- y+ @. ?7 ]) V[03:13.56][00:32.82]我的从前
  M( i! Y7 z( v2 j, B& \* C# e[03:16.06][00:35.03]有你陪伴的梦和一张疼爱的脸
& @& c* D! e+ e; w$ P! R[03:22.80][00:41.49]如今细说往事
9 k# c1 a4 Q. V4 ^6 {5 f[03:25.05][00:43.95]往事如烟
. f# ^" c' T. u5 y! m[03:26.61][00:45.65]我是否还算是你的誓言 0 e9 A- J$ M3 T3 ~
[03:30.60][00:49.97] 6 B5 v9 U( y$ k7 z2 z
[04:09.91][02:04.40][00:50.93]白云翩翩 3 h8 S% n8 L) n7 j$ ^/ u$ V
[04:11.78][02:06.32][00:52.83]心事一面银幕飘过你的窗前 6 m" r$ |! H" Z/ o
[04:18.63][02:13.12][00:59.79]寂寞的窗
+ k6 |: ?0 L3 F[04:20.53][02:15.07][01:01.45]请开启我被岁月紧锁的思念
- r- P, ?5 r" @1 o% B7 Z[04:27.54][02:22.02][01:08.45]我的思念 % A2 b! {/ m4 F$ t7 R
[04:29.58][02:24.00][01:10.63]有你牵挂的心和一首叫做誓言 " B4 v3 ]" ?+ B* V
[04:36.30][02:30.59][01:16.91]如今细说往事
: u/ }) q! q" m; G* [! J: W$ o[04:38.48][02:32.97][01:19.50]往事如烟
6 ^6 P+ E7 b) }7 g0 X1 @( q! u[04:40.13][02:34.51][01:21.09]我是否还算是你的从前
0 N6 `! b5 i+ y$ E! i5 v[04:46.16][02:39.20][01:26.58]
5 N5 a5 r% l" Q& }[03:34.05][01:28.01]往事从头
9 ]. n- y# N% G- `[03:35.59][01:30.17]轻轻细说梦的演变
' L, f+ _0 M) E. t" D' z5 Q[03:42.30][01:36.95]多年以后
  T7 H  L4 p% A$ `$ v3 f[03:44.56][01:39.04]是否还有爱的容颜
& {, B, M$ s2 }& S5 `[03:51.42][01:45.93]往事从头 6 l2 W# t3 O) X4 U9 ?2 F. ]: E
[03:53.52][01:47.97]轻轻细说沧海桑田 9 h, G& e* F8 w8 C+ Y8 L* B" w
[04:00.20][01:54.65]是否能够
; E8 p  `5 z8 Q0 n! i% R1 t[04:02.40][01:56.87]回到从前再走一遍
$ U% f) U1 C' d  t5 E[04:08.67][02:02.68]
5 b) C( o2 V4 f
1 m3 m8 h0 a3 M# i+ o; `! W- ^就比较好了,用不着eeprom了。

0 B( ?7 I' B7 j# p7 y, Y! p% D8 P程序不仅在LCD上显示信息在串口也会show一些,
! H  K1 [, r7 l! Y, e 1.jpg ) b) Y$ ]) X2 I. h2 y
2.jpg ' n/ z( Q7 c3 `
说说字库文件:
- a# [- X; p# K& ?    总共有四个文件:st12.sys,st16.sys,gbk2uni.sys,uni2gbk。其中st12/16是12*12 和16*16点阵字库。其余两个为gbk和unicode互转的文件。 - a+ `( x+ R4 i
其中st16和gbk2uin.sys没有用到,但是我程序中没有去掉,如果想去调请在程序中改,在LCD_GBK.c文件的初始化中改。 7 i' a: h, _; q! [5 f* i+ C
    字库是GBK字库,不是GB2312,所以支持很多汉字,总共两万多个,所以再生僻的都可以正常显示,如下面的繁体:
2 |, Q" |) w' S' L8 u# J5 `  o& V& a$ ^' u. Q  e( c
[ti:失恋阵线联盟] ' h% o8 @" R* k' i3 M! R
[ar:草蜢] : w) B2 t* P+ }. b5 C
[al:]
! U+ Z  G" R4 T[by:ZJM] 5 O1 t2 G2 x7 W4 p, j
[00:00]失戀陣線聯盟
0 u$ e$ q( j: g% F! y[00:10]演唱:草蜢 . o( a, i5 B) z" M4 b, z
! Z8 h4 z& U; f+ B, b
[00:14]
( L9 U3 b* c6 I9 I, @& p2 y[01:43][00:16]她總是只留下電話號碼 % T% w- O' F/ R
[01:47][00:19]從不肯讓我送她回家
+ J& ?: S' Y: g6 s- A4 Q8 q[01:50][00:23]聽說你也曾經愛上過她
; P* P  {$ x4 T" z8 p[01:54][00:26]曾經也同樣無法自拔 / m! j8 j9 r" X
[01:57][00:30]你說你學不會假裝瀟洒   X- _7 t: z( W2 q
[02:01][00:34]卻教我別太早放棄她 . f. V: s  V) v; F* W
[02:05][00:37]把過去全說成一段神話
6 ?$ }- F' n8 N* Q[02:08][00:41]然後笑彼此一樣的傻 7 K- q# D3 |/ q3 [8 l
[02:12][00:45]我們這麼在乎她卻被她全不抹煞
0 m/ D* H0 Z2 h# e4 L[02:16][00:48]越疼她越傷心永遠得不到回答
" P6 B& B7 n* W& a( V[02:19][00:52]到底她怎麼想應該繼續猜測嗎
$ L4 ^9 \$ m8 R* u' C6 p[02:23][00:56]還是說好全忘了吧 ' N/ I2 r) J: P8 {
[02:27][00:59]找一個承認失戀的方法 # H$ e7 ]# H! ~
[02:30][01:03]讓心情好好的放個假
. @7 }# L4 y; a1 l0 }$ g[02:34][01:06]當你我不小心又想起她
( e% I0 R: r7 x9 Y1 X[02:45][02:41][02:37][01:10]就在記憶裡畫一個"X" 
' N2 v+ c" L3 \8 s  b' [[01:14](Music)
( T9 C1 s0 W  ?# }" }" @
1.jpg ) {( F& v( O- e( A  |+ E% T3 B. S
  2.jpg " S9 n7 P) K7 O1 }
3.jpg % ?" F0 F: f+ b5 k. f. B, M, _' ?
4.jpg ' ]- X  Q7 b' r$ }% z
  5.jpg
* J! y( j3 y4 z 6.jpg $ y3 s- S3 N5 q$ Z! C* o
7.jpg
& H7 ^3 {3 M0 z* @1 h5 z3 T 
sfihnuia 回答时间:2009-5-19 12:48:39

RE:DIY STM32之MP3素材整理

so cool!1 A' E. q/ g3 _' t+ q  k3 O, G
想问一下,字库是存在哪里?eeprom中还是SD Card中?那几个字库得有多大?
feegle-78171 回答时间:2009-5-19 13:03:35

回复:DIY STM32之MP3素材整理

 xiexie参考一下  大家加油
萧星-96138 回答时间:2009-5-19 13:58:28

RE:DIY STM32之MP3素材整理

支持   申请加入
sfq2008-104893 回答时间:2009-5-19 15:11:09

RE:DIY STM32之MP3素材整理


) g6 J7 f1 X1 n3 z3 t支持
$ H5 m* t$ V; C& k要是用STM32做的话建议加上USB读写SD卡功能; [1 {) C; @( Z4 i, m/ F
呵呵
yank639 回答时间:2009-5-19 16:38:38

回复:DIY STM32之MP3素材整理

不错,很有用的东东
erlengzi 回答时间:2009-5-20 07:53:30

RE:DIY STM32之MP3素材整理

晕死 都是ouravr上的啊,N年的东西了。我还以为用STM32直接解码呢
aaronzhao6 回答时间:2009-5-20 15:08:16

回复:DIY STM32之MP3素材整理

支持!
! V9 g$ R6 G3 w5 V既然有素材,那DIY MP3的实质性工作什么时候开始?
njust_wyh 回答时间:2009-5-20 22:16:02

回复:DIY STM32之MP3素材整理

DIY活动啥时候开始啊?
xiaohui123-1416 回答时间:2009-10-14 09:53:24

RE:DIY STM32之MP3素材整理

怎么没有消息了?我也想加入。。。。。。
whyaiwhy 回答时间:2009-10-18 11:01:08

回复:DIY STM32之MP3素材整理

hao hao hao
12下一页

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版