Register Guidelines E-Books Today's Posts Search

Go Back   MobileRead Forums > E-Book Readers > Amazon Kindle > Kindle Developer's Corner

Notices

Reply
 
Thread Tools Search this Thread
Old 07-13-2012, 12:51 PM   #16
twobob
( ͡° ͜ʖ ͡°){ʇlnɐɟ ƃǝs}Tır
twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.
 
twobob's Avatar
 
Posts: 6,586
Karma: 6299993
Join Date: Jun 2012
Location: uti gratia usura (Yao ying da ying; Mo ying da yieng)
Device: PW-WIFI|K5-3G+WIFI| K4|K3-3G|DXG|K2| Rooted Nook Touch
Quote:
Originally Posted by geekmaster View Post
Of course, 8-bit audio needs an audio compander algorithm (dynamic range compression) to avoid severe distortion on low volume audio passages or clipping (fuzz box) on high volume audio sound effects.
1 bit Gaussian noise shaping appears to do a reasonable job.

This result could be EASILY improved upon in a whole host of ways - not least a bit of noise gating, in fact about ten minutes picking some defaults during the conversion creation process could probably cater for the conversion of 99% of files in a near-excellent way.

Which is rare in computing, lol.

: ) Ill attach my squashed audio and I'll up the video somewhere so you can have a play syncing a decently big file. it's a completely Public Domain movie as are the other ones I have been playing with.

The file I have attached has a constant sizzle, the original soundtrack was HORRIFIC quality, which is what attracted me to it (of course). I'll play with tidying it up and post another to show what I mean (of course I already did noise shaping just to make it a bit harder for me to show a real difference, bah)

I might add that I'll be doing this with unix tools and basic filter settings. given access to my studio I could make this shitty recording sound like a dolby master. Just saying.

But that's not the goal here, just getting some decent - thumb in the air - settings / algorithms is a big step forward toward simpler compliance for terrible recordings.
Attached Files
File Type: gz 8k8bmono.wav.tar.gz (12.88 MB, 138 views)

Last edited by twobob; 07-13-2012 at 01:24 PM.
twobob is offline   Reply With Quote
Old 07-13-2012, 12:54 PM   #17
geekmaster
Carpe diem, c'est la vie.
geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.
 
geekmaster's Avatar
 
Posts: 6,433
Karma: 10773670
Join Date: Nov 2011
Location: Multiverse 6627A
Device: K1 to PW3
Quote:
Originally Posted by twobob View Post
Yep, It's just nice to be able to pick up someone - who clearly knows more than you- 's code and be able to illicit some substance from it via some notes.
(Especially of the opposite sex, at a dance club).

Sorry, we are fresh out of "illicit substances" here (that is my story, and I am sticking to it).

But you can "elicit substance" from my code too, which is not a crime if that gets you "high".

Last edited by geekmaster; 07-13-2012 at 01:01 PM.
geekmaster is offline   Reply With Quote
Advert
Old 07-13-2012, 01:05 PM   #18
geekmaster
Carpe diem, c'est la vie.
geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.
 
geekmaster's Avatar
 
Posts: 6,433
Karma: 10773670
Join Date: Nov 2011
Location: Multiverse 6627A
Device: K1 to PW3
Quote:
Originally Posted by twobob View Post
1 bit Gaussian noise shaping appears to do a reasonable job.
My "customized" google results show lots of hits, but no simple C code. Any links to some nice simple noise shaping code out there?
geekmaster is offline   Reply With Quote
Old 07-13-2012, 01:28 PM   #19
geekmaster
Carpe diem, c'est la vie.
geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.
 
geekmaster's Avatar
 
Posts: 6,433
Karma: 10773670
Join Date: Nov 2011
Location: Multiverse 6627A
Device: K1 to PW3
I added this to the Top Post "Theory of Operation" section:
Quote:
The sample rate is 8000 samples per second, which means that if you call one play of the 1024-byte sound buffer a "beat", then this program plays 256 beats of almost 8 beats per second. Each beat plays at a different sound volume, creating the "semi-percussive" sound. Changing the "350" multiplier changes both the depth of distortion and the perceived repetition rate of the slowly varying distortion pattern. This perceived repetition is an audio interference pattern similar in nature to the visual interference (moire) patterns in some of my eink animation demos.

