![]() |
#16 | |
( ͡° ͜ʖ ͡°){ʇlnɐɟ ƃǝs}Tır
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 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:
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. Last edited by twobob; 07-13-2012 at 01:24 PM. |
|
![]() |
![]() |
![]() |
#17 | |
Carpe diem, c'est la vie.
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 6,433
Karma: 10773670
Join Date: Nov 2011
Location: Multiverse 6627A
Device: K1 to PW3
|
Quote:
![]() 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. |
|
![]() |
![]() |
Advert | |
|
![]() |
#18 |
Carpe diem, c'est la vie.
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 6,433
Karma: 10773670
Join Date: Nov 2011
Location: Multiverse 6627A
Device: K1 to PW3
|
|
![]() |
![]() |
![]() |
#19 | |
Carpe diem, c'est la vie.
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 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:
Last edited by geekmaster; 07-13-2012 at 01:59 PM. |
|
![]() |
![]() |
![]() |
#20 | |
( ͡° ͜ʖ ͡°){ʇlnɐɟ ƃǝs}Tır
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 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:
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. |
|
![]() |
![]() |
Advert | |
|
![]() |
#21 |
( ͡° ͜ʖ ͡°){ʇlnɐɟ ƃǝs}Tır
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 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
|
|
![]() |
![]() |
![]() |
#22 |
( ͡° ͜ʖ ͡°){ʇlnɐɟ ƃǝs}Tır
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 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
|
|
![]() |
![]() |
![]() |
#23 |
Carpe diem, c'est la vie.
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 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. |
![]() |
![]() |
![]() |
#24 | |
( ͡° ͜ʖ ͡°){ʇlnɐɟ ƃǝs}Tır
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 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:
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. |
|
![]() |
![]() |
![]() |
#25 | |
( ͡° ͜ʖ ͡°){ʇlnɐɟ ƃǝs}Tır
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 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:
|
|
![]() |
![]() |
![]() |
#26 |
Going Viral
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
|
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. |
![]() |
![]() |
![]() |
#27 | |
( ͡° ͜ʖ ͡°){ʇlnɐɟ ƃǝs}Tır
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 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:
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. |
|
![]() |
![]() |
![]() |
#28 | |
Going Viral
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
|
Quote:
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. |
|
![]() |
![]() |
![]() |
#29 | |
( ͡° ͜ʖ ͡°){ʇlnɐɟ ƃǝs}Tır
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 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:
![]() 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 |
|
![]() |
![]() |
![]() |
#30 | |
Carpe diem, c'est la vie.
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 6,433
Karma: 10773670
Join Date: Nov 2011
Location: Multiverse 6627A
Device: K1 to PW3
|
Quote:
![]() 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. |
|
![]() |
![]() |
![]() |
Tags |
geekmaster audio sound |
|
![]() |
||||
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 |