[Speex-dev] converting unsigned short sample to signed short sample
Steve Checkoway
s at pahtak.org
Wed Mar 14 00:01:56 PDT 2012
I don't understand why you're subtracting 2^15 - 1. Assuming you really do have unsigned samples (which is very odd) that have 0x8000 as the mid point of the range, then you need to subtract 0x8000, as I believe I pointed out already.
By mid point, I mean if you have a pure tone (i.e., a sine wave) that has unsigned range 0 to 0xffff, then the mid point is 0x8000. The mid point should be translated to zero.
If your samples are represented some other way, you have to tell us.
--
Stephen Checkoway
On Mar 13, 2012, at 23:28, Mashal al-shboul <shboul8989 at yahoo.com> wrote:
> Thanks a lot for replying,
> The question now is , after subtracting 32767 from each unsigned sample, will the new signed samples represent the same original voice ?
> For explanation, assume "Hi" is said in 8000 unsigned sample ,if i subtract 32767 from each sample and play the resulting 8000 sample as signed PCM samples,will they be "Hi" ?!
>
> Forgive me about my questions , but it's important for me and i am new to the stuff
> Best Regards,
> Mash'al
>
> From: Arthurc <arthurc99 at yahoo.com>
> To: Mashal al-shboul <shboul8989 at yahoo.com>
> Sent: Wednesday, March 14, 2012 5:58 AM
> Subject: Re: [Speex-dev] converting unsigned short sample to signed short sample
>
> I assumed that you have unsigned input from your sound card / codec, etc.
> Actually, it is unlikely in today's hardware platform for audio application.
>
> If that is really the case, you can just do..
>
> short output = ((long) input) - 32767
>
> Well, maybe it is possible to do some bit manipulation to achieve the same thing.
>
> Regards
> Arthur
>
> On 2012年3月14日, at 上午11:21, Mashal al-shboul <shboul8989 at yahoo.com> wrote:
>
>> Hi All,
>> I would like to get your help in my problem,
>>
>> we know that Speex codec takes samples of type short (signed), range:-2^15 to2^15 -1 , my problem is that i have samples of type
>> unsigned short ,range: 0 to 2^16 -1. so, what should i do in order to apply speex on my unsigned samples ?.
>> There is a proposed solution to subtract 2^15-1 from each unsigned short to get it signed short, my question: is this method safe in keeping the samples meaningful for speex's processing algorithms?.
>> i hope i receive help from you. Thanks in advance
>>
>> Regards,
>> Mash'al
>> _______________________________________________
>> Speex-dev mailing list
>> Speex-dev at xiph.org
>> http://lists.xiph.org/mailman/listinfo/speex-dev
>
>
> _______________________________________________
> Speex-dev mailing list
> Speex-dev at xiph.org
> http://lists.xiph.org/mailman/listinfo/speex-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.xiph.org/pipermail/speex-dev/attachments/20120314/b6f807ac/attachment-0001.htm
More information about the Speex-dev
mailing list