Added Currah microspeech emulation (intonation not yet implemented)

This commit is contained in:
fabio.olimpieri 2014-05-09 21:31:01 +00:00
parent c9524cab87
commit 4016b6e9e0
76 changed files with 345 additions and 29 deletions

View File

@ -123,6 +123,7 @@ dist: $(BUILD)
mkdir -p $@/fbzx-wii/configurations mkdir -p $@/fbzx-wii/configurations
mkdir -p $@/fbzx-wii/poke mkdir -p $@/fbzx-wii/poke
mkdir -p $@/apps/fbzx-wii/doc mkdir -p $@/apps/fbzx-wii/doc
mkdir -p $@/apps/fbzx/allophones
cp fbzx.dol $@/apps/fbzx-wii/boot.dol cp fbzx.dol $@/apps/fbzx-wii/boot.dol
cp meta.xml $@/apps/fbzx-wii/meta.xml cp meta.xml $@/apps/fbzx-wii/meta.xml
cp icon.png $@/apps/fbzx-wii/icon.png cp icon.png $@/apps/fbzx-wii/icon.png
@ -144,6 +145,7 @@ dist: $(BUILD)
cp sound/unselect_BE.raw $@/fbzx-wii/fbzx cp sound/unselect_BE.raw $@/fbzx-wii/fbzx
cp fbzx.net $@/fbzx-wii cp fbzx.net $@/fbzx-wii
cp AMSTRAD CAPABILITIES COPYING FAQ README README.TZX VERSIONS VERSIONS.wii $@/apps/fbzx-wii/doc cp AMSTRAD CAPABILITIES COPYING FAQ README README.TZX VERSIONS VERSIONS.wii $@/apps/fbzx-wii/doc
cp allophones/*.* $@/apps/fbzx/allophones
touch $@/fbzx-wii/tapes/dummy touch $@/fbzx-wii/tapes/dummy
touch $@/fbzx-wii/snapshots/dummy touch $@/fbzx-wii/snapshots/dummy
touch $@/fbzx-wii/snapshots/rom-cartridges/dummy touch $@/fbzx-wii/snapshots/rom-cartridges/dummy

View File

@ -133,6 +133,7 @@ dist: $(BUILD)
mkdir -p $@/fbzx-wii/configurations mkdir -p $@/fbzx-wii/configurations
mkdir -p $@/fbzx-wii/poke mkdir -p $@/fbzx-wii/poke
mkdir -p $@/fbzx-wii/doc mkdir -p $@/fbzx-wii/doc
mkdir -p $@/fbzx-wii/fbzx/allophones
cp fbzx-wii.exe $@/fbzx-wii/fbzx-wii.exe cp fbzx-wii.exe $@/fbzx-wii/fbzx-wii.exe
cp meta.xml $@/fbzx-wii/meta.xml cp meta.xml $@/fbzx-wii/meta.xml
cp spectrum-roms/* $@/fbzx-wii/spectrum-roms cp spectrum-roms/* $@/fbzx-wii/spectrum-roms
@ -154,6 +155,7 @@ dist: $(BUILD)
cp sound/unselect_LE.raw $@/fbzx-wii/fbzx cp sound/unselect_LE.raw $@/fbzx-wii/fbzx
cp fbzx.net $@/fbzx-wii cp fbzx.net $@/fbzx-wii
cp AMSTRAD CAPABILITIES COPYING FAQ README README.TZX VERSIONS VERSIONS.wii README_WIN.txt $@/fbzx-wii/doc cp AMSTRAD CAPABILITIES COPYING FAQ README README.TZX VERSIONS VERSIONS.wii README_WIN.txt $@/fbzx-wii/doc
cp allophones/*.* $@/fbzx-wii/fbzx/allophones
touch $@/fbzx-wii/tapes/dummy touch $@/fbzx-wii/tapes/dummy
touch $@/fbzx-wii/snapshots/dummy touch $@/fbzx-wii/snapshots/dummy
touch $@/fbzx-wii/snapshots/rom-cartridges/dummy touch $@/fbzx-wii/snapshots/rom-cartridges/dummy

1
allophones/README.txt Normal file
View File

@ -0,0 +1 @@
Allophones: rate 48k, 1 channel, 8 bit unsigned

BIN
allophones/aa.wav Normal file

Binary file not shown.

1
allophones/ae.wav Normal file

File diff suppressed because one or more lines are too long

BIN
allophones/ao.wav Normal file

Binary file not shown.

1
allophones/ar.wav Normal file

File diff suppressed because one or more lines are too long

BIN
allophones/aw.wav Normal file

Binary file not shown.

BIN
allophones/ax.wav Normal file

Binary file not shown.

BIN
allophones/ay.wav Normal file

Binary file not shown.

BIN
allophones/bb1.wav Normal file

Binary file not shown.

BIN
allophones/bb2.wav Normal file

Binary file not shown.

1
allophones/ch.wav Normal file

File diff suppressed because one or more lines are too long

BIN
allophones/dd1.wav Normal file

Binary file not shown.

BIN
allophones/dd2.wav Normal file

Binary file not shown.

1
allophones/dh1.wav Normal file

File diff suppressed because one or more lines are too long

1
allophones/dh2.wav Normal file

File diff suppressed because one or more lines are too long

BIN
allophones/eh.wav Normal file

Binary file not shown.

1
allophones/el.wav Normal file

File diff suppressed because one or more lines are too long

BIN
allophones/er1.wav Normal file

Binary file not shown.

BIN
allophones/er2.wav Normal file

Binary file not shown.

BIN
allophones/ey.wav Normal file

Binary file not shown.

1
allophones/ff.wav Normal file

File diff suppressed because one or more lines are too long

BIN
allophones/gg1.wav Normal file

Binary file not shown.

1
allophones/gg2.wav Normal file
View File

@ -0,0 +1 @@
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>~~~~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>~~~<7E><EFBFBD><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>~~}|||||}}~<><7F><EFBFBD><EFBFBD><EFBFBD>~}||~<7E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>~~~~}<7F><7F><EFBFBD>~}|zzz{|}~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>~~~~~<7E><><EFBFBD><EFBFBD>~}<7F><7F><EFBFBD><EFBFBD><EFBFBD>~~~~<7F><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>~~~~~<><7F><EFBFBD><EFBFBD>|{{zzzz}~~{vpjd^\\_fpy<70><79>╯不中它帚版<E5B89A><E78988>tjc]ZY[^aehknprux{<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|rh_XRPMLMPRTW[`fmt}<7D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>~{xurpnlkmptz<74><7A><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ytpljjjlnqsvz}<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD>~zwspmigeefgjmprsstuvy}<7D><><EFBFBD><EFBFBD><EFBFBD>}|zyyxvvvwwwyz|~<7E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>~}{zzyz|~<7E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>~~~~~~<7F><7F><EFBFBD><EFBFBD>|zyyyz{{zxxwvwwz{|~~~~~~<7F><7F><EFBFBD>}||zyyyyyxxwxxxy{|~<7E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>}|zyyz{{|}~<7F><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|zyxxyxzzz{{{||}}~~<><7F><EFBFBD><EFBFBD><EFBFBD>~}|zyxxwxxxyzzzzyyxxxz{}<><7F><EFBFBD>~|ywutttvwxyywrmgbaadku<75>𢶠夾岳豕壯豕忖<E8B195><E5BF96>|qh`\Z[_chmswz}<7D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>{tlf_[WTUUVXX[_bglrx<78><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ztqmjhhhkorx<78><7F>迚中ㄐ<E4B8AD><E38490><EFBFBD><EFBFBD><EFBFBD>zsolkjlmpqswy|~<7E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>yvqnlihghilnprux{<7B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>}xtqnmnnppqqsuwy|<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>{yyxxwwxyz|~<7E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>}}|}}}|{zyxxxz|}<7D><><EFBFBD><EFBFBD><EFBFBD>~|ywwvvvvvwxz}<7D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>~}}~~<7E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>~~~}~~~~}}|zyyzz||}||{zzzzzzzz{zyyzzz{||||||||}}||zzyxxxxxxz{}<7D><><EFBFBD>}xqjea_afnx<6E><78>鱝ㄔ夾牧洵炙<E6B4B5><E78299>wmd^ZYZ\aeilortvx{<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>qiaZVRRRUXZ^cglqv}<7D><><EFBFBD><E8BEBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>yupmjhhikmqu{<7B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>{vqljiihijmosx{<7B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|yuqlhdb`_`bdgkmorvy}<7D><><EFBFBD><EFBFBD><EFBFBD>|xvsqpppopqsux{}<7D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|zwutuuxz|<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>~|zxwvutttuvyz|}}~~~~~}}~~}}{{yxxxyxy{|}~~}~~~~~~<><7F><EFBFBD><EFBFBD>~~|{zxwwwwyz{}~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>~~~~~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>~}{zywutttutuuvvvxzz|}}~}~~}~~~}|{{{{}<><7F>}wqkea_agnx<6E>䐓巨版帚洫假盔屆<E79B94>|od\XVWY]bgmquy}<7D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>tle^ZXXWXY[]_cinv~<7E><>╞孕<E2959E><E5AD95><EFBFBD><EFBFBD><EFBFBD>}yuspmlklmosy~<7E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>xspnnnooqqstx|<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|wtpmjihhijmosuwy}<7D><><EFBFBD><EFBFBD><EFBFBD>|xusqqqonmllmoqux|~<7E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>{zz{}

1
allophones/gg3.wav Normal file

File diff suppressed because one or more lines are too long

1
allophones/hh1.wav Normal file

File diff suppressed because one or more lines are too long

1
allophones/hh2.wav Normal file
View File

@ -0,0 +1 @@
€亐亐€€€€€€亐~}{zxyyz|}~}~}{yxvvx{}€亖個~}|{|}€€亐€~~~}{zzyyzz|||||z{zzzzyz{||||{|zyxxxx{}€倎亐}|||}亗儎剟儌<E5899F>~}~~€亗們儊亖~~|{zzzz{zzwvttrrrsstuuvvvwwyyxxxxxxyz{}~~}~~~~}~~~~}~~~~~~~}~~€€€€}}||||}€亗倐亐~||{|||}||{|zyyz{||~~~}}|{yzyxyxwwxyyz{|||||}~亙剟剛€~~}{||{||||||||||{{{|~€們剠剟儊}}{{z{|}~~|{zxwwxzz}€儍剟剝亖€~€們剟儊<E5899F>}}~亗儎剟剛們倐倐倎€€~~~~||{{yzz{|}~}~}~~€剠噰垏厖剟剠唵唴剛€}||}亖倐<E4BA96>}zvtqnmllmnprstttvwy~儓悤洘·ェИ<E382A7>贝饭付嘲<E4BB98>煔攺妱zuqmjheda^\ZWVVWXY[\]\\\\]_cfkpswzzzyzz|}儏垔寣寢寣帋帍憫拻摂敂敁拻憭拻摂晼枟棖枖搼弿彁悙悘崑墖儊<E5A296>€€€€€~~|zwtqpopqqqqrqponmooqstvvuvuttttuvwxyyzz||||}}}~€倓厗厗唲剟厖唸妸寣寠増唲儍儏唶噲垎厔儌倐儊亖~~~~~~}~}}~€儎唵噯剛倎€€€亖€}|{zyxxwwxxxxwwvusrrrqqrsttuvyyy{{{{{}~€亙儌儌倎亗們剟儎剛倎亗倐儎剟剟剟剠厖唴唴厓倐倎倐倐個€€€€€亐€~}|||}{zyxwuuvwwxwuttsrrtvxxyzzzyzzzzzyywwwwxyyzyyyxutrpnmjjklnopstvwy{儓崚枦煛ⅳエ┇<E382A8>背创床<E5889B><E5BA8A>洉悑厑|wtqmjeb^ZVVSSRSSSRQQQQRTVXY]_bdfijlllmmnprtvz{|}~~€亙噲媿帎憫挀挀憭搾敃晼槝槚晹搼憪悙悜憦弽媹唭亐~~{zwusrpnlkjjkkkmnnonkkiijkmosuvxxxyxwxyyyzzz{zzzzzzzz||||}~~}€亐亖倐倓剠厗唴厗剟剟剢唶唵唲剝們倓唶垏唵剝亐亖們唵唴儊€~|{z{zzzyxxwvutsqpqpqtvyy{{xvtrsrtuvxxzyxxxxxyxyzzz{|~亗儎厗噳墛媼崒寣寠妸妸妸墜妺妸墘垐噰唴唶唵唲儍亐~}|{zzyxxxwxwxyxxyz{|||}|{|{|}}~€亗倐倎€€€亐亗們儌倎€€亗儌倐<E5848C>|yvqnjgecddgjlnqrtvwy{剫憲煢<E686B2>泛纠门伤拖研翁嚷淮<E59AB7>檻墐|wqnhc^XPJE?;9879;<@@BBCBDEILPVZ`dhjlmnnnprtwz倖墝帎彁憫摂棞牓ì<E78993>炒捶富娇媚哪寐竞烦<E7AB9E>ァ殫搸墑€{wrmiea]ZWUSSRRRRRRRRSUXZ^bgjnqtuxy{|~€€€~~||{|{}|{zzzz{{}€們剢唶垑妺崗憯枠殰湞洐棔搾悙帊妷噭<E5A6B7>{ywvttuvvwuutrrqtvy~亙厙垑妽悞敃枛敁憦帋帊寜噭€}ywtspnljhfedcbbbdeefiijkklmooquvx{{|}|||||~€亖亖~|||{}}€儏噳妼崗悞敆殱煝#¥いい!灊殫搹寛剚|yvrpljfebbaa``a`__aacehklnoppqrrtuwxyyxwtsqppprttttqnjea_\[\]_adfjmquy~剦彇灓<E5BD87>估娜颂蜗矣灾字匝糖婪<E7B396>潟崋wqjc\VPIB=943/001467899:<=AEIMPSVX[\]_`abdfgiloqsuxz|~倖垖悥湢Κ<E6B9A2>炒捣辜苛媚拍穆晾己侗<E5B7B1>牅棑弻噦|uojd`][XVUSRQQQRRSSTUWZ]aegjlmnopqrtvvvvutsstuwy{|{|{{}~~亙厙墛實彁挀敆櫅潫、ⅱ牊潥櫁晹拸帉妵剛€}|yxvvvvvvvvuvuvxy{||~亖儎唸垐垏唵剟儌<E5899F>~|zxwvuttssropoopqqttwxzz{}~€倓厙垕媽崕弾崒寢妸妸妸媻垏噯唵垐妷垑垏噮唶垏垐増垏垐妸媼媻墖厒<E5A296>|zyywsrpmljijijkklmoopruwz|€儐垑妸媿崘悞拻憥寠増噯唴儉~{zxwurplifcaadfimpruuvwz~剦悧潳┊驳饭航究缆寐量欢皑爾崉~wrokgc_ZUPLGECCCDFIJLNOOPQRTWY\_cehhihhhgeffgiknruvy{}}倓垖悤櫈<E6AB88>贝陡杭纠履哪寐炕复杯─牄枓崍儈xsnida\YWUTSSRRSRRQQRSUUWY[]^_`bdghjlnoqrrsssttuvxyyz{|}亜唹媼寧帋弿悜挀晻棗槚枖拸媹唲儌亐~|zxvttqqppppprsttvwxy{~亙唵噰噲垑妼寣寠垎厓倐亖~|yuromjihhhggfffeffhghhhggfffgghjknnoqstuvxxyyzz|~€倓唶垑妼彂挃晼枛晻枟棙槝槚晻敀拻拺悗崐噮儊€}|ywtrpoonnmmkihgfffghiklknopoppoponnnnpppqppoppqrttutspnkigfghjlnortwy|儐姁敋牑┉捕壕履巧颂屯松敲椒皑灄巻ysnie`]WSPKGEB?==<<=<=??ACEFIKNPTWZ]`aceghilmpruxz}亙厛媿悢棜潯エ<E6BDAF>泊饭汉换汉父抖幢<E68A96>ǎ煖櫀搻崍剙|wtpmiec_\ZXWVVVUVVWWYZ[\]`acegklpqrssqrrrsuwwyz{}}~€€亗剠垔崗挃晼棖枛枟棙殯湞潧洏晵悕媺噮倊|wurqoonnmnmllmmortwz}亙厙噳妺崕彁悜憫悘弽妷噭儊~~}{zxwtsponmoopqrrrrrrqrrrstuuwwxxyyxxwvvuvwyyz{{||}~~亙唹審挄晽棙櫄潫、<E38081>煗湜殭棔搻崑垎<E5B491>|yvsqnnnnnoonmnnmnnmnnoprstvvwuvsrrrrstustsrppppqrrstuuutrqonmnnqruxz~亝垖悢殱ⅶ<E6AEB1>芳滥巧适适噬缮悄篮超<E7AFAE><EFBFBD>zuokfa\WQLHB>;9889:;;;==>@ACFJNQTXY\\]]^_`bdfhlnortw{}亜垔崘摋殸ォ<E6AEB8>捶腹伎聊魄热婆吕净付伯<E4BB98>牉槙憣厐zslgc_\[YWTRPNMMNNONNMNNORTWYZ[\\\\^_acdfijlmoprqstuwx{|~€亙厙妼彂挃枟殱煝%ィ牉洐枖拺悘崒媺垎儉}yxvvwwwyxwwwvvwxy{|||}|||||{|zz{{|||||{yxwutttsqrqpomlkkkiijjjklmnppppppopprtuwxyyz{}~亗儍剟剛倎亖們厗垕崕彁憪悞拻摂敃搾拻悘崒妶噰厖儌<E58E96>}{yxuutstttstsrrqponnnnnnnmmlkjjijjijjjjjjjihhggghijkjjhgdbabcfimostwy}儓帞洝Л掣矫商杏兆刎儋刎砸稳潞抱湋唥tmfb^YRMF@950.-,+-./0246679<=BFKPUX\_`aceghknqtx{€厜崙摉櫆煠┊捕航聊鞘颂掏臀蜗衔倘目憾箔ǎ湒悑唭~ztmd]XX[cmw

BIN
allophones/ih.wav Normal file

Binary file not shown.

BIN
allophones/iy.wav Normal file

Binary file not shown.

1
allophones/jh.wav Normal file

File diff suppressed because one or more lines are too long

1
allophones/kk1.wav Normal file

File diff suppressed because one or more lines are too long

BIN
allophones/kk2.wav Normal file

Binary file not shown.

1
allophones/kk3.wav Normal file

File diff suppressed because one or more lines are too long

1
allophones/ll.wav Normal file

File diff suppressed because one or more lines are too long

1
allophones/mm.wav Normal file

File diff suppressed because one or more lines are too long

BIN
allophones/ng.wav Normal file

Binary file not shown.

1
allophones/nn1.wav Normal file

File diff suppressed because one or more lines are too long

BIN
allophones/nn2.wav Normal file

Binary file not shown.

BIN
allophones/or.wav Normal file

Binary file not shown.

BIN
allophones/ow.wav Normal file

Binary file not shown.

1
allophones/oy.wav Normal file

File diff suppressed because one or more lines are too long

1
allophones/pa1.wav Normal file
View File

@ -0,0 +1 @@
€€€€€€€÷€€€€€€€€÷€€€€€€€€€€€€€€€€€€€€€€÷€€€€€÷€€€€€€€€€€€€€€€€÷€€€÷€€€÷€€€€€€€€€€÷€€€€€÷€€€€÷€€€€€€€€€€÷€÷€€€<EFBFBD>€€€÷€€€÷€€€÷€€€€€€€€€€€€€€€€€€€€€€÷€€÷€€€€÷€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€

1
allophones/pa2.wav Normal file
View File

@ -0,0 +1 @@
€€€€€€€€€€€€€€€€€€€÷€€€÷€€€€÷€€÷÷€€€÷€€€€€€€€€€€€€€€€€€€÷€÷€€€€€€€÷€€÷€€€€€€€€€€€€€€€€€€€€€€€€÷€€€€€€€€€€€÷€€€÷€€€€÷€€€€€€€÷€€<EFBFBD>€÷÷€€€€€€€€€÷€€€€€€€€€€€€€€€€€€€€€÷€€€€€€€<EFBFBD>€€€÷€€€€€€€€÷€€€€€€€÷€€€€€€€€€€€€<EFBFBD>€€€€€€÷÷€€€€€€÷€€€€€€€€€€÷€€€€€€€€€€€€€÷€€€€€€€€€€€€€€€€€€€€€€€€€€÷€€÷€€€€€÷€€€€÷€€€€€€€÷€€€€€÷÷÷€€÷÷€€€€€€÷€€€€€€€€€€€€€÷€€€€€€÷€€÷€€€€€€€€€€€€€€€€€÷÷€÷€€€€€€€€€€€€€€€€€€€€€€€€€€€€÷€€€€€÷€€€€€€÷€€€€€€÷÷€€€€€€÷€<EFBFBD>€÷€€€€÷€€<EFBFBD>€€€€€÷€€€€€€€€€€÷€€€÷÷€€÷€€€€€€€÷€€€€€€€€€€€€€€€€€€€€€€€€€€÷÷€€€€€€€€€€€÷€€÷€€€€€€€€€€÷€€÷€€€€€€€€€€€÷€€€€÷÷€€€<EFBFBD>€€€€€÷€€€€÷€÷€€€€€€€÷€÷÷÷€€€€÷÷€€€€€÷€€€€€€€€€€€€€€€€÷€€€€÷€€€€€€€€€€€€€€€€€€€€€€<EFBFBD>€€€€€€€€€÷€€€÷€€€€<EFBFBD>€€€€€€€€÷÷€€€€€€€€€€€€€÷€€€<EFBFBD>€€€€€€€€€÷€€€€÷€€€€€€€€÷€€€€€€÷€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€<EFBFBD>€÷€€÷€€€€€€€÷€€€€€÷÷€€€€€€€€÷€€€€€<EFBFBD>€€€€€€€€€€€€÷÷€€€€€€÷€€€€€€€€€€÷€€€€€€€€€÷÷€€€€€€<EFBFBD>÷€€€€€÷€€€÷€€€÷÷€€€€€€€€<EFBFBD>€€€€€€€€€€€€€€€€€€€÷€€÷€€€€€€€€€€€€€€€€€€€€÷€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€÷€€€€€€€÷€€÷€€€€€€€€€€€€÷€€€€€€€€€€÷÷€÷€€÷€€€€€€€€€€€€€€€€÷€€€€€€€€€€÷€€€€€€€€€€€€€÷€€<EFBFBD>€÷€€€€€€€€€€€€€€€€€€€€€€€€€÷€€€€€€÷€€€€€€€€€€€€€€€€€€€€€€€€€€÷€€€€÷€€€€€€€€÷€€€€€€€€€÷€€÷€€€€€€€€€÷€€€€€€€€€€€€<EFBFBD>€€÷€€€÷€€€€€€€€€€€€€€÷€÷€€€€€€€€€€€€€€÷€€€÷€€€÷€€€€€€€€÷€€€€€€€€€€€€€€÷€÷€€<EFBFBD>€€€€€€€€€<EFBFBD>€€€€€€€€<EFBFBD>€€€€€€€€€€€€€€<EFBFBD>€€€€€€€€€€€€€€€€<EFBFBD>€€€€€€€€€€€€€÷€€€€€÷€€€€€€€€€€€€€÷€€€÷€€÷€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€÷€€€€€€€€€€€€€€€€€€€€€€÷€€€€€€€€€€€€€€€÷€€€€€€€€<EFBFBD>€€€€€€€<EFBFBD>€€€€€€€€€€€€€€€€€€€€€€€÷€€÷€€€€€€÷÷€€€€÷€€€€€€€€€€€€€€€€€÷÷€÷€€€€€<EFBFBD>€€€€€€€€€€€€€€€€€÷÷÷€€€€€€€€÷<EFBFBD>€€€€€€€€€€€€€€€÷€€€€€÷÷€€÷÷€€€€÷€€€€€€€€<EFBFBD>€€€€€€÷<EFBFBD>€€÷€€€€€€€€€€€€÷€÷€€€€€€€€€€€€€€€€€<EFBFBD>€€€€€€€€€€€€€€€€€÷€€÷€€€€€€€€€€€€€€÷€€€€€€€€€€€÷€÷€€€€€€€€€<EFBFBD>€<EFBFBD>€€€€€€€€€€€€€÷€€€€€€€€€€€€€€€€€€€<EFBFBD>€€€€€÷€€€€€€€€÷€€€€€€€€€€€€€€€÷€€

1
allophones/pa3.wav Normal file
View File

@ -0,0 +1 @@
€€÷€€€€€€€€€€€€÷÷€€€€÷€÷÷÷÷€<EFBFBD>€€€€€€€€€€÷÷€€€€÷€€€€÷€€€€÷÷€€€€÷€€€÷€÷€€€€€€€€€€<EFBFBD>€€€€€€€€÷€÷€€€€÷÷€€÷÷€€÷€€€€€€€€€€÷€€€€€€€€€<EFBFBD>€€€€<EFBFBD>€€€€€€€€€€÷€€€€€€€€€€€€€÷€€€€€÷€€€€€€€€€€€€€€€€÷€€÷€€÷€€€€€€÷€€€€€€€€€€€<EFBFBD>€÷€€€€€€€€€€€÷€€÷÷€€€<EFBFBD>€€€€€€€÷€€€€€€€€€÷€€€€€€€€€€€€€€€€÷€€<EFBFBD>€€€€€€€€€€€÷<EFBFBD><EFBFBD>€€€€€€€€€€€€€€€÷€€€€€÷€€÷€<EFBFBD>€€€€€€€€€€€€€<EFBFBD>€€€€€÷€<EFBFBD>€€€€€€€€€€€€€<EFBFBD>€€€€€€€€€€€÷÷€€€€€€€€€€€€€€€€€€€€€<EFBFBD><EFBFBD>€€€€€€€€€÷€€€÷€€€€€€÷€€€€÷÷€÷€€€÷€€÷€÷€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€÷€€€€€€€€€€€€÷€÷€€÷€€€€€€€€€€€€€€€€€€€€<EFBFBD>÷€€€€€€€€€€÷÷€€€€€€€€÷€€€÷€€€€€€€€€÷€€€÷÷€€€€€€€€€÷€€€€÷€€€÷€€€€÷÷€÷€€€€€€€€<EFBFBD>€€€€€€€€€€€€€€€€€€€€€€÷€€÷€€€€€€÷€÷€€€€÷€€€€€÷÷€€÷÷€€€€€€€€€€÷€€€€€€€÷€€€€€€€€÷€€€€€€€€€€€€€€€€€÷÷€€€€€€€€€€€€€÷€€÷€€€€€÷€€€€÷€÷€€€€€€€€€€€€€÷€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€÷€€€÷€€€€€€€€€€€€÷€€€÷€€€€€€€÷€€€€÷÷€€€€€÷€€€€€€€€€€€€÷€€€€€€€€€€€÷€€€€÷<EFBFBD>÷€€€€€€€€÷€€€÷÷€€€€<EFBFBD>€€€€€€€€€€€€€€€€€€€€€€÷€<EFBFBD>€÷€€€€€€€÷÷€€€÷<EFBFBD>€€€<EFBFBD>÷€€€€€€€€€€€€÷€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€÷€€€€€€€€€€€€€€€€÷€€÷€€€€€÷€€€÷€€€€€€€€€÷€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€÷€€€÷€€€€€€€€÷€€÷€÷€€€€€€€€€€€€€€€€€÷€€€€€€€€€÷€€€÷€€€€€€€€€€€€€÷€÷€€€€€÷<EFBFBD>€€€€€€€€€€€€€€÷€€€€€€€€€€€€€€÷€€÷€€€€€€€€€÷€€€€€€€€€€€€€€÷€€€€€€€€€€€€€€€÷€€÷€€€€€€€€€€€÷€÷€€€€÷€€€€€€€€€€÷€€€€€€€€€€€€€€€€€€€€<EFBFBD>€÷÷€€€€€€€€€€€€€÷€€÷€€€÷€€€€€€€€÷€÷€€€€€€€€€€€€€÷€€€€€€€÷€€€€€€€€÷€€€€€€€€÷€€€÷€€÷<EFBFBD>€€€€€÷€€€<EFBFBD>€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€÷÷€€€€€÷€€€€€€€€€€€€€€€€€€€€<EFBFBD>÷÷€€€÷€€€€€€€€€€€€<EFBFBD>€€€€€€€€€€€€€€€€€€€÷€€€÷€€€€÷÷€€€€€÷€€€€€€€€€€€€€€÷€€÷€€€€<EFBFBD>€€€€€€€€€€÷€€€€€€€€€€€€÷€€€€€€€€€€€€€€€€÷€€€÷€€€€€€€€€€€€€€€<EFBFBD>€€€€€€€€€€€€€€€<EFBFBD>€€€€€€€€€€€€€€€€€€€€÷€€€€€€÷€€÷€€€€€€÷€€€€€€€€€€€€÷€€€€€€€€€€€÷€÷÷€€€€€€€€€€€€€€€€€€€÷€€€<EFBFBD>€€€÷€€€€€€€€€÷€€€€€÷€€÷€€€€€€€€÷€€÷€€÷€€€€÷€€€÷€€€€€€<EFBFBD>€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€

1
allophones/pa4.wav Normal file
View File

@ -0,0 +1 @@
÷€€€÷€€€€€€€€€€€€€€€€€÷€€€€€€€÷€€€€÷€€€€<EFBFBD>€€€÷÷€€÷€€€€€€€€€€€€€€÷€€€€<EFBFBD>€€€÷÷€÷€<EFBFBD>€€€€<EFBFBD>€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€÷€÷€€÷€÷€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€<EFBFBD>€€€€€€€€€÷€÷€€€€€€€€€€€÷÷€€€€€€÷€€€€€€€€€÷€€÷€€€€€€€€€€€€÷€÷€€€€€÷€€€÷€€€€€€€÷€€÷€€€€€€€÷€€÷€€€€÷€€÷€€÷€€€€÷€€<EFBFBD>€€€€€€€€€€€€÷€€€€€€÷€€€€€€€€€€€€€€€€€€€÷€€€€÷€÷€€€€€÷÷€€÷€€÷€<EFBFBD>€€€€÷÷€€€<EFBFBD>€€€€€€€€€€€€€€€€€€€€€€€€€÷÷€€€€€€€€€€€€€€€€€÷€€€÷÷€€€€€€€€€€€€€€€÷€÷€€€€€€€€€€€€€€€€€€€€€€÷€€€€€÷€€€€€€€€€€÷€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€÷€÷€€€€€<EFBFBD>€€€€€€€€<EFBFBD>€€€€€€€€÷€€€÷€€€€€€€€÷€€€€€<EFBFBD>€€€€€<EFBFBD>€€÷€€€€÷€€<EFBFBD>€÷€€€€€€€€€€€€€€€÷€€€€€€€€€€€€€€€<EFBFBD><EFBFBD>€€÷€€÷€€€€÷÷€€€€€€€€€€€÷€€€÷€÷÷€€€€€€€€€€€€€÷€€€€€€€€€€€€÷€÷€€€€€€<EFBFBD>€<EFBFBD>€€€€€€€€€€€€÷€€€÷€€€€€€€<EFBFBD>€€€€€€€€÷€€<EFBFBD>€€€€€€€€€€€€÷€€€€€÷€€€€€€€€€÷€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€÷€€€€€€€€€€€€€€€÷€€€€€€€€€€€÷€€€€€€<EFBFBD>€€€€€€€€€€€€€€€€÷€€€€€€€÷€÷€€€€€€€€€€€€€€€€€€€÷÷€€÷÷€€€€<EFBFBD>€<EFBFBD>€€€€€<EFBFBD>€€€€€€€€€€€€€€€€€€€€€€÷÷€€€€€€€€<EFBFBD>€€€€€€€€€€€€€€€€<EFBFBD>€€€€€€€€€€€÷€€€€€€€€€€€€€€€€€€€€€€€€€€€€÷€÷€÷€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€<EFBFBD>€€€€÷€€€€€€€€÷€€€€€€€€€€÷€€€÷€€€€€€€€€€÷€€€€€€€€€€€€€€<EFBFBD>€€€€€€€€€÷€€€€€€÷€€€€€€€€€€€€÷€€€€€÷÷€€€€€€÷€€€€€€€÷€€€€€€€€<EFBFBD>€€€÷€€÷€€€€€÷€€€€€€€€€€€€€€€€€<EFBFBD><EFBFBD>÷€€€€<EFBFBD>÷€€€€€€€€€€€€€€<EFBFBD>€€€÷€€€€€€€€€€€€€÷€€€€€€€€€€€÷€÷€€€€÷€÷€€€€€€€€€<EFBFBD>€€€€€€€€€€÷€€€€€€€€€÷€€€€€€€€€€<EFBFBD>÷€<EFBFBD>€€€÷€€€€€÷€€€€€€€€€€€€€€€€<EFBFBD>€÷€€€€€€€÷€€€€€€€€€€€€€€€€€€€€€€€€€€€€<EFBFBD>€÷€€€€€€€€€€€÷€€€€€€€€€€€€€÷€€€€€€€€€€€€€€€€€€€€€€€÷€€€€€€€÷€€÷€€€€€€€÷€÷€€€€€€÷€€€÷€€€€€€€€€€€€€€÷€÷€€€€€€€€€€÷€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€÷€€€€€<EFBFBD>€€€€€€€€€€€€€€÷€€÷€€÷€÷€€€€€€€€÷÷€€€€÷€€€€€÷€€€÷€÷€€€<EFBFBD>÷÷€€€€÷€€€÷€€÷€€€€€€€€€€€€€€÷÷€€€€€€€€€€€€€€€€€€€€€€€€€÷€€€€€€€÷€€€€€€€€÷€€€€€€€€€÷÷€€€€€€€€€€€€€€€€€€€€€€€€€÷€€€÷€€€÷€€€€€÷€€€€€€€€€€€€÷€€€€€€€€€€€€€€€€€€÷€€€€€€€€€€€÷€÷€€€€€€€€€€€€€€€÷€€€€€€€€€€€€€÷€÷€÷€÷€÷€€€÷€€€€÷÷€€€€€€<EFBFBD>÷€€<EFBFBD>€€÷€÷÷€€€€€€€€€€€€÷€€€€€€€€€€€€€€÷€€€€€€€€€€÷€€€€€€€€€€€€€€€€€€€€€€€€€÷€€÷€€€÷€€€€€€€€€€€÷€÷€€€€€€€€€€€€€€€€÷€€€€€÷€€€÷€€€€€€€€€€÷€€€€€€€€€€€€€€€€€€÷€€÷€€€€€€€€€€÷÷€€€€<EFBFBD>€€€€<EFBFBD>€€€€€÷€€€€€<EFBFBD>€€€€€€€€÷€€€€€€€€€€€€€€€€€€€€€€÷€€€÷€€÷€€€÷€€€€€€€€€€€€€€€€€€€€€€€€€÷€€€€€€€€€€€€÷€€€€€÷€€€€€€€€÷€€÷€€€€€€€€€€€€€€€€€€€€€€€€÷€€€€€€€÷€€€€€€€€€€€€€€€÷€€€€€€€€€€€€÷€€€€€€€€÷€€€€€€€€€€÷€€€€€€€<EFBFBD>€€€€€€€€€€€€€€€€€€€€÷€€€€÷€€€€÷€€€€€€€€÷€€€€€€÷€€€€€€€€€÷€<EFBFBD>€€€€€÷€€€€€€€€€€€€€€€€€€<EFBFBD>€€€€€€€€€€€÷÷÷€€€÷€€€€€€÷€€÷€€÷€€€€€€€€€÷€€€€€€€€€€€€€€÷<EFBFBD>€÷€€€€€÷€€€÷€€€€÷€€€€€€€€÷€€€÷€€÷÷€÷€€€€€€€€÷€€€€÷€€€<EFBFBD>€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€÷€€€€÷€€÷€€€€€€€€<EFBFBD>€€÷÷€€€€€€€÷€€€€÷€€÷÷÷€€€€€€€€€€÷€÷€€€€€€€€€€€÷€€€€€÷€€€÷€€÷€÷€€÷€€÷€€€€€€€€÷€€€€€€€€€÷€€€€€€÷€€€€<EFBFBD>÷€€÷€€€÷€€€€€€€÷€€€€€÷€€€€€€€€€€€÷€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€÷€€€€÷€÷€€€÷€€€€€€<EFBFBD>€€€€€€€<EFBFBD>÷€€€€€€€€€€€€€÷€€÷€€€€€€€€€€€€÷€€€€€€€÷€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€÷€€€€€€€€€€€€€€€€€€€÷€€€€€€€€€€€€€€€÷€€÷€€€€÷÷€€€€€€€€€€€€€€€€€€€€€€€€÷€€€€€÷€€÷€€€€€€€€€€€÷€<EFBFBD>€÷€€€€€÷€€€€€€€€÷€÷€€€€€€<EFBFBD>€€€€€€€€€€€€€€€€€÷€€€€€€€€€€÷€€€€€€€€€€€€€€€€€€€€€€€€€€€€÷€€€€€€€€€€÷€€<EFBFBD>€€€€€€€€€€€€÷€€€€€€€€€€€€€€€€€€€€€€€€÷€€€€€€€€€€€÷€€€€€<EFBFBD>÷÷€€€€€€€€€€€€€€€÷€€€€€€€€€€€€€€€÷€€€€€€€€÷€€€€<EFBFBD>€€€€€€€€€€€€€÷€€÷÷€€€€€€€€€€€€€€€€€€€÷€€€€€€€€€€€€€€€€€€<EFBFBD>€€÷÷€÷€€€€÷€€€€÷€€€€€€€€€€€€€€<EFBFBD>€€€€€€€€€€€€€€€÷÷€€€€€€€€€€€€€€€€÷÷€€€€€€€€€€€€€€€€€€€€<EFBFBD>€€€€€€€€€€÷€€€€€€€€€€€€€€€€÷€€€€€÷€÷€€€€€€€€÷€€€€€€€€€€€÷€€€€€€€€€€€€÷€€€€€÷€€€€€€€€€€€€€€€€€€€€€€€€€€€<EFBFBD>€€€€€÷€€€€<EFBFBD>€€€€€÷€€€€€÷€€€÷€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€<EFBFBD>€€€€€÷€÷€€€€€÷€€€€€€<EFBFBD>€÷€<EFBFBD>€€€€÷€€÷÷€€€€€€€€€€€<EFBFBD>€€€€€€€€€€€€÷€€÷€€€€€€<EFBFBD>€÷€€€€÷€€€€€€€€€€€€€€÷÷€€€€€€€€€€€€€÷€€€€€€€÷€€€€€€€€€€€€€÷€€€÷€€€€€€€€÷€€€€€€€€€<EFBFBD>€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€÷€€€€€€€€€÷€÷€€€€€€€€€€€€€€€€÷€€€€÷€€€€€€÷÷<EFBFBD>

1
allophones/pa5.wav Normal file

File diff suppressed because one or more lines are too long

1
allophones/pp.wav Normal file
View File

@ -0,0 +1 @@
<EFBFBD><EFBFBD><EFBFBD>€€}}{zz{{{|{zxuttsvx{}~}}||}|<7F><E289A6><EFBFBD><EFBFBD><EFBFBD>葛渇㊦<E6B887>㊧煙克緒轟級<E8BD9F><E7B49A><EFBFBD><EFBFBD><EFBFBD>€€€€}~}<ュс€~}~€ユ㊦㊥モ€~}~~€<EFBD82>€€€<C280><EFBD84>葛血血級沿<E7B49A>у<EFBFBD><D183><EFBFBD><EFBFBD><E38AA6><EFBFBD>焔刻蒼涛涛荘随渚麹結沿<E7B590>{zxxyz|}}~}}|}}~€€€ст<D181>сヤ㊨牛詩級㊤у<E38AA4>焔給活<E7B5A6>€€ャモ€}|{||€㊧葛血糾滑葛月髄随豪<E99A8F><E8B1AA>ссутャ€€€€ттモ~~}||||}}~~€€€€~|{zzz{{}~~~}}}|{{{|}~÷€~~}~≠ф<E289A0>褐牛給滑演<E6BB91>演演葛旧轟誌瑞瑞詩潔㊦с<E38AA6><D181>р<EFBFBD>}{yywvvutsrrrpqrstuuvvvtssrttuvvwxyz{|~ф<EFBD83>葛渇㊤ф㊨沿<E38AA8><E6B2BF>у<E383A4><EFBFBD><E38AA7><EFBFBD><E38AA4>€€<C280><EFBFBD><E38AA6>~~~€÷€}|||{}~~~~}|zzzzyzzyxvtrqrrsuwz|{{zyyxy{|~€€}||}~<7F>沿<EFBFBD><EFBFBD><EFBFBD>у㊨滑滑<E6BB91><E6BB91>ттメ<D182>€ャ÷~~~~€€÷~~|{{zyxwuusrrrrrrrqpppqqqrssssrrqqpqqrsvxz|~€у㊧牛諮瑞庶結給血訣血結葛滑給級<E7B5A6><E7B49A>€|ywutuvwxxxwussrqstwxxwvusrqoppqrtuuvwwxy{|}}~€<EFBD84><E383A5>モ÷€€€€€€€€€~}|yvuutvx{~≠モ€€х<E289A0>渇援<E6B887><E68FB4><EFBFBD>褐克庶詩結援<E7B590><EFBD82>~|{yxxxyyz{yzyyxwvvvwwxxwwwvvttttusstuuwxyz{|||~~€<C280>炎訣血血麹血血滑沿<E6BB91><E6B2BF><EFBFBD><EFBFBD>тст<D181>с<EFBFBD>€~~~~~}|||{||}}}~}}|zxwvtsuuvwxxxuttstwzz}|{zxvutttuvwxyz{|}}~}|{{{{|}≠<><E289A0>葛滑渇給克庶豪活㊤у<E38AA4>㊧炎滑渇㊤<E6B887>~}|{{zzyxwwuvuvwvwwxyz{||||}|}}}~~€=ャャa~|{||~~~~~~~}~~€€=÷~}|{z{||~~}|{ywxyz}€€~~|{zyyxxvvvvwwxxyzzyzyyz{|~€€утュф<E383A5>血穴援сュ㊨葛糾<E8919B><E7B3BE>€}|{zzyzyyz|}||zxutrrqrssuvvxyy{|~~€€}{yurpooqtvz}у<EFBD82><D183>с㈱克視怨<E8A696>~}}~€≠ф<E289A0><D184><EFBFBD><E38AA5><EFBFBD>×|ywtstttuuvwwwwxzz||}~~~}|zxwvwwxz{}~~}{yvusrrqqrsttttuvx{}€bメ€~~~~~€~~~}~€€€~}{{|}~~~}|}~€у<EFBC9C>с€€€{wtpmlklnpsuxyzzzzzz|}тメzxvttuwyz|{zxvsqqqpqrtvy}€р<EFBD83>}|zz{{||{{yxvvvxy|с<EFBD83>|zwvvwxzz{}}<7F>炎渇㊤モ€|{xvvuvvxz{|}}}||{zyxwuttssstuuwyz|}~~~€=≠aabャтメ€~{wuronlklmoruwxy{{{|}~€€÷€€€ュ㊤с<E38AA4>€~~~}€€€€€€€€€€€~}{zxxxxy{|}}~~~~~~=bャa€~<7F>炎滑渇㊤メ<E38AA4>~}|{zxwuuuvx{}€}||{}~€<C280><EFBD83><EFBFBD><EFBFBD>п}{yxxwuuttstvwx{|€у<D183><E38AA7><EFBC9D><E383A4><EFBFBD>€~|{}<7F><EFBFBD><E38AA5><EFBFBD><EFBFBD>葛月試糾℡<E7B3BE>}}||{zwurommnqux|€<EFBD82><EFBFBD><E38AA6>~~€€dтa}|{{|}~≠ヤ<E289A0>тсу<D181>тメ~{xvuuvy|<7F><E383A7><EFBFBD>{{y{}≦<>血級<E8A180>~~}||{zwvtstuw{ョ炎沿㊤ャх<EFBD83><D185><EFBFBD>|yxvvvvvvvuvwxy{|}€х<E289A0><EFBFBD>}}{{{zywwvwy{}~€÷€€€<EFBD82>~}|||}||{|{||}}}~~~~~<7F><EFBD84><EFBFBD>}||}<7F><EFBC9E><EFBFBD>~||{yyyxxwwwxy{~€€~|{zzz{{}}€€€€}|{{zzzzzyzzz||}}~~~€≠=~|xvsstwz}=a€€€≠cモb€}{{zz{z{{zyyzz|~€≠モヤу<E383A4>р€~|{{{{|}~~}}~~~€€€÷ヤтуу<D183><D183><EFBFBD>}{zwvvvxz|}~~|{{z{|~

4
allophones/rr1.wav Normal file
View File

@ -0,0 +1,4 @@
\@EHJNKKIDB@CGLPSSQNJGB?=;;;>@EJOTX[^cglsz€唺帓敆洘<E6B498>岛琅诵载谮谫终型赡兰苟幢<E88B9F>Β湗攼寛剛~{yvutsqmkgc^ZUQNKHFFECB?<73-)%" !$&(*,,,,..16;BHOV[`dgjmqvz~剤帗枦煝ī<EFBC87><C4AB>捶夯蓟脊付兜创创炒吹档抖荡爱<E88DA1>ア牊湙枖悐唨{vqmic_[WQNJGD@>:7310/..011344679=?CFJLOQSTVWYZ[]`bcgjnruy|~亗儐垕彄棞煝ウī<E382A6><C4AB>炒捣腹购缓垢范闯脖<E997AF><E88496><EFBFBD>湚枓悑垍<E68291>}{yvtrolhdb_]ZZXWVTSQOLJHGEDBBCBBB@?AAADFHIFB<3*"&0<JWcmv噹暈Р饺愚顼貅鼬黥篌趑鲼躐猷云阀殠唩€€儐墜寜厐{uoida]\ZYXVTQKFA=:999;;9851-($!!&+17<BFMSZahnuz儓崘枩ⅸ胺九讼宰刳圯揶掭谥孕退噬汕坡考烦矮Б灈棓搾悘崑墔€|wsnjgca^[WRNHA:3.)%#""#%&&'%%##"$&).4:?EKRW]chmrwz~倖嫃摉殱牎うЗ<E38186>背捶陡腹父父购冀缆侣铝览窘缓傅巢<E58285><EFBFBD>檾帀厑|xsnje_[WSNKGCA>;98876777779:<=@BEHJKNNPPQRRTW[^bflpsuwxzzz}~€厜彄枤潫牏ぇ<E7898F>驳坊骄靠坷窘缓阜档脖<E6A1A3><EFBFBD>殩搻崑垏剛|yvronmmmllkgd`]YWTRQPOMLKJJJIHGGFFHIJLNLHB;5/+*,08BKS\bhmqw}剬敓ú幻氏又谳怄腭鳆<E885AD><E9B386><EFBFBD><EFBFBD>躅遘邮拦朝<E68BA6>Α湒弲{odYOFA<841.(! !$'))*+++,/25:@FMRX]`dgjnrvz}亜厙墛審憮枡湢ぉ<E6B9A2>坊纠聊魄侍醒釉重刭谮谮僦孕糖媒凡<E5AA92>煔攳<E78594>wqib\VPJEA<:63.+'# !%'*+,.037:?DKQW]bgjosx}倕妽憯枤潬う<E6BDAC><E38186>俺蹈菇坷谅谅妹媚排破破颇昧炯苟挡爱<E68CA1>Г<EFBFBD>殫敀悓墔亄uohc\XTPJHB=;743223444543246;>BEILNOQSUY]bgkptx}€剤審憮晼棛殱煝ェí<E382A7><C3AD><EFBFBD>背吹父腹汗构汗阜兜床脖悲<E88496>Д<EFBFBD>櫀攽悗崐噮倉{yvsrpmjhea]YVSPOMLKKLKJJJIJKMOPQPLIC=74125:@IRZbhnuz€唽敒П寄桃周噤觑篦<E8A791><E7AFA6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>脬谛攘胶付朝<E4BB98>棇亀nd[TMGA:50)# $&')**,,-/148;@DINRW[_bfkpuz~€們剢噳崗摋洘<E6B498>嚎湃涛岩兆谲哙忖沅滗邈溷噢圩彝抢勾<E68AA2><E58BBE>殩悏儃sle^YSOKHDA=:72/*&#  "#$&()*+-/37:?DIMRV[_dilpuy|亜墠憰櫇ˉì<CB89>坊玖屡迫热热热壬扇热乔破颇拿铝靠胶阜嘲<E9989C>ぁ潥晳崏剘xrmhb^YTNIFA=951.-++,-./00112469<@BEGKOQVY\adhkpsx|€儑垔實悢枦灐í<EFBC86>安吹犯夯患骄究揪郊己垢洞舶<E6B49E><E888B6>ァ煕棓拺弻妵剙|xurpnmkhfda^[XUSQONLLKKJIGFFFGIILLKGA:2+'#%*2:DOW^dhmry€墦煫道刃州潢铗鼯<E99397><E9BCAF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>磴傧壤还挡<E8BF98><E68CA1>搳~rg[QH?94.*&   #&'((()*-16;AHMRW\`dglpty}€儏噲墛寧憱殶か钡豢们饰性宗萼忏彐骀珂珂邋氵圩阉屏欢蔼<E6ACA2>棏妳~wpg_WOHC@=;83/*# !#&(,/4:@GLSW\aehnsw~儓寪敇殶·И<C2B7>逗纠旅牌牌魄人送涡延栽栽已贤噬桥铝竟侗<E7AB9F>ァ灇槙憣噥|uoid_[UPKFA=830-+('&&&&'(()*)+-027;@DGKPRWY^cgmsx}亝垔實帓敊洜¥И<EFBFA5>泊泛冀坷撩钠粕墒适汕桥穆澜还恫<E8BF98>Г<EFBFBD>湙棓憥妵<E686A5>|xtqoligda^[YURNKJHFEDDBA@???>@@BCDDDA<62,)'*-5>HR[ckqv{倛悮Ρ旧榆汩眈貘<E79C88><E8B298><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>蹴遐焉美净沟<E58780>湊剏mcZPHB;3.(" !#%%&'(*,048=CIPTZ^cglptx|€儎唵垑寪暃牔<E69A83>痘琅忍姓剀萼忮骁桕腚祆腚觋玢咣昭腿媒动<E5AA92>殦崋€yqhaYSMIEB=81+%!#&)-28>DIMRWZ^ciosz剣嫄摋湣オ<E6B9A3>捶辜玖门侨仕掏挝醒乙乙研邢退扇桥吕胶返帛<E8BF94>Α湕搶噥ztng`ZUPKHC?:51-(&$$#$%%$"""$$'+.158:=@CHLNSW[`glpuy|亜噴崙暀潫ˉИ<CB89>安炊腹娇撩牌破颇拿铝量烤己傅朝<E58285>ア煗洐枓悑噧|yuqokhea]XUPMJGFCB@?><<:987889<>@@>;5.'"$,6@JS\bgkot{儙毄读淘坂潢雉<E6BDA2><E99B89><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>蹯嶙吻美烤憾<E783A4>洃厈pf\QJB:4/)#  "#$&')+.28>BGMRW[afkouy|~亗剢垖悢櫈<E6AB88>逗韭剖我众葸噌沅邋玷殛腚殓暹壅兴帕礁抄<E7A481>檼妭zri`XQLFC?;71,&!!$'*/49?DGLQU[_elqx}倗嫄敇洘え<E6B498>车负娇旅徘巧仕颂涡幸以栽佑研吞是怕炕沟伯<E6B29F><E4BCAF>檾弶厐{tpje`[VPKE@:61-*(&%%#"!!#&)-/2579;>ADGKNSX\bhnrwz|~€亜噵彄棞·И<C2B7>背捶够娇撩哪拿侣揽烤浇换狗荡舶<E88DA1>Г煕棑悕妶厒~{wspmkhea]ZVSOLJFC@=<;;;<===<;;<<<<:72.'!!'/8CMT\chou|剮櫎昂猛淤捭觐蝣<E8A790><E89DA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>镧苡四炯狗朝<E78B97>檸儁maVLD=71,&"
 "%)-39?CHNSY]bhmquxzz{zz|~倗寬槥<E6A7A5>痘磕忍言宗茌捱揶葸哙噜捋子鲜坡挤串А殦巿亂rjbYRIC=:63/+% 
"$'+/38<BGKPV[_cgkotx}倖嫄敇灐え<E78190>背陡唤靠侣媚侨仕烫烫怂耸汕怕拷苟幢<E88B9F><EFBFBD>殫拸媶儅xsmhb\VQLGC?:62,*&$$""""! !"&(+0258:=@DHLPTX]`einsx{倕噴彃暀潪牐エ<E78990><E382A8>捣购骄苛铝晾拷交垢冻脖<E586BB><E88496>┃ぃ牉湜槚攽崍厑~zwtqniec_[WUQNKGFBA@><<;:9888:<=>=<:51+(#"$(09BKT]chmrw垝潻盗擞坂骊锺貘<E994BA><E8B298><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>黩赆匦擅考苟豹<E88B9F>巸xncYQI@93.)$!  !"%)+/49?DJPV[_dgmrvz}€亙儐垕彅殶オ俺辜琅忍嫌肇圯哙怃彐玳觋腴玟彳籽似陆赋<E99986>牃搶唦wng_WQMIEB?:4.(#!#&)-28<BFKPUY^bhmrv|€厛審敆湣ぉ<E6B9A3>驳豆伎聊粕侍臀醒矣照字终沼形蜕桥驴几挡<E587A0>é<EFBFBD>槗巿倉wrmfa\VPJFA;73.,*&'&&$%$"#$$&*-0459;=?CFILRW[aflrv|儑墠彂敆殰牏Ι<E7898F>泊蹈杭苛门侨扇绕排拿亮谰脊反碑<E58F8D>Γ煖櫀搼帇垎儉}{ywurokhe`\YUROLIFB?=;97766679;=?@A=94-'# !&+4=GOX_djnt{儙櫐本妊龠潢铘<E6BDA2><E99398><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>繇阗锨良构恫<E69E84>湌唞odZPH@93.("  $'+05<AHMTZ`ekquy{|}€亙唺崚槦オ岸咕缕商性综葸徙滗邋邃沣忄捋卦紊趴坏蔼<E59D8F>檼崌€yqh`XPJEA>950*#!#%(,049?BGJOSV[`ejnsv{~倖姀敇潰オ<E6BDB0>捕辜纠履徘侨商拖岩已严瓮耸汕琶澜桓党艾<E5859A><E889BE>檿弸唨ztnhb\WRMHB>84.,*'&%$#""!!!$%'*-/258:=ADIKORWZ^chmqvz~亜墠彅棝灑ぇ┇<E38187>安炊腹冀览谅侣亮烤郊缓汗阜返潮<E8BF94><E6BDAE>ァ煕槙憣垊亅yxvtqmie_[WURPOLJIFEBBA?==;;;>>ABB@>82+%"!!'.6?IU\dkqu|倞敔<E5809E>滤淤捭桁耵<E6A181><E880B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>痂拗稳目几串<E587A0>sh^ULD>72,& !""#$%'),049>DHOTY^dkpty}~€亗倓厛嫃摍潰ó春久忍嫌踪苻噔滏玳觌祉盹铐赙廨仔四亢疮<E4BAA2>湑巿€xqib\UPLHDA<71,&"!#&(+-26;AFLQVZ_chmruy倕妽悢櫇牓ō背豆唤苛呐人臀行乙釉兆刎刈衷已翁绕戮憾碑<E686BE>Γ煕晲妱~xsnhd^XRMFA=852/-+)'&$#" !$'+.368;>@DGKPTX^cglrv{€剢墠彄棙湡·З<C2B7>钡负季旅魄缮耸噬绕拍昧揽炯悍冻碍━<E7A28D>潥槙憥媹剚zxuqnjeb]ZVSOMJGDB@?=<;::9899:<=>><83.(# "'-6AKT\bhlqw~啇洤尘捎卺骐铖赧<E99396><E8B5A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>箪溱邮帕己复<E5B7B1>灀坾qg]UNG?93.(#! "#&(-06<BGMRX^binrw|€€€€亗厜彆湤ǒ掣祭娜绦载谵徙骅觊觋殍梃桤溷呲障誓竞当<E7AB9E><E5BD93>枒墐{rjb[TNHD@:61+$ !%')+-/36;?EJMQUY]bgmqv{~儐墡挅洜エ<E6B49C>捶航柯徘墒掏蜗涎釉哉终赵砸研贤嗜怕考沟伯<E6B29F><E4BCAF>檿弸噣zunhc^ZURMJD?;730.-+,+**+)++.02579;>@CFJNQUY]bejotz~儐妽悡槢煝ォ<E7859D>安炊泛痪坷谅呐魄乔破排拿寐晾窘悍挡碍<E68CA1>ア煕槙憦寛厒|xuqmhd`\XTROMJGEDCBAA??>==?@CDFDA=71+&&'+2<EPYbjouy~儕挓<E58495>了于咪轭篦<E8BDAD><E7AFA6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>疰芤拭拷桓窗<E6A193>th^UMF@:40*# """$&'(+-27=BHNSX]bglrv|倐剟厙垕彅殸ガ岸嚎萌讼宰谳噔滏珑梃殛腠铐黹遴壅兴趴捍<E8B6B4><E68D8D>晱垇yriaZUPLHEA=70*$!$').27=BHMRWZ`dintx}倕墝彅棝·┉泊负冀缆钠伤拖醒矣釉哉栽匝贤趟惹泼兰沟箔<E6B29F><E7AE94>潣搷噣zvoid_ZTOKEA<930-*('&%%##"""#%)+.0479<?ADGLOUZ_dkoty}倕垔崘摉櫅煝エ<E7859D>扯富嚼媚乔热惹泼铝揽烤己付幢<E4BB98><E5B9A2>ア煖槙拸崑垍<E5B491>{xurolifa]XTPNJGEDA?=<;98888778::::83.)#!'0:ENV]cims{儘櫏凹葡州汩铙<E6B1A9><E99399><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>钿谛陕炯悍钞<E6828D>憜zodZPH@92-(#
 "%(+05:@EKPVZ_chlotwy{}}~€倗嫅槦カ倍壕们宋又谳哜溴骀邋邃怃汜咻卦仙镁共<E99581><E585B1>槖寙~xog^WQJFC>:61,'" "$'*.16;?EIMSWZ`dimrvz}倕妿摌潬エ<E6BDAC>背犯祭撩牌墒拖岩釉赵佑研形躺桥驴焦恫<E784A6>Δ<EFBFBD>殫搸墐}wqjd]XTPKHB?:51.*'&#"""!""#%&(*,.237:>AEGKNQV[_ejotx~亝墠憰槢煝Θ<E7859D>捕泛患骄骄懒媚哪拿铝亮烤己狗荡悲<E88DA1>ē<EFBFBD>湗晵帄唲€}{xvtplhb^ZVQNKIGDB@@??=<987678:<?@@>:4/)%#$'/7BJT\bgkpv|啇湪蠢梢谶彘祚赭<E7A59A><E8B5AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>螂廒猩戮焊窗<E7848A>湏墋rg\RJB<6/*$ !"$',17>DIPVY_dintw|~€€€€€倕垘敊煠<E6958A>锤玖剖弦肇谳捺噜徕徙滏驽邂呲招似良侗<E889AF>潡悑剕ulc[SLGB?;83-'"  #&*/48>CHMRW[`ekpsy|倖墠憰棞牑Й<E78991>渤刀够纠旅呐破侨仕掏趟松桥拍吕交烦<E4BAA4>ē<EFBFBD>洍搸妰~wrlfa[TNIB=830,*(&$#"! !%(,/2569<?CGJNRW\bgmrx{倕垖彄枡潫ⅲΘ<E285B2><CE98>扯父患究览揽窘技缓狗洞帛<E6B49E>В<EFBFBD>湙枔憥寛厓|yvspmkge`\WTQNLIFDA>;96555444444465540+& $-6AKSZ`flrz亴棧<E4BAB4>盼纵忡祚篪<E7A59A><E7AFAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>鲲猷滞瓶桓兜艾<E5859C>悆wkbXOG@92,&!   "&)/49?ELQW]bgmpuwy{{}|}亜垘暃ⅷ<E69A83>妇缕赏言刿哜沅邋溷忖忉忄哕僦惺评旱<E8AF84><E697B1>檾弶儃tlc[UMID@;62-&  #&(+-149=ADHMPTW\`ekotz剦帓棝煟Κ<E7859F>驳泛季谅门徘人拖岩已研形吞嗜桥妹量脊反蔼Γ煕枒崌亃tmfaZTOKGC>;740.,*)(&&%$$$$%'*,.2468;=AFJOTY^chmqv{儑嫀挅櫅潫。ぇ┇<E38187>驳斗购娇懒侣亮吕览烤交狗兜巢<E5859C><E5B7A2>灇棑悕墔儈{zwtplhd_[WTPMIHDB@?>=<:8743458:<=<83-&!#)2;DNV^fkrw~啇洦戳嗽圻沌祓鳅<E7A593><E9B385><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>蹴庾团竟范窗<E88C83>洂唞oe\TKC>82-(#!""!#%'*-29>CHLQW[afkpuw{|~€€亙噴帞櫋Й钡航聊赏颜佥捱徕忉忏溴邋邃廪壑姨嚷挤爆<E68CA4>殦巼xof]TOHEB>:62,%!#&(,/49?CINQV[`diotz€剤崙枦灒Й<E78192>吹负唤苛钠壬仕烫蜗延釉右邢褪汕琶炕恫<E78295>Г牉洍搹妳€{vojd`ZUOKF@;730-**(&$"  !$'+/369<?ACGKOTY^chlosv{~倕墝悡枡湡ⅵ<E6B9A1>俺捣夯娇撩牌乔拍昧览谰窘脊洞悲<E6B49E>ē<EFBFBD>潥棔憦寜厒}zvurnkfb_[XVROLGC?<:989888879<=@A@>:4/)'%&)/7?IRZbgnsx噾洤尘纫卩珥蝣<E78FA5><E89DA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>鲲孑犹敲澜憾勃<E686BE>寑tk`WOGA;60*&  #$&'((()+-137=CHMSX^bhlrvz}€亖們厙嫃摎牓<E6918E>附虑绦肇茑沔玷觋腙觋殍殍玟氵谥椅让礁鲍Α湒悏亁og_XSNKGC?93,&! $&))+-.137<@EJORX\`ejnrv{~儓寫枤ˉ<E69EA4>驳富纠撩迫人掏涡矣肇儋谯圪刈照蚁褪饶每几当<E587A0>Β灇晱墐{uojd_[VQLFA<741.,+*******)*,.0369=?ADGIMPUZ]beiorx}亞妽挄棝灎<EFBC85>扯辜纠履魄缮怂缮扇侨绕琶昧烤郊狗当<E78B97>Γ牉殩搸墕<E690B8>|ywsqmkhd`^ZVRNJGEDDCBA?=<;=?AEFGFD?81+&%&)0:DNW`gmqu{亰敓<E4BAB0>猛洲溟眚貘<E79C9A><E8B298><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>黢檫孜评胶反癌<E58F8D>巸wlbZRIB;4/)$!""#$&'+/38=CHOTY]afjnrwz}亗儏厙嫄枩¨<E69EA9>芳颗晌抑坜徙彐玳觌腱盱祀殒溽茏烟橇竟疮<E7AB9F>棊垈~|}

6
allophones/rr2.wav Normal file
View File

@ -0,0 +1,6 @@
儏儌<EFBFBD>}~|{|}~~€€亖€€}}{{{zzz{|~~€亖€€€€€€€倐儌個~~|}}||||zyxxvvvvuuvvvvvuuussttttuwxy{}€儐妽悞摀敂摀搾憦崑噯剛亗亐€€~~}|}}|zyxvvvvwxxxxvurpnmmlkkjkjjkklmnopqrsuvxyzz{yxwwxxzz|~€亖們剛剟剟儍亖€€€亖們剠厗垔媿崓寣妸墘垐噲垏噯厒個~}|}~~}}}|{zywvvuuttsrpmkihghiklklllklmllmlnnoqqsttvxz~€儎剛€~}}€剦寪悘寜厒<E5AF9C>€倕墡挄攼墌ukgiq}寷Ι<E5AFB7>憚yssw€姃枛拰剙{ywvtrolmpv}儐剗ulecgq|墥枖崈xniegjpv|€剢垐噭亊zxwxy}儏厖剚}zxxuututvy{們剝亊{yxy{厜寧寠唭€€€剠唴個}{{}€倓剛~{xvvy|€儎厔儌倐倕厖儌倎亖倐們倎~{ywvvy{儏厔€{wusvz~倓<>ysonqtz厙妸媽帒敃敀弸垊剠噴媻墕剛們唸妸墖剚倖墠帋媷<E5B88B>~們唶剙{wssuwz|}|zyvvvwyy{|}~}~~~~}|xxvwx{}亖}|{|~亜唵唲<E594B5>~亙唸妺妸墖噮厖噳媽彂挀摀拻憫悗崐妷噰噮儊~||}~€€€|zyxxy|}~|{zxyyzzyyyxxwvvvuuttuuvvvvvwvvvuuvwy{}€€們儍們儍儎剛亐~}}~€亙厗噲墛嫀帋崓墖厖厖厔儊~}{{z{|}~||zyyyxyyyyyxxyz{{{{zzwwvuvvwxxy{{|{{z{{||亜厗唵厔倎€~~~~~}~}}|}|{}||||{|{{zywvwwy|~亙厖剛亐€€倓厙噯儌€€亗儐噰垑噰唲儍€}{zzzz{||{zywvvvvwwvtqnkgecaa`___^^^^`acfjou{倞挊潯Κ<E6BDAF>豆骄览拷悍箔á湒憡剗uoib^ZXWTSRSSSUY\`cehikkkmmnlkkjjjjkjjigfffgiknqqqrsuxz倓唴厖唲厔倎亐€倓噴審悜敊湤К<E6B9A4>吵北氨辈脖<E8BE88><E88496>牅枒寚倈wqlhc`^\[[[\]^_`abcceffhiihjiihgfcbbbbcdefghijloruwxz|}~€儏噯垏唵厙垔崗悜拹悜挃晿殯洓櫄櫄洕灋灋灋潨潨殬枔悕媺噮剟儌|ywusrqqppnljhhhhjkkllkjhfeddcbc`_^]^_`acehjmnqsuvvututtvwz}€儏唶墛崗挅槢洔湝湝洔潨洓湞湝灍灎灊湜櫂棔敀悗媷厑~|{|zzyxwwvvvwwxxwvuttstuuvwvtsrrqppppnmjhedcbdeghhiiihgffeeffghilorvy}倖嫄棤ū豪派颂涡载谲苒滓颓栏暴煐寗|vokgb_ZWSSRSUY\`befghihiigfdb`^]\]\\\[YXXXXZ\`cfilopsuvwz|~€倕噲妺帊帋弾弿挃暀湢え<E6B9A2>岛玖牌缮瞧目坏豹<E59D8F>洍憡唩|yurqonmkkjjiiiiijkmostuvwusqnmkigec_]ZXWWWXY[]_bdgjmqsuxxz{|||}~€倐厗噳妼帍憮晽棙槞櫃殰灍·Ηè┆┃Γ牅檿搸寜唭{yxwwwxyyyywvtrponnlkjhfffhhjkllkjgfddcdcba`_^__bdfjlmprtvwxyyyxwxz|~倓厙墛寧悞拻摀摂晼枛棗枛枛枙敁憦帊寠墖厓<E5A296>}~~}~}|{zwwvwyyzyxvsqpnlkjjihggedccccbbb`____^__`_`_`a``aceegillnqrux{}亞寬櫌┎估扑我又棕字有拭痉暴<E79789>攱億tmhc`\YVSQNMNOPSVY[_accdcca`^\ZXVTSQQOPPPPOQRTW[_dimpruvwz{~€們剢唶墘嫀彃晽洕牏ウǐ<E382A6>逗嚼媚呐哪拿吕礁超<E7A481>棐寚<E6A390>ytpkhfdedeeffeeddeffghgffedcccddddbb_^\[[Z[[Z\\]^behkptwz}€亙厗墛媽寣寣實彂敄櫆潪煛ⅱいΗ<CE97><E29486><EFBFBD><EFBFBD><EFBFBD>湚槚拸寙倉{xwvuvuttrqppoonmmmmlklkjiihgffeeedddddegghhihihjkmqsvxzz||||}亜噳妺實帋彁憮敄槡湞煚牋煙潨洑殭殯櫃槙拺崓寢妷垏厓亖€亐€~~}|{{{yzyz{z{{yxurpnnmllkjigeccbbbabbcdffggfda_^^_adfhijmnruy€厡挋牕<E68C8B>剂娜饰颜刳圳卣惺眉传<E79C89>憠倇volgda^[YXWVVXZ\^`bcddba_^^^__`aaaa`_^\ZZXWXXX[\_ceilosvy{|}~~~€€亐亖剢垕帓敊洘ぇ<E6B498>垂冀懒谅铝谰蓟冻<E8939F><E586BB>洉強<E6B489>zuqlifedcdddedeeghikmmnmjgeb`^\ZZXUSRPPPQRTVXYZ[]^`acehlnquwy|~€亗剠噯噯唶噲媿憯槡灍牏ⅳΗí<CE97><C3AD>éア<C3A9>潧櫁敀弽増儊~ywtrqpopppppnmjihhhiijjiigedca__\\]\]^_```````bcfjmoruvvwwyyz|}倓唸墛妺妸媿帍摂晽槡洓洕湞潨湝殮櫁敀悗媺垎厓倎~}}|{zyxwvvuvvvwvvutsponmlkjjjjjihgecb`^__`abbbba_][YWVUSQQQTTWZ_dglqv|剭棧盎且蒌腭貔<E885AD><E8B294><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>镧苄麓<E88B84>厁l`XOF?6/(!!&+14;?DGJLMNPPQRTUY[]_``_^\\ZZ]^bgkpruxy{}儐姀敊灐エ<E78190><E382A8>驳富柯湃绦又谲蒉蒇僮匝纤让蕉<E8AEA9>灃崊|umd\UNHC?;740-+**,.27;?CDGIKLOSVWZZZ\[\]_acdeeffffhjlptwz}亗唹崙枦煝ェЁ┆<D081>捕腹换购父贩档荡潮卑<E6BDAE>éぁ煗湗枔悓墔{upjfb_^]\[ZYVTQPNNONOPQSTVWY[[\]^_`begjlmnppqrstvxy{~€儏噳寧悞敄棛湠牏ゥЁ<E382A5><D081><EFBFBD>鞍隘<E99E8D><E99A98><EFBFBD><EFBFBD>éア灉殩攼崐唫}zxuromljihghhhhhihhhijjkkllmmkiihggfgggfecba``acdeffgfeffeeeeedfgjkmosvz~厠悧煣<E682A7>梦坻聩<E59DBB><E881A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>箅哐卤<E59390>倀fYND;5-'! $)/38<>ACDEFHKLOSVYZ[ZYWURRSVY_emsy}亜唶垖帒暁灒Й<E78192>捣痪烂剖萄众咪玷梃溻哕圬卣烟屏喊<E5B18F>搳€umd\UOJD?;62.*('&&'(*./235689;?AEHKNOQSTVWYZ[[[[]^aehmpuwz~€剤寫晿洖。Ι<E38082>贝饭冀靠晾晾揽揽烤冀桓洞碍│<E7A28D>洊拵妳亄uqliec`^]ZXWSPNKHEDCBCCBAAAAAACEHJKMOPRTVY\_acfikmpqtvwy|~€倓噲妽彄敆櫅潬ⅳЗ<E285B3><D097>辈背吵吵北鞍隘<E99E8D><EFBFBD>殨搻寠噧~zvqoljhgfedccbb`a```_`a```_`__aa``^^[ZXWXWXXXXYYXYY[\^abdefeecbaabdhlpvz~倕姁暅ギ改艳梵<E889B3><E6A2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>朕欣盃悁paUJ@81+%
%,28<?@AA@@ACEHKNOPPOOMLLKKNQU\bhotx{|亜噸敋牔<E6958B>车斗够嚼屡晌阎坩骈祆礻珏忉哕僬猩栏<E78CA9>煐巼~vmf^VOJF@<962..,-.148<?ACCDDDEGILMPPRSTUVY[\]]_`bdgjoquvy|€倖嫃敇潬え<E6BDAC>贝泛伎懒铝寐吕览览览烤己冻悲<E586BB><EFBFBD>檿悕妶厑~zurnkhfda`][XUTRPPONNLLLMLNOPPQRRSRTTVXY\_bfjlnqsuvwxz{}€倖垖帎摃櫆牐ォ<E78990><E382A9>炒刀抖吵悲<E590B5><E682B2><EFBFBD><E58D91>ぁ潤攼寛唫<E5AF9B>|zxusponmmlkihdcabaabcccccbcbbbbbbbba``_][ZYXYZ[]_addddcccccbbccefiknquz}亜姀敎き嘎拓汶篾<E6B1B6><E7AFBE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>蜩畚堪爲乻eXLB91)! 
"&*/37:<>??@BDHKNPPQPNMMMPSVZ_chlpsux{~亝墡敆湣エ<E6B9A3>扯壕僚巧滔艺刳捺怃骁珂溷哕籽誓汲<E8AA93>殤墎wne\TLEA=;7530,+)(*.25:=?BDDFHKLNOPPOPPPPRSUVXXYZ[]`dhmqtx{€倖姁敊潬ì<EFBC86>逗纠谅铝晾亮旅侣览郊傅朝<E58285>Д<EFBFBD>湚枓崏<E69E93>|wqmhd_\ZWWUSQNMLKJJKKLLLLMNNPQRQRQRRSUXZ]_bdfgijllmpruw{倕噲媿彂摉櫆煝エ<E7859D><E382A8>渤吹抖抖兜党脖碍<E88496>Γ牅櫀搻帇噮<E5B887>{wvsqpnmkjihggfffeefddddcdddcccbaa`_`aaa`_^]^_`abbbcbabbcdddcbaabdglptz儔帗殸Ξ独俗忭鳊<E5BFAD><E9B38A><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>畿侠盃悁qeXPF?80("  &-4:?DGIJKMNOSTVWYY[ZYXUSRQQTX^dkqvyz}~€倕垖憱洜<E6B49C>讣柯闷人卧剀咪骁梃桤驽溷噍儆推敬<E68EA8>湏妬wne]VOKGD?;72/+(()+/36:<?@ABDGILNPSSTTVWY[]_`aaccdgknswz}€儐妿摍灒И<E78192>氨炊富娇缆旅铝晾览苛览揽郊傅杯─煖様拵寜唫~xsoiea_]\ZZXWUSQONMMNOOONNMMNNNOOPQPQRRUY\_bfikmpqsuwx{~€剢妽憭晽櫅灎ぇ<E7818E><E38187>安车斗父阜洞闯悲<E997AF><EFBFBD>湙晵崍厑}|xvsrokhfda`_^]^__```````aacefiihheecaaaaa`^\\\\^^`abcddfggihhhgfefgjkmprwz€厠挊煢<E68C8A>渴脏塍<E8848F><E5A18D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>疱厝伐搨qdWLC:4,$ 
%+047;=>@ABCFILOQSVVVUTRQQRTX]cintx|倕垖憰殶Κ<E6AEB6>捶腹患究僚忍炎谵噜徇揶谫渍有饲粱搏<E7B2B1>攳厈qg^TLE?:61/,)'%''*,0379;<>??ACFHKMNOQRTUWXXYZZZ[\]`beimptx{儓崙枤潯ぇ┇<E38187>捣杭窘揪郊汉汉汉焊付嘲<E4BB98>Д煗檿憣墔亊{xsnic^[XUUSRPNMJIIJJMMNNONOORSTVVVVVVVWZ\`dhkmqrsuuxxz|倕墠彂摂敃枠洘ǐ<E285B4>泊创创巢北爱<E58C97><E788B1><EFBFBD>┃ァ潤晵弽墖剙}yvusqpomligfeeffgggffeefgggfffdccbb`_^\ZYXXYYZ\_`bcfgijkkjihgeefgjnrv{€剤崘暃ⅸ辰烧哧篪<E593A7><E7AFAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>朕新并憗rdVLA:3-'!
#,39=?BCCEFGIKMPTVXZYYWTQOMORV]dkrwz|~€厛彇潳<E5BD87>蹈杭玖门人窝载茑溏桕赙玟膺捋僬姨爬赴<E788AC>枍厊ribZSMHC>;73/.-+,-02469;=>@BDFJLPSVWXXYZZZ\]^^___`bdgimqtx|亪崜槤·Η<C2B7><CE97>锤杭浇拷浇冀技技蓟汗反舶<E58F8D>éア煔様悓垍<E68293>{wrmjeb`^\YWTPOLJIHGHFEDCAACCFHKMPQRTVWX[^`adgiklnortw{儓嫀憰棗槡洕灎И<EFBC85><D098>炒吹床帛<E5BA8A><E5B89B><EFBFBD>│Γ<E29482>洍搻崒墔儉}{wusqnljhecb`_```__^][[\]]^__^]]]^^]][YWUTUUVXXZZ[\\^]]\\\Z[[^`adgimqtx|€剤崝湪忱苏噻铛<E599BB><E9939B><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>

BIN
allophones/sh.wav Normal file

Binary file not shown.

1
allophones/ss.wav Normal file
View File

@ -0,0 +1 @@
㍾血級<EFBFBD>}ywux|≧葛<E289A7>xpigir~距撥宕wh_]dp€獄卵プjdgp}剣<><E589A3>jdeo恕椁岳iabm肇ェ「倒dTOWiゥュ・斧odeo€<C280>嚶}pijr~<7E>激ynhjt<6A>棕嚥zjacm|圏<>дe_`kz<6B>粋yi``j|寸ィ・<EFBDA8>j[Xdz扮シシャ稚XGFQh<51>ィゥ搆xf\]gtю<74><D18E>曙恰<E69B99>skffn{漁、ヲ搦{gZW]j{渠柾<E6B8A0>olmsz≦<7A>㊨倦利撫иpmqz於<7A>」搗€pc^bn}除、、恟「ljnxワ理泝柾<E6B39D>ytokjlpx″漠枕€rc[[bq悄嚼иroprttuuw{ロ万恃б_SOVg}踏ョャ沁xeWTWdw供ュウョ。蛍_PLQby匠ィ、淀seaer¥沫炊zrpt}≡抹炊|rljnszヨ訣球~ysppsx~<7E>告至мvqoqv<76>沫投~umms~鉛囮巣ujgjv<6A>棔来vf[[ds<64>。」恷zi\WXao~㍼綜<E38DBC>ytqqruy}ユ炎宴~wojikr{リ麹宴~z{~ョ糾№|wuw~≒迄萩~od]]dq國梍<E59C8B>ia_grヵ「ェゥ<EFBDAA>図j\UXcu<63><EFBFBD>螺r`XXct<63>。。昧scZYbp健相}oc\[bn|<7C><EFBFBD>nd^`fq}叶綜<E58FB6>yvx{<>}uplou|<7C>€ukfgp}鋸<><E98BB8><EFBFBD>|phiox<EFBD8A>{z{≦℡|qgcclz鎌<7A>]WYew釜撕頚j_\amz<6D>〝vnlr~許囀<E8A8B1>[NKUiァェ<EFBDA7>駿f[[ao|<7C><>xutx~ヤwnhir・ョェ噬iULRe亂ュ」瞬b[at牽ォヲ遅^NN`}峇コッ排UDH[z峇キォ尋XJOa{庁<>畜fVS_t今ェヲ扶fWS\p∩ァヲ嚊rc\an€到。嚶|oilt鋳樫qgeis~縁壕wrtzロ鋳激zrpt}≡又<E289A1>slip|竃囗閤oeciuワ湯<E383AF>rlkqzш級<D188>|}∞旧延z{|€<C280>}xwy|≠vqprz<72>葺桃<E891BA>vx<78>迄嵐合×{xvttty㍽荘撃xnijr€除」」嚴~rlnu″迄枕ペsoprsttssv|ル苧桝潟~{|g酷白号~tmhfhp{<7B>部醇{roqz<71>屐棘痩<E6A398>ц牛轟<E7899B>×zxvvx{<7F>ysprz<72>擇泄<E69387>rqw涛香shehp|<7C><>tkehp|<7C>割zojjpy<70>淘桁~ywxz||zxvtvx|€<C280><E383A5>刻荘草渚活о|xvw{€х<C280>{pjgjpy≧<79>|tppu{h援ム~メzuomnry~xuuw|<EFBD88>|xvvvvwwy<79>崇号|soqyロ註<E383AD>ojjr~縁糸yojnz汚椢仇bUUax挑アッ「久gafq~倦遂マxwwyxusppqw<77><EFBFBD>~zywxz}∞倹総<E580B9>sjginw{xy~<7E>ukiq€庁ァ。瞬^ON[s此、嚆lWNSf~到恷ye[\hz腰嚼n`]bo}燕橿tlhjs}<7D>кrhdfmxレ詩㍻upnqx♀藻淘球}~€ч血延€}z}<>ysopszラ豪<E383A9>ystw}<>zrmlov㈱割{smjpx灯獅tf_\bm|剣剿香vnlp{ы草堰xsru~<7E>vompy<70>抹迎l`Z^k|慈「。頼~vrv~<7E>瑞拷<E7919E>€~|ywvxz€<7A>笈нxtsv{€х援㊤a×|{|~ユ<>『ld_ajx∮<78>鯨phgp~臓・。斧k[RT`t鴨」。普lZSWf}幡ュィ嚀rebj{勝ヲ、螺ujho}漉<>€na[_n<6E>。羅qb]dt萱ォョヲ麻rggnxщ濠ボursw|€<C280>~}€ユ褐級<E8A490>zvvx~<7E>鋳香tf]\dq劒着vjehsヱ屎剋」ppv€拒柏<E68B92>wqrx風悼{oiis<69>ァョェ揶sdai{瀬ォァ<EFBDAB>kZU]nヶ<6E><EFBFBD>pqw°至sign~弔ォァ欲eUQ[q婚ウア<EFBDB3><EFBDB1>K?ASm兇ッョ」<EFBDAE>qlp|鉛囓推xpns|<7C>錐ベledju<6A>據剏{j_\ao<6F>・。膚yppv剱賦{oikuя屆買re`et<65>ゥャ「駿aSOWh}児囃fbgr劍槽yqqy<71>撈芙ugafs<66>。。凍hVLQ^t塩恂㎡f^`l~裾ヲ、恊лx{∴資曙<E8B387>|yxxxwwwx{~ユ<><E383A6>zx{<>緒堰wqnpw€<77><EFBFBD>wssv|i詩潟|smjjntz€ャ±zz}藷注〝zy{€<>恰~umhimwヮ舶抽€vnjmr|<7C><>剴激}|щ藻争~qf`_cmx℡|tpot|<7C>沫侮<E6B2AB>tmkkmpu{€㈲窮~rdYSWbu鴨、」<EFBDA4>q_WYfy込ィィ<EFBDA8>塔ujedhmt|ч克欠€wpkijov€挙剱落h^[`lz株欄<E6A0AA>lc_cjsz}{yusv|uolnw°湯剛zrnoty||xrlilt€<C280>額j^X[fv<66>泯寶rhfir|<7C>所йsnory~}yuvzル樗水ykcags€去紫ywz~т€uh^[cs粥ォォ揆jTJPc飭ャ汕nZQWh}像嚴}mdfs<66>」「<EFBDA3>fTOWl<57>ーア・志bY]k遭哩wh_co£悍斯h\[g|逃ョゥ盆fWT^p⊿、、嚔wjegr黒剩劇wqr{∮悗棊劇wstx{~}ysoorxャzoaZYbu央」<E5A4AE>竹eTOVh€箕ェ、埋umkow~|tnknv€挙舞<E68C99>lddl|此ゥォ」煤pcbiv<69>圀附㏍ユ葛延}xx~禦ェイイァ扶k^]gz世ォェ梛vdZZbq€鵠博ペolkoty||yvrppv|ъ髄劫{sllpyロ涛鴻xplnw″迫柾割÷ユ演<E383A6><E6BC94>居灯総〟|z|}~|yurt{ワ劒賦ykdeq<65>ァュィ<EFBDAD>jYSZi€箕ゥ」<EFBDA9>k]W]k|寺。摧<EFBDA1>qos|ъ至кvtuz≦нshb`fr€侍尓<E4BE8D>ka_cm{鴛屎絡」lijq|<7C>抹粋}vqqty€㈱克随渚延|uompv<76>潟xmdcgs圉頼zmden|建。梺<EFBDA1>jejx<6A>囮逗pb[^hw∫俣越ngfkvэ楓抽【ttv{тミytqprsvwxxwx{€<>舶抽~vru~骨・・嚊q\RSbz彫ェ「市[NM[r供ェ・<EFBDAA>wkluヱ屆這vf]\bn|薗梼e[V[eu<65><EFBFBD>pc`erヲ悄<E383B2>styメ{pf_`hu<68>藍弓k_Y[drヰ<72>宕yi_[]gu<67>泙梺c]_hx蒲泛剏~slikpsvvussv|<7C>壕}n_VV`s押ュョ」思^QOYm<59><6D><EFBFBD>{qlou}€{vtw}<7D><EFBFBD>vompw<77>笈нyxxyzywvvy㍾荘汲vmijr}<7D><EFBFBD>yw{<EFBD8A>tlilt~<7E>€zwwz<7F>~}~e㊧〟}zxz|€}€}yusw¥棹ゥ。挿lces∵、、<EFBDA4>iYT_t権ゥ、竹g[\j~寵<>父n_Z_o尸旨hZV[gz距囓盾wpory♂試視<E8A9A6>€|wtqpsw~<7E>糾мxuvy}€€<7F>}xsnmr|塩棕囁иrsx€<78><EFBFBD>||zyxuuux}≦<>}xvw}<7D>涛順xvy<79>延|tmlow㈲究ysonptx}ョ告迫藍注延×{zzzzz}€≠メ€}{{|€<>答悍鮪<E6828D>xvz€樺覧漕znfcfmu}ヤwtsv{∞焔援<E78494>㈹嵩棟潟}ywyヨ括ポupmosv|с€}{xwwy|ц旧活ミ{xtronlnqyワ<79><EFBFBD>lhlx<6C>沺妹tgbgr℃糟€oa\_n沺捜cQKSh│エスエ<EFBDBD><EFBDB4>YRZl<5A>ェョヲ<EFBDAE>i\TZeuル隙{qiip}<7D>mjp{鉛剿掛nghr€歯島ucWU^p<>。。枚vkkr悛囂~pgejs~<7E><>~ywwz}≠a=€|xutsw~щ試堰zsruz血掩÷~||}資酔<E8B387>rmjnt{旧級<E697A7><E7B49A>~€f巨粕淘灸~zxusojd`^`gpzwk[OJO`w畝ョォ嘯jYS\o横ッイァ匝dY[j~肇ヲ搴uc[^n<>ェャ」思^POYl<6C>~fNA@Me<7F>凍l``k筈ェ」蓄oin~討ゥ、梅hYWcv込、梃v_ROWj像棊謁nhjr}<7D>総йqjginsy{zxqmiginv~<7E>級ミvollov|ч月潔<E69C88>zvuvx~ъ猪亦<E78CAA>tmknx<6E><EFBFBD><E68296>кspprvy}≦焔穴<E78494>{xx{€<><EFBFBD>wuvy}<>|z}k副沾槙|nfcgp|<7C>初}pfbfr¥蘭駅aQJN^q<>水s_QLUj<55>ェッ・築eXWar∟。。莱zqnuヴ「ャョィ恷<EFBDA8>霜悁忠

1
allophones/th.wav Normal file

File diff suppressed because one or more lines are too long

1
allophones/tt1.wav Normal file
View File

@ -0,0 +1 @@
€||zz{|~€х焔援о|xvwy{с€≠ャ<E289A0>}}~~~}{xtrpruz€<7A><EFBFBD>wsqqtx}<>渇援<E6B887>±zwustx|f炎延~xsrsx~<7E>蒼衷喝xtrpruy€<79><EFBFBD>wnjhkpy瀦亦紫】tplkmqv<76>蒼肢€wojjow♀瀦博<E780A6>snmot{≧葛活<E8919B>€~{yyx|ラ資聡潟|yvy}ョ月欠<E69C88>yvuvwyy{||}<7F><EFBD84>{z{~資錐〝wqnosyц援<D186>{wvwxz|}}}~}€<C280><EFBD84>р<EFBFBD>€€€€~~}zyxyyz|€<C280>}yvuvzч訣括<E8A8A3>||~演喝<E6BC94>zz{}€ュメ|xutvz€<7A>緒決<E7B792>||~≦<>試詞延zvssvy}<EFBD86>}yvwy|€<>給穴掩сф褐書鋳衷潔<E8A1B7>{vussuz|~}|xvuwzш諮曙掩€€€€÷сム}{xxy|≦㊧<E289A6>}yww{€<>薄俣紫<E4BFA3>{yyyzz|~<>穴№|xsqtx€<78>当武鰍{vtuy€<79>署暑<E7BDB2>{wurrrqsuvx{~€cメ€~}<7F><EFBC9C>о{uokjlov~щ克喝yxx{€<>糾㏍~|y{~т<EFBC9E>{wtstux|с<EFBC9C>~|{{{}€<C280>р€~€€€~|yxxyz}€~{wtrstx|<><EFBD87>{vttw}リ試球|uolnry€<79><EFBFBD>}zyxy{|€х牛詩延~xrooru{€<C280>~zwtuvxz{}~~€у<EFBC9C>ztojihmrz€<7A><C280>}yutsuwz~€}{xwyz}<7F>}{xwx{}炎渇№yurqtz∴告肢€ytruz麹延}wstuxzz{yxxy}ф<7F>~ysqru}щ崇順unjlt|≒箔私xmgcflv€拒楓梼<E6A593>uniikrzラ刻欠vttvx{≠тム|wsnmnrw~ц<>п~€dсメ€€€~}zxxy{с€}yvuvy}<7F>|ywuvyz|{zwurqtx<78>笈マwsrtz∴告錐<E5918A>€}{|}~€ф㊧滑沿<E6BB91>тモ㊨滑㏍~|yx{}с<EFBC9C>}||~}|{z}ユ㊨㊥ム~{{{}<7F><EFBD84>}zxx{~<><EFBD86>}}||}||}€<C280><E383A6><EFBFBD>zxwxz~€ヤп}|||~≠ヤ<E289A0>煙諮錘穴<E98C98><E7A9B4>沿<EFBFBD>о€<C280><EFBC9E>р€€ユ炎恰о~||~=÷~|yxxx{{}€÷€€€€€≠b÷~}|}<EFBD84>±zxx|≧件錐奄|wuux|<EFBD85>€~}|~€bbャф㊦㊥с€}}|}{zxxwxyy|~€<C280><EFBD84>р€€|{xvttuwz~€<C280>}|{z|~}{xvvwy|<7F><EFBFBD><E38AA6>}zz|~€ф<C280>~xspqtz∴署遂нyuux~ш諮錘援<E98C98><EFBFBD><EFBD83><EFBFBD>п~|zwvstvx|褐笈<E8A490>zxvy|€у<C280><D183>}{|~<><EFBD84>±zxxz{}~}}{yxwvz}㊧㊤×zyxy{}~€€~|{yyxxyyz}<7F><EFBFBD>|{|<7F>оzuqpqv|€уп~ywxz}≦<>㊤п€<D0BF>€€~}|z{{||}|{yxyz~<>±wttvztmgehnv~ф<>xrnnou|g沿п{xvwy|€<C280>ム|zz{<EFBD85>zvuvy~ョ<><E383A7>|yxy{~≠<E289A0>~~~€÷€~~}|||}{{{zyxxxyz{~€÷€€€у<EFBD82>|xtstvz<7F>×zwwvwz{÷~||yxwxxz}€<C280><E383A5>wtqpqv{€ц<C280>ミ{xvwz}<>р|zz{}€<C280><EFBD85><EFBFBD>}|}€€€~|{yz|}>㊨援ム|xvutvwx{z{{|~т<EFBC9C>|ywxy}€ф<C280>€{uqopsz<7A><EFBFBD>~yutuy|g月渚恰×{zz|€cモ÷€~|{zyyy{≦轄視<E8BD84>tnknu}<7D>濠ポsnmoty€~{zyz||{zyyyz|~€€~zvsqpsv{}€€}zwwy{<7F>ム~|}~<><EFBC9C>~€焔糾℡モ<EFBD84><E38AA7>zuuvy}<EFBD86>{wuuvxz|~~~}|{{zxyy{~<>℡}xtqsvz€ц㊥vtrtx}ラ旧喝ywy|月至нxttuz<7F>xuux~ヨ結宴|uporx薯糟лwtv{i試桁|tolmrxх<7F>п€㈱克至怨×{zxxwxwyz|~€=b=÷€€÷÷€}}}}~<EFBC9D>|{yz{}}}}zywwwyz|~€<C280><EFBFBD>ム~~~<><EFBC9C>zvqpqsz€㈱給<E388B1>{urqtx~ヨ給<E383A8>}xsrsw}ヨ訣窮<E8A8A3>vrqrvy~ュ<><E383A5>|{{|~€モ÷}{yz|с<EFBC9E>|{}€<>葛怨€zvttw{<7F>{xvvyz~<>~{zz{|}~}{xusstx}<>о|xvvtvxxyxvvuttvxy{|~€€€€~zwtrqqsvz}}}yvrqpsw|dп}xuuw|ヨ旧宴}wsrux~≠±xvstw{€т×yutuy~ц沿нytqprv{~€€||{|{|}}}~~~€|zvtpnmprx|~€}{xuuvy|≦㊨㊤€|xvtuvz|}{yvtqrtx}≧<><E289A7>}xvvx{х<7F>tpmnqw~<7E><EFBFBD>tomot|ラ麹喝~wtqqty|㊨沿<E38AA8>€€уモ±zxwuvxz~<><EFBD84>€}zz{~牛曙<E7899B>~zxxz|~~|{yz|<7F>ム}|}<7F><EFBD86>ytpnosw|<тメ€~~~cтп|zyz~ラ雌盗劫~wvuy€㈹瑞合€zvvx{㈱沿<E388B1><E6B2BF>㊧演℡<E6BC94>}}}}~€<C280><EFBD84>р÷€<C280>葛笈<E8919B>㊨炎<E38AA8><EFBFBD><E38AA5><EFBFBD><EFBFBD>у€}{z{|c÷}{z{}€ф㊤<D184>ytsux}ヨ滑№{uqprv|ヨ旧掩×{{~≦焔穴掩ム}~<ュуメ~}~€<C280><E383A4>т<EFBFBD>居瑞脂ミzy|€㈹詞<E388B9>uoklry∞滑〟{vvw{≦炎<E289A6>~zusqsw|~ヤрzvtux|ラ諮視<E8ABAE>|xxz}<><EFBD84>€~~€<C280>訣恰vttvz~ョ<><E383A7><EFBFBD>~~€<C280>炎笈㊤<E7AC88>~~~~€€€€}||{|}~€€€€€€<E289A0>~}xvtttvx|<7F>ム|yvtvw|f葛怨~wsops{щ髄脂€xqllou|ч試壕нzxwy|€х<C280><D185>{xvwz}<>×zxxz€<7A>麹割|upnpu{<EFBD87>{wtsux|€у<C280>о}zvsrrrvz€ユ㊥<E383A6>yvuuy}рzwuxz€хzvtvy€<79>血〟ztqruzヤп}wsqrtw{}€÷~€€<C280>~|yxxy{~<>п~zvsqrsx<78>署肢€wqnns{ъ葬処wroqv~<7E><EFBFBD>|wuvy<7F>€|yww{~€ャa€~~~€у<E289A0><D183>|xvux{€х<C280>о|xxxz}g牛穴№~|z{}×zwtsux}€ур~zvtrux|€ュр~zvtsv{€<>詩究€zutsw|ヨ訣恰€zutuw|≧葛活<E8919B>€}|{}>煙瑞錐宴~||~焔活ミzvuwy|уу<D183>с÷}|{yz{|{{yxvstuwy|€~}{{|}р€~{yyz~€х<C280><D185>с≠ャム|zz{}<><EFBC9C>с÷р<EFBD83>}ywtsvz∴資衰кtoorzъ樗相€xpllqy∞渇<E2889E>ysqsv|<>ム}{|~褐結延モу<D183>€~}}㈲糾<E388B2><E7B3BE>~€ョ炎掩ミzyx{ч旧笈<E697A7><7F><EFBFBD>}|zxyz}≦葛恰€zuqquz<7A>ysomnru|<><EFBC9E>{wwy~щ書紫€yttuz≧<7A><E289A7>~||~<><EFBD85>ywvx{~|{{|€ч月濠<E69C88>|xxx|≦<>zwttwz<7F>р~zzxxz|~€€€{ywuttuvxxxyxxxxxyz||}~~}|{zz{|}€~{zzz|€<C280><EFBD84>}zy{}≦<><EFBFBD>€~~<><EFBFBD>}ywxy|€х<D185>|yvttwz<7F>㏍}xsqopruxzzxusppoqsvxyz{|}€cム~ytrrsw{~÷~|xvwwy{}|{yyxz~р~yursvz€ф℡€{ywy|~≠<>zwstvz≦葛恰±zxyz}~~|xusrux{~~}{xuux|∞炎<E2889E>yromosx~cモ~{ywvvx{|}}}||||{{{ywvutvz}ユ<>€ztomnqv}с€~{zzz{{|}€≠c=~{xwvvwxyz|~<>~|ywuxy}<EFBD87>}wrqrv{€т<C280>zwtuw{~€€~|xwwz~<EFBD86>}{yz}~р€|ywuuwx{}|zwvvwxz|}~}{|~€ユ㊥<E383A6>}xvvx|<>ミzvtvz∞去視㏍€}~<7F>р€~|{zxwvuuvx{<7F><EFBC9E>zwuvzヨ糾<E383A8>zurqsw{€у<C280>€€€€€€х沿<D185>~yuuuy}ヨ旧怨~xsqqt{∞旧決<E697A7>}zz{|~€<7F>}||{||≠c€~|{zy{{|}~||{{~€<C280><E383A5>|zyxxy{{}~~€=≠€|{{{}~€bモ€~|{zy{}€ф<C280><D184>}yutv{<><EFBFBD>×}}~<>旧級<E697A7>ztqprv{<>€{wvx{旧恰zvtvx|~~|ytrqsw|€т<C280>xutty<79>沿ミwrppuzョ㊥<E383A7>ywuvy~<>wroorv{≦<><E289A6>€}}||}~€€~|zurpoqsuwyxxvssux~<>н{wwxy~≦<><E289A6>}{zz{|~bモ}yurqrsw|€тムzwttvz~±xplkmqy≦<79>€xrmmqw<77><EFBFBD>wokjlpv{

BIN
allophones/tt2.wav Normal file

Binary file not shown.

BIN
allophones/uh.wav Normal file

Binary file not shown.

BIN
allophones/uw1.wav Normal file

Binary file not shown.

1
allophones/uw2.wav Normal file

File diff suppressed because one or more lines are too long

1
allophones/vv.wav Normal file

File diff suppressed because one or more lines are too long

1
allophones/wh.wav Normal file

File diff suppressed because one or more lines are too long

1
allophones/ww.wav Normal file

File diff suppressed because one or more lines are too long

BIN
allophones/xr.wav Normal file

Binary file not shown.

1
allophones/yr.wav Normal file

File diff suppressed because one or more lines are too long

2
allophones/yy1.wav Normal file

File diff suppressed because one or more lines are too long

BIN
allophones/yy2.wav Normal file

Binary file not shown.

1
allophones/zh.wav Normal file

File diff suppressed because one or more lines are too long

1
allophones/zz.wav Normal file

File diff suppressed because one or more lines are too long

View File

@ -666,6 +666,7 @@ void load_snap(struct z80snapshot *snap) {
ordenador.memoria[bucle+180224]=snap->page[7][bucle]; ordenador.memoria[bucle+180224]=snap->page[7][bucle];
} }
ordenador.ay_emul=1; ordenador.ay_emul=1;
ordenador.currah_active = 0;
for(bucle=0;bucle<16;bucle++) for(bucle=0;bucle<16;bucle++)
ordenador.ay_registers[bucle]=snap->ay_regs[bucle]; ordenador.ay_registers[bucle]=snap->ay_regs[bucle];
ordenador.ay_latch=snap->ay_latch; ordenador.ay_latch=snap->ay_latch;

View File

@ -31,6 +31,7 @@
//#include <sys/wait.h> //#include <sys/wait.h>
#include "tape.h" #include "tape.h"
#include "microdrive.h" #include "microdrive.h"
#include "currah_microspeech.h"
#include "Virtualkeyboard.h" #include "Virtualkeyboard.h"
#include "gui_sdl.h" #include "gui_sdl.h"
#include "menu_sdl.h" #include "menu_sdl.h"
@ -136,6 +137,7 @@ void computer_init () { //Called only on start-up
ordenador.ay_registers[bucle] = 0; ordenador.ay_registers[bucle] = 0;
ordenador.ay_emul = 0; ordenador.ay_emul = 0;
ordenador.fuller_box_sound = 0; ordenador.fuller_box_sound = 0;
ordenador.currah_active = 0;
ordenador.gui_sound = 1; ordenador.gui_sound = 1;
ordenador.aych_a = 0; ordenador.aych_a = 0;
ordenador.aych_b = 0; ordenador.aych_b = 0;
@ -1862,6 +1864,8 @@ void ResetComputer () {
ordenador.currline=0; ordenador.currline=0;
ordenador.currpix=0; ordenador.currpix=0;
ordenador.interr = 0; ordenador.interr = 0;
currah_microspeech_reset();
} }
// check if there's contention and waits the right number of tstates // check if there's contention and waits the right number of tstates
@ -1921,6 +1925,25 @@ void do_contention_precision() {
void Z80free_Wr (register word Addr, register byte Value) { void Z80free_Wr (register word Addr, register byte Value) {
// Currah microspeech ouput
if((ordenador.currah_active)&&(ordenador.currah_paged))
{
//if (Addr==0x3000) {printf("write to 3000h\n");ordenador.intonation_allophone = 0;}
//if (Addr==0x3001) {printf("write to 3001h\n");ordenador.intonation_allophone = 1;}
if ((Addr==0x1000)&&(!ordenador.currah_status)) //do not accept a new allophone if the previous is not finished
{
//if (Value) printf("Currah output=%0xh\n",Value);
ordenador.current_allophone = (Value&0x3F);
//ordenador.intonation_allophone = (Value&0x40); //to be implemented
ordenador.currah_status = 1; //Currah busy
ordenador.allophone_sound_cuantity = 0;
return;
}
}
ordenador.wr+=3; ordenador.wr+=3;
switch (Addr & 0xC000) { switch (Addr & 0xC000) {
case 0x0000: case 0x0000:
@ -1982,6 +2005,21 @@ byte Z80free_Rd_fetch (register word Addr) {
if((ordenador.mdr_active)&&(ordenador.mdr_paged)&&(Addr<8192)) // Interface I if((ordenador.mdr_active)&&(ordenador.mdr_paged)&&(Addr<8192)) // Interface I
return((byte)ordenador.shadowrom[Addr]); return((byte)ordenador.shadowrom[Addr]);
// Currah microspeech
if (ordenador.currah_active)
{
if (Addr == 0x0038) ordenador.currah_paged = !ordenador.currah_paged;
if (ordenador.currah_paged)
{
if (Addr==0x1000) // Currah microspeech status - it would not be necessary here
return (byte) ordenador.currah_status;
if (Addr<2048) return((byte)ordenador.currahrom[Addr]);
}
}
ordenador.r_fetch+=4; ordenador.r_fetch+=4;
switch (Addr & 0xC000) { switch (Addr & 0xC000) {
case 0x0000: case 0x0000:
@ -2021,6 +2059,21 @@ byte Z80free_Rd (register word Addr) {
if((ordenador.mdr_active)&&(ordenador.mdr_paged)&&(Addr<8192)) // Interface I if((ordenador.mdr_active)&&(ordenador.mdr_paged)&&(Addr<8192)) // Interface I
return((byte)ordenador.shadowrom[Addr]); return((byte)ordenador.shadowrom[Addr]);
// Currah microspeech
if (ordenador.currah_active)
{
if (Addr == 0x0038) ordenador.currah_paged = !ordenador.currah_paged; // it would not be necessary here
if (ordenador.currah_paged)
{
if (Addr==0x1000) // Currah microspeech status
return (byte) ordenador.currah_status;
if (Addr<2048) return((byte)ordenador.currahrom[Addr]);
}
}
ordenador.wr+=3; ordenador.wr+=3;
switch (Addr & 0xC000) { switch (Addr & 0xC000) {
case 0x0000: case 0x0000:
@ -2377,6 +2430,10 @@ byte Z80free_In (register word Port) {
if(((Port &0x0018)!=0x0018)&&(ordenador.mdr_active)) if(((Port &0x0018)!=0x0018)&&(ordenador.mdr_active))
return(microdrive_in(Port)); return(microdrive_in(Port));
//Currah microspeech
if ((ordenador.currah_active)&&(temporal_io ==0x0038)) ordenador.currah_paged = !ordenador.currah_paged;
pines=bus_empty(); pines=bus_empty();
if (ordenador.precision && (ordenador.mode128k==1||ordenador.mode128k==2||(ordenador.mode128k==4))) if (ordenador.precision && (ordenador.mode128k==1||ordenador.mode128k==2||(ordenador.mode128k==4)))

View File

@ -220,6 +220,18 @@ struct computer {
byte mdr_old_STATUS; // to detect an edge in COM CLK byte mdr_old_STATUS; // to detect an edge in COM CLK
unsigned char mdr_modified; // if a sector is stored, this change to know that it must be stored in the file unsigned char mdr_modified; // if a sector is stored, this change to know that it must be stored in the file
// Currah microspeech variables
unsigned char currah_rom_unavailable;
unsigned char currah_active; // 0: not installed; 1: installed
unsigned char currah_paged; // 0: not pagined; 1: pagined
unsigned char currah_status; // 0: free; 1: busy
unsigned char current_allophone; // allophone to be played
unsigned char intonation_allophone;
//int currah_env_counter;
//int max_envelop;
int allophone_sound_cuantity; //pointer to allophone sample to be played
// OSD global variables // OSD global variables
unsigned char osd_text[200]; unsigned char osd_text[200];
@ -235,6 +247,7 @@ struct computer {
unsigned char memoria[196608]; // memory (12 pages of 16K each one). 4 for ROM, and 8 for RAM unsigned char memoria[196608]; // memory (12 pages of 16K each one). 4 for ROM, and 8 for RAM
unsigned char shadowrom[8192]; // space for Interface I's ROMs unsigned char shadowrom[8192]; // space for Interface I's ROMs
unsigned char currahrom[2048]; // space for Currah microspeech's ROMs
unsigned char interr; unsigned char interr;
unsigned char readkeyboard; unsigned char readkeyboard;
unsigned char mustlock; unsigned char mustlock;

96
src/currah_microspeech.c Normal file
View File

@ -0,0 +1,96 @@
/*
* Copyright (C) 2014 Fabio Olimpieri
* This file is part of FBZX Wii
*
* FBZX Wii is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* FBZX Wii is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#include "z80free/Z80free.h"
#include "currah_microspeech.h"
#include "computer.h"
#include "emulator.h"
int allophone_lenght[ALLOPHONES];
unsigned char *allophone_buffer[ALLOPHONES];
char *allophone_list[] = {"pa1","pa2","pa3","pa4","pa5","oy","ay","eh","kk3","pp","jh","nn1","ih","tt2","rr1",
"ax","mm","tt1","dh1","iy","ey","dd1","uw1","ao","aa","yy2","ae","hh1","bb1","th","uh","uw2","aw","dd2","gg3","vv",
"gg1","sh","zh","rr2","ff","kk2","kk1","zz","ng","ll","ww","xr","wh","yy1","ch","er1","er2","ow","dh2","ss","nn2","hh2",
"or","ar","yr","gg2","el","bb2"};
void currah_microspeech_init() {
int i;
FILE *fichero;
char allophone_name[16];
ordenador.currah_paged = 0;
ordenador.currah_status = 0;
ordenador.current_allophone = 0;
ordenador.allophone_sound_cuantity = 0;
ordenador.intonation_allophone = 0;
//ordenador.currah_env_counter = 0;
//ordenador.max_envelop = MAX_ENVELOP;
for (i=0; i<ALLOPHONES; i++)
{
sprintf(allophone_name, "fbzx/allophones/%s.wav",allophone_list[i]);
//sprintf(allophone_name, "fbzx/allophones/%.3d.wav",i);
fichero=myfopen(allophone_name,"rb");
if(fichero==NULL) {
printf("Can't open allophone: %s\n", allophone_list[i]);
exit(1);
}
fseek (fichero, 0, SEEK_END);
allophone_lenght[i]=ftell (fichero);
fseek (fichero, 0, SEEK_SET);
allophone_buffer[i]= (unsigned char *) malloc(allophone_lenght[i]);
if (allophone_buffer[i]==NULL) {
printf("Can't allocate allophone: %d\n",i);
exit(1);
}
fread(allophone_buffer[i], 1, allophone_lenght[i], fichero);
fclose(fichero);
}
}
void currah_microspeech_fini() {
int i;
for (i=4; i<ALLOPHONES; i++)
{
free(allophone_buffer[i]);
}
}
void currah_microspeech_reset() {
ordenador.currah_paged = 0;
ordenador.currah_status = 0;
ordenador.current_allophone = 0;
ordenador.allophone_sound_cuantity = 0;
ordenador.intonation_allophone = 0;
//ordenador.currah_env_counter = 0;
//ordenador.max_envelop = MAX_ENVELOP;
}

40
src/currah_microspeech.h Normal file
View File

@ -0,0 +1,40 @@
/*
* Copyright (C) 2014 Fabio Olimpieri
* This file is part of FBZX Wii
*
* FBZX Wii is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* FBZX Wii is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#ifndef H_CURRAH_MICROSPEECH
#define H_CURRAH_MICROSPEECH
#ifndef MAX_ENVELOP
#define MAX_ENVELOP 80 //Is this value rigth?
#endif
#ifndef ENVELOP_STEP
#define ENVELOP_STEP 1 //Is this value rigth?
#endif
#define ALLOPHONES 64
extern int allophone_lenght[ALLOPHONES];
extern unsigned char *allophone_buffer[ALLOPHONES];
void currah_microspeech_init();
void currah_microspeech_reset();
void currah_microspeech_fini();
#endif

View File

@ -37,6 +37,7 @@
#include "sound.h" #include "sound.h"
#include "tape.h" #include "tape.h"
#include "microdrive.h" #include "microdrive.h"
#include "currah_microspeech.h"
#include "menu_sdl.h" #include "menu_sdl.h"
#include "tape_browser.h" #include "tape_browser.h"
#include "VirtualKeyboard.h" #include "VirtualKeyboard.h"
@ -476,6 +477,20 @@ void load_rom(char type) {
} }
size=fread(ordenador.shadowrom,8192,1,fichero); size=fread(ordenador.shadowrom,8192,1,fichero);
fclose(fichero); fclose(fichero);
fichero=myfopen("spectrum-roms/currah.rom","rb"); // load Currah ROM
if(fichero==NULL) {
printf("Can't open Currah ROM file\n");
ordenador.currah_rom_unavailable = 1;
ordenador.currah_active = 0;
}
else
{
ordenador.currah_rom_unavailable = 0;
size=fread(ordenador.currahrom,2024,1,fichero);
fclose(fichero);
}
} }
int set_video_mode() int set_video_mode()
@ -630,6 +645,7 @@ void end_system() {
if(ordenador.tap_file!=NULL) if(ordenador.tap_file!=NULL)
fclose(ordenador.tap_file); fclose(ordenador.tap_file);
currah_microspeech_fini();
VirtualKeyboard_fini(); VirtualKeyboard_fini();
menu_deinit(); menu_deinit();
font_fini(); font_fini();
@ -749,6 +765,7 @@ int save_config(struct computer *object, char *filename) {
fprintf(fconfig,"joystick2=%c%c",48+object->joystick[1],10); fprintf(fconfig,"joystick2=%c%c",48+object->joystick[1],10);
fprintf(fconfig,"ay_sound=%c%c",48+object->ay_emul,10); fprintf(fconfig,"ay_sound=%c%c",48+object->ay_emul,10);
fprintf(fconfig,"fuller_box_sound=%c%c",48+object->fuller_box_sound,10); fprintf(fconfig,"fuller_box_sound=%c%c",48+object->fuller_box_sound,10);
fprintf(fconfig,"currah_microspeech=%c%c",48+object->currah_active,10);
fprintf(fconfig,"audio_mode=%c%c",48+object->audio_mode,10); fprintf(fconfig,"audio_mode=%c%c",48+object->audio_mode,10);
fprintf(fconfig,"gui_sound=%c%c",48+object->gui_sound,10); fprintf(fconfig,"gui_sound=%c%c",48+object->gui_sound,10);
fprintf(fconfig,"interface1=%c%c",48+object->mdr_active,10); fprintf(fconfig,"interface1=%c%c",48+object->mdr_active,10);
@ -800,8 +817,6 @@ int save_config_game(struct computer *object, char *filename, int overwrite) {
fprintf(fconfig,"joystick1=%c%c",48+object->joystick[0],10); fprintf(fconfig,"joystick1=%c%c",48+object->joystick[0],10);
fprintf(fconfig,"joystick2=%c%c",48+object->joystick[1],10); fprintf(fconfig,"joystick2=%c%c",48+object->joystick[1],10);
fprintf(fconfig,"ay_sound=%c%c",48+object->ay_emul,10);
fprintf(fconfig,"fuller_box_sound=%c%c",48+object->fuller_box_sound,10);
fprintf(fconfig,"joypad1=%c%c",48+object->joypad_as_joystick[0],10); fprintf(fconfig,"joypad1=%c%c",48+object->joypad_as_joystick[0],10);
fprintf(fconfig,"joypad2=%c%c",48+object->joypad_as_joystick[1],10); fprintf(fconfig,"joypad2=%c%c",48+object->joypad_as_joystick[1],10);
fprintf(fconfig,"rumble1=%c%c",48+object->rumble[0],10); fprintf(fconfig,"rumble1=%c%c",48+object->rumble[0],10);
@ -941,7 +956,7 @@ int load_config(struct computer *object, char *filename) {
unsigned char volume=255,mode128k=255,issue=255,ntsc=255, joystick1=255,joystick2=255,ay_emul=255,mdr_active=255, unsigned char volume=255,mode128k=255,issue=255,ntsc=255, joystick1=255,joystick2=255,ay_emul=255,mdr_active=255,
dblscan=255,framerate =255, screen =255, text=255, precision=255, bw=255, tap_fast=255, audio_mode=255, dblscan=255,framerate =255, screen =255, text=255, precision=255, bw=255, tap_fast=255, audio_mode=255,
joypad1=255, joypad2=255, rumble1=255, rumble2=255, joy_n=255, key_n=255, port=255, autoconf=255, turbo=225, vk_auto=255, vk_rumble=255, joypad1=255, joypad2=255, rumble1=255, rumble2=255, joy_n=255, key_n=255, port=255, autoconf=255, turbo=225, vk_auto=255, vk_rumble=255,
rewind_on_reset=255, pause_instant_load =255, ignore_z80_joy_conf=255, gui_sound=255, fuller_box_sound=255; rewind_on_reset=255, pause_instant_load =255, ignore_z80_joy_conf=255, gui_sound=255, fuller_box_sound=255, currah_active = 255;
if (filename) strcpy(config_path,filename); if (filename) strcpy(config_path,filename);
else return -2; else return -2;
@ -1003,6 +1018,10 @@ int load_config(struct computer *object, char *filename) {
fuller_box_sound=line[17]-'0'; fuller_box_sound=line[17]-'0';
continue; continue;
} }
if (!strncmp(line,"currah_microspeech=",19)) {
currah_active=line[19]-'0';
continue;
}
if (!strncmp(line,"audio_mode=",11)) { if (!strncmp(line,"audio_mode=",11)) {
audio_mode=line[11]-'0'; audio_mode=line[11]-'0';
continue; continue;
@ -1124,6 +1143,9 @@ int load_config(struct computer *object, char *filename) {
if (fuller_box_sound<2) { if (fuller_box_sound<2) {
object->fuller_box_sound=fuller_box_sound; object->fuller_box_sound=fuller_box_sound;
} }
if (currah_active<2) {
object->currah_active=currah_active;
}
if (audio_mode<4) { if (audio_mode<4) {
object->audio_mode=audio_mode; object->audio_mode=audio_mode;
} }
@ -1598,6 +1620,9 @@ int main(int argc,char *argv[])
printf("Init microdrive\n"); printf("Init microdrive\n");
microdrive_init(); microdrive_init();
printf("Init Currah microspeech\n");
currah_microspeech_init();
printf("Reset computer\n"); printf("Reset computer\n");
ResetComputer(); ResetComputer();

View File

@ -113,18 +113,16 @@ static const char *tape_messages[] = {
static const char *audio_messages[] = { static const char *audio_messages[] = {
/*00*/ "Volume", /*00*/ "Volume",
/*01*/ "^|0|1|2|3|4|5|6|7|max", /*01*/ "^|0|1|2|3|4|5|6|7|max",
/*02*/ " ", /*02*/ "AY-3-8912 Emulation",
/*03*/ "AY-3-8912 Emulation", /*03*/ "^|on|off",
/*04*/ "^|on|off", /*04*/ "Fuller Box Audio",
/*05*/ " ", /*05*/ "^|on|off",
/*06*/ "Fuller Box Audio", /*06*/ "Currah microspeech",
/*07*/ "^|on|off", /*07*/ "^|on|off",
/*08*/ " ", /*08*/ "Audio mode",
/*09*/ "Audio mode", /*09*/ "^|mono|ABC|ACB|BAC",
/*10*/ "^|mono|ABC|ACB|BAC", /*10*/ "Gui sound",
/*11*/ " ", /*11*/ "^|on|off",
/*12*/ "Gui sound",
/*13*/ "^|on|off",
NULL NULL
}; };
@ -557,6 +555,7 @@ static void set_machine_model(int which)
ordenador.mode128k=1; ordenador.mode128k=1;
ordenador.ay_emul=1; ordenador.ay_emul=1;
ordenador.videosystem =0; ordenador.videosystem =0;
ordenador.currah_active = 0;
break; break;
case 2: //Amstrad +2 case 2: //Amstrad +2
ordenador.issue=3; ordenador.issue=3;
@ -570,12 +569,14 @@ static void set_machine_model(int which)
ordenador.ay_emul=1; ordenador.ay_emul=1;
ordenador.mdr_active=0; ordenador.mdr_active=0;
ordenador.videosystem =0; ordenador.videosystem =0;
ordenador.currah_active = 0;
break; break;
case 4: //128K Spanish case 4: //128K Spanish
ordenador.issue=3; ordenador.issue=3;
ordenador.mode128k=4; ordenador.mode128k=4;
ordenador.ay_emul=1; ordenador.ay_emul=1;
ordenador.videosystem =0; ordenador.videosystem =0;
ordenador.currah_active = 0;
break; break;
case 5: //48k ntsc case 5: //48k ntsc
ordenador.mode128k=0; ordenador.mode128k=0;
@ -698,11 +699,12 @@ static void tape_settings(void)
} }
static void audio_settings(void) static int audio_settings(void)
{ {
unsigned int submenus[5]; unsigned int submenus[6], old_submenus_3;
int opt; int opt, retorno;
retorno = 0;
memset(submenus, 0, sizeof(submenus)); memset(submenus, 0, sizeof(submenus));
@ -710,21 +712,29 @@ static void audio_settings(void)
submenus[0] = ordenador.volume/2; submenus[0] = ordenador.volume/2;
submenus[1] = !ordenador.ay_emul; submenus[1] = !ordenador.ay_emul;
submenus[2] = !ordenador.fuller_box_sound; submenus[2] = !ordenador.fuller_box_sound;
submenus[3] = ordenador.audio_mode; submenus[3] = !ordenador.currah_active;
submenus[4] = !ordenador.gui_sound; submenus[4] = ordenador.audio_mode;
submenus[5] = !ordenador.gui_sound;
old_submenus_3 = submenus[3];
opt = menu_select_title("Audio settings", opt = menu_select_title("Audio settings",
audio_messages, submenus); audio_messages, submenus);
if (opt < 0) if (opt < 0)
return; return 0;
ordenador.volume = submenus[0]*2; ordenador.volume = submenus[0]*2;
ordenador.ay_emul = !submenus[1]; ordenador.ay_emul = !submenus[1];
ordenador.fuller_box_sound = !submenus[2]; ordenador.fuller_box_sound = !submenus[2];
ordenador.audio_mode = submenus[3]; if ((submenus[3]==0)&&(ordenador.mode128k)) {ordenador.currah_active=0; msgInfo("Currah only in 48k mode", 3000, NULL);}
ordenador.gui_sound = !submenus[4]; else if (ordenador.currah_rom_unavailable) {ordenador.currah_active=0; msgInfo("Currah rom not present", 3000, NULL);}
else ordenador.currah_active = !submenus[3];
ordenador.audio_mode = submenus[4];
ordenador.gui_sound = !submenus[5];
if (old_submenus_3 == ordenador.currah_active) {ResetComputer(); retorno = -2;}
return retorno;
} }
static void save_load_general_configurations(int); static void save_load_general_configurations(int);
@ -979,7 +989,7 @@ void create_mdrfile_sdl() {
void load_mdr_file(void) void load_mdr_file(void)
{ {
char model128k; unsigned char model128k;
model128k = ordenador.mode128k; model128k = ordenador.mode128k;
@ -1924,7 +1934,7 @@ static void save_load_general_configurations(int which)
{ {
int retorno; int retorno;
unsigned char old_bw,old_mode; unsigned char old_bw,old_mode, old_currah;
char config_path[MAX_PATH_LENGTH]; char config_path[MAX_PATH_LENGTH];
int length; int length;
FILE *fconfig; FILE *fconfig;
@ -1952,9 +1962,11 @@ static void save_load_general_configurations(int which)
{ {
old_bw = ordenador.bw; old_bw = ordenador.bw;
old_mode= ordenador.mode128k; old_mode= ordenador.mode128k;
old_currah = ordenador.currah_active;
if (!load_config(&ordenador,config_path)) msgInfo("General confs loaded",3000,NULL); if (!load_config(&ordenador,config_path)) msgInfo("General confs loaded",3000,NULL);
if (old_bw!=ordenador.bw) computer_set_palete(); if (old_bw!=ordenador.bw) computer_set_palete();
if (old_mode != ordenador.mode128k) ResetComputer(); if (ordenador.currah_rom_unavailable) ordenador.currah_active =0;
if ((old_mode != ordenador.mode128k)||(old_currah != ordenador.currah_active)) ResetComputer();
break; break;
} }
else // Delete config file else // Delete config file
@ -2053,7 +2065,7 @@ void main_menu()
screen_settings(); screen_settings();
break; break;
case 10: case 10:
audio_settings(); if (audio_settings()==-2) retorno=-1;
break; break;
case 11: case 11:
manage_configurations(); manage_configurations();

View File

@ -246,6 +246,7 @@ void settings_menu() {
ordenador.mode128k=1; ordenador.mode128k=1;
ordenador.ay_emul=1; ordenador.ay_emul=1;
ordenador.videosystem=0; ordenador.videosystem=0;
ordenador.currah_active = 0;
ResetComputer(); ResetComputer();
break; break;
case SDLK_4: case SDLK_4:
@ -253,6 +254,7 @@ void settings_menu() {
ordenador.mode128k=2; ordenador.mode128k=2;
ordenador.ay_emul=1; ordenador.ay_emul=1;
ordenador.videosystem=0; ordenador.videosystem=0;
ordenador.currah_active = 0;
ResetComputer(); ResetComputer();
break; break;
case SDLK_5: case SDLK_5:
@ -261,6 +263,7 @@ void settings_menu() {
ordenador.ay_emul=1; ordenador.ay_emul=1;
ordenador.videosystem=0; ordenador.videosystem=0;
ordenador.mdr_active=0; ordenador.mdr_active=0;
ordenador.currah_active = 0;
ResetComputer(); ResetComputer();
break; break;
case SDLK_6: case SDLK_6:
@ -268,6 +271,7 @@ void settings_menu() {
ordenador.mode128k=4; ordenador.mode128k=4;
ordenador.ay_emul=1; ordenador.ay_emul=1;
ordenador.videosystem=0; ordenador.videosystem=0;
ordenador.currah_active = 0;
ResetComputer(); ResetComputer();
break; break;
case SDLK_7: case SDLK_7:

View File

@ -22,6 +22,7 @@
#include "emulator.h" #include "emulator.h"
#include "sound.h" #include "sound.h"
#include "currah_microspeech.h"
#include <stdlib.h> #include <stdlib.h>
unsigned int beeper = 0, lvalue_sum=0, rvalue_sum=0 ; unsigned int beeper = 0, lvalue_sum=0, rvalue_sum=0 ;
@ -365,8 +366,23 @@ inline void play_sound (unsigned int tstados) {
if (sample_count==(N_SAMPLES-1)) if (sample_count==(N_SAMPLES-1))
{ {
if ((ordenador.currah_active)&&(!ordenador.turbo_state))
{
*ordenador.current_buffer = (rvalue_sum/N_SAMPLES+((unsigned int)allophone_buffer[ordenador.current_allophone][ordenador.allophone_sound_cuantity])*64)<<16
|(lvalue_sum/N_SAMPLES+((unsigned int)allophone_buffer[ordenador.current_allophone][ordenador.allophone_sound_cuantity])*64);
ordenador.allophone_sound_cuantity++;
if (ordenador.allophone_sound_cuantity >= allophone_lenght[ordenador.current_allophone]) //allophone completed
{
ordenador.allophone_sound_cuantity = allophone_lenght[ordenador.current_allophone]*7/8; //repeat the last part
ordenador.currah_status = 0; //Ready for a new allophone
}
}
else
*ordenador.current_buffer = (rvalue_sum/N_SAMPLES)<<16|(lvalue_sum/N_SAMPLES);
*ordenador.current_buffer = ((rvalue_sum/N_SAMPLES)<<16)|(lvalue_sum/N_SAMPLES);
ordenador.current_buffer++; ordenador.current_buffer++;
ordenador.sound_cuantity++; ordenador.sound_cuantity++;
@ -388,6 +404,7 @@ void reset_sound(void)
//memset(ordenador.current_buffer,0, (ordenador.buffer_len-ordenador.sound_cuantity)*ordenador.increment); //memset(ordenador.current_buffer,0, (ordenador.buffer_len-ordenador.sound_cuantity)*ordenador.increment);
sound_play(); sound_play();
ordenador.sound_cuantity = 0; ordenador.sound_cuantity = 0;
ordenador.allophone_sound_cuantity = 0;
sample_count=0; sample_count=0;
lvalue_sum=0; lvalue_sum=0;
rvalue_sum=0; rvalue_sum=0;