HNHacker News
TopNewBestAskShowJobs

av500

1,394 karma · joined March 22, 2010

submissionscomments
av500··on Carolina Eyck, renowned superstar of the theremin
the Doepfer A187 I returned immediately, it's barely usable. I got the OpenTheremin instead and I love it
av500··on Korg NTS-2 DIY oscilloscope and wave generator kit
https://vpme.de/zeroscope for the budget minded :)

shameless plug, it's my product

av500··on People don't want to run their own bank
and of course they couple could have shared access to each other's bank accounts
av500··on Cool, but Obscure X11 Tools
Nedit is still my go to text editor for programming
av500··on NNCP: Lossless Data Compression with Neural Networks (2019)
he did, at least a few years ago a former coworker worked with him in Paris at a French streaming provider or so
av500··on Cameras Could Replace Car Mirrors?
remember, with a broken camera mirror, you car won't even start ;)
av500··on Rockbox – Free music player firmware
BTW, the original motivation to write that code was a bug in an early version of the DSP chip, it would produce a loud "click" each time the MP3 data stream stopped or started. so instead of stopping the stream I would either play a file (processed as per above) or if stopped or paused repeately insert a frame of "silence" that I encoded for every possible sampling frequency. luckily total silence is a really short frame to store
av500··on Rockbox – Free music player firmware
MPEG layer 3 (MP3) differs from layers 1 and 2 in the fact that the frame data for a given audio frame can be spread out over several consecutive MP3 frames, that makes the stream effectively VBR (variable bitrate) even if the total bitrate is fixed at e.g. 128kbit/s. due to that you cannot simply cut at MP3 frame boundaries.

I wrote code to on-the-fly and in-memory convert a fixed bitrate MP3 stream into a variable bitrate one with differing frame length for each frame, adding padding data if needed to adhere to the allowed standard frame sizes. Once I had that I could drop or repeat MP3 frames, thus making the music play faster or slower. Since the reconstruction filters in MP3 decoder where already working across frame boundaries, they would also help to smooth over the artificial transitions introduced by this.

This works nicely up to a speed change of +/- 10%, going much slower would e.g. noticeably double snare drum hits or other percussive sounds.

of course you can also reassemble the frames in reverse order, I have a prototype MP3 "DJ" player where you can use a jog wheel to scrub forwards and backwards through an MP3 file without decoding it.

there, my secret is out :)

av500··on Rockbox – Free music player firmware
nope, the MAS had MP3 decode fixed in ROM and while you could upload your own algo into the RAM and run it, that meant no MP3 decode at the same time :)
av500··on Rockbox – Free music player firmware
true, but as said below, I was a bit green at that time.

what we did have was that we would remember a song not by its full path which could be like 256 bytes long, but by only 8 bytes, so when we read in an playlist, we would convert each file path into these 8 bytes and use them to retrieve the tracks later. that made parsing playlists "slow". Rockbox did access the playlist as a file, so they would only resolve the path when the next song was needed, but then they had the time and leasure to write a Posix like file API whereas we moved in a hurry and used a much more primitive block based approach. this was also born out of the fact that our design initially had only 128k of RAM and a larger SDRAM for buffering while the drive is off was only added later...

av500··on Rockbox – Free music player firmware
I was more upset that Archos took our original design with a 4 line LCD and a rotary encoder and reduced it to a single line and U/D/L/R buttons - missing the whole point of "all" your music with you, thus needing a way to browse it fast...
av500··on Rockbox – Free music player firmware
actually JB6000 was still USB 1.1 I think, only the JB Recorder would add USB2.0 speed
av500··on Rockbox – Free music player firmware
hey, that makes two of us :)
av500··on Rockbox – Free music player firmware
basically the "mp3 player engine" that was used by Archos (and a few other companies at that time, TerraTex M3PO, SSI NEO25/NEO35) was our first project out of high school, so the code is pretty bad looking at it today :)

I was never angry about the fact that people preferred the alternative, given that with Archos we were running at breakneck speed to release a new product every year, constantly piling on more features for better or worse. there was little time to look back and reflect :)

av500··on Rockbox – Free music player firmware
thanks :)
av500··on Rockbox – Free music player firmware
not in code, but I think I answered a few questions. there was also the fact that another MP3 player I was involved in, the Terratec M3PO had a feature to change the MP3 playback speed and the Rockbox people wondered for years how we did that on the limited DSP that it had (same as on Archos products) - took them a long time and some hints to figure out :)
av500··on Rockbox – Free music player firmware
the problem with global shuffle was that you could have a LOT of music on the device, thus for a global shuffle you would need to hold an index of ALL the music in memory, and I did not like that.

Also, I was never a SHUFFLE ALL type of person myself since that would mix way too different styles of music for my taste - even today, I mostly listen to an album at a time

av500··on Rockbox – Free music player firmware
I "caused" Rockbox, being the original firmware developer for the Archos Jukebox 6000. apparently the firmware I wrote was so bad around playlist handling and our CEO unwilling to open source the code so that the boys and girls wrote their own.

at times it was one of the rather large open source SW projects in terms of users, developers, testers, translators, doc writers. I'm kinda proud to have caused that :)

AMA

av500··on MPEG: A crisis, the causes and a solution
because they are French. meaning that French patent laws allow for it.
av500··on A camera that snaps a GIF and ejects a cartridge that displays it
a cheap dumbphone that retails for less than $20 has a BOM of around $5 and has CPU, battery and screen. so $20 retail for your cartridge is achievable in volume
av500··on LoRa Range Testing in San Francisco
what SF and bandwidth were you using for the range tests? what packet lengths?
av500··on LoRa Range Testing in San Francisco
868 MHz band in Europe
av500··on LoRa Range Testing in San Francisco
there will be also microcontrollers from ST incorporating LoRa soon
av500··on LoRa Range Testing in San Francisco
the overall verdict from Lora alliance members on Sigfox is that they are big on words but small on revenue or customers. add grain of salt
av500··on NUMA Deep Dive Part 1: From UMA to NUMA
I was expecting more Dirk Pitt in this post
av500··on FFmpeg's future and resigning as leader
please find a mailing list post where Michael is being attacked like that.
av500··on FFmpeg's future and resigning as leader
http://article.gmane.org/gmane.comp.video.ffmpeg.devel/13099...

posts like this one is why it went off the rails a long time ago. there is also the one where he suggested a libav dev should commit suicide and later labeled it as "Austrian humour"

av500··on FFmpeg's future and resigning as leader
if everything that somebody from the libav side says here is automatically labelled bitterness and downvoted, maybe you can understand why some are indeed bitter.
av500··on FFmpeg's future and resigning as leader
"...and its very difficult to be the leader when one is on one side of this split and the other tries everything to push me out..."

that the gist of it, it's always the other side wanting him harm. he never ever acknowleged any wrongdoing on his side.

av500··on FFmpeg's future and resigning as leader
he could have stepped back much earlier
Page 1 of 5Next →