Last edited by geekmaster; 07-13-2012 at 01:59 PM.
geekmaster is offline   Reply With Quote
Old 07-13-2012, 01:46 PM   #20
twobob
( ͡° ͜ʖ ͡°){ʇlnɐɟ ƃǝs}Tır
twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.
 
twobob's Avatar
 
Posts: 6,586
Karma: 6299993
Join Date: Jun 2012
Location: uti gratia usura (Yao ying da ying; Mo ying da yieng)
Device: PW-WIFI|K5-3G+WIFI| K4|K3-3G|DXG|K2| Rooted Nook Touch
Quote:
Originally Posted by geekmaster View Post
My "customized" google results show lots of hits, but no simple C code. Any links to some nice simple noise shaping code out there?
RMS Estimation and signal balancing, allpass filter, comb filter, 1st order low and hi pass, bandpass
I have c for them.

http://www.anirudh.net/courses/cse58...ilters.cc.html offers an insight into the gaussian approach but you'll have to port it slightly as I think it's n dimensional.

I have some tidy 5 line curve coefficients... etc.

Let me grab a high pass code e.g.

Last edited by twobob; 07-13-2012 at 01:53 PM. Reason: added other stuff i have.
twobob is offline   Reply With Quote
Advert
Old 07-13-2012, 01:47 PM   #21
twobob
( ͡° ͜ʖ ͡°){ʇlnɐɟ ƃǝs}Tır
twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.
 
twobob's Avatar
 
Posts: 6,586
Karma: 6299993
Join Date: Jun 2012
Location: uti gratia usura (Yao ying da ying; Mo ying da yieng)
Device: PW-WIFI|K5-3G+WIFI| K4|K3-3G|DXG|K2| Rooted Nook Touch
Quote:
Originally Posted by geekmaster View Post
I added this to the Top Post "Theory of Operation" section:
Perfect. That's exactly the kind of thing I meant superstar
twobob is offline   Reply With Quote
Old 07-13-2012, 01:58 PM   #22
twobob
( ͡° ͜ʖ ͡°){ʇlnɐɟ ƃǝs}Tır
twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.
 
twobob's Avatar
 
Posts: 6,586
Karma: 6299993
Join Date: Jun 2012
Location: uti gratia usura (Yao ying da ying; Mo ying da yieng)
Device: PW-WIFI|K5-3G+WIFI| K4|K3-3G|DXG|K2| Rooted Nook Touch
Quote:
Originally Posted by geekmaster View Post
Of course, 8-bit audio needs an audio compander algorithm (dynamic range compression) to avoid severe distortion on low volume audio passages or clipping (fuzz box) on high volume audio sound effects.
I have a few examples that I will forward to you.
twobob is offline   Reply With Quote
Old 07-13-2012, 02:08 PM   #23
geekmaster
Carpe diem, c'est la vie.
geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.
 
geekmaster's Avatar
 
Posts: 6,433
Karma: 10773670
Join Date: Nov 2011
Location: Multiverse 6627A
Device: K1 to PW3
Instead of Dynamic Range Compression, the cellphone codecs use A-law or mu-law logarithmic range compression (non-binary weighting of the 8 bits). This effectively packs the bottom bits close together and spreads the top bits far apart, allowing a useful number of bits for both quiet sounds and for loud sounds, even though there are only 8-bits in total. This takes advantage of human logarithmic sensory perception, and works a lot like gamma correction as used in digitial photography (except for sound in this case).

Of course, it may be even better to use both dynamic range compression AND logarithmic coding.

Last edited by geekmaster; 07-14-2012 at 09:49 AM.
geekmaster is offline   Reply With Quote
Old 07-13-2012, 03:11 PM   #24
twobob
( ͡° ͜ʖ ͡°){ʇlnɐɟ ƃǝs}Tır
twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.
 
twobob's Avatar
 
