2005-09-24 10:20:36

by Ivy

[permalink] [raw]
Subject: Re: [Bluez-devel] Voice setting for U-law and A-law.

Hi Marcel,

Thanks for your information. I wentthrought the Documentation and our Mailing list.. Please bare with me for asking this silly questions .... Still i m confused about INPUT Data Format,INput sample size and PCM BIT POSITION. Please correct me if i am wrong. I HAVE choosen in the following way.. (Right now my usb driver claimed 2nd alternate setting (isoc=2). i.e One voice connection with 16 Bit encoding & 2 Voice connection with 8 Bit encoding .

0101101000 = 0x168

Bitwise that"s:

xxxxxx01xxxxxxxx Input Coding: u-law
xxxxxxxx01xxxxxx Input Data Format: 2"s complement ( what is the advantage of 2's complement that 1's com ?).
xxxxxxxxxx1xxxxx Input Sample Size: 16 bit ( Can i use 8 bit ?) (what does it mean "ONly FOR Linear PCM in Documentation ?).
xxxxxxxxxxx010xx # of bits padding at MSB: 2 (if i use 16 Bit, 2bit's of MSB is needed for padding, coz only 14bits are enough for u-law)
xxxxxxxxxxxxxx00 Air Coding Format: CVSD


Expecting your valuable reply

Thanks
-ivy





--- Marcel Holtmann <[email protected]> wrote:
> Hi,
>
> > I am trying to change the input Encoding of Voice setting using hciconfig tool. Default voice setting 0x60, supports Linear pcm ( I guess i am newbie if any thing wrong please correct me) .. I would like to change setting to u-law or a-law. I have assigned voice setting value as 0x100 for u-law i am not sure, it is correct or not ?.. Could any one help me to set it correctly...
>
> check the mailing list archive, because it was explained in detail some
> time ago and of course the specification is a good information source.
>
> Regards
>
> Marcel
>
>
>
>
> -------------------------------------------------------
> SF.Net email is sponsored by:
> Tame your development challenges with Apache's Geronimo App Server.
> Download it for free - -and be entered to win a 42" plasma tv or your very
> own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php
> _______________________________________________
> Bluez-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/bluez-devel

__________________________
Free 3000MB email. Stops spam 100%. No banner ads. No popup ads. http://www.cashette.com


-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server.
Download it for free - -and be entered to win a 42" plasma tv or your very
own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel


2005-09-24 11:03:38

by Andreas Beck

[permalink] [raw]
Subject: Re: [Bluez-devel] Voice setting for U-law and A-law.

Ivy <[email protected]> wrote:

> xxxxxx01xxxxxxxx Input Coding: u-law
> xxxxxxxx01xxxxxx Input Data Format: 2"s complement
> ( what is the advantage of 2's complement that 1's com ?).

Actually I don't think this makes sense for ulaw/alaw, as AFAIK these
are always 8 bit, as they were designed for telephony channels (ISDN)
that operate at 64kbit, thus giving 8kSamples/s at 8 bit.

The alaw/ulaw encoding gives a somewhat logarithmic scale which gives
better dynamic range at the expense of small details the human ear
doesn't recognize well anyway.

For linear, the difference is in the coding of negative numbers.
1s complement will code negative numbers as their positive equivalent
XOR 0xffff (i.e. a word with all-one bits). This is a rater uncommon
coding scheme. It has the odditiy of having a +0 (0x0000) and a
-0 (0xffff). 2s complement will add 1 after the above step, which
has the advantage of simple handling of arithmetic operations with
common ALUs designed for unsigned numbers. It just works - only thing
you have to adjust is handling of overflow flags.
Another advantage is a slightly increased range of values (-32768 to
32767 at 16 bit as compared to -32767 to 32767 at 1s complement)
at the expense of an asymmetric value range.

> xxxxxxxxxx1xxxxx Input Sample Size: 16 bit (Can i use 8 bit ?)

IMHO you should, if you want alaw/ulaw.

> (what does it mean "ONly FOR Linear PCM in Documentation ?).

I suppose these bits get ignored for formats other than linear PCM, as
ulaw/alaw are inherently 8 bits.

> xxxxxxxxxxx010xx # of bits padding at MSB: 2 (if i use 16 Bit,
> 2bit's of MSB is needed for padding, coz only 14bits are enough
> for u-law)

AFAIK 8 bits are enough - could you explain?


CU, Andy

--
= Andreas Beck | Email : <[email protected]> =


-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server.
Download it for free - -and be entered to win a 42" plasma tv or your very
own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel