Reply to topic

Simon cannot compile

seb123
Registered Member
Posts
1
Karma
0

Simon cannot compile

Fri Jul 18, 2014 2:48 pm
Hi,
I've been trying to make Simon work for the last 2 weeks with a French dictionnary but I did not succeed.
I tried different things but I cannot make Simon recognize the phonemes I use.
Here are the 3 main things I tried :

1) Brand new installation (all previous hidden configuration files removed before install). Configure Simon to work without base model. Work with the default Standard scenario.
I imported a Sphinx dictionnary as Shadow dictionnary. Found here : http://sourceforge.net/projects/cmusphinx/files/Acoustic%20and%20Language%20Models/French%20Language%20Model/
I add 3 words in the active dictionnary and recorded my voice on them.
Simon says it cannot find the associated phonemes: ERROR CODE #1below

2) Brand new installation. Configure Simon to use a Sphinx base model from here : http://sourceforge.net/projects/cmusphinx/files/Acoustic%20and%20Language%20Models/French%20F0%20Broadcast%20News%20Acoustic%20Model/
By specifiying 'mdef', 'means', ... files location.
- Don't check 'Adapt with training'. Simon cannot compile. It seams there are problems with the phonemes writing. ERROR CODE #2 below
- If I check 'Adapt with training', It goes directly to ERROR CODE #1

3) Configure Simon to use the same Sphinx model but I changed the files 'mdef' and 'noisedict' so that there are no '+' in the phonemes. '+' are recognized by Sphinx as noise but maybe there are problems for Simon ?
No more success.

As I don't know how to use Sphinx, is there a way to start without any base model and built one from Simon while specifying my own phonemes or the ones used in the Sphinx dic ?
Or can we add phonemes directly in Simon ?
I am not afraid of command lines but I did not find anything to modify a 'sbm' file directly or any other way to specify new phonemes in Simon.

Thanks for your help.

ERROR CODE #1
Code: Select all
/usr/bin/sphinxtrain -t default{122df691-80d5-4c5c-b9c3-278e7622d973} setup
Sphinxtrain path: /usr/lib/sphinxtrain
Sphinxtrain binaries path: /usr/lib/sphinxtrain/sphinxtrain
Setting up the database default{122df691-80d5-4c5c-b9c3-278e7622d973}

