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

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原理图0 Q9 k! A3 n0 c2 d
1.jpg
北京小王儿 回答时间:2009-5-19 09:43:30

回复:DIY STM32之MP3素材整理

1.jpg # |/ p' z" Q# [, @# P
于成功了!经过两个多月的业余时间的努力,我自己制作的MP3
$ x4 N! D2 m6 U: z5 R4 a& s7 l1 i+ w  Q  l" Q  |) r7 |
随身听终于完成了。a方案是tmega8+vs1011,典型的单片机+解码芯片
# d+ Q" L4 W% b7 K: p
: l- B( l/ p/ S由于自己有一个256MB的SD卡,所以我的 4 L5 z# j( Z  W
; o8 S" P; k% B5 H' ~0 A
MP3是插SD卡的,这样省了不少成本,反正我的数码相机又不 7 A6 _+ ?  R! x3 E! f  h/ b7 |' _

$ U! e8 R( G: [是经常使用,闲着也是闲着。大概成本算下来,自己做这样一个M " m0 P/ p+ M5 z5 q

3 V' b# I% {! v2 \P3大概才要120左右,不过最大的乐趣还是来自DIY的乐趣^-^ 0 l: G  ~  v5 o8 L$ f

9 \' D) e$ s) Y. y- q采用的方案是单片机+DSP解码芯片,音质非常好,绝对比普通的MP3 ; I1 o. u6 [; W/ C
3 q, ^8 z2 f* t5 Y6 g" Z
要好。
北京小王儿 回答时间:2009-5-19 09:47:13

mega8 mp3 player

今天晚上我在我做的mp3上试验了播放wma音乐。
( w1 F( Y6 b8 S- M8 Q- C5 @vs1003手册上说可以解码吗mp3 wma和midi格式的音乐。
9 {8 _/ s% M& v  I# I试验发现播放wma音乐可以像播放mp3那样播放,只要把wma文件数据送给vs1003就可直接播放。
, y. q- L8 A( i& X
! n: e2 u* T0 `% a5 `, G刚开始在从正在播放的wma音乐转入下一首音乐会出现不能播放的问题。
% }" u0 M. E9 U$ N) @wma格式不像mp3格式那样容易播放,因此不能播放的原因是其不能正确结束当前播放的数据帧。
; p& P) o% {" ^6 P8 o后来查datasheet发现可以通过设置SCI_MODE的SM_OUTOFWAV位来结束wma的播放。
  f7 `# v" @  \: R! b& n. {7 M4 c) O3 ~- O3 [2 A5 S
由于我的程序没有判断当前播放的音乐是什么类型音乐的程序。所以我有找了个变通的方法,
! |4 O( D4 h; X: \+ ^% `9 I0 I就是复位。 " i0 @$ f+ |. t& Z; |. y; g  v+ m

2 f9 ]# |0 |- K/ [我用的是软件复位,通过设置SCI_MODE的SM_RESET位来实现。
2 r9 j" q6 ^( t" w8 U1 e即在播放每一首歌前复位一下vs1003就可解决wma歌曲的切换。
' ?- o6 q4 N+ x- J按手册上的要求复位前最好向VS1003填充2048个0 且这些数据要根据DREQ引脚的请求送给芯片。
  B: w, J( ^) }9 i  g! i另外复位后还要延时约1.35ms芯片才能恢复到先前的工作频率。
/ v; M" C1 h! G接下来就可以发送你的mp3或wma数据了。 % E% d+ O  \% {

, [& d" _/ L% V6 I5 l/ {4 y不过这种方法只能整首的播放wma音乐,不能快进。如要快进VLSI网站上有示例代码。
3 k5 ?5 J8 B( n  }- m$ G( r! W
* m! z* x+ o: X/ a- c% O现在我的mp3可以播放mp3和wma两种格式的音乐了,至于midi有空再研究。
- y9 S1 o0 t2 H, T& o  P8 Y1 F! u4 W0 q5 P7 c' B: M
不知阿永第三版的mp3板是否支持wma,如果没有可以考虑把它加上去,不复杂的,只要按我上面的方法就可。

7 }7 d. K: i# T0 p. ^# a% v: F今天早上我又把vs1003的midi功能做出来了。  1 n) P3 }8 ]* ~# `# r3 v0 p& ?+ u

) t6 \( c% C4 Y. H% q; O不过在播放midi之前要把SMF1格式的midi转成SMF0格式的midi文件。  
/ E0 h9 f5 W5 c+ E6 i, B% V在应用手册上的网址http://www.gnmidi.com/下载转换程序GN1:0转换。  3 K% a9 ~' ~* Y" _6 Y9 d
将转换后的文件拷到sd卡中按播放mp3及wma的方式播放即可。    `) `& e9 T% |) Q! T  B7 p
/ |! g& x5 w& w8 U  N6 H; g6 h
但要注意在从正在播放的midi曲子跳出来,在复位前就不要填充2048个零了  
" N3 w+ `5 i/ a- ^) f( G+ y如果填充了将会花很长时间才能进入下一首歌的播放,因为midi需要的数据量很小。  . I3 J2 \( E! f3 M0 K# K+ `0 A
同样如果按暂停键,你也会等一段时间让vs1003把内部已有的数据处理完。  # e; @  {: }2 J  \
! t9 p( ^4 P: Y" r8 s2 \) n
播放出来的音乐没有在电脑上播放的效果好,类似于手机上的midi音乐。  9 f$ g, w2 o" y4 A; q2 A6 p
' O$ ~# Z! t. ?) l. R3 T: @
我做的播放器的图片(在通用板上手工焊的)  
9 `1 Q! {( d: A8 [: b7 y+ w  ]- i
1.jpg
  F6 U$ q9 |6 w& I; R) O 2.jpg " f! O- X$ t% Q; m" O4 j
3.jpg
7 ~% l7 o8 }& b3 N: {. R另外一个问题:  7 ^: \; q& F+ _' k4 U7 g
当midi正常播放至结束时,不能按照判断数据是否送完为标准来判断歌曲是否放完。  
- L4 J: z, ?7 x在播放mp3和wma格式时用这种方法,由于损失的时间很短所以听不出来。  
( \5 i1 y! n# S( D$ H4 y! u7 _! K9 i+ ?而在放midi时,虽然你的数据送完了,但是由于vs1003内还有2048字节的数据还没解码完。  % i1 G/ v1 F5 u0 t1 r5 }0 A0 S
所以这时跳到下一首歌必然引起一段音乐无法播放完。  & w9 j" b  U( Z
因此在送完所有数据后还要填充2048个数据,我用的是2048个零,才能恰好使midi音乐播放完,其实在播放mp3和wma时也要做同样的处理才对。  

) v/ z/ ?  f* T2 q# _$ l上传一下我写的程序  
0 V5 P# \% n6 S- K7 O里面包含了SD卡的驱动,完整的FAT16操作程序,及VS1003的程序。  + \) l* g" h- ?" i
整个程序花了我半个月时间。  
) [3 Q, v- F2 l' k+ q% A
  I6 t# V6 x! w2 W8 @3 L1 ]其中SD卡驱动只包含了初始化,读一扇区,写一扇区的功能。  
& u$ |' z" j$ C1 T* T$ G7 f% a6 b: E: |6 W# b. U( O# R' M
FAT16部分  ( e, U* p2 L* C6 \- b
本来是针对我的毕业设计做的,现在顺便做了个mp3,所以其中有好多函数是不须要的。  
& a' i" V1 Q" e6 S7 ^' `1 \但是有需要做文件系统的可以参考一下。  * a- K* Q; [: @% E* G" b
这部分含有,创建文件,删除文件,创建目录,删除目录,重命名,打开文件,写文件,显示目录内容等。另外为了配合mp3的操作多添加了几个函数。  9 r" `5 o% y" c1 i2 \
但是写文件部分做的不完善。不支持长文件名的创建。  9 k0 M% F8 v8 W# l# @) N" W; z; e
+ ~4 c3 r: o( A' L9 l0 b  c1 f6 s
在主程序中放置了播放mp3的操作,同时注释掉了一些关于文件系统的函数。  6 @1 H; G, ^; e2 E2 w0 @6 N
如果把mp3的播放函数去掉,把原来的文件系统函数加上,可以直接使用。  
. z& {/ W9 ]& J- \6 x+ o
, e( m) ]9 B6 R, J. b显示用串口调试工具显示,播放mp3时会显示文件名的短文件名项,初始化的时候会显示初始化信息。  
) J7 k3 Q; o* f2 X/ e6 l  c在用作fat16操作时可以像普通dos 操作一样。  - t+ Y/ x+ C4 M  ~
比如显示根目录内容可以输入dir \  
- Z& b' }1 @0 m9 O9 ^7 r$ S具体信息可通过输入help查看帮助。  7 ~  ^' l. Y. i0 X2 s! ]2 N' y7 s1 ?
' R9 ]( L# G5 K% i/ F7 K3 v
关于这个mp3的原理图我就不画了  
; T  Y6 v' \' t& X0 O总共几个脚我用文字描述一下。  
# }( f# z2 J) r. {! e# r7 s$ C( d/ N3 Y  }3 q
SD卡的cs接m32的SS引脚  - i+ w. u6 ]  F/ g/ y
其它的MISO MOSI SCK就不用说了  
" V" t5 ]2 \) |: o( ?/ n1 @5 ?
' B- F, V. J1 V) g9 HVS1003的  
* I$ `/ k) c) d2 UXCS接    PB0  
; e/ L! y& g' c$ SXRESET接 PB1  ( E6 L$ V7 L. z/ i% M7 i
DREQ接   PB2  . r8 G" w; n1 T" T
XDCS接   PB3  + q4 W$ @( q6 F) v% h
其它几根SPI数据线按标准接  
' Q/ t0 z4 L* \5 {% G* {; O
. a) S: f  ], t4 N) uPLAY/STOP键接 PD5  
$ w9 x1 _* Z6 ^PREV键接      PD4  2 R3 H. J$ a" P9 C) N& J
NEXT键接      PD3  & G" _! k5 e# f9 a* ~( A
V-   接       PD2  
( V4 v  X8 X+ e* p* r: G  `V+   接       PD6   ) U  P7 u) {; b4 K2 V  X; a- J6 Z0 k
# V4 Y/ }6 I7 O: `% r1 u  k0 z3 A
如须更改可在程序中修改  
- {" {) ^, [  g' J& A! Y1 _9 H+ s6 \+ y! z0 r9 p. K
VS1003的电源是这样接的,3.3V接IO电源,模拟电源用3.3串接一个1N4007,核电源在1N4007后接一个快恢复管1N5819。其它的按VS1003手册给的接法就行了。  8 s: \& _2 [. v6 v' p5 D

7 o  t- Y, {6 s+ y  x如果要手工在通用板上焊VS1003的话,建议先给VS1003各个脚上好锡,然后焊好四周的8个脚用作固定,可以用电阻引脚之类的东西。然后用 细的漆包线,可以从小变压器上拆,把头上的漆用刀子刮掉上上锡。接着用普通的烙铁,记住烙铁不能沾锡,仔细焊上然后把线引到附近固定后接到你要的地方就行 了。
8 V- |9 R2 Z* l; G' @' y' J
1 y$ q7 _& e: O7 T$ G! kVS1003有很多电源脚内部是连在一起的,如果想偷懒的话可以只焊一根,或者只焊重要的脚就可以了,我上面做的mp3就是这样做的,工作没问题。不然48个脚要我焊焊上一天呢。  6 r8 I# J) s$ k- T9 U5 J
8 N' h3 M+ ~" m) {* Y- P+ q

1 T) H# {4 Z, x) N3 q
4 K( j1 g) G# J5 p& A( \! Z" x1 N
北京小王儿 回答时间:2009-5-19 09:53:24

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

以前说过要写个带歌词显示的mp3,但是一直没有时间。前一阵子抽4个晚上写出来了,后来又陆续做了改进,现在正式出炉了! & O0 q0 r+ k( d9 W
* M! l/ [6 R3 u# f( N( f  p
硬件环境: . i4 n7 }; j( S! b' N
    是网站的mp3板,还是去年卖的缺陷板,当时是这个板第一次做板,但是有点小错误。当时我仔细看了看问题不大就购了一块。虽然贴了个标签说不可以用作mp3用途,但是我还是做了。
$ ~( j+ k/ F3 B6 ]3 s, v    这个板的问题就是ch375的接线搞成5v版本的了,还有ch375的晶振离芯片太远,并且离数据线太近,这会导致ch375工作不稳 定。后来我通过改变晶振端的电容来稳定起工作。还有就是AVCC没有接VCC,还有个小毛病是232的RXD中少串了个电阻,直接接会导致无法isp下 载。
0 L' k) R# L0 F
9 l" c7 ^& o, \1 h, b' T, ?. [* R8 x    板子回来东西也是过了很久一个一个焊上去的,3310是从ppa2001那转让来的(在此表示感谢,他顺便还送了我很多PCB板)。最近从armok这里弄了些零件才算弄完整了。
, d& I& F. {. E# Z$ G! S- i# K$ M$ q
软件平台: ) [: |# g" l) X1 F
    AVRSTudio4.13 + WinAVR20070525
; z3 c! Y; r2 J9 @2 j
) l  ~. k1 ^8 w    到了公司用起了source insight才觉得AVRSTudio的编辑器太滥了,所以我是用source insight编辑代码,直接命令行敲命令make,用avrdude + jtagice下载代码
2 h5 ^; b- O7 K/ X! ?2 p
0 S( A7 |9 K# ~: Y# {% X. J
- j) B5 B3 j! M+ x9 K3 K# l0 @% I功能描述:
% |7 ^  c  d4 @' r1 \    程序包含两部分bootloader+application
8 g& F4 B! l' B# F9 K( N& ~' [9 U! l4 v0 y9 c( a0 f
    bootloader是前一阵子在坛子里搜到的stk500的bootloader,我对它作了修改,以和我的程序匹配。 9 k* n6 F4 y7 W
     & z0 F- r/ Y' ?
    bootloader需要配置成2Kbytes的,可以复位按住start/puse,或者在主程序中按VOL+建,另外复位后10秒如果没有操作则自动进入bootloader
# c5 w* t  G* l, U2 s2 X
9 V) |. P6 h' ]) z7 e; R4 f; o' _8 R" Z, D3 [2 b# F) {/ w
    application部分完成的就是mp3的播放功能: * _% h/ [6 d! Z- }. F
    
$ T. j: E/ l1 U  \* V& g    5个按键,功能上我只对start/pause作了修改,这个按键是用作模式选择的,可以选择单曲重复,全曲重复,随几播放(shuffle)
$ z3 G1 M; |3 c: W9 }: U    mp3文件可以存放在任意目录,但是总的文件夹数目受到限制(目前代码限制136个)。也可以采用以前的惯用方法,把文件放在特定目录下,这个需要修改程序fat.h文件中的一个宏定义FIX_DIRECTORY。 ( B+ X$ L) w3 B- @/ x7 \
    歌词文件可以存放在歌曲所在的目录和一个默认目录下,代码中是\\lrc 即根目录下的lrc文件夹下。 & m& L- W( m+ O: _( ~& {, L) ?
/ Y3 V+ `$ \9 D# s* m: R
    程序对歌词提供了完整的支持,支持标准的lrc文件规范。[XX:XX]&[XX:XX.XXX],可以多个时间tag共用一句歌词。
" c9 s+ b+ g. J8 Q' [: U$ Z程序处理歌词的方法是,根据mp3文件的文件名(短/或长文件名)去寻找lrc后缀的文件。注意:文件名采用前段匹配的方式,即只要歌词文件前面 的和音乐文件匹配即可。如:细说往事.mp3 和 细说往事-南方二重唱.lrc是可以对应起来的。另外对于文件名中的大小写是区分的,如 may it be.mp3 和May it be.lrc是对应不起来的。 4 e' q: u- G9 o& l! P7 P4 v

7 j8 i2 \( T6 N, c* V% o* g( F    找到歌词文件后程序会对其解析,然后对所有数据进行排序。将结果存到ram或eeprom中。程序中使用静态单向链表来描述各个时间 tag,真正的歌词数据则放到一个数组里。目前这数组在内部ram中试640字节,eeprom中有1500字节。程序优先使用ram如果ram放步下则 会存到eeprom中。eeprom剩下的空间用于存放文件夹的信息,用于支持文件的任意存放。 $ @+ {  z  A" `% I

; X$ h& }5 H. n1 h) y; `  C    由于部分歌词会存放到eeprom中,eeprom的操作很慢,所以歌词推荐那种使用多个tag公用一个歌词的形式,[xx:xx][yy:yy]XXXX  。当然不是这种也支持了。像这种歌词: ; d9 E# R% W+ ~: ]# T
5 x! h( q8 h* s2 D& _8 F' j1 n$ l
[ti: Bohemian Rhapsody (Mercury)] / D, l" A) @$ ]+ c" I% R* Q
[arueen] ! v! P; O6 u, H3 `( N. c
[al:A Night At The Opera (c)1975]
. p5 ?: c0 _5 Z) J! g
: g" u& V8 p' H5 p# H, b# i+ S[00:01]Is this the real life 7 w& A  A$ h  ]8 |1 }. e
[00:04]Is this just fantasy 2 {' r- Q$ Z; s% g* @+ H
[00:07]Caught in a landslide , @$ B, M% b3 S6 ?
[00:10]No escape from reality
; R" q! L8 d. }' C2 B1 s[00:15]Open your eyes 3 X; [* r% g) i. x) c% a
[00:18]Look up to the skies and see
+ S1 G+ n3 @4 @: M4 ~8 `( k7 ^5 h$ R[00:25]I'm just a poor boy, I need no sympathy
# v% G- D4 P( i[00:31]Because I'm easy come, easy go,
4 z2 P' `6 ]; |( L- Q* r( o[00:35]little high, little low, + k/ V; Z) ~$ z5 [
[00:38]Anyway the wind blows, doesn't really matter to me, 6 i8 z* W4 t' D6 K. c  S3 m
[00:48]- to me -, 0 x+ v+ i  R4 i: _' f* c
7 B/ E0 R9 w' Q5 s2 H5 F* x/ M0 C
[00:55]Mama, just killed a man,
. G+ c' K( n' k0 [, e1 M* \[01:01]Put a gun against his head, 2 v( p. t7 d* `& ^, v
[01:05]Pulled my trigger, now he's dead, ) v2 C' y& v" s" V" F+ p* ^( Z
[01:09]Mama, life had just begun,   Y2 J/ F! T% ~6 O( V. x
[01:15]But now I've gone and thrown it all away + w: B, v4 l! x, g5 Y& g4 b
[01:22]Mama, ooo, ) ?+ [* {% {4 J9 A# T
[01:29]Didn't mean to make you cry
) R. D1 J9 }( R0 H! k. v' B' W[01:32]If I'm not back again this time tomorrow
! p1 c5 ~" J; F* y0 D- p+ J* I[01:37]Carry on, carry on, as if nothing really matters
, W6 h" G# c( _! y# {
+ Y, l0 F' M. W. h) t[01:54]Too late, my time has come,
' v# H" f# N, Y/ N7 w2 N[02:01]Sends shivers down my spine, 8 S* M) ~) W$ ^. x* l. l1 Y" T
[02:04]Body's aching all the time, 3 [' \9 g1 L! W) n* `" j  b- x
[02:08]Goodbye everybody - I've got to go
$ C: S' h' `/ t  d$ N; W" y3 z2 h[02:14]Gotta leave you all behind and face the truth 5 b& P# \. U/ J; E! b  `
[02:21]Mama, ooo $ Q; U2 R% o: Y
[02:28]I don't want to die, ' \9 N; t: R& c% T' R* h
[02:31]I sometimes wish I'd never been born at all 4 C0 j2 u! m+ N* f/ s
. W. w  t( y: ]% E$ \4 e/ O
[03:05]I see a little silhouetto of a man, ! }. q& O* g+ i) ~2 y. Y7 r
[03:08]Scaramouche, scaramouche will you do the Fandango + u, |& B4 `% ?
[03:11]Thunderbolt and lightning - very very frightening me # G" S0 m4 n" ]$ A. ^7 Y( k
[03:16]Galileo, Galileo,
/ Y/ X" D( u% N& C[03:17]Galileo, Galileo 1 {4 \& ^6 ?; W9 [
[03:19]Galileo figaro - Magnifico 5 O7 @* T# Y, \2 f) |9 i1 ]0 \
[03:22]I'm just a poor boy and nobody loves me
4 F- T! v5 P0 w6 P! g! P[03:25]He's just a poor boy from a poor family - D* ?2 H' R( i) c% e% o2 v9 v' V
[03:29]Spare him his life from this monstrosity 5 j* x, ]/ m. F8 p# K' `
[03:33]Easy come easy go -, will you let me go
% Y2 p- a9 ^; t0 S$ g[03:36]Bismillah! No -, we will not let you go - let him go
, ^2 j% H/ }) c2 y# Z6 A[03:40]Bismillah! We will not let you go - let him go
% W  f) T$ M. S# h- V[03:43]Bismillah! We will not let you go - let me go , b3 Z9 F, W" r5 g
[03:46]Will not let you go - let me go
# [3 N; D# m6 f  y5 H' R4 Y[03:48]Will not let you go - let me go 7 l9 S% d) j5 r  S4 T3 {8 v
[03:50]No, no, no, no, no, no, no
# n7 O1 t: V: x1 G! e  s% |[03:53]Mama mia, mama mia, mama mia let me go
* D6 B& H+ {) d' K+ x[03:56]Beelzebub has a devil put aside for me, for me + o; M8 q( M% x4 C! G
[04:03]for me -
) O$ h' J# z5 ~% G2 k5 W# W2 C
, h8 g: P% ~5 b/ N# U  x. ~4 v) U0 q[04:14]So you think you can stone me and spit in my eye
% q( o1 P" t: _/ Q[04:20]So you think you can love me and leave me to die
( n2 j" S. }, ~2 t[04:25]Oh Baby - Can't do this to me baby - . K# h6 E8 X3 e# s  e
[04:32]Just gotta get out - just gotta get right outta here 9 e) K- ?" d) g" p! Z$ n/ a+ w
' M: ^; l) K0 L2 A3 i6 X
[05:10]Nothing really matters,
; s3 n: C! h$ A# N: ~/ l6 o[05:14]Anyone can see,
8 O9 e. [9 P$ q. p[05:18]Nothing really matters -, nothing really matters to me
) n. W- w$ x7 f$ E$ V: R/ C6 }: n4 p% D9 o6 F4 T
[05:40]Any way the wind blows...
# `6 B& `6 ]5 I6 k5 d# ^
/ y2 |4 k! T% `+ ]/ g+ S: T这样程序至少要花10秒钟才能把多余的数据存到eeprom中 # Z' p6 f) R& e4 Q
5 n1 B! ?$ M, V- h
像这种:
" k3 ^6 l$ p/ Z- q; ~[ti:细说往事]
& W. _8 ]  N$ J[ar:南方二重唱] * o7 m" i6 k" W( q% Y# x
[al:细说往事]
. v6 ^* h: x. H  n[by:炫网资讯 Liuxuan.com] ! D4 |3 l; d) r: M+ g2 D# V
[00:00.00]细说往事 - 南方二重唱 ! M$ x: [4 U4 g4 A/ k% W0 h# d
[00:09.56]词/曲:李子恒
% ]8 c' O5 g6 C: s[00:12.24]
* }. x0 p) l5 g( n, P[02:55.60][00:14.89]蓝蓝的天
8 h6 d( Y5 ]' E" g6 U9 F* }[02:58.17][00:17.31]往事一缕轻烟飘过你的眼廉 8 Z  o! W7 ?3 L1 u! a
[03:05.12][00:23.89]沉默的眼 & m2 O7 f3 m  O- q, ]. B
[03:07.19][00:25.75]请回答我还爱不爱我的从前 : @5 U) f+ \& {; q" F9 w% w+ l
[03:13.56][00:32.82]我的从前 4 C1 T" D1 h! u0 a! r/ d1 S  v; a
[03:16.06][00:35.03]有你陪伴的梦和一张疼爱的脸
1 `: U& u& Z+ B[03:22.80][00:41.49]如今细说往事
7 W! w8 V; Z7 L[03:25.05][00:43.95]往事如烟
0 w' m  N) a! L2 l' K; y6 ^[03:26.61][00:45.65]我是否还算是你的誓言
/ W3 g/ @9 V2 o4 A7 ^- t, k+ T7 m[03:30.60][00:49.97]
8 b# F6 r/ r2 G# `( H) E6 Q/ e3 o[04:09.91][02:04.40][00:50.93]白云翩翩   q" X- \7 c+ X1 N1 Q: N
[04:11.78][02:06.32][00:52.83]心事一面银幕飘过你的窗前
0 P+ g7 x  q! U( C[04:18.63][02:13.12][00:59.79]寂寞的窗
+ H8 @$ V" e  E: l  @& J[04:20.53][02:15.07][01:01.45]请开启我被岁月紧锁的思念
8 C: Y( C/ C9 x[04:27.54][02:22.02][01:08.45]我的思念 % q( a1 U7 E# C- a0 Z( L
[04:29.58][02:24.00][01:10.63]有你牵挂的心和一首叫做誓言 0 ]" R1 ^1 b; c/ k) Q# |$ ^0 A
[04:36.30][02:30.59][01:16.91]如今细说往事
3 z- T% a0 N) ]4 e9 e# S[04:38.48][02:32.97][01:19.50]往事如烟 " Z( j  l- e; t, N2 U/ o! v+ _
[04:40.13][02:34.51][01:21.09]我是否还算是你的从前
. E! M: n* o2 {$ l[04:46.16][02:39.20][01:26.58]
1 d+ Y: s! x, ?( L/ h$ K9 @[03:34.05][01:28.01]往事从头 " S' c) E) Y4 M
[03:35.59][01:30.17]轻轻细说梦的演变
: j# K: w- E: e& z[03:42.30][01:36.95]多年以后
+ G. ?3 b, A$ ~$ v[03:44.56][01:39.04]是否还有爱的容颜
  x3 L; R" i6 w/ j3 |[03:51.42][01:45.93]往事从头 & g: V" M' J' L. d& U
[03:53.52][01:47.97]轻轻细说沧海桑田 4 u( ~; Y3 S: m. M
[04:00.20][01:54.65]是否能够
; n! O; d! G  D, G[04:02.40][01:56.87]回到从前再走一遍 " k! `" g7 G5 s: K
[04:08.67][02:02.68]
& z  R! C- S) _" [* d7 c4 F
6 }: ?3 P4 W" {3 j- \2 K就比较好了,用不着eeprom了。

; h( I/ |" \4 U3 ^' s程序不仅在LCD上显示信息在串口也会show一些,
9 t& Y8 T/ d9 a3 v# G/ K% V9 l 1.jpg ) i2 i0 s1 U# f: N
2.jpg
( I. L# U2 }4 [5 N* z说说字库文件: . i3 c# ?7 j% H% k- A# Y
    总共有四个文件:st12.sys,st16.sys,gbk2uni.sys,uni2gbk。其中st12/16是12*12 和16*16点阵字库。其余两个为gbk和unicode互转的文件。 7 R3 x8 }: C/ Z% p9 R1 i; H
其中st16和gbk2uin.sys没有用到,但是我程序中没有去掉,如果想去调请在程序中改,在LCD_GBK.c文件的初始化中改。
2 q5 i% f4 \  b    字库是GBK字库,不是GB2312,所以支持很多汉字,总共两万多个,所以再生僻的都可以正常显示,如下面的繁体:
2 ?/ \+ S$ w. r7 Q7 k& W+ `! L% ~' h1 `; ~6 f9 p
[ti:失恋阵线联盟]
" V% F  L$ v" M9 `2 S* c[ar:草蜢]
" s" E7 ]; _- D$ g[al:]
3 f8 B: O4 l8 t0 J[by:ZJM] ; X) ^: W/ ]2 M
[00:00]失戀陣線聯盟 # ?% s# t8 U0 c
[00:10]演唱:草蜢 / H. p. [' I  a0 Z( p/ x9 I! ]2 d
' l( N1 f" |' p
[00:14]
: |% U- s# i5 Q' j- o[01:43][00:16]她總是只留下電話號碼 3 [5 s' g. S4 l7 |
[01:47][00:19]從不肯讓我送她回家
8 L5 V4 b9 q3 j[01:50][00:23]聽說你也曾經愛上過她 5 Z! x6 s. X+ J: i
[01:54][00:26]曾經也同樣無法自拔 " Q3 J' f9 o+ l, _: c/ i
[01:57][00:30]你說你學不會假裝瀟洒 8 `- O% O; e2 s3 B0 B" M
[02:01][00:34]卻教我別太早放棄她
7 a1 G8 I6 ?# B( V& X[02:05][00:37]把過去全說成一段神話
% G4 ?8 v1 c6 T& r$ F  W% \[02:08][00:41]然後笑彼此一樣的傻 ! o% A- ]8 l3 U; G
[02:12][00:45]我們這麼在乎她卻被她全不抹煞 7 n4 |' Q9 V9 B# g" a1 S5 O
[02:16][00:48]越疼她越傷心永遠得不到回答 ) v& m% J. {$ D  H) D( a: E4 j
[02:19][00:52]到底她怎麼想應該繼續猜測嗎
5 R; U+ X, f0 Y. J5 n& r9 r[02:23][00:56]還是說好全忘了吧 7 S( K( p3 L2 R2 b2 B
[02:27][00:59]找一個承認失戀的方法 5 J: ?4 b% w, C  {# c& G5 t
[02:30][01:03]讓心情好好的放個假 : u' c+ {+ V% D! [: n) Y$ l
[02:34][01:06]當你我不小心又想起她 . U' C# v3 h0 ~
[02:45][02:41][02:37][01:10]就在記憶裡畫一個"X" 
* b* j" q) t5 u[01:14](Music)
" f9 e7 n  B3 |. h; p5 o/ v
1.jpg & a, h" y9 h* W# j1 e- @+ N( V$ {+ M3 X$ @
  2.jpg ! S3 u1 v. ]% G/ A# N1 ]
3.jpg # j% W" H5 L* i. P* a: \0 _
4.jpg
4 `' T% _+ F/ v2 G  s! `2 [( V  5.jpg
  o% r/ ~4 k% x0 T. w% y- A5 K 6.jpg 2 p) y8 \) y; O4 H" t/ n
7.jpg
+ Z: w6 ^8 M6 q+ x  ^' f, k 
sfihnuia 回答时间:2009-5-19 12:48:39

RE:DIY STM32之MP3素材整理

so cool!' ]8 b! U8 n7 F% m9 @+ t$ W
想问一下,字库是存在哪里?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素材整理

% }& S3 [+ E8 I! u9 l3 M. U2 F8 K; _. n* R
支持
; `6 s$ k6 o6 R: J6 u* |& \要是用STM32做的话建议加上USB读写SD卡功能2 S8 \/ t! d3 K" |( J- G
呵呵
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素材整理

支持!4 D/ [) O: H+ ^9 j$ J+ c3 X
既然有素材,那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 手机版