Skip to contentSkip to conversation

Voice setting for U-law and A-law.

Bluez-devel Ivy 2 participants 2 messages Sep 24, 2005 Bluetooth drivers

lore
Share & tools
lore

Ivy

author
#0 lore raw

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

Quoted 14 lines · --- Marcel Holtmann

Hi,

Quoted 1 line
            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

Quoted 9 lines

-------------------------------------------------------
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

#1 lore raw
Quoted 3 lines · Ivy

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.

Quoted 1 line

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

IMHO you should, if you want alaw/ulaw.

Quoted 1 line

(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.

Quoted 3 lines

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

Signature · 12 lines
= 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