/usr/bin/sphinxtrain run
MODULE: 000 Computing feature from audio files
Feature extraction is done
MODULE: 00 verify training files
Phase 1: Checking to see if the dict and filler dict agrees with the phonelist file.
Found 7 words using 15 phones
WARNING: This phone (ai) occurs in the dictionary (/tmp/kde-seb/simond/default/compile/sphinx/default{122df691-80d5-4c5c-b9c3-278e7622d973}/etc/default{122df691-80d5-4c5c-b9c3-278e7622d973}.dic), but not in the phonelist (/tmp/kde-seb/simond/default/compile/sphinx/default{122df691-80d5-4c5c-b9c3-278e7622d973}/etc/default{122df691-80d5-4c5c-b9c3-278e7622d973}.phone)
WARNING: This phone (an) occurs in the dictionary (/tmp/kde-seb/simond/default/compile/sphinx/default{122df691-80d5-4c5c-b9c3-278e7622d973}/etc/default{122df691-80d5-4c5c-b9c3-278e7622d973}.dic), but not in the phonelist (/tmp/kde-seb/simond/default/compile/sphinx/default{122df691-80d5-4c5c-b9c3-278e7622d973}/etc/default{122df691-80d5-4c5c-b9c3-278e7622d973}.phone)
WARNING: This phone (au) occurs in the dictionary (/tmp/kde-seb/simond/default/compile/sphinx/default{122df691-80d5-4c5c-b9c3-278e7622d973}/etc/default{122df691-80d5-4c5c-b9c3-278e7622d973}.dic), but not in the phonelist (/tmp/kde-seb/simond/default/compile/sphinx/default{122df691-80d5-4c5c-b9c3-278e7622d973}/etc/default{122df691-80d5-4c5c-b9c3-278e7622d973}.phone)
WARNING: This phone (bb) occurs in the dictionary (/tmp/kde-seb/simond/default/compile/sphinx/default{122df691-80d5-4c5c-b9c3-278e7622d973}/etc/default{122df691-80d5-4c5c-b9c3-278e7622d973}.dic), but not in the phonelist (/tmp/kde-seb/simond/default/compile/sphinx/default{122df691-80d5-4c5c-b9c3-278e7622d973}/etc/default{122df691-80d5-4c5c-b9c3-278e7622d973}.phone)
WARNING: This phone (jj) occurs in the dictionary (/tmp/kde-seb/simond/default/compile/sphinx/default{122df691-80d5-4c5c-b9c3-278e7622d973}/etc/default{122df691-80d5-4c5c-b9c3-278e7622d973}.dic), but not in the phonelist (/tmp/kde-seb/simond/default/compile/sphinx/default{122df691-80d5-4c5c-b9c3-278e7622d973}/etc/default{122df691-80d5-4c5c-b9c3-278e7622d973}.phone)
WARNING: This phone (kk) occurs in the dictionary (/tmp/kde-seb/simond/default/compile/sphinx/default{122df691-80d5-4c5c-b9c3-278e7622d973}/etc/default{122df691-80d5-4c5c-b9c3-278e7622d973}.dic), but not in the phonelist (/tmp/kde-seb/simond/default/compile/sphinx/default{122df691-80d5-4c5c-b9c3-278e7622d973}/etc/default{122df691-80d5-4c5c-b9c3-278e7622d973}.phone)
WARNING: This phone (nn) occurs in the dictionary (/tmp/kde-seb/simond/default/compile/sphinx/default{122df691-80d5-4c5c-b9c3-278e7622d973}/etc/default{122df691-80d5-4c5c-b9c3-278e7622d973}.dic), but not in the phonelist (/tmp/kde-seb/simond/default/compile/sphinx/default{122df691-80d5-4c5c-b9c3-278e7622d973}/etc/default{122df691-80d5-4c5c-b9c3-278e7622d973}.phone)
WARNING: This phone (on) occurs in the dictionary (/tmp/kde-seb/simond/default/compile/sphinx/default{122df691-80d5-4c5c-b9c3-278e7622d973}/etc/default{122df691-80d5-4c5c-b9c3-278e7622d973}.dic), but not in the phonelist (/tmp/kde-seb/simond/default/compile/sphinx/default{122df691-80d5-4c5c-b9c3-278e7622d973}/etc/default{122df691-80d5-4c5c-b9c3-278e7622d973}.phone)
WARNING: This phone (oo) occurs in the dictionary (/tmp/kde-seb/simond/default/compile/sphinx/default{122df691-80d5-4c5c-b9c3-278e7622d973}/etc/default{122df691-80d5-4c5c-b9c3-278e7622d973}.dic), but not in the phonelist (/tmp/kde-seb/simond/default/compile/sphinx/default{122df691-80d5-4c5c-b9c3-278e7622d973}/etc/default{122df691-80d5-4c5c-b9c3-278e7622d973}.phone)
WARNING: This phone (ou) occurs in the dictionary (/tmp/kde-seb/simond/default/compile/sphinx/default{122df691-80d5-4c5c-b9c3-278e7622d973}/etc/default{122df691-80d5-4c5c-b9c3-278e7622d973}.dic), but not in the phonelist (/tmp/kde-seb/simond/default/compile/sphinx/default{122df691-80d5-4c5c-b9c3-278e7622d973}/etc/default{122df691-80d5-4c5c-b9c3-278e7622d973}.phone)
WARNING: This phone (rr) occurs in the dictionary (/tmp/kde-seb/simond/default/compile/sphinx/default{122df691-80d5-4c5c-b9c3-278e7622d973}/etc/default{122df691-80d5-4c5c-b9c3-278e7622d973}.dic), but not in the phonelist (/tmp/kde-seb/simond/default/compile/sphinx/default{122df691-80d5-4c5c-b9c3-278e7622d973}/etc/default{122df691-80d5-4c5c-b9c3-278e7622d973}.phone)
WARNING: This phone (ss) occurs in the dictionary (/tmp/kde-seb/simond/default/compile/sphinx/default{122df691-80d5-4c5c-b9c3-278e7622d973}/etc/default{122df691-80d5-4c5c-b9c3-278e7622d973}.dic), but not in the phonelist (/tmp/kde-seb/simond/default/compile/sphinx/default{122df691-80d5-4c5c-b9c3-278e7622d973}/etc/default{122df691-80d5-4c5c-b9c3-278e7622d973}.phone)
WARNING: This phone (tt) occurs in the dictionary (/tmp/kde-seb/simond/default/compile/sphinx/default{122df691-80d5-4c5c-b9c3-278e7622d973}/etc/default{122df691-80d5-4c5c-b9c3-278e7622d973}.dic), but not in the phonelist (/tmp/kde-seb/simond/default/compile/sphinx/default{122df691-80d5-4c5c-b9c3-278e7622d973}/etc/default{122df691-80d5-4c5c-b9c3-278e7622d973}.phone)
WARNING: This phone (vv) occurs in the dictionary (/tmp/kde-seb/simond/default/compile/sphinx/default{122df691-80d5-4c5c-b9c3-278e7622d973}/etc/default{122df691-80d5-4c5c-b9c3-278e7622d973}.dic), but not in the phonelist (/tmp/kde-seb/simond/default/compile/sphinx/default{122df691-80d5-4c5c-b9c3-278e7622d973}/etc/default{122df691-80d5-4c5c-b9c3-278e7622d973}.phone)
Phase 2: Checking to make sure there are not duplicate entries in the dictionary
Phase 3: Check general format for the fileids file; utterance length (must be positive); files exist
Phase 4: Checking number of lines in the transcript file should match lines in fileids file
Phase 5: Determine amount of training data, see if n_tied_states seems reasonable.
Estimated Total Hours Training: 0.00500555555555556
This is a small amount of data, no comment at this time
Phase 6: Checking that all the words in the transcript are in the dictionary
Words in dictionary: 4
Words in filler dictionary: 3
Phase 7: Checking that all the phones in the transcript are in the phonelist, and all phones in the phonelist appear at least once
MODULE: 0000 train grapheme-to-phoneme model
Skipped (set $CFG_G2P_MODEL = 'yes' to enable)
Feature type is s2_4x which is 4 streams
LDA/MLLT only has sense for single stream features, for example 1s_c_d_dd
Skipping LDA training
Feature type is s2_4x which is 4 streams
LDA/MLLT only has sense for single stream features, for example 1s_c_d_dd
Skipping MLLT training
MODULE: 05 Vector Quantization
WARNING: This step had 0 ERROR messages and 9 WARNING messages. Please check the log file for details.
MODULE: 10 Training Context Independent models for forced alignment and VTLN
Skipped: $ST::CFG_FORCEDALIGN set to 'no' in sphinx_train.cfg
Skipped: $ST::CFG_VTLN set to 'no' in sphinx_train.cfg
MODULE: 11 Force-aligning transcripts
Skipped: $ST::CFG_FORCEDALIGN set to 'no' in sphinx_train.cfg
MODULE: 12 Force-aligning data for VTLN
Skipped: $ST::CFG_VTLN set to 'no' in sphinx_train.cfg
MODULE: 20 Training Context Independent models
Phase 1: Cleaning up directories:
accumulator...logs...qmanager...models...
Phase 2: Flat initialize
Phase 3: Forward-Backward
Training failed in iteration 1
MODULE: 30 Training Context Dependent models
Phase 1: Cleaning up directories:
accumulator...logs...qmanager...
Phase 2: Initialization
This step had 1 ERROR messages and 0 WARNING messages. Please check the log file for details.
This step had 1 ERROR messages and 0 WARNING messages. Please check the log file for details.
Phase 3: Forward-Backward
Training failed in iteration 1
MODULE: 40 Build Trees
Phase 1: Cleaning up old log files...
Phase 2: Make Questions
This step had 2 ERROR messages and 0 WARNING messages. Please check the log file for details.
Phase 3: Tree building
Processing each phone with each state
Skipping SIL
MODULE: 45 Prune Trees
This step had 1 ERROR messages and 0 WARNING messages. Please check the log file for details.
Phase 1: Tree Pruning
This step had 2 ERROR messages and 0 WARNING messages. Please check the log file for details.
Phase 2: State Tying
This step had 1 ERROR messages and 0 WARNING messages. Please check the log file for details.
MODULE: 50 Training Context dependent models
Phase 1: Cleaning up directories:
accumulator...logs...qmanager...
Phase 2: Copy CI to CD initialize
This step had 1 ERROR messages and 0 WARNING messages. Please check the log file for details.
Phase 3: Forward-Backward
Training failed in iteration 1
MODULE: 60 Lattice Generation
Skipped: $ST::CFG_MMIE set to 'no' in sphinx_train.cfg
MODULE: 61 Lattice Pruning
Skipped: $ST::CFG_MMIE set to 'no' in sphinx_train.cfg
MODULE: 62 Lattice Format Conversion
Skipped: $ST::CFG_MMIE set to 'no' in sphinx_train.cfg
MODULE: 65 MMIE Training
Skipped: $ST::CFG_MMIE set to 'no' in sphinx_train.cfg
MODULE: 90 deleted interpolation
Phase 1: Cleaning up directories: logs...
Phase 2: Doing interpolation...
This step had 1 ERROR messages and 0 WARNING messages. Please check the log file for details.
Phase 3: Dumping senones for PocketSphinx...
This step had 2 ERROR messages and 0 WARNING messages. Please check the log file for details.
MODULE: DECODE Decoding using models previously trained
Aligning results to find error rate
Sphinxtrain path: /usr/lib/sphinxtrain
Sphinxtrain binaries path: /usr/lib/sphinxtrain/sphinxtrain
Running the training

