Comments (28)
I'll check it later
--condition_on_previous_text false
can make some discontinuities, it's not recommended to disable it.
Try to disable VAD: -vad=false
from whisper-standalone-win.
-m large-v3 -l de -v true -condition false --compression_ratio_threshold 2.2 --logprob_threshold -0.8
Processing segment at 00:28.380
* Log probability threshold is not met with temperature 0.0 (-0.830729 < -0.800000)
[00:28.380 --> 00:56.460] ... an dessen Ende dann eine Zwei-Staaten-Lösung stehen muss, weil wir der Überzeugung sind, dass das der einzige Weg ist, diesen Konflikt, den Nahostkonflikt nachhaltig zu lösen. Das ist der Austausch mit unseren Partnern in der Region, die da eine wichtige Rolle spielen. Das sind unsere Bemühungen, die Geiseln freizubekommen. Insofern machen wir Tag und Nacht nichts anderes, um uns da einzubringen und zu schauen, dass wir vorankommen an konkreten Punkten.
Processing segment at 00:58.380
from whisper-standalone-win.
So all filters lead to better results than the unfiltered audio. Even though the source file sounds fine to me. Just butterfly effect or an issue with the source audio?
In case of this hallucination I think mostly "butterfly effect", but those filters suppose to make things better, so, who knows. 😆
Even the ffmpeg version can have an impact.
Btw, comparing to cpp is futile too, because of different quantizations [aka compute types] of model.
Test various quantizations [that's just few from dozens possible variations]:
-m large-v3 -l de -v true -condition false --compute_type=int8_float32
-m large-v3 -l de -v true -condition false --compute_type=float32
-m large-v3 -l de -v true -condition false --compute_type=bfloat16
On your hardware probably one from those is running by default:
-m large-v3 -l de -v true -condition false --compute_type=int8_float16
-m large-v3 -l de -v true -condition false --compute_type=float16
I'm not sure I understand --ff_mp3. How does that do anything but decrease the audio quality? Is it used because the source material used for training the models often was mp3?
Yeah, it's more like a fun filter. No scientific data behind it. Imo, it's just to trigger the butterfly effect.
But... some users claim that it's like some magic filter making transcriptions better... so I made it available. 😆
"training the models often was mp3" - could be, but as we don't have access to the training data we will never know.
from whisper-standalone-win.
Auto offsets for defaults are implemented in r189.1, large-v3 should work better with defaults.
from whisper-standalone-win.
If your audios are just ~clean podcasts and you prefer v3 model, then I recommend these settings:
-m large-v3 -l de -hst 2 --ff_rnndn_sh --sentence
or -m large-v3 -l de -hst 2 --ff_rnndn_sh --standard
If there is noise in background like music ect.. then you would want to use Faster-Whisper-XXL.
from whisper-standalone-win.
Can you share the file where it happens somewhere near start? [+srt file]
from whisper-standalone-win.
Purfview edit: link deleted
5 minute audio/video, the whole part from 0:30-1:00 is missing.
The .srt is from whisper-faster-xxl test 2, the .html is from whisper.cpp.
from whisper-standalone-win.
I thought --condition_on_previous_text false
would be the same as -mc 0
in whisper.cpp (number of context tokens = 0), which I use because of frequent hallucinations with German language and model large-v3 when context is used. I guess it's not the same?
BUT: No 30 second gap with --condition_on_previous_text true
, so that was the culprit here.
Tested it with the whole 40 minute file: Only minor differences in transcription quality now, no big missing parts. Thanks for steering me in the right direction!
Btw, I'd really like an overview of the default settings and an explanation of all the settings. But I'm not complaining, the existence of whisper-standalone makes me very happy. :)
from whisper-standalone-win.
I thought --condition_on_previous_text false would be the same as -mc 0 in whisper.cpp (number of context tokens = 0), which I use because of frequent hallucinations with German language and model large-v3 when context is used. I guess it's not the same?
I think effect should be same.
I don't think that conditioning is direct culprit for hallucinations, it's more about content of the prompt.
BUT: No 30 second gap with --condition_on_previous_text true, so that was the culprit here.
Try --condition_on_previous_text false -prompt None
I suspect that the culprit is that custom prompt is still running when conditioning is disabled, it's because experimental --reprompt
is enabled by default ( its effect should be similar as this PR -> SYSTRAN/faster-whisper#731 ).
Maybe I should disable it by default or rewrite its approach.
Btw, I'd really like an overview of the default settings and an explanation of all the settings.
That's in --help
from whisper-standalone-win.
Try
--condition_on_previous_text false -prompt None
Yep, that or --condition_on_previous_text false --reprompt 0
works, too. Maybe --condition_on_previous_text false
should also trigger the --reprompt 0
setting?
But even with context enabled I have way less problems with hallucinations in whisper-faster than in whisper.cpp.
That's in
--help
Thanks! Now I can test different settings more systematically.
from whisper-standalone-win.
Yep, that or --condition_on_previous_text false --reprompt 0 works, too. Maybe --condition_on_previous_text false should also trigger the --reprompt 0 setting?
Need to think about it.
But even with context enabled I have way less problems with hallucinations in whisper-faster than in whisper.cpp.
Share a hallucination if you'll get one, btw you can try -hst=2
to reduce potential hallucinations.
from whisper-standalone-win.
Just now I looked at your shared sample, I don't think it's the reprompt culprit, segment is not missing its just some random hallucination in its place:
I couldn't reproduce it, probably because of different compute type [int8_float32]:
whisper-faster _test.mp3 -l de -m large-v3 --verbose true --condition_on_previous_text false
Processing segment at 00:28.380
[00:28.380 --> 00:56.440] ... an dessen Ende dann eine Zwei-Staaten-Lösung stehen muss, weil wir der Überzeugung sind, dass das der einzige Weg ist, diesen Konflikt, den Ostkonflikt nachhaltig zu lösen. Das ist der Austausch mit unseren Partnern in der Region, die da eine wichtige Rolle spielen. Das sind unsere Bemühungen, die Geiseln freizubekommen. Insofern machen wir Tag und Nacht nichts anderes, um uns da einzubringen und zu schauen, dass wir vorankommen an konkreten Punkten.
Processing segment at 00:58.380
Can you reproduce the issue with --verbose=true
and post the output directly from the console [just the part around hallucination], maybe there will be more info.
I think the culprit is large-v3 model as it hallucinates a lot, I think that large-v2 is much better.
Proper approach for such hallucinations is to use -hst 2
option.
from whisper-standalone-win.
Sorry, too busy the last two days.
I can reproduce it with these settings:
-m large-v3 --language de --verbose true --condition_on_previous_text false
The console output for the problematic half-minute segment:
Processing segment at 00:28.380
[00:28.380 --> 00:45.780] Vielen Dank für die Aufmerksamkeit.
Processing segment at 00:58.380
[00:58.380 --> 01:09.060] Ja, das war jetzt auch ganz allgemein...
With -hst 2
added:
Processing segment at 00:28.380
* HST_2: DETECTED HALLUCINATION: Vielen Dank für die Aufmerksamkeit.
Processing segment at 00:29.380
* HST_2: DETECTED HALLUCINATION: Das ist der erste Satz.
Processing segment at 00:30.380
[00:57.440 --> 01:00.220] Ja, das war jetzt auch ganz allgemein auch die
Processing segment at 01:00.220
With additional options -prompt None --reprompt 0
, I get no hallucinations:
[00:23.840 --> 00:30.120] auch. Das sind Fragen, wie wir in einen politischen Prozess kommen können, an dessen Ende dann eine
[00:30.120 --> 00:35.120] Zwei-Staaten-Lösung stehen muss, weil wir der Überzeugung sind, dass das der einzige Weg ist,
[00:35.560 --> 00:41.240] diesen Konflikt, den Ostkonflikt nachhaltig zu lösen. Das ist der Austausch mit unseren Partnern
[00:41.240 --> 00:45.240] in der Region, die da eine wichtige Rolle spielen. Das sind unsere Bemühungen, die Geiseln frei zu
[00:45.240 --> 00:53.320] bekommen. Insofern machen wir Tag und Nacht nichts anderes, um uns da einzubringen und zu schauen,
[00:53.320 --> 00:56.460] dass wir vorankommen an konkreten Punkten.
[00:57.820 --> 01:02.920] Ja, das war jetzt auch ganz allgemein, auch die letzten Wochen haben Sie das Gleiche gesagt,
With whisper.cpp default settings, pretty much the same:
[00:00:24.120 --> 00:00:32.160] Das sind Fragen, wie wir in einen politischen Prozess kommen können, an dessen Ende dann eine Zwei-Staaten-Lösung stehen muss,
[00:00:32.160 --> 00:00:38.720] weil wir der Überzeugung sind, dass das der einzige Weg ist, diesen Konflikt, den Nahostkonflikt nachhaltig zu lösen.
[00:00:38.720 --> 00:00:43.200] Das ist der Austausch mit unseren Partnern in der Region, die da eine wichtige Rolle spielen.
[00:00:43.200 --> 00:00:45.780] Das sind unsere Bemühungen, die Geiseln freizubekommen.
[00:00:45.780 --> 00:00:53.360] Insofern machen wir Tag und Nacht nichts anderes, um uns da einzubringen und zu schauen,
[00:00:53.360 --> 00:00:56.360] dass wir vorankommen an konkreten Punkten.
[00:00:56.360 --> 00:01:03.020] Ja, das war jetzt auch ganz allgemein, auch die letzten Wochen haben Sie das Gleiche gesagt.
Maybe just a hallucination, but previously I always had repeating nonsensical text then, not just one short sentence and the rest just missing.
The second hallucination with -hst 2
("Das ist der erste Satz" - "This is the first sentence") is one I seem to be getting a lot, also in slight variations ("Das ist der dritte Satz" - "This is the third sentence").
With whisper.cpp and model large-v3 I sometimes get other, even weirder hallucinations, but never this one. There it can be remedied with -mc 0
. In this case, that wasn't necessary.
Curious, that the choice of hallucination changes with different parameters and/or different whisper variants.
Yep, large-v3 has the worst hallucinations, but if that can be remedied (by deactivating context, it seems), it still leads to better results in German than large-v2, at least in my experience.
from whisper-standalone-win.
Hmm, hst detected the hallucinations, but still model just refused to transcribe anything on this segment.
Try incrementally, check if it starts transcribing this segment [if it will then try same cmd without -hst]:
-m large-v3 -l de -v true -condition false -hst 2 --patience 1.2
-m large-v3 -l de -v true -condition false -hst 2 --patience 1.5
-m large-v3 -l de -v true -condition false -hst 2 --patience 2
-m large-v3 -l de -v true -condition false -hst 2 --patience 3
-m large-v3 -l de -v true -condition false -hst 2 --patience 5
from whisper-standalone-win.
patience 1.2:
Processing segment at 00:28.380
* HST_2: DETECTED HALLUCINATION: Vielen Dank für die Aufmerksamkeit.
Processing segment at 00:29.380
* HST_2: DETECTED HALLUCINATION: Das ist der erste Satz.
Processing segment at 00:30.380
[00:57.440 --> 01:00.220] Ja, das war jetzt auch ganz allgemein auch die
patience 1.5:
Processing segment at 00:28.380
* HST_2: DETECTED HALLUCINATION: Vielen Dank für die Aufmerksamkeit.
Processing segment at 00:29.380
* Compression ratio threshold is not met with temperature 0.0 (4.235294 > 2.400000)
[00:34.700 --> 00:56.440] ... in der Region, die da eine wichtige Rolle spielen. Das sind unsere Bemühungen, die Geiseln frei zu bekommen. Insofern machen wir Tag und Nacht nichts anderes, um uns da einzubringen und zu schauen, dass wir vorankommen an konkreten Punkten.
Processing segment at 00:56.440
[00:57.860 --> 01:09.060] Ja, das war jetzt auch ganz allgemein. Auch in den letzten Wochen haben Sie das
patience 2, 3 and 5:
Processing segment at 00:28.380
* HST_1: DETECTED HALLUCINATION: Vielen Dank für die Aufmerksamkeit.
Processing segment at 00:30.620
[00:56.780 --> 01:00.000] Ja, das war jetzt auch ganz allgemein
Weird.
from whisper-standalone-win.
patience 1.5 without hst 2:
Processing segment at 00:28.380
[00:28.380 --> 00:45.780] Vielen Dank für die Aufmerksamkeit.
Processing segment at 00:58.380
from whisper-standalone-win.
Looks like the fallback triggered something, try these:
-m large-v3 -l de -v true -condition false --compression_ratio_threshold 2.2 --logprob_threshold -0.7
-m large-v3 -l de -v true -condition false --compression_ratio_threshold 2.0 --logprob_threshold -0.5
-m large-v3 -l de -v true -condition false --compression_ratio_threshold 1.8 --logprob_threshold -0.3
from whisper-standalone-win.
-m large-v3 -l de -v true -condition false --compression_ratio_threshold 2.2 --logprob_threshold -0.7
Processing segment at 00:28.380
* Log probability threshold is not met with temperature 0.0 (-0.830729 < -0.700000)
* Log probability threshold is not met with temperature 0.2 (-0.769702 < -0.700000)
* Log probability threshold is not met with temperature 0.4 (-0.769702 < -0.700000)
* Log probability threshold is not met with temperature 0.6 (-0.769702 < -0.700000)
[00:28.380 --> 00:56.460] ...an dessen Ende dann eine Zwei-Staaten-Lösung stehen muss, weil wir der Überzeugung sind, dass das der einzige Weg ist, diesen Konflikt, den Nahrost-Konflikt nachhaltig zu lösen. Das ist der Austausch mit unseren Partnern in der Region, die da eine wichtige Rolle spielen. Das sind unsere Bemühungen, die Geiseln frei zu bekommen. Insofern machen wir Tag und Nacht nichts anderes, um uns da einzubringen und zu schauen, dass wir vorankommen an konkreten Punkten.
Processing segment at 00:56.460
-m large-v3 -l de -v true -condition false --compression_ratio_threshold 2.0 --logprob_threshold -0.5
Processing segment at 00:28.380
* Log probability threshold is not met with temperature 0.0 (-0.830729 < -0.500000)
* Log probability threshold is not met with temperature 0.2 (-0.769702 < -0.500000)
[00:28.380 --> 00:56.460] ...an dessen Ende dann eine Zwei-Staaten-Lösung stehen muss, weil wir der Überzeugung sind, dass das der einzige Weg ist, diesen Konflikt, den Ostkonflikt nachhaltig zu lösen. Das ist der Austausch mit unseren Partnern in der Region, die da eine wichtige Rolle spielen. Das sind unsere Bemühungen, die Geiseln frei zu bekommen. Insofern machen wir Tag und Nacht nichts anderes, um uns da einzubringen und zu schauen, dass wir vorankommen an konkreten Punkten.
Processing segment at 00:58.380
-m large-v3 -l de -v true -condition false --compression_ratio_threshold 1.8 --logprob_threshold -0.3
Processing segment at 00:28.380
* Log probability threshold is not met with temperature 0.0 (-0.830729 < -0.300000)
* Log probability threshold is not met with temperature 0.2 (-0.769702 < -0.300000)
[00:28.380 --> 00:56.460] ... an dessen Ende dann eine Zwei-Staaten-Lösung stehen muss, weil wir der Überzeugung sind, dass das der einzige Weg ist, diesen Konflikt, den Ostkonflikt nachhaltig zu lösen. Das ist der Austausch mit unseren Partnern in der Region, die da eine wichtige Rolle spielen. Das sind unsere Bemühungen, die Geiseln freizubekommen. Insofern machen wir Tag und Nacht nichts anderes, um uns da einzubringen und zu schauen, dass wir vorankommen an konkreten Punkten.
Processing segment at 00:58.380
So all three worked (kind of, that's a very long line) and had identical results.
from whisper-standalone-win.
As I always suspected - large-v3 needs more sensitive pseudo vad thresholds.
I think I'll add a default preset for it: --compression_ratio_threshold 2.2 --logprob_threshold -0.7
.
Later I'll look at the current custom prompt behaviour, keep this files around for test.
So all three worked (kind of, that's a very long line)..
That's irrelevant, just use --sentence
or --standard
to get normal subtitles.
from whisper-standalone-win.
Do one more test:
-m large-v3 -l de -v true -condition false --compression_ratio_threshold 2.2 --logprob_threshold -0.8
from whisper-standalone-win.
But now I'm confused. I ran it again a few times. Same settings. Sometimes I get the result above, sometimes I get this:
Processing segment at 00:28.380
* Log probability threshold is not met with temperature 0.0 (-0.830729 < -0.800000)
[00:28.380 --> 00:29.000] Vielen Dank.
Processing segment at 00:58.380
I always thought Whisper is a bit unpredictable. But also non-deterministic?
from whisper-standalone-win.
Sometimes I get the result above, sometimes I get this..
Use 0.7
, 0.8 is too close to log probabilities of the hallucinations.
But also non-deterministic?
It's deterministic till temperature is 0. You can prevent temperature going up with -fallback None
, for example:
-m large-v3 -l de -v true -condition false --logprob_threshold -0.7 -fallback None
from whisper-standalone-win.
Can you share output of that command from the above post?
from whisper-standalone-win.
Yep:
-m large-v3 -l de -v true -condition false --logprob_threshold -0.7 -fallback None
Processing segment at 00:28.380
* Log probability threshold is not met with temperature 0.0 (-0.830729 < -0.700000)
[00:28.380 --> 00:45.780] Vielen Dank für die Aufmerksamkeit.
Processing segment at 00:58.380
However, additionally with -prompt None --reprompt 0
:
Processing segment at 00:23.840
[00:23.840 --> 00:30.120] auch. Das sind Fragen, wie wir in einen politischen Prozess kommen können, an dessen Ende dann eine
[00:30.120 --> 00:35.120] Zwei-Staaten-Lösung stehen muss, weil wir der Überzeugung sind, dass das der einzige Weg ist,
[00:35.560 --> 00:41.240] diesen Konflikt, den Ostkonflikt nachhaltig zu lösen. Das ist der Austausch mit unseren Partnern
[00:41.240 --> 00:45.240] in der Region, die da eine wichtige Rolle spielen. Das sind unsere Bemühungen, die Geiseln frei zu
[00:45.240 --> 00:53.320] bekommen. Insofern machen wir Tag und Nacht nichts anderes, um uns da einzubringen und zu schauen,
Processing segment at 00:53.320
Sorry if this is not useful, I'm just playing with what worked so far.
from whisper-standalone-win.
However, additionally with -prompt None --reprompt 0
Yeah, not useful. -prompt None
auto disables --reprompt, no need to set it.
I always thought Whisper is a bit unpredictable.
Yes, one byte change in audio can trigger whole transcription to be different, like the butterfly effect.
Test audio altering filters:
-m large-v3 -l de -v true -condition false --ff_mp3
-m large-v3 -l de -v true -condition false --ff_rnndn_sh
-m large-v3 -l de -v true -condition false --ff_rnndn_xiph
-m large-v3 -l de -v true -condition false --ff_speechnorm
-m large-v3 -l de -v true -condition false --ff_silence_suppress -40 0.3
from whisper-standalone-win.
-m large-v3 -l de -v true -condition false
Processing segment at 00:28.380
[00:28.380 --> 00:45.780] Vielen Dank für die Aufmerksamkeit.
Processing segment at 00:58.380
-m large-v3 -l de -v true -condition false --ff_mp3
Processing segment at 00:23.840
[00:23.840 --> 00:38.640] Das sind Fragen, wie wir in einen politischen Prozess kommen können, an dessen Ende dann eine Zwei-Staaten-Lösung stehen muss, weil wir der Überzeugung sind, dass das der einzige Weg ist, diesen Konflikt, den Nahostkonflikt nachhaltig zu lösen.
Processing segment at 00:38.640
[00:38.640 --> 00:56.440] Das ist der Austausch mit unseren Partnern in der Region, die da eine wichtige Rolle spielen. Das sind unsere Bemühungen, die Geiseln freizubekommen. Insofern machen wir Tag und Nacht nichts anderes, um uns da einzubringen und zu schauen, dass wir vorankommen an konkreten Punkten.
Processing segment at 00:56.440
-m large-v3 -l de -v true -condition false --ff_rnndn_sh
Processing segment at 00:28.400
[00:28.400 --> 00:38.620] Ich glaube, dass es eine große Herausforderung ist, wenn an dessen Ende dann eine Zwei-Staaten-Lösung stehen muss, weil wir der Überzeugung sind, dass das der einzige Weg ist, diesen Konflikt, den Ostkonflikt nachhaltig zu lösen.
[00:39.040 --> 00:45.600] Das ist der Austausch mit unseren Partnern in der Region, die da eine wichtige Rolle spielen. Das sind unsere Bemühungen, die Geiseln frei zu bekommen.
[00:47.620 --> 00:56.460] Insofern machen wir Tag und Nacht nichts anderes, um uns da einzubringen und zu schauen, dass wir vorankommen an konkreten Punkten.
Processing segment at 00:56.460
-m large-v3 -l de -v true -condition false --ff_rnndn_xiph
Processing segment at 00:28.400
[00:28.400 --> 00:38.620] Ich glaube, dass es eine große Herausforderung sein wird, wenn an dessen Ende dann eine Zwei-Staaten-Lösung stehen muss, weil wir der Überzeugung sind, dass das der einzige Weg ist, diesen Konflikt, den Ostkonflikt nachhaltig zu lösen.
[00:39.040 --> 00:45.600] Das ist der Austausch mit unseren Partnern in der Region, die da eine wichtige Rolle spielen. Das sind unsere Bemühungen, die Geiseln frei zu bekommen.
[00:47.600 --> 00:56.460] Insofern machen wir Tag und Nacht nichts anderes, um uns da einzubringen und zu schauen, dass wir vorankommen an konkreten Punkten.
Processing segment at 00:56.460
-m large-v3 -l de -v true -condition false --ff_speechnorm
Processing segment at 00:23.840
[00:23.840 --> 00:38.620] Das sind Fragen, wie wir in einen politischen Prozess kommen können, an dessen Ende dann eine Zwei-Staaten-Lösung stehen muss, weil wir der Überzeugung sind, dass das der einzige Weg ist, diesen Konflikt, den Ostkonflikt nachhaltig zu lösen.
Processing segment at 00:38.620
[00:38.620 --> 00:56.440] Das ist der Austausch mit unseren Partnern in der Region, die da eine wichtige Rolle spielen. Das sind unsere Bemühungen, die Geiseln freizubekommen. Insofern machen wir Tag und Nacht nichts anderes, um uns da einzubringen und zu schauen, dass wir vorankommen an konkreten Punkten.
Processing segment at 00:56.440
-m large-v3 -l de -v true -condition false --ff_silence_suppress -40 0.3
Processing segment at 00:23.840
[00:23.840 --> 00:38.620] Das sind Fragen, wie wir in einen politischen Prozess kommen können, an dessen Ende dann eine Zwei-Staaten-Lösung stehen muss, weil wir der Überzeugung sind, dass das der einzige Weg ist, diesen Konflikt, den Nahostkonflikt nachhaltig zu lösen.
Processing segment at 00:38.620
[00:38.620 --> 00:56.460] Das ist der Austausch mit unseren Partnern in der Region, die da eine wichtige Rolle spielen. Das sind unsere Bemühungen, die Geiseln freizubekommen. Insofern machen wir Tag und Nacht nichts anderes, um uns da einzubringen und zu schauen, dass wir vorankommen an konkreten Punkten.
Processing segment at 00:56.460
So all filters lead to better results than the unfiltered audio. Even though the source file sounds fine to me. Just butterfly effect or an issue with the source audio?
I'm not sure I understand --ff_mp3
. How does that do anything but decrease the audio quality? Is it used because the source material used for training the models often was mp3?
from whisper-standalone-win.
Hallucination?
float16: YES
int8_float16: YES
int8_float32: NO
float32: YES
bfloat16: NO
This really feels like voodoo / butterfly herding. Enough for today. 😉
I'll have to try this again with some other problematic audio files when I'm proofreading the transcripts. Hopefully there'll be some trends which options work better and it's not just random.
from whisper-standalone-win.
Will try and compare again with a bigger file.
from whisper-standalone-win.
Related Issues (20)
- how to make exe HOT 1
- Allow `--highlight_words true` with `--sentence` HOT 6
- Using distil-whisper HOT 5
- Faster-Whisper-XXL test2: Error code 126 HOT 1
- Whisper: Add support for a new model HOT 1
- Errors on DTS audio tracks HOT 6
- Error when running faster whisper r192.3
- a request: Purfview Whisper Live ? HOT 1
- Named Pipes are not recognized HOT 1
- Americans with Disabilities Act (ADA) guidelines, for subtitles HOT 1
- Missing transcript between segments. HOT 24
- Repeated output issue HOT 1
- Is wisper-standalone-win is closed source? HOT 1
- transcription as best as possible HOT 5
- My computer freezes when transcripts process starts HOT 3
- new Whisper old problems HOT 8
- --highlight_words true --max_line_width 43 --max_line_count 2 HOT 17
- How to make the sentence segmentation more precise HOT 1
- cuBLAS dll file takes too much space HOT 1
- Server/online mode to quickly process files on demand while keeping things in memory HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from whisper-standalone-win.