How to disable WARNIGs?
yihuitang opened this issue · comments
Hi,
I've set language_switch='remove-flags' and words_mismatch='ignore'. However, I still got warnings like below:
WARNING:phonemizer:1 utterances containing language switches on lines 1
WARNING:phonemizer:extra phones may appear in the "cmn" phoneset
WARNING:phonemizer:language switch flags have been removed (applying "remove-flags" policy)
WARNING:phonemizer:words count mismatch on 100.0% of the lines (1/1)
WARNING:phonemizer:1 utterances containing language switches on lines 1
WARNING:phonemizer:extra phones may appear in the "cmn" phoneset
WARNING:phonemizer:language switch flags have been removed (applying "remove-flags" policy)
WARNING:phonemizer:words count mismatch on 100.0% of the lines (1/1)
How can I disable warnings in my Python code?
Just add the parameter logger=get_logger(verbosity='quiet')
in the function call. See https://github.com/bootphon/phonemizer/blob/master/phonemizer/logger.py#L22.
@mmmaat That didn't work. Here is my code:
from phonemizer.logger import get_logger
....
backend = EspeakBackend(language='cmn', language_switch='remove-flags',
words_mismatch='ignore',
punctuation_marks=punctuations, preserve_punctuation=True,
logger=get_logger(verbosity='quiet'))
...
text = backend.phonemize(text_list, njobs=4,
separator=Separator(phone=' ', word=None, syllable='|'))
Warnings persist.
If I add the parameter logger=get_logger(verbosity='quiet')
to phonemize(), I got an error:
TypeError: phonemize() got an unexpected keyword argument 'logger'
I don't understand. I have
$ phonemize --version
phonemizer-3.2.1
available backends: espeak-ng-1.50, espeak-mbrola, festival-2.5.0, segments-2.2.1
Then in IPython interpreter (The sentence in French means 'I like football' with a language switch on the word 'football'):
In [1]: from phonemizer import phonemize
In [2]: from phonemizer.logger import get_logger
In [3]: phonemize("j'aime le football", language='fr-fr', backend='espeak', language_switch='remove-flags', logger=get_logger(verbosity='quiet'))
Out[3] : 'ʒɛm lə fʊtbɔːl '
In [4]: phonemize("j'aime le football", language='fr-fr', backend='espeak', language_switch='remove-flags', logger=get_logger(verbosity='normal'))
[WARNING] 1 utterances containing language switches on lines 1
[WARNING] extra phones may appear in the "fr-fr" phoneset
[WARNING] language switch flags have been removed (applying "remove-flags" policy)
Out[4]: 'ʒɛm lə fʊtbɔːl '
Can you reproduce that? What version of phonemizer do you use?
I have the same versions as you do. I can also reproduce what you got.
Looks like it is the following line in my code that overrides the logger setting in the phonemizer:
logging.basicConfig(stream=sys.stdout, level=logging.WARNING)
Tried to set level=logging.ERROR but it didn't work.