Posts: 6,586
Karma: 6299993
Join Date: Jun 2012
Location: uti gratia usura (Yao ying da ying; Mo ying da yieng)
Device: PW-WIFI|K5-3G+WIFI| K4|K3-3G|DXG|K2| Rooted Nook Touch
Quote:
Originally Posted by geekmaster View Post
Instead of Dynamic Range Compression, the cellphone codecs use A-law or u-law logarithmic range compression (non-binary weighting of the 8 bits). This effectively packs the bottom bits close together and spreads the top bits far apart, allowing a useful number of bits for both quiet sounds and for loud sounds, even though there are only 8-bits in total. This takes advantage of human logarithmic sensory perception, and works a lot like gamma correction as used in digitial photography (except for sound in this case).

Of course, it may be even better to use both dynamic range compression AND logarithmic coding.
To be frank, a very simple inline bandstop targeting REALLY bad signal areas can stop them dead (obviously) and when exact enough is imperceptible.

This doesn't really work as a guiding principle for creating a general purpose noise gate though, now it just so happens the last LADSPA plugin that was created with my programming buddy was indeed a noise gate in csound. As I recall the actual filtering wasn't the issue it was correctly anticipating silence and then ramping up the filtering at that time - then detecting non silence - and effectively pre-releasing it.

Managed in this way even a really shitty filter can do a good job with the right impulse information - we have a buffer right? that sounds like enough time domain info to make a silence estimation. anyways you get the picture.

use bad things well and get good results is my mantra on these things.
twobob is offline   Reply With Quote
Old 07-13-2012, 04:38 PM   #25
twobob
( ͡° ͜ʖ ͡°){ʇlnɐɟ ƃǝs}Tır
twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.
 
twobob's Avatar
 
Posts: 6,586
Karma: 6299993
Join Date: Jun 2012
Location: uti gratia usura (Yao ying da ying; Mo ying da yieng)
Device: PW-WIFI|K5-3G+WIFI| K4|K3-3G|DXG|K2| Rooted Nook Touch
Quote:
Originally Posted by geekmaster View Post
Instead of Dynamic Range Compression, the cellphone codecs use A-law or u-law logarithmic range compression (non-binary weighting of the 8 bits). This effectively packs the bottom bits close together and spreads the top bits far apart, allowing a useful number of bits for both quiet sounds and for loud sounds, even though there are only 8-bits in total. This takes advantage of human logarithmic sensory perception, and works a lot like gamma correction as used in digitial photography (except for sound in this case).

Of course, it may be even better to use both dynamic range compression AND logarithmic coding.
We shall implement something. that much is certain
twobob is offline   Reply With Quote
Old 07-13-2012, 04:49 PM   #26
knc1
Going Viral
knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.
 
knc1's Avatar
 
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
Quote:
Originally Posted by twobob View Post
We shall implement something. that much is certain
Description with code:
http://www.threejacks.com/?q=node/176

One hint: You might first check what alsa calls PCM - If memory serves me correctly, it is not LPCM.
It is already mu-Law or a-Law (depends on if the developers had a European or USA telephone network).
It that is so - then you should already have the compression / de-compression code in the alsa tree.
knc1 is offline   Reply With Quote
Old 07-13-2012, 05:09 PM   #27
twobob
( ͡° ͜ʖ ͡°){ʇlnɐɟ ƃǝs}Tır
twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.
 
twobob's Avatar
 
Posts: 6,586
Karma: 6299993
Join Date: Jun 2012
Location: uti gratia usura (Yao ying da ying; Mo ying da yieng)
Device: PW-WIFI|K5-3G+WIFI| K4|K3-3G|DXG|K2| Rooted Nook Touch
Quote:
Originally Posted by knc1 View Post
Description with code:
http://www.threejacks.com/?q=node/176