Failed to copy /tmp/kde-seb/simond/default/compile/sphinx/default{122df691-80d5-4c5c-b9c3-278e7622d973}/model_architecture/default{122df691-80d5-4c5c-b9c3-278e7622d973}.200.mdef to /tmp/kde-seb/simond/default/compile/sphinx/default{122df691-80d5-4c5c-b9c3-278e7622d973}/model_parameters/default{122df691-80d5-4c5c-b9c3-278e7622d973}.cd_semi_200_delinterp/mdef: Aucun fichier ou dossier de ce type at /usr/lib/sphinxtrain/scripts/90.deleted_interpolation/deleted_interpolation.pl line 110.
Can't open /tmp/kde-seb/simond/default/compile/sphinx/default{122df691-80d5-4c5c-b9c3-278e7622d973}/result/default{122df691-80d5-4c5c-b9c3-278e7622d973}-1-1.match
word_align.pl failed with error code 65280 at /usr/lib/sphinxtrain/scripts/decode/slave.pl line 173.



ERROR CODE #2
Code: Select all
INFO: cmd_ln.c(691): Parsing command line:
\
-hmm /tmp/kde-seb//simond/default/sphinx/ \
-jsgf /tmp/kde-seb//simond/default/sphinx/default{31b82425-7ef8-4709-8913-b59978ea266e}.jsgf \
-dict /tmp/kde-seb//simond/default/sphinx/default{31b82425-7ef8-4709-8913-b59978ea266e}.dic \
-samprate 16000

