Jean-Marc Valin skrev:> Ghost Wolf a ?crit : >> Hello Mailing List, >> I am a Speex supporter and user that would really like to know how much >> memory Speex uses to decode a 8kHz, 16kHz and 32kHz (primarily the 8kHz) >> and is it possible to use a 1kBytes of RAM to decode a 8kHz stream? (I >> was thinking of the possibility of using a ATmega168 to decode Speex) > > Speex would fit in 8 kB RAM, maybe in 4 kB, but certainly not in 1 kB. > Sorry. > > Jean-Marc >ok, that is not good for my plans... Is there any thing in the the 8kB of RAM that is always the same (lookup table etc.) or did you already think of that? I'm curios since the ATmega168 got 16kB of Flash that is as fast as the RAM (I think the chip is made so it limits its maximum speed to the slowest memory, flash. it also has some EEPROM besides the SRAM). //P?r Ps. ATmega spec: FLASH: 16kB EEPROM: 512B SRAM: 1kB SPEED: 0-20MHz Architecture: 8-bit RISC, no FPU. Site: http://www.atmel.com/dyn/products/product_card.asp?part_id=3303
> ok, that is not good for my plans... > Is there any thing in the the 8kB of RAM that is always the same (lookup > table etc.) or did you already think of that?I told you the RAM requirements. The lookup tables are already counted as ROM. Basically, just one decoded frame already takes 320 bytes. Add the excitation memory and you've already blown the budget.> I'm curios since the > ATmega168 got 16kB of Flash that is as fast as the RAM (I think the chip > is made so it limits its maximum speed to the slowest memory, flash. it > also has some EEPROM besides the SRAM).It's not clear the code size + lookups would fit in the flash anyway.> Ps. ATmega spec: > FLASH: 16kB > EEPROM: 512B > SRAM: 1kB > SPEED: 0-20MHzToo slow.> Architecture: 8-bit RISC, no FPU.All the code assumes you have a 16x16 multiplier and a 32-bit accumulator. Emulating that on an 8-bit chip would be far too costly.> Site: http://www.atmel.com/dyn/products/product_card.asp?part_id=3303Given your requirements, the only thing that might work for you is one of the ADPCM variants. Jean-Marc
Thank you for making it super clear to me that it wouldn't work. My goal is to make a simple pinhole based speex player kit (pinhole circuit board that is) to sell and of course donate some of the profit to speex/xiph. I love speex but it would be great if the recommended system requirements would be viewable on the site. I'm guessing that it can be difficult because of the changes in code and assembly optimisation but if you only post the recommended and add that minimal can be less and that is changing over time then the page doesn't need to be updated as often. and Jean-Marc, I am grateful for really explaining why my idea wouldn't work. I am a beginner with visions but don't have the skill to realise it yet, so please bear with me. Jean-Marc Valin skrev:>> ok, that is not good for my plans... >> Is there any thing in the the 8kB of RAM that is always the same (lookup >> table etc.) or did you already think of that? > > I told you the RAM requirements. The lookup tables are already counted > as ROM. Basically, just one decoded frame already takes 320 bytes. Add > the excitation memory and you've already blown the budget. > >> I'm curios since the >> ATmega168 got 16kB of Flash that is as fast as the RAM (I think the chip >> is made so it limits its maximum speed to the slowest memory, flash. it >> also has some EEPROM besides the SRAM). > > It's not clear the code size + lookups would fit in the flash anyway. > >> Ps. ATmega spec: >> FLASH: 16kB >> EEPROM: 512B >> SRAM: 1kB >> SPEED: 0-20MHz > > Too slow. > >> Architecture: 8-bit RISC, no FPU. > > All the code assumes you have a 16x16 multiplier and a 32-bit > accumulator. Emulating that on an 8-bit chip would be far too costly. > >> Site: http://www.atmel.com/dyn/products/product_card.asp?part_id=3303 > > Given your requirements, the only thing that might work for you is one > of the ADPCM variants. > > Jean-Marc >