add optional 'do_normalize' to qwen2_audio processor
Author: kindaQ
Pull request: yes


the input args  "do_normalize" of  feature_extractor_whisper __call__  function is False in default， and  processing_qwen2_audio.py __call__  function  
```
audio_inputs = self.feature_extractor(
audios, sampling_rate=sampling_rate, return_attention_mask=True, padding="max_length", **kwargs)
```
didn't fill do_normalize， then the raw speech values may lead loss to overflow when using bf16 or fp16

fix:  add optional arg "do_noramlize"   to  processing_qwen2_audio  __call__ function


issue inference:
https://github.com/modelscope/ms-swift/issues/1653

@ArthurZucker  @ylacombe

Comments:
Hey @kindaQ, thanks for opening this PR!

Two things:
1. Qwen2 Audio was added by the authors behind the model, and they didn't use `do_normalize`, so I'd expect it to not be compatible with the model. @faychu, could you confirm this ?
2. I think you can already use `do_normalize` without this modification, since we pass `kwargs` to the `feature_extractor`. I might be wrong here though. 

Once we get more info, let's see what we can do and if the PR is appropriate ! (the code looks ok to me btw)

> Hey @kindaQ, thanks for opening this PR!
> 
> Two things:
> 
> 1. Qwen2 Audio was added by the authors behind the model, and they didn't use `do_normalize`, so I'd expect it to not be compatible with the model. @faychu, could you confirm this ?
> 2. I think you can already use `do_normalize` without this modification, since we pass `kwargs` to the `feature_extractor`. I might be wrong here though.
> 
> Once we get more info, let's see what we can do and if the PR is appropriate ! (the code looks ok to me btw)

Hi  @ylacombe 
The 2th thing:  The processor call text **tokenizer**(Qwen2TokenizerFast)  before **feature_extractor**
```python
        if text is None:
            raise ValueError("You need to specify either a `text` input to process.")
        inputs = self.tokenizer(text, padding=padding, **kwargs)

        if audios is not None:
            audio_inputs = self.feature_extractor(
                audios, sampling_rate=sampling_rate, return_attention_mask=True, padding="max_length",
                do_normalize=do_normalize, **kwargs
            )
``` 
It will call parent class  **PreTrainedTokenizerFast**  's function  **_batch_encode_plus** 
```python
def _batch_encode_plus(
        self,
        batch_text_or_text_pairs: Union[
            List[TextInput], List[TextInputPair], List[PreTokenizedInput], List[PreTokenizedInputPair]
        ],
        add_special_tokens: bool = True,
        padding_strategy: PaddingStrategy = PaddingStrategy.DO_NOT_PAD,
        truncation_strategy: TruncationStrategy = TruncationStrategy.DO_NOT_TRUNCATE,
        max_length: Optional[int] = None,
        stride: int = 0,
        is_split_into_words: bool = False,
        pad_to_multiple_of: Optional[int] = None,
        padding_side: Optional[bool] = None,
        return_tensors: Optional[str] = None,
        return_token_type_ids: Optional[bool] = None,
        return_attention_mask: Optional[bool] = None,
        return_overflowing_tokens: bool = False,
        return_special_tokens_mask: bool = False,
        return_offsets_mapping: bool = False,
        return_length: bool = False,
        verbose: bool = True,
        split_special_tokens: bool = False,
    ) -> BatchEncoding:
``` 
This function doesn't  receive  **kwargs** and  will raise exception