Current configuration:
[NAME] [DEFLT] [VALUE]
-agc none none
-agcthresh 2.0 2,000000e+00
-alpha 0.97 9,700000e-01
-ascale 20.0 2,000000e+01
-aw 1 1
-backtrace no no
-beam 1e-48 1,000000e-48
-bestpath yes yes
-bestpathlw 9.5 9,500000e+00
-bghist no no
-ceplen 13 13
-cmn current current
-cmninit 8.0 8.0
-compallsen no no
-debug 0
-dict /tmp/kde-seb//simond/default/sphinx/default{31b82425-7ef8-4709-8913-b59978ea266e}.dic
-dictcase no no
-dither no no
-doublebw no no
-ds 1 1
-fdict
-feat 1s_c_d_dd 1s_c_d_dd
-featparams
-fillprob 1e-8 1,000000e-08
-frate 100 100
-fsg
-fsgusealtpron yes yes
-fsgusefiller yes yes
-fwdflat yes yes
-fwdflatbeam 1e-64 1,000000e-64
-fwdflatefwid 4 4
-fwdflatlw 8.5 8,500000e+00
-fwdflatsfwin 25 25
-fwdflatwbeam 7e-29 7,000000e-29
-fwdtree yes yes
-hmm /tmp/kde-seb//simond/default/sphinx/
-input_endian little little
-jsgf /tmp/kde-seb//simond/default/sphinx/default{31b82425-7ef8-4709-8913-b59978ea266e}.jsgf
-kdmaxbbi -1 -1
-kdmaxdepth 0 0
-kdtree
-latsize 5000 5000
-lda
-ldadim 0 0
-lextreedump 0 0
-lifter 0 0
-lm
-lmctl
-lmname default default
-logbase 1.0001 1,000100e+00
-logfn
-logspec no no
-lowerf 133.33334 1,333333e+02
-lpbeam 1e-40 1,000000e-40
-lponlybeam 7e-29 7,000000e-29
-lw 6.5 6,500000e+00
-maxhmmpf -1 -1
-maxnewoov 20 20
-maxwpf -1 -1
-mdef
-mean
-mfclogdir
-min_endfr 0 0
-mixw
-mixwfloor 0.0000001 1,000000e-07
-mllr
-mmap yes yes
-ncep 13 13
-nfft 512 512
-nfilt 40 40
-nwpen 1.0 1,000000e+00
-pbeam 1e-48 1,000000e-48
-pip 1.0 1,000000e+00
-pl_beam 1e-10 1,000000e-10
-pl_pbeam 1e-5 1,000000e-05
-pl_window 0 0
-rawlogdir
-remove_dc no no
-round_filters yes yes
-samprate 16000 1,600000e+04
-seed -1 -1
-sendump
-senlogdir
-senmgau
-silprob 0.005 5,000000e-03
-smoothspec no no
-svspec
-tmat
-tmatfloor 0.0001 1,000000e-04
-topn 4 4
-topn_beam 0 0
-toprule
-transform legacy legacy
-unit_area yes yes
-upperf 6855.4976 6,855498e+03
-usewdphones no no
-uw 1.0 1,000000e+00
-var
-varfloor 0.0001 1,000000e-04
-varnorm no no
-verbose no no
-warp_params
-warp_type inverse_linear inverse_linear
-wbeam 7e-29 7,000000e-29
-wip 0.65 6,500000e-01
-wlen 0.025625 2,562500e-02

INFO: cmd_ln.c(691): Parsing command line:
\
-feat 1s_c_d_dd \
-agc max \
-cmn current \
-varnorm no \
-lowerf 133.33334 \
-upperf 6855.49756 \
-nfilt 40 \
-nfft 512

Current configuration:
[NAME] [DEFLT] [VALUE]
-agc none max
-agcthresh 2.0 2,000000e+00
-alpha 0.97 9,700000e-01
-ceplen 13 13
-cmn current current
-cmninit 8.0 8.0
-dither no no
-doublebw no no
-feat 1s_c_d_dd 1s_c_d_dd
-frate 100 100
-input_endian little little
-lda
-ldadim 0 0
-lifter 0 0
-logspec no no
-lowerf 133.33334 1,333333e+02
-ncep 13 13
-nfft 512 512
-nfilt 40 40
-remove_dc no no
-round_filters yes yes
-samprate 16000 1,600000e+04
-seed -1 -1
-smoothspec no no
-svspec
-transform legacy legacy
-unit_area yes yes
-upperf 6855.4976 6,855498e+03
-varnorm no no
-verbose no no
-warp_params
-warp_type inverse_linear inverse_linear
-wlen 0.025625 2,562500e-02

INFO: acmod.c(246): Parsed model-specific feature parameters from /tmp/kde-seb//simond/default/sphinx//feat.params
INFO: feat.c(713): Initializing feature stream to type: '1s_c_d_dd', ceplen=13, CMN='current', VARNORM='no', AGC='max'
INFO: cmn.c(142): mean[0]= 12,00, mean[1..12]= 0.0
INFO: agc.c(132): AGCEMax: max= 5,00
INFO: mdef.c(517): Reading model definition: /tmp/kde-seb//simond/default/sphinx//mdef
INFO: bin_mdef.c(179): Allocating 85844 * 8 bytes (670 KiB) for CD tree
INFO: tmat.c(205): Reading HMM transition probability matrices: /tmp/kde-seb//simond/default/sphinx//transition_matrices
INFO: acmod.c(121): Attempting to use SCHMM computation module
INFO: ms_gauden.c(198): Reading mixture gaussian parameter: /tmp/kde-seb//simond/default/sphinx//means
INFO: ms_gauden.c(292): 5725 codebook, 1 feature, size:
INFO: ms_gauden.c(294): 22x39
INFO: ms_gauden.c(198): Reading mixture gaussian parameter: /tmp/kde-seb//simond/default/sphinx//variances
INFO: ms_gauden.c(292): 5725 codebook, 1 feature, size:
INFO: ms_gauden.c(294): 22x39
INFO: ms_gauden.c(354): 3502 variance values floored
INFO: acmod.c(123): Attempting to use PTHMM computation module
INFO: ms_gauden.c(198): Reading mixture gaussian parameter: /tmp/kde-seb//simond/default/sphinx//means
INFO: ms_gauden.c(292): 5725 codebook, 1 feature, size:
INFO: ms_gauden.c(294): 22x39
INFO: ms_gauden.c(198): Reading mixture gaussian parameter: /tmp/kde-seb//simond/default/sphinx//variances
INFO: ms_gauden.c(292): 5725 codebook, 1 feature, size:
INFO: ms_gauden.c(294): 22x39
INFO: ms_gauden.c(354): 3502 variance values floored
INFO: ptm_mgau.c(792): Number of codebooks exceeds 256: 5725
INFO: acmod.c(125): Falling back to general multi-stream GMM computation
INFO: ms_gauden.c(198): Reading mixture gaussian parameter: /tmp/kde-seb//simond/default/sphinx//means
INFO: ms_gauden.c(292): 5725 codebook, 1 feature, size:
INFO: ms_gauden.c(294): 22x39
INFO: ms_gauden.c(198): Reading mixture gaussian parameter: /tmp/kde-seb//simond/default/sphinx//variances
INFO: ms_gauden.c(292): 5725 codebook, 1 feature, size:
INFO: ms_gauden.c(294): 22x39
INFO: ms_gauden.c(354): 3502 variance values floored
INFO: ms_senone.c(149): Reading senone mixture weights: /tmp/kde-seb//simond/default/sphinx//mixture_weights
INFO: ms_senone.c(200): Truncating senone logs3(pdf) values by 10 bits
INFO: ms_senone.c(207): Not transposing mixture weights in memory
INFO: ms_senone.c(266): Read mixture weights for 5725 senones: 1 features x 22 codewords
INFO: ms_senone.c(320): Mapping senones to individual codebooks
INFO: ms_mgau.c(141): The value of topn: 4
INFO: dict.c(317): Allocating 4108 * 32 bytes (128 KiB) for word entries
INFO: dict.c(332): Reading main dictionary: /tmp/kde-seb//simond/default/sphinx/default{31b82425-7ef8-4709-8913-b59978ea266e}.dic
INFO: dict.c(211): Allocated 0 KiB for strings, 0 KiB for phones
INFO: dict.c(335): 4 words read
INFO: dict.c(341): Reading filler dictionary: /tmp/kde-seb//simond/default/sphinx//noisedict
INFO: dict.c(211): Allocated 0 KiB for strings, 0 KiB for phones
INFO: dict.c(344): 8 words read
INFO: dict2pid.c(396): Building PID tables for dictionary
INFO: dict2pid.c(404): Allocating 45^3 * 2 bytes (177 KiB) for word-initial triphones
INFO: dict2pid.c(131): Allocated 48960 bytes (47 KiB) for word-final triphones
INFO: dict2pid.c(195): Allocated 48960 bytes (47 KiB) for single-phone word triphones
INFO: fsg_search.c(145): FSG(beam: -1080, pbeam: -1080, wbeam: -634; wip: -26, pip: 0)
ERROR: "jsgf_parser.y", line 155: syntax error, unexpected ';' at line 4 current token ';'
ERROR: "jsgf.c", line 757: Failed to parse JSGF grammar from '/tmp/kde-seb//simond/default/sphinx/default{31b82425-7ef8-4709-8913-b59978ea266e}.jsgf'
bedahr
Moderator
Posts
141
Karma
0
OS

Re: Simon cannot compile

Sun Sep 14, 2014 9:53 am
Hey there,

sorry for the late reply, I just found this thread. If this is still relevant, I'd be happy to walk you through the setup.

First of all, those are some strange errors and some of them don't fit your description (for example, SPHINX says you have 7 words when you claim to have 3).
If you still have the data, I think it would be good if you could upload it somewhere and send me the link (either on here or per PM) so that I could take a look. I'd be interested in the folder ~/.kde/share/apps/simond (sometimes also ~/.kde4/..., depending on the distro).

Best regards,
Peter

 
Reply to topic

Bookmarks



Who is online

Registered users: Baidu [Spider], Bing [Bot], Google [Bot], lueck, Sogou [Bot], TristanDee