Hello Daniele It would be worthwhile to attach an external serial flash or USB thumb drive, if the intent is store data. This allows for far more flexibility in storage Regards Amit On Fri, Aug 26, 2016 at 11:02 AM, Jean-Marc Valin <jmvalin at jmvalin.ca> wrote:> On 26/08/16 11:40 AM, Daniele Barzotti wrote: > > You're right! I forgot to say that I need only the encoder side (and > > only for voice). > > Then you can remove all of the decoder. As for the encoder, it depends > on the bitrate and sampling rate you want (more below). > > > My application have to acquire a 16bit 8KHz PCM stream and save a > > compressed audio into a flash. > > Sounds like a job for SILK-only mode. In which case you can strip away > all of CELT. > > > (And here I have another little question... > > My flash size is 8Mb only and I have to be able to store in it 8 hours > > of voice, do you think opus shrink the stream enoguht?) > > This is going to be a problem. Assuming you mean 8 mega*byte* (and not 8 > megabit), that's still only 2 kilobit/second. Opus pretty much requires > 8 kb/s, so 4 times what you have. The only codec I know that can do 2 > kb/s with reasonable quality is codec2, and the implementation is > floating point. > > > Since I'm using FIXED_POINT, I have to pass also --disable-float-api? > > Yes. The normal API has calls with both int and float, so if you compile > with FIXED_POINT, the float calls do a conversion to int before using > int internally. If you disable the float API, these functions are not > compiled at all, saving a few bytes. > > Cheers, > > Jean-Marc > _______________________________________________ > opus mailing list > opus at xiph.org > http://lists.xiph.org/mailman/listinfo/opus >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.xiph.org/pipermail/opus/attachments/20160826/e0a3d0fb/attachment-0001.html>
Daniele Barzotti
2016-Aug-26 16:40 UTC
[opus] Using opus on ATMEL 32-bit RISC microcontroller
Hi all, thanks a lot for your replies! Sorry for my typo, the flash size is 8MB (Byte) :-) Unfortunately I cannot use another flash because I'm working on a proprietary board. Jean-Marc, thanks for your suggestions. I thought to use fixed point for convenience, but I can work on floating point too, so I will take in account the codec2 (I didn't know it). Moreover, if you all have other suggestions to give me I appreciate! ;-) Cheers, Daniele. Il 2016-08-26 18:12 Amit Ashara ha scritto:> Hello Daniele > > It would be worthwhile to attach an external serial flash or USB thumb > drive, if the intent is store data. This allows for far more > flexibility in storage > > Regards > Amit > > On Fri, Aug 26, 2016 at 11:02 AM, Jean-Marc Valin <jmvalin at jmvalin.ca> > wrote: > >> On 26/08/16 11:40 AM, Daniele Barzotti wrote: >>> You're right! I forgot to say that I need only the encoder side >> (and >>> only for voice). >> >> Then you can remove all of the decoder. As for the encoder, it >> depends >> on the bitrate and sampling rate you want (more below). >> >>> My application have to acquire a 16bit 8KHz PCM stream and save a >>> compressed audio into a flash. >> >> Sounds like a job for SILK-only mode. In which case you can strip >> away >> all of CELT. >> >>> (And here I have another little question... >>> My flash size is 8Mb only and I have to be able to store in it 8 >> hours >>> of voice, do you think opus shrink the stream enoguht?) >> >> This is going to be a problem. Assuming you mean 8 mega*byte* (and >> not 8 >> megabit), that's still only 2 kilobit/second. Opus pretty much >> requires >> 8 kb/s, so 4 times what you have. The only codec I know that can do >> 2 >> kb/s with reasonable quality is codec2, and the implementation is >> floating point. >> >>> Since I'm using FIXED_POINT, I have to pass also >> --disable-float-api? >> >> Yes. The normal API has calls with both int and float, so if you >> compile >> with FIXED_POINT, the float calls do a conversion to int before >> using >> int internally. If you disable the float API, these functions are >> not >> compiled at all, saving a few bytes. >> >> Cheers, >> >> Jean-Marc >> >> _______________________________________________ >> opus mailing list >> opus at xiph.org >> http://lists.xiph.org/mailman/listinfo/opus [1] > > > > Links: > ------ > [1] http://lists.xiph.org/mailman/listinfo/opus
Hello Jean-Marc, I ran the OPUS compile in my project which uses both encoder and decoder instances with the SMALL_FOOTPRINT define. The resulting image had a reduction of ~6.2KB Regards Amit On Fri, Aug 26, 2016 at 11:40 AM, Daniele Barzotti < daniele.barzotti at eurocomtel.com> wrote:> Hi all, > > thanks a lot for your replies! > > Sorry for my typo, the flash size is 8MB (Byte) :-) > Unfortunately I cannot use another flash because I'm working on a > proprietary board. > > Jean-Marc, thanks for your suggestions. > I thought to use fixed point for convenience, but I can work on floating > point too, so I will take in account the codec2 (I didn't know it). > > Moreover, if you all have other suggestions to give me I appreciate! ;-) > > Cheers, > Daniele. > > > > Il 2016-08-26 18:12 Amit Ashara ha scritto: > >> Hello Daniele >> >> It would be worthwhile to attach an external serial flash or USB thumb >> drive, if the intent is store data. This allows for far more >> flexibility in storage >> >> Regards >> Amit >> >> On Fri, Aug 26, 2016 at 11:02 AM, Jean-Marc Valin <jmvalin at jmvalin.ca> >> wrote: >> >> On 26/08/16 11:40 AM, Daniele Barzotti wrote: >>> >>>> You're right! I forgot to say that I need only the encoder side >>>> >>> (and >>> >>>> only for voice). >>>> >>> >>> Then you can remove all of the decoder. As for the encoder, it >>> depends >>> on the bitrate and sampling rate you want (more below). >>> >>> My application have to acquire a 16bit 8KHz PCM stream and save a >>>> compressed audio into a flash. >>>> >>> >>> Sounds like a job for SILK-only mode. In which case you can strip >>> away >>> all of CELT. >>> >>> (And here I have another little question... >>>> My flash size is 8Mb only and I have to be able to store in it 8 >>>> >>> hours >>> >>>> of voice, do you think opus shrink the stream enoguht?) >>>> >>> >>> This is going to be a problem. Assuming you mean 8 mega*byte* (and >>> not 8 >>> megabit), that's still only 2 kilobit/second. Opus pretty much >>> requires >>> 8 kb/s, so 4 times what you have. The only codec I know that can do >>> 2 >>> kb/s with reasonable quality is codec2, and the implementation is >>> floating point. >>> >>> Since I'm using FIXED_POINT, I have to pass also >>>> >>> --disable-float-api? >>> >>> Yes. The normal API has calls with both int and float, so if you >>> compile >>> with FIXED_POINT, the float calls do a conversion to int before >>> using >>> int internally. If you disable the float API, these functions are >>> not >>> compiled at all, saving a few bytes. >>> >>> Cheers, >>> >>> Jean-Marc >>> >>> _______________________________________________ >>> opus mailing list >>> opus at xiph.org >>> http://lists.xiph.org/mailman/listinfo/opus [1] >>> >> >> >> >> Links: >> ------ >> [1] http://lists.xiph.org/mailman/listinfo/opus >> > _______________________________________________ > opus mailing list > opus at xiph.org > http://lists.xiph.org/mailman/listinfo/opus >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.xiph.org/pipermail/opus/attachments/20160826/b44b1e1c/attachment.html>