One hint: You might first check what alsa calls PCM - If memory serves me correctly, it is not LPCM.
It is already mu-Law or a-Law (depends on if the developers had a European or USA telephone network).
It that is so - then you should already have the compression / de-compression code in the alsa tree.
You know I checked for ALaw and MuLaw support on the card level (which isn't there for the record unsurprisingly) The gory details are on the audio thread somewhere but in essence the card said no to both

I never thought to see if the internalised implementation was of value. Good thought

That's an absolutely cracking tutorial by the way, mucho kudos

Last edited by twobob; 07-13-2012 at 05:18 PM. Reason: added more details.
twobob is offline   Reply With Quote
Old 07-13-2012, 07:43 PM   #28
knc1
Going Viral
knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.
 
knc1's Avatar
 
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
Quote:
Originally Posted by twobob View Post
You know I checked for ALaw and MuLaw support on the card level (which isn't there for the record unsurprisingly) The gory details are on the audio thread somewhere but in essence the card said no to both

I never thought to see if the internalised implementation was of value. Good thought

That's an absolutely cracking tutorial by the way, mucho kudos
There may be some useful code in this (like the real-time buffer handling):
http://www.creytiv.com/rem.html

All of those bundles in the download directory are part of a SIP (VoIP) package. So there is a chance those libraries will be used and/or wanted on the kindle anyway.
knc1 is offline   Reply With Quote
Old 07-13-2012, 08:27 PM   #29
twobob
( ͡° ͜ʖ ͡°){ʇlnɐɟ ƃǝs}Tır
twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.
 
twobob's Avatar
 
Posts: 6,586
Karma: 6299993
Join Date: Jun 2012
Location: uti gratia usura (Yao ying da ying; Mo ying da yieng)
Device: PW-WIFI|K5-3G+WIFI| K4|K3-3G|DXG|K2| Rooted Nook Touch
Top tips

Quote:
Originally Posted by knc1 View Post
There may be some useful code in this (like the real-time buffer handling):
http://www.creytiv.com/rem.html

All of those bundles in the download directory are part of a SIP (VoIP) package. So there is a chance those libraries will be used and/or wanted on the kindle anyway.
Thanks M. I will have a looksee

In other news I destroyed my soundcard... well.. it died horribly
I'll spare you the dull bits but in essence this was the final choke...

writev(3, [{"*** glibc detected *** ", 23}, {"./Balsamic", 10}, {": ", 2}, {"corrupted double-linked list", 28}, {": 0x", 4}, {"000bf950", 8}, {" ***\n", 5}], 7) = 80

Heh! sweet death, I can repro, It's calling it with the snd_pcm_writen that chokes it. anyways. That's my lot tonight, Signal code, mangled MSB's, accidental truncation and the occasional straight up choke.

But I do have a working callback routine that polls an audio buffer with some space for video code (I think) so I'm a crap load closer than this morning. Happy with that.

Thanks for your great tips today
twobob is offline   Reply With Quote
Old 07-14-2012, 11:42 PM   #30
geekmaster
Carpe diem, c'est la vie.
geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.
 
geekmaster's Avatar
 
Posts: 6,433
Karma: 10773670
Join Date: Nov 2011
Location: Multiverse 6627A
Device: K1 to PW3
Quote:
Originally Posted by twobob View Post
You know I checked for ALaw and MuLaw support on the card level (which isn't there for the record unsurprisingly) The gory details are on the audio thread somewhere but in essence the card said no to both

I never thought to see if the internalised implementation was of value. Good thought

That's an absolutely cracking tutorial by the way, mucho kudos
I just changed a version of my "noisy.c" to replace the "..._U8" param with "...A_LAW". When playing, the rhythm now has mostly quiet passages, with occasional loud bursts, which is exactly how logarithmic coding SHOULD sound. So now I know that (at least on my K5), we have a-law support. Now I need to try that on my K3... Yes, a-law logarithmic dynamic range compression works on my K3 too. 8-bit audio should work just fine for our "gmplay with sound" purposes.

Us yanks would think a "cracking tutorial" was something to read to learn how to steal internet from test your neighbor's WEP-encrypted wifi. But having watched plenty of "Wallace and Grommit", I just happen to understand what you intended:



Penguins!

Last edited by geekmaster; 07-15-2012 at 12:34 AM.
geekmaster is offline   Reply With Quote
Reply

Tags
geekmaster audio sound


Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
geekmaster formula 42 (the dithermatron demo) geekmaster Kindle Developer's Corner 65 03-17-2017 08:51 AM
geekmaster vacation geekmaster Kindle Developer's Corner 2 03-19-2012 09:18 PM
Demo: Jetbook mini official demo bookwarm Ectaco jetBook 36 09-21-2010 12:18 PM


All times are GMT -4. The time now is 05:03 AM.


MobileRead.com is a privately owned, operated and funded community.