20240127在ubuntu20.04.6下配置whisper

news2024/11/16 5:33:56

20240131在ubuntu20.04.6下配置whisper
2024/1/31 15:48


首先你要有一张NVIDIA的显卡,比如我用的PDD拼多多的二手GTX1080显卡。【并且极其可能是矿卡!】800¥
2、请正确安装好NVIDIA最新的驱动程序和CUDA。可选安装!
3、配置whisper

rootroot@rootroot-X99-Turbo:~$ 
rootroot@rootroot-X99-Turbo:~$ python -m pip install --upgrade pip
【可以不安装conda】
rootroot@rootroot-X99-Turbo:~$ wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
rootroot@rootroot-X99-Turbo:~$ ffmpeg
rootroot@rootroot-X99-Turbo:~$ pip install -U openai-whisper
rootroot@rootroot-X99-Turbo:~$ pip install tiktoken
rootroot@rootroot-X99-Turbo:~$ pip install setuptools-rust
rootroot@rootroot-X99-Turbo:~$ whisper audio.mp3 --model medium --language Chinese
rootroot@rootroot-X99-Turbo:~$ whisper chi.mp4 --model medium --language Chinese
rootroot@rootroot-X99-Turbo:~$ sudo apt-get install ffmpeg
rootroot@rootroot-X99-Turbo:~$ time(whisper chs.mp4 --model medium --language Chinese)

rootroot@rootroot-X99-Turbo:~$ 
rootroot@rootroot-X99-Turbo:~$ 
rootroot@rootroot-X99-Turbo:~$ python -m pip install --upgrade pip
Collecting pip
  Downloading pip-23.3.2-py3-none-any.whl (2.1 MB)
     |████████████████████████████████| 2.1 MB 690 kB/s 
Installing collected packages: pip
Successfully installed pip-23.3.2
rootroot@rootroot-X99-Turbo:~$ 
rootroot@rootroot-X99-Turbo:~$ 
rootroot@rootroot-X99-Turbo:~$ sudo mkdir /opt/tools
rootroot@rootroot-X99-Turbo:~$ cd /opt/tools/
rootroot@rootroot-X99-Turbo:/opt/tools$ 
rootroot@rootroot-X99-Turbo:/opt/tools$ ll
total 8
drwxr-xr-x 2 root root 4096 1月  26 12:21 ./
drwxr-xr-x 4 root root 4096 1月  26 12:21 ../
rootroot@rootroot-X99-Turbo:/opt/tools$ 
rootroot@rootroot-X99-Turbo:/opt/tools$ cd ~
rootroot@rootroot-X99-Turbo:~$ 
rootroot@rootroot-X99-Turbo:~$ 
rootroot@rootroot-X99-Turbo:~$ wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
--2024-01-26 12:22:28--  https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
Resolving repo.anaconda.com (repo.anaconda.com)... 104.16.130.3, 104.16.131.3, 2606:4700::6810:8203, ...
Connecting to repo.anaconda.com (repo.anaconda.com)|104.16.130.3|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 141613749 (135M) [application/octet-stream]
Saving to: ‘Miniconda3-latest-Linux-x86_64.sh’

Miniconda3-latest-Linux-x86_64.sh            100%[=============================================================================================>] 135.05M  2.82MB/s    in 51s     

2024-01-26 12:23:20 (2.65 MB/s) - ‘Miniconda3-latest-Linux-x86_64.sh’ saved [141613749/141613749]

rootroot@rootroot-X99-Turbo:~$ ffmpeg
ffmpeg version 4.2.7-0ubuntu0.1 Copyright (c) 2000-2022 the FFmpeg developers
  built with gcc 9 (Ubuntu 9.4.0-1ubuntu1~20.04.1)
  configuration: --prefix=/usr --extra-version=0ubuntu0.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-nvenc --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
  libavutil      56. 31.100 / 56. 31.100
  libavcodec     58. 54.100 / 58. 54.100
  libavformat    58. 29.100 / 58. 29.100
  libavdevice    58.  8.100 / 58.  8.100
  libavfilter     7. 57.100 /  7. 57.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  5.100 /  5.  5.100
  libswresample   3.  5.100 /  3.  5.100
  libpostproc    55.  5.100 / 55.  5.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

Use -h to get full help or, even better, run 'man ffmpeg'
rootroot@rootroot-X99-Turbo:~$ 
rootroot@rootroot-X99-Turbo:~$ 
rootroot@rootroot-X99-Turbo:~$ 
rootroot@rootroot-X99-Turbo:~$ pip install -U openai-whisper
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: openai-whisper in ./.local/lib/python3.8/site-packages (20231117)
Requirement already satisfied: triton<3,>=2.0.0 in ./.local/lib/python3.8/site-packages (from openai-whisper) (2.2.0)
Requirement already satisfied: numba in ./.local/lib/python3.8/site-packages (from openai-whisper) (0.58.1)
Requirement already satisfied: numpy in ./.local/lib/python3.8/site-packages (from openai-whisper) (1.24.4)
Requirement already satisfied: torch in ./.local/lib/python3.8/site-packages (from openai-whisper) (2.1.2)
Requirement already satisfied: tqdm in ./.local/lib/python3.8/site-packages (from openai-whisper) (4.66.1)
Requirement already satisfied: more-itertools in ./.local/lib/python3.8/site-packages (from openai-whisper) (10.2.0)
Requirement already satisfied: tiktoken in ./.local/lib/python3.8/site-packages (from openai-whisper) (0.5.2)
Requirement already satisfied: filelock in ./.local/lib/python3.8/site-packages (from triton<3,>=2.0.0->openai-whisper) (3.13.1)
Requirement already satisfied: llvmlite<0.42,>=0.41.0dev0 in ./.local/lib/python3.8/site-packages (from numba->openai-whisper) (0.41.1)
Requirement already satisfied: importlib-metadata in ./.local/lib/python3.8/site-packages (from numba->openai-whisper) (7.0.1)
Requirement already satisfied: regex>=2022.1.18 in ./.local/lib/python3.8/site-packages (from tiktoken->openai-whisper) (2023.12.25)
Requirement already satisfied: requests>=2.26.0 in ./.local/lib/python3.8/site-packages (from tiktoken->openai-whisper) (2.31.0)
Requirement already satisfied: typing-extensions in ./.local/lib/python3.8/site-packages (from torch->openai-whisper) (4.9.0)
Requirement already satisfied: sympy in ./.local/lib/python3.8/site-packages (from torch->openai-whisper) (1.12)
Requirement already satisfied: networkx in ./.local/lib/python3.8/site-packages (from torch->openai-whisper) (3.1)
Requirement already satisfied: jinja2 in ./.local/lib/python3.8/site-packages (from torch->openai-whisper) (3.1.3)
Requirement already satisfied: fsspec in ./.local/lib/python3.8/site-packages (from torch->openai-whisper) (2023.12.2)
Requirement already satisfied: nvidia-cuda-nvrtc-cu12==12.1.105 in ./.local/lib/python3.8/site-packages (from torch->openai-whisper) (12.1.105)
Requirement already satisfied: nvidia-cuda-runtime-cu12==12.1.105 in ./.local/lib/python3.8/site-packages (from torch->openai-whisper) (12.1.105)
Requirement already satisfied: nvidia-cuda-cupti-cu12==12.1.105 in ./.local/lib/python3.8/site-packages (from torch->openai-whisper) (12.1.105)
Requirement already satisfied: nvidia-cudnn-cu12==8.9.2.26 in ./.local/lib/python3.8/site-packages (from torch->openai-whisper) (8.9.2.26)
Requirement already satisfied: nvidia-cublas-cu12==12.1.3.1 in ./.local/lib/python3.8/site-packages (from torch->openai-whisper) (12.1.3.1)
Requirement already satisfied: nvidia-cufft-cu12==11.0.2.54 in ./.local/lib/python3.8/site-packages (from torch->openai-whisper) (11.0.2.54)
Requirement already satisfied: nvidia-curand-cu12==10.3.2.106 in ./.local/lib/python3.8/site-packages (from torch->openai-whisper) (10.3.2.106)
Requirement already satisfied: nvidia-cusolver-cu12==11.4.5.107 in ./.local/lib/python3.8/site-packages (from torch->openai-whisper) (11.4.5.107)
Requirement already satisfied: nvidia-cusparse-cu12==12.1.0.106 in ./.local/lib/python3.8/site-packages (from torch->openai-whisper) (12.1.0.106)
Requirement already satisfied: nvidia-nccl-cu12==2.18.1 in ./.local/lib/python3.8/site-packages (from torch->openai-whisper) (2.18.1)
Requirement already satisfied: nvidia-nvtx-cu12==12.1.105 in ./.local/lib/python3.8/site-packages (from torch->openai-whisper) (12.1.105)
Collecting triton<3,>=2.0.0 (from openai-whisper)
  Downloading triton-2.1.0-0-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (1.3 kB)
Requirement already satisfied: nvidia-nvjitlink-cu12 in ./.local/lib/python3.8/site-packages (from nvidia-cusolver-cu12==11.4.5.107->torch->openai-whisper) (12.3.101)
Requirement already satisfied: charset-normalizer<4,>=2 in ./.local/lib/python3.8/site-packages (from requests>=2.26.0->tiktoken->openai-whisper) (3.3.2)
Requirement already satisfied: idna<4,>=2.5 in /usr/lib/python3/dist-packages (from requests>=2.26.0->tiktoken->openai-whisper) (2.8)
Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/lib/python3/dist-packages (from requests>=2.26.0->tiktoken->openai-whisper) (1.25.8)
Requirement already satisfied: certifi>=2017.4.17 in /usr/lib/python3/dist-packages (from requests>=2.26.0->tiktoken->openai-whisper) (2019.11.28)
Requirement already satisfied: zipp>=0.5 in ./.local/lib/python3.8/site-packages (from importlib-metadata->numba->openai-whisper) (3.17.0)
Requirement already satisfied: MarkupSafe>=2.0 in ./.local/lib/python3.8/site-packages (from jinja2->torch->openai-whisper) (2.1.3)
Requirement already satisfied: mpmath>=0.19 in ./.local/lib/python3.8/site-packages (from sympy->torch->openai-whisper) (1.3.0)
Downloading triton-2.1.0-0-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (89.2 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 89.2/89.2 MB 25.9 MB/s eta 0:00:00
Installing collected packages: triton
  Attempting uninstall: triton
    Found existing installation: triton 2.2.0
    Uninstalling triton-2.2.0:
      Successfully uninstalled triton-2.2.0
Successfully installed triton-2.1.0
rootroot@rootroot-X99-Turbo:~$ 
rootroot@rootroot-X99-Turbo:~$ 
rootroot@rootroot-X99-Turbo:~$ 
rootroot@rootroot-X99-Turbo:~$ 
rootroot@rootroot-X99-Turbo:~$ pip install tiktoken
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: tiktoken in ./.local/lib/python3.8/site-packages (0.5.2)
Requirement already satisfied: regex>=2022.1.18 in ./.local/lib/python3.8/site-packages (from tiktoken) (2023.12.25)
Requirement already satisfied: requests>=2.26.0 in ./.local/lib/python3.8/site-packages (from tiktoken) (2.31.0)
Requirement already satisfied: charset-normalizer<4,>=2 in ./.local/lib/python3.8/site-packages (from requests>=2.26.0->tiktoken) (3.3.2)
Requirement already satisfied: idna<4,>=2.5 in /usr/lib/python3/dist-packages (from requests>=2.26.0->tiktoken) (2.8)
Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/lib/python3/dist-packages (from requests>=2.26.0->tiktoken) (1.25.8)
Requirement already satisfied: certifi>=2017.4.17 in /usr/lib/python3/dist-packages (from requests>=2.26.0->tiktoken) (2019.11.28)
rootroot@rootroot-X99-Turbo:~$ 
rootroot@rootroot-X99-Turbo:~$ 
rootroot@rootroot-X99-Turbo:~$ pip install setuptools-rust
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: setuptools-rust in ./.local/lib/python3.8/site-packages (1.8.1)
Requirement already satisfied: setuptools>=62.4 in ./.local/lib/python3.8/site-packages (from setuptools-rust) (69.0.3)
Requirement already satisfied: semantic-version<3,>=2.8.2 in ./.local/lib/python3.8/site-packages (from setuptools-rust) (2.10.0)
Requirement already satisfied: tomli>=1.2.1 in ./.local/lib/python3.8/site-packages (from setuptools-rust) (2.0.1)
rootroot@rootroot-X99-Turbo:~$ sudo apt update && sudo apt install ffmpeg
Get:1 file:/var/cuda-repo-ubuntu2004-12-0-local  InRelease [1,575 B]
Get:2 file:/var/cuda-repo-ubuntu2004-12-3-local  InRelease [1,572 B]
Get:1 file:/var/cuda-repo-ubuntu2004-12-0-local  InRelease [1,575 B]                                                  
Get:2 file:/var/cuda-repo-ubuntu2004-12-3-local  InRelease [1,572 B]                                                  
Hit:3 http://mirrors.tuna.tsinghua.edu.cn/ubuntu focal InRelease                                                                       
Hit:4 http://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-updates InRelease                         
Hit:5 http://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-backports InRelease                       
Hit:6 http://security.ubuntu.com/ubuntu focal-security InRelease               
Hit:7 http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu focal InRelease     
Reading package lists... Done
Building dependency tree       
Reading state information... Done
30 packages can be upgraded. Run 'apt list --upgradable' to see them.
Reading package lists... Done
Building dependency tree       
Reading state information... Done
ffmpeg is already the newest version (7:4.2.7-0ubuntu0.1).
0 upgraded, 0 newly installed, 0 to remove and 30 not upgraded.
rootroot@rootroot-X99-Turbo:~$ 
rootroot@rootroot-X99-Turbo:~$ 
rootroot@rootroot-X99-Turbo:~$ 
rootroot@rootroot-X99-Turbo:~$ 
rootroot@rootroot-X99-Turbo:~$ whisper audio.mp3 --model medium --language Chinese
100%|█████████████████████████████████████| 1.42G/1.42G [03:24<00:00, 7.48MiB/s]
Traceback (most recent call last):
  File "/home/rootroot/.local/lib/python3.8/site-packages/whisper/audio.py", line 58, in load_audio
    out = run(cmd, capture_output=True, check=True).stdout
  File "/usr/lib/python3.8/subprocess.py", line 516, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['ffmpeg', '-nostdin', '-threads', '0', '-i', 'audio.mp3', '-f', 's16le', '-ac', '1', '-acodec', 'pcm_s16le', '-ar', '16000', '-']' returned non-zero exit status 1.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/rootroot/.local/lib/python3.8/site-packages/whisper/transcribe.py", line 478, in cli
    result = transcribe(model, audio_path, temperature=temperature, **args)
  File "/home/rootroot/.local/lib/python3.8/site-packages/whisper/transcribe.py", line 122, in transcribe
    mel = log_mel_spectrogram(audio, model.dims.n_mels, padding=N_SAMPLES)
  File "/home/rootroot/.local/lib/python3.8/site-packages/whisper/audio.py", line 140, in log_mel_spectrogram
    audio = load_audio(audio)
  File "/home/rootroot/.local/lib/python3.8/site-packages/whisper/audio.py", line 60, in load_audio
    raise RuntimeError(f"Failed to load audio: {e.stderr.decode()}") from e
RuntimeError: Failed to load audio: ffmpeg version 4.2.7-0ubuntu0.1 Copyright (c) 2000-2022 the FFmpeg developers
  built with gcc 9 (Ubuntu 9.4.0-1ubuntu1~20.04.1)
  configuration: --prefix=/usr --extra-version=0ubuntu0.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-nvenc --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
  libavutil      56. 31.100 / 56. 31.100
  libavcodec     58. 54.100 / 58. 54.100
  libavformat    58. 29.100 / 58. 29.100
  libavdevice    58.  8.100 / 58.  8.100
  libavfilter     7. 57.100 /  7. 57.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  5.100 /  5.  5.100
  libswresample   3.  5.100 /  3.  5.100
  libpostproc    55.  5.100 / 55.  5.100
audio.mp3: No such file or directory

Skipping audio.mp3 due to RuntimeError: Failed to load audio: ffmpeg version 4.2.7-0ubuntu0.1 Copyright (c) 2000-2022 the FFmpeg developers
  built with gcc 9 (Ubuntu 9.4.0-1ubuntu1~20.04.1)
  configuration: --prefix=/usr --extra-version=0ubuntu0.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-nvenc --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
  libavutil      56. 31.100 / 56. 31.100
  libavcodec     58. 54.100 / 58. 54.100
  libavformat    58. 29.100 / 58. 29.100
  libavdevice    58.  8.100 / 58.  8.100
  libavfilter     7. 57.100 /  7. 57.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  5.100 /  5.  5.100
  libswresample   3.  5.100 /  3.  5.100
  libpostproc    55.  5.100 / 55.  5.100
audio.mp3: No such file or directory

rootroot@rootroot-X99-Turbo:~$ 
rootroot@rootroot-X99-Turbo:~$ 
rootroot@rootroot-X99-Turbo:~$ whisper chi.mp4 --model medium --language Chinese
Traceback (most recent call last):
  File "/home/rootroot/.local/lib/python3.8/site-packages/whisper/audio.py", line 58, in load_audio
    out = run(cmd, capture_output=True, check=True).stdout
  File "/usr/lib/python3.8/subprocess.py", line 516, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['ffmpeg', '-nostdin', '-threads', '0', '-i', 'chi.mp4', '-f', 's16le', '-ac', '1', '-acodec', 'pcm_s16le', '-ar', '16000', '-']' returned non-zero exit status 1.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/rootroot/.local/lib/python3.8/site-packages/whisper/transcribe.py", line 478, in cli
    result = transcribe(model, audio_path, temperature=temperature, **args)
  File "/home/rootroot/.local/lib/python3.8/site-packages/whisper/transcribe.py", line 122, in transcribe
    mel = log_mel_spectrogram(audio, model.dims.n_mels, padding=N_SAMPLES)
  File "/home/rootroot/.local/lib/python3.8/site-packages/whisper/audio.py", line 140, in log_mel_spectrogram
    audio = load_audio(audio)
  File "/home/rootroot/.local/lib/python3.8/site-packages/whisper/audio.py", line 60, in load_audio
    raise RuntimeError(f"Failed to load audio: {e.stderr.decode()}") from e
RuntimeError: Failed to load audio: ffmpeg version 4.2.7-0ubuntu0.1 Copyright (c) 2000-2022 the FFmpeg developers
  built with gcc 9 (Ubuntu 9.4.0-1ubuntu1~20.04.1)
  configuration: --prefix=/usr --extra-version=0ubuntu0.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-nvenc --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
  libavutil      56. 31.100 / 56. 31.100
  libavcodec     58. 54.100 / 58. 54.100
  libavformat    58. 29.100 / 58. 29.100
  libavdevice    58.  8.100 / 58.  8.100
  libavfilter     7. 57.100 /  7. 57.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  5.100 /  5.  5.100
  libswresample   3.  5.100 /  3.  5.100
  libpostproc    55.  5.100 / 55.  5.100
chi.mp4: No such file or directory

Skipping chi.mp4 due to RuntimeError: Failed to load audio: ffmpeg version 4.2.7-0ubuntu0.1 Copyright (c) 2000-2022 the FFmpeg developers
  built with gcc 9 (Ubuntu 9.4.0-1ubuntu1~20.04.1)
  configuration: --prefix=/usr --extra-version=0ubuntu0.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-nvenc --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
  libavutil      56. 31.100 / 56. 31.100
  libavcodec     58. 54.100 / 58. 54.100
  libavformat    58. 29.100 / 58. 29.100
  libavdevice    58.  8.100 / 58.  8.100
  libavfilter     7. 57.100 /  7. 57.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  5.100 /  5.  5.100
  libswresample   3.  5.100 /  3.  5.100
  libpostproc    55.  5.100 / 55.  5.100
chi.mp4: No such file or directory

rootroot@rootroot-X99-Turbo:~$ 
rootroot@rootroot-X99-Turbo:~$ 
rootroot@rootroot-X99-Turbo:~$ sudo apt-get install ffmpeg
Reading package lists... Done
Building dependency tree       
Reading state information... Done
ffmpeg is already the newest version (7:4.2.7-0ubuntu0.1).
0 upgraded, 0 newly installed, 0 to remove and 30 not upgraded.
rootroot@rootroot-X99-Turbo:~$ 
rootroot@rootroot-X99-Turbo:~$ 
rootroot@rootroot-X99-Turbo:~$ ll *.mp4
-rwx------ 1 rootroot rootroot 3465644 1月  12 01:28 chs.mp4*
rootroot@rootroot-X99-Turbo:~$ 
rootroot@rootroot-X99-Turbo:~$ 
rootroot@rootroot-X99-Turbo:~$ whisper chs.mp4 --model medium --language Chinese
[00:00.000 --> 00:01.400] 前段時間有個巨石鴻吼
[00:01.400 --> 00:03.000] 某某是男人最好的衣妹
[00:03.000 --> 00:04.800] 這裡的某某可以替換為減肥
[00:04.800 --> 00:07.800] 長髮 西裝 考研 術唱 永潔無間等等等等
[00:07.800 --> 00:09.200] 我聽到最新的一個說法是
[00:09.200 --> 00:12.000] 微分碎蓋加口罩加半框眼鏡加春風衣
[00:12.000 --> 00:13.400] 等於男人最好的衣妹
[00:13.400 --> 00:14.400] 大概也就前幾年
[00:14.400 --> 00:17.400] 春風衣還和格子襯衫並列為程序員穿搭精華
[00:17.400 --> 00:20.000] 紫紅色春風衣還被譽為廣場舞大媽標配
[00:20.000 --> 00:21.600] 路透牌還是我爹這個年紀的人
[00:21.600 --> 00:22.800] 才會願意買的牌子
[00:22.800 --> 00:24.400] 不知道風向為啥變得這麼快
[00:24.400 --> 00:26.800] 為啥這東西突然變成男生逆襲神器
[00:26.800 --> 00:27.800] 時尚潮流單品
[00:27.800 --> 00:29.400] 後來我翻了一下小紅書就懂了
[00:29.400 --> 00:30.400] 時尚這個時期
[00:30.400 --> 00:31.600] 重點不在於衣服
[00:31.600 --> 00:32.200] 在於人
[00:32.200 --> 00:34.600] 先在小紅書上面和春風衣相關的筆記
[00:34.600 --> 00:36.200] 照片裡的男生都是這樣的
[00:36.200 --> 00:37.000] 這樣的
[00:37.000 --> 00:38.000] 還有這樣的
[00:38.000 --> 00:39.400] 你們哪裡是看穿搭的
[00:39.400 --> 00:40.600] 你們明明是看臉
[00:40.600 --> 00:41.800] 就這個造型 這個年齡
[00:41.800 --> 00:44.000] 你換上老頭衫也能穿出氛圍感好嗎
[00:44.000 --> 00:46.600] 我又想起了當年郭德綱老師穿季凡西的殘劇
[00:46.600 --> 00:48.600] 這個世界對我們這些長得不好看的人
[00:48.600 --> 00:49.600] 還真是苛刻的
[00:49.600 --> 00:52.000] 所以說我總結了一下春風衣傳達的要領
[00:52.200 --> 00:54.400] 大概就是一張白鏡且人畜無憾的臉
[00:54.400 --> 00:55.200] 充足的髮量
[00:55.200 --> 00:56.200] 纖細的體型
[00:56.200 --> 00:58.200] 當然身上的春風衣還得是駱駝的
[00:58.200 --> 00:59.400] 去年在戶外用品界
[00:59.400 --> 01:00.200] 最頂流的
[01:00.200 --> 01:01.200] 既不是鳥橡樹
[01:01.200 --> 01:02.800] 也不是有校服之稱的北面
[01:02.800 --> 01:04.200] 或者老臺頂流哥倫比亞
[01:04.200 --> 01:05.000] 而是駱駝
[01:05.000 --> 01:07.200] 雙11 駱駝在天貓戶外服飾品類
[01:07.200 --> 01:09.000] 拿下銷售額和銷量雙料冠軍
[01:09.000 --> 01:10.200] 銷量達到百萬幾
[01:10.200 --> 01:10.800] 再抖音
[01:10.800 --> 01:13.400] 駱駝銷售同比增幅高達296%
[01:13.400 --> 01:16.200] 旗下主打的三合一高性價比春風衣成為爆品
[01:22.600 --> 01:23.200] 至於線下
[01:23.200 --> 01:24.400] 還是網友總覺得好
[01:24.400 --> 01:26.800] 如今在南方街頭的駱駝比沙漠裡的都多
[01:30.000 --> 01:31.200] 至於駱駝為啥這麼火
[01:31.200 --> 01:32.000] 便宜啊
[01:32.000 --> 01:33.600] 拿賣得最好的丁珍同款
[01:33.600 --> 01:35.600] 幻影黑三合一春風衣舉個例子
[01:35.600 --> 01:36.000] 線下買
[01:36.000 --> 01:37.600] 標牌價格2198
[01:37.600 --> 01:39.200] 但是跑到網上看一下
[01:39.200 --> 01:40.800] 標價就變成了699
[01:40.800 --> 01:41.400] 至於折扣
[01:41.400 --> 01:42.400] 日常也都是有的
[01:42.400 --> 01:43.600] 400出頭就能買到
[01:43.600 --> 01:45.200] 甚至有時候能递到300價
[01:45.200 --> 01:46.200] 要是你還嫌貴
[01:46.200 --> 01:48.400] 駱駝還有200塊出頭的單層春風衣
[01:48.400 --> 01:49.200] 就這個價格
[01:49.200 --> 01:51.800] 哥上海恐怕還不夠兩次City Walk的報名費
[01:51.800 --> 01:52.600] 看來這個價格
[01:52.600 --> 01:54.800] 再對比一下北面1000塊錢起步
[01:54.800 --> 01:56.000] 你就能理解為啥北面
[01:56.000 --> 01:58.200] 這麼快就被大學生踢出了校服序列了
[01:58.200 --> 02:00.400] 我不知道現在大學生每個月生活費多少
[02:00.400 --> 02:02.200] 反正按照我上學時候的生活費
[02:02.200 --> 02:03.200] 一個月不吃不喝
[02:03.200 --> 02:05.000] 也就買得起倆袖子加一個帽子
[02:05.000 --> 02:06.400] 難怪當年全是假北面
[02:06.400 --> 02:07.400] 現在都是真駱駝
[02:07.400 --> 02:08.800] 至少人家是正品啊
[02:08.800 --> 02:10.000] 我翻了一下社交媒體
[02:10.000 --> 02:11.200] 發現對駱駝的吐槽
[02:11.200 --> 02:12.000] 和買了駱駝的
[02:12.000 --> 02:13.400] 基本上是1比1的比例
[02:13.400 --> 02:15.000] 吐槽最多的就是衣服會掉色
[02:15.000 --> 02:15.800] 還會串色
[02:15.800 --> 02:17.000] 比如圖層洗個幾次
[02:17.000 --> 02:18.200] 穿個兩天就掉光了
[02:18.200 --> 02:19.600] 比如不同倉庫發的貨
[02:19.600 --> 02:20.600] 質量參差不齊
[02:20.600 --> 02:21.600] 買衣服還得看戶口
[02:21.600 --> 02:22.400] 聽出聲
[02:22.400 --> 02:23.600] 至於什麼做工比較差
[02:23.600 --> 02:24.800] 內膽多 走線操
[02:24.800 --> 02:26.400] 不防水之類的就更多了
[02:26.400 --> 02:27.400] 但是這些吐槽
[02:27.400 --> 02:29.200] 並不意味著會影響駱駝的銷量
[02:29.200 --> 02:30.800] 甚至還會有不少自來水表示
[02:30.800 --> 02:32.600] 就這價格要啥子行車啊
[02:32.600 --> 02:34.000] 所謂性價比性價比
[02:34.000 --> 02:35.200] 脫離價位談性能
[02:35.200 --> 02:37.000] 這就不符合消費者的需求嘛
[02:37.000 --> 02:38.400] 無數次價格戰告訴我們
[02:38.400 --> 02:39.400] 只要肯降價
[02:39.400 --> 02:41.000] 就沒有賣不出去的產品
[02:41.000 --> 02:42.400] 一件衝鋒衣1000多
[02:42.400 --> 02:43.600] 你覺得平平無奇
[02:43.600 --> 02:45.000] 500多你覺得差點意思
[02:45.000 --> 02:46.400] 200塊你就秒下單了
[02:46.400 --> 02:47.000] 到99
[02:47.000 --> 02:48.400] 恐怕就要拼點手速了
[02:48.400 --> 02:49.600] 像衝鋒衣這個品類
[02:49.600 --> 02:50.800] 本來價格跨度就大
[02:50.800 --> 02:52.800] 北面最便宜的GORTEX衝鋒衣
[02:52.800 --> 02:53.800] 價格3000起步
[02:53.800 --> 02:55.200] 大概是同品牌最便宜
[02:55.200 --> 02:56.200] 衝鋒衣的三倍價格
[02:56.200 --> 02:57.200] 至於十足那樣
[02:57.200 --> 02:59.000] 搭載了GORTEX的硬殼起步價
[02:59.000 --> 03:00.000] 就要到4500
[03:00.000 --> 03:01.200] 而且同樣是GORTEX
[03:01.200 --> 03:02.800] 內部也有不同的系列和檔次
[03:02.800 --> 03:03.600] 做成衣服
[03:03.600 --> 03:05.600] 中間的差價恐怕就夠買兩件駱駝了
[03:05.600 --> 03:06.600] 至於智能控溫
[03:06.600 --> 03:07.400] 防水拉鍊
[03:07.400 --> 03:08.000] 全壓膠
[03:08.000 --> 03:09.800] 更加不可能出現在駱駝這裡了
[03:09.800 --> 03:11.800] 至少不會是300 400的駱駝身上會有的
[03:11.800 --> 03:12.800] 有的價外的衣服
[03:12.800 --> 03:14.200] 買的就是一個放棄幻想
[03:14.200 --> 03:15.800] 吃到肚子裡的科技魚很活
[03:15.800 --> 03:17.000] 是能給你省錢的
[03:17.000 --> 03:18.400] 穿在身上的科技魚很活
[03:18.400 --> 03:20.000] 裝裝件件都是要加錢的
[03:20.000 --> 03:21.600] 所以正如羅曼羅蘭所說
[03:21.600 --> 03:23.200] 這世界上只有一種英雄主義
[03:23.200 --> 03:24.800] 就是在認清了駱駝的本質以後
[03:24.800 --> 03:26.000] 依然選擇買駱駝
[03:26.000 --> 03:27.000] 關於駱駝的火爆
[03:27.000 --> 03:28.200] 我有一些小小的看法
[03:28.200 --> 03:29.000] 駱駝這個東西
[03:29.000 --> 03:30.400] 它其實就是個潮牌
[03:30.400 --> 03:32.000] 看看它的營銷方式就知道了
[03:32.000 --> 03:33.000] 現在打開小黃書
[03:33.000 --> 03:35.000] 日常可以看到駱駝穿搭是這樣的
[03:35.000 --> 03:36.600] 加一點氛圍感是這樣的
[03:36.600 --> 03:37.400] 對比一下
[03:37.400 --> 03:39.000] 其他品牌的風格是這樣的
[03:39.000 --> 03:39.800] 這樣的
[03:39.800 --> 03:41.200] 其實對比一下就知道了
[03:41.200 --> 03:42.600] 其他品牌突出一個時程
[03:42.600 --> 03:44.200] 能防風就一定要講防風
[03:44.200 --> 03:46.000] 能扛動就一定要講扛動
[03:46.000 --> 03:47.400] 但駱駝在營銷的時候
[03:47.400 --> 03:49.200] 主打的就是一個城市戶外風
[03:49.200 --> 03:50.400] 雖然造型是春風衣
[03:50.400 --> 03:52.200] 但場景往往是在城市裡
[03:52.200 --> 03:54.200] 哪怕在野外也要突出一個風和日麗
[03:54.200 --> 03:55.000] 陽光美媚
[03:55.000 --> 03:56.400] 至少不會在明顯的嚴寒
[03:56.400 --> 03:58.000] 高海拔或是惡劣氣候下
[03:58.200 --> 04:00.200] 如果用一個詞形容駱駝的營銷風格
[04:00.200 --> 04:01.000] 那就是清洗
[04:01.000 --> 04:03.000] 或者說他很理解自己的消費者是誰
[04:03.000 --> 04:04.000] 需要什麼產品
[04:04.000 --> 04:05.200] 從使用場景來說
[04:05.200 --> 04:06.600] 駱駝的消費者買春風衣
[04:06.600 --> 04:08.800] 不是真的有什麼大風大雨要去應對
[04:08.800 --> 04:11.000] 春風衣的作用是下雨沒帶傘的時候
[04:11.000 --> 04:12.000] 臨時頂個幾分鐘
[04:12.000 --> 04:13.600] 讓你能圖書館跑回宿舍
[04:13.600 --> 04:15.000] 或者是冬天騎電動車
[04:15.000 --> 04:16.200] 被風吹得不行的時候
[04:16.200 --> 04:17.200] 稍微扛一下風
[04:17.200 --> 04:18.400] 不至於體感太冷
[04:18.400 --> 04:19.800] 當然他們也會出門
[04:19.800 --> 04:21.800] 但大部分時候也都是去別的城市
[04:21.800 --> 04:24.000] 或者在城市周邊搞搞簡單的徒步
[04:24.000 --> 04:26.000] 這種情況下穿個駱駝已經夠了
[04:26.000 --> 04:27.200] 從購買動機來說
[04:27.200 --> 04:29.200] 駱駝就更沒有必要上那些應回科技了
[04:29.200 --> 04:31.000] 消費者買駱駝買的是個什麼呢
[04:31.000 --> 04:32.200] 不是春風衣的功能性
[04:32.200 --> 04:33.400] 而是春風衣的造型
[04:33.400 --> 04:34.400] 寬鬆的版型
[04:34.400 --> 04:36.400] 能精準遮住微微隆起的小肚子
[04:36.400 --> 04:37.400] 棱角分明的質感
[04:37.400 --> 04:39.400] 能隱藏一切不完美的身體線條
[04:39.400 --> 04:41.400] 顯瘦的副作用就是顯年輕
[04:41.400 --> 04:42.600] 再配上一條牛仔褲
[04:42.600 --> 04:43.800] 配上一雙大黃靴
[04:43.800 --> 04:45.200] 大學生的氣質就出來了
[04:45.200 --> 04:46.200] 要是自拍的時候
[04:46.200 --> 04:47.800] 再配上大學宿舍洗素臺
[04:47.800 --> 04:49.200] 那永遠擦不乾淨的鏡子
[04:49.200 --> 04:50.600] 瞬間青春無敵了
[04:50.800 --> 04:51.800] 說的更直白一點
[04:51.800 --> 04:53.200] 人家買的是個簡靈神器
[04:53.200 --> 04:53.800] 所以說
[04:53.800 --> 04:56.000] 吐槽穿駱駝都是假戶外愛好者的人
[04:56.000 --> 04:57.600] 其實並沒有理解駱駝的定位
[04:57.600 --> 04:59.800] 駱駝其實是給了想要入門山系穿搭
[04:59.800 --> 05:01.800] 想要追逐流行的人一個最平價
[05:01.800 --> 05:03.000] 決策成本最低的選擇
[05:03.000 --> 05:04.800] 至於那些真正的硬核戶外愛好者
[05:04.800 --> 05:05.800] 駱駝既沒有能力
[05:05.800 --> 05:07.200] 也沒有打算觸打他們
[05:07.200 --> 05:08.000] 反過來說
[05:08.000 --> 05:09.600] 那些自駕穿越邊疆國道
[05:09.600 --> 05:11.800] 或者去奧爾卑斯山區登山探險的人
[05:11.800 --> 05:13.600] 也不太可能在戶外服飾上省錢
[05:13.600 --> 05:15.000] 畢竟光是交通住宿
[05:15.400 --> 05:16.400] 成本就不低了
[05:16.400 --> 05:17.200] 對他們來說
[05:17.200 --> 05:19.000] 戶外裝備很多時候是保命用的
[05:19.000 --> 05:21.000] 也就不存在跟風奧造型的必要了
[05:21.000 --> 05:22.200] 最後我再說個題外話
[05:22.200 --> 05:24.200] 年輕人追捧駱駝一個隱藏的原因
[05:24.200 --> 05:25.800] 其實是羽絨服越來越貴了
[05:25.800 --> 05:26.600] 有媒體統計
[05:26.600 --> 05:30.000] 現在國產羽絨服的平均售價已經高達881元
[05:30.000 --> 05:32.000] 波斯登均價最高接近2000元
[05:32.000 --> 05:32.800] 而且過去幾年
[05:32.800 --> 05:34.800] 國產羽絨服品牌都在轉向高端化
[05:34.800 --> 05:37.000] 羽絨服市場分為8000元以上的奢侈級
[05:37.000 --> 05:38.400] 2000元以下的大眾級
[05:38.400 --> 05:39.800] 而在中間的高端級
[05:39.800 --> 05:41.200] 國產品牌一直沒有存在感
[05:41.200 --> 05:42.200] 所以過去幾年
[05:42.200 --> 05:43.600] 波斯登天工人這些品牌
[05:43.600 --> 05:45.200] 都把2000元到8000元這個市場
[05:45.200 --> 05:46.600] 當成未來的發展趨勢
[05:46.600 --> 05:48.000] 東新證券研報顯示
[05:48.000 --> 05:49.600] 從2018到2021年
[05:49.600 --> 05:52.200] 波斯登均價4年漲幅達到60%以上
[05:52.200 --> 05:53.200] 過去5個菜年
[05:53.200 --> 05:55.000] 這個品牌的營銷開支從20多億
[05:55.000 --> 05:56.000] 漲到了60多億
[05:56.000 --> 05:57.200] 羽絨服價格往上走
[05:57.200 --> 05:59.200] 年輕消費者就開始拋棄羽絨服
[05:59.200 --> 06:00.400] 購買平價衝鋒衣
[06:00.400 --> 06:02.200] 裡面再穿個普通價外的瑤麗絨
[06:02.200 --> 06:03.400] 或者羽絨小夾克
[06:03.400 --> 06:05.200] 也不比大幾千的羽絨服差多少
[06:05.200 --> 06:05.800] 說到底
[06:05.800 --> 06:07.000] 現在消費社會發達了
[06:07.000 --> 06:08.000] 沒有什麼需求是
[06:08.000 --> 06:09.600] 一定要某種特定的解決方案
[06:09.600 --> 06:11.600] 特定價位的商品才能實現的
[06:11.600 --> 06:12.200] 要保暖
[06:12.200 --> 06:13.200] 羽絨服固然很好
[06:13.200 --> 06:15.200] 但衝鋒衣加一些內搭也很暖和
[06:15.200 --> 06:16.000] 要時尚
[06:16.000 --> 06:18.000] 大幾千塊錢的設計師品牌非常不錯
[06:18.000 --> 06:19.400] 但350的拼多多服飾
[06:19.400 --> 06:20.600] 搭得好也能出彩
[06:20.600 --> 06:21.600] 要去野外徒步
[06:21.600 --> 06:23.000] 花五六千買鳥也可以
[06:23.000 --> 06:25.200] 但迪卡農也足以應付大多數狀況
[06:25.200 --> 06:25.800] 所以說
[06:25.800 --> 06:27.600] 花高價買衝鋒衣當然也OK
[06:27.600 --> 06:28.600] 三四百買件駱駝
[06:28.600 --> 06:29.800] 也是可以接受的選擇
[06:29.800 --> 06:32.000] 何況駱駝也多多少少有一些功能性
[06:32.000 --> 06:33.800] 畢竟它再怎麼樣還是個衝鋒衣
[06:33.800 --> 06:34.800] 理解了這個事情
[06:34.800 --> 06:36.800] 就很容易分辨什麼是智商稅的
[06:36.800 --> 06:38.800] 那些向你灌輸非某個品牌不用
[06:38.800 --> 06:39.800] 告訴你某個需求
[06:39.800 --> 06:41.400] 只有某個產品才能滿足
[06:41.400 --> 06:42.200] 某個品牌
[06:42.200 --> 06:44.400] 就是某個品牌絕對的比試鏈頂端
[06:44.400 --> 06:46.800] 這類銀銷的智商稅含量必然是很高的
[06:46.800 --> 06:48.800] 它的目的是剝奪你選擇的權利
[06:48.800 --> 06:51.200] 讓你主動放棄比價和尋找平梯的想法
[06:51.200 --> 06:53.000] 從而避免與其他品牌競爭
[06:53.000 --> 06:54.200] 而沒有競爭的市場
[06:54.200 --> 06:56.200] 才是智商稅含量最高的市場
[06:56.200 --> 06:57.400] 消費商業洞穴
[06:57.400 --> 06:58.400] 禁在IC實驗室
[06:58.400 --> 06:59.000] 我是館長
[06:59.000 --> 07:00.000] 我們下期再見
rootroot@rootroot-X99-Turbo:~$ 
rootroot@rootroot-X99-Turbo:~$ 
rootroot@rootroot-X99-Turbo:~$ time(whisper chs.mp4 --model medium --language Chinese)

https://www.toutiao.com/article/7189209812264075835/?app=news_article&timestamp=1706203570&use_new_style=1&req_id=20240126012609901ACEF7F5666533AA21&group_id=7189209812264075835&tt_from=mobile_qq&utm_source=mobile_qq&utm_medium=toutiao_android&utm_campaign=client_share&share_token=5e0cda89-00c5-40fe-afa0-c3c88dd056c4&source=m_redirect
已达到人类水准语音识别模型的whisper,真的有这么厉害吗?

transcribe函数的language目前支持99种语言,如下:

"en": "english","zh": "chinese",
"de": "german","es": "spanish",
"ru": "russian","ko": "korean",
"fr": "french","ja": "japanese",
"pt": "portuguese","tr": "turkish",
"pl": "polish","ca": "catalan",
"nl": "dutch","ar": "arabic",
"sv": "swedish","it": "italian",
"id": "indonesian","hi": "hindi",
"fi": "finnish","vi": "vietnamese",
"he": "hebrew","uk": "ukrainian",
"el": "greek","ms": "malay",
"cs": "czech","ro": "romanian",
"da": "danish","hu": "hungarian",
"ta": "tamil","no": "norwegian",
"th": "thai","ur": "urdu",
"hr": "croatian","bg": "bulgarian",
"lt": "lithuanian","la": "latin",
"mi": "maori","ml": "malayalam",
"cy": "welsh","sk": "slovak",
"te": "telugu","fa": "persian",
"lv": "latvian","bn": "bengali",
"sr": "serbian","az": "azerbaijani",
"sl": "slovenian","kn": "kannada",
"et": "estonian","mk": "macedonian",
"br": "breton","eu": "basque",
"is": "icelandic","hy": "armenian",
"ne": "nepali","mn": "mongolian",
"bs": "bosnian","kk": "kazakh",
"sq": "albanian","sw": "swahili",
"gl": "galician","mr": "marathi",
"pa": "punjabi","si": "sinhala",
"km": "khmer","sn": "shona",
"yo": "yoruba","so": "somali",
"af": "afrikaans","oc": "occitan",
"ka": "georgian","be": "belarusian",
"tg": "tajik","sd": "sindhi",
"gu": "gujarati","am": "amharic",
"yi": "yiddish","lo": "lao",
"uz": "uzbek","fo": "faroese",
"ht": "haitian creole","ps": "pashto",
"tk": "turkmen","nn": "nynorsk",
"mt": "maltese","sa": "sanskrit",
"lb": "luxembourgish","my": "myanmar",
"bo": "tibetan","tl": "tagalog",
"mg": "malagasy","as": "assamese",
"tt": "tatar","haw": "hawaiian",
"ln": "lingala","ha": "hausa",
"ba": "bashkir","jw": "javanese","su": "sundanese",
官方还提供了另外一种调用方案:

import whisper
model = whisper.load_model("base")
# load audio and pad/trim it to fit 30 seconds
audio = whisper.load_audio("audio.mp3")
audio = whisper.pad_or_trim(audio)
# make log-Mel spectrogram and move to the same device as the model
mel = whisper.log_mel_spectrogram(audio).to(model.device)
# detect the spoken language
_, probs = model.detect_language(mel)
print(f"Detected language: {max(probs, key=probs.get)}")
# decode the audio
options = whisper.DecodingOptions(language='Chinese')
result = whisper.decode(model, mel, options)
# print the recognized text
print(result.text)

参考资料:
https://www.toutiao.com/article/7229151806801248807/?app=news_article&timestamp=1706203733&use_new_style=1&req_id=20240126012853D9D3D4539BEF1333DBCC&group_id=7229151806801248807&tt_from=mobile_qq&utm_source=mobile_qq&utm_medium=toutiao_android&utm_campaign=client_share&share_token=085ce76c-b23a-4609-b2d0-d18c8d7ab8f8&source=m_redirect
C++版本人工智能实时语音转文字(字幕/语音识别)Whisper.cpp实践


【WINDOWS,大模型需要10GB】
https://blog.csdn.net/hhy321/article/details/134897967?spm=1001.2101.3001.6650.2&utm_medium=distribute.wap_relevant.none-task-blog-2~default~CTRLIST~Rate-2-134897967-blog-130001848.237%5Ev3%5Ewap_relevant_t0_download&depth_1-utm_source=distribute.wap_relevant.none-task-blog-2~default~CTRLIST~Rate-2-134897967-blog-130001848.237%5Ev3%5Ewap_relevant_t0_download&share_token=845e69c5-c625-4834-8faa-08f1f29f55b2
【小沐学Python】Python实现语音识别(Whisper)


https://blog.csdn.net/xkukeer/article/details/130227944?share_token=f48bfb40-9399-4375-894e-3ecf96d1c51d
openai的whisper语音识别介绍

第三步,选择使用的模型。
官方说有5种模型,其中4种是English-only模型,但是实测english-only也可以支持中文(只测了base可以支持中文,其他的没测但应该也可以)
虽说支持中文,但是也有不理想的地方,中文的识别错误率(WER (Word Error Rate))还不低,在所有支持语言的大概排中游水平。

第四步,具体使用
有好几种方法:
1、命令行模式
whisper audio.flac audio.mp3 audio.wav --model medium

对于非英文语言,加上–language参数,例如日语
whisper japanese.wav --language Japanese

支持的语言类型还挺多的


【WINDOWS】
https://blog.csdn.net/liaoqingjian/article/details/132474687?share_token=e6ad6f74-2fab-45c5-bdb5-40b48fe2cd79
whisper 语音识别项目部署


https://www.toutiao.com/article/7327918175801164325/?app=news_article&timestamp=1706203446&use_new_style=1&req_id=202401260124058D2D3B0452AC9B3435B3&group_id=7327918175801164325&tt_from=mobile_qq&utm_source=mobile_qq&utm_medium=toutiao_android&utm_campaign=client_share&share_token=ad4cdc74-1590-4a7b-b020-14f9186f9ef2&source=m_redirect
Whisper对于中文语音识别与转写中文文本优化的实践(Python3.10)


【WINDOWS】
https://www.toutiao.com/article/7276749520275456572/?app=news_article&timestamp=1706203504&use_new_style=1&req_id=2024012601250342BCD0F3D434AA335380&group_id=7276749520275456572&tt_from=mobile_qq&utm_source=mobile_qq&utm_medium=toutiao_android&utm_campaign=client_share&share_token=5bc13cbe-db1d-4883-bff4-b01f258dd1c2&source=m_redirect
语音转文字软件Whisper,实时自动语音识别,音频视频文案提取


 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1423880.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Windows Server 2003 DNS服务器搭建

系列文章目录 目录 系列文章目录 文章目录 前言 一、DNS服务器是什么&#xff1f; 二、配置服务器 1.实验环境搭建 2.服务器搭建 3)安装Web服务器和DNS服务器 4)查看安装是否成功 5)这里直接配置DNS服务器了,Web服务器如何配置我已经发布过了 文章目录 Windows Serve…

(已解决)Properties和Yaml格式互转

工具转换&#xff1a; 推荐转换工具或者下载idea插件yamls yml&#xff0c;properties互转工具&#xff1a;yaml和proper互转工具 插件转换&#xff1a; 下载yaml插件&#xff0c;对需要转换的文件右键选择转换

林浩然与他的“圆”满人生

林浩然与他的“圆”满人生 Lin Haoran and His “Round” Life of Fulfillment 在那遥远的数学王国&#xff0c;有一个名叫林浩然的小哥&#xff0c;他可不是一般的程序员&#xff0c;而是个痴迷于几何之美、生活之趣的大玩家。话说有一天&#xff0c;林浩然正沉浸在毕达哥拉斯…

4秒读取50w行Excel数据

4秒读取50w行Excel数据 文章比较了几种常用的读取Excel的方法&#xff0c;最终发现rust库Calamine的速度最快&#xff0c;可以在4秒内读取50w行excel数据。 原文&#xff1a;Fastest Way to Read Excel in Python&#xff1a;https://hakibenita.com/fast-excel-python 我们在…

【FFmpeg】ffplay 命令行参数 ① ( 设置播放分辨率 | 禁用 音频 / 视频 / 字幕 选项 )

文章目录 一、ffplay 命令行参数 - 设置播放分辨率1、强制设置通用播放分辨率 -x -y 参数2、命令行示例 - 正常播放视频3、命令行示例 - 强制设置播放分辨率4、设置 YUV 播放分辨率 -video_size 和 像素设置 -pixel_format5、全屏播放 -fs 参数 二、ffplay 命令行参数 - 禁用 音…

ElementUI 组件:Container 布局容器

ElementUI安装与使用指南 Container 布局容器 点击下载learnelementuispringboot项目源码 效果图 el-container.vue页面效果图 项目里el-container.vue代码 <script> import PagePath from "/components/PagePath.vue";export default {name: el_conta…

离线使用Element UI和Vue

需要依赖如下&#xff1a; 1.vue.js; 2.index.js(Element UI) 3.index.css(Element UI) 4.element-icons.ttf(Element UI字体) 5.element-icons.woff(Element UI图标) 下载链接如下&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1nGOi0Vm_xExRGmVp6oVLoA 提取…

(自用)learnOpenGL学习总结-高级OpenGL-帧缓冲Framebuffers

我们在之前使用了很多缓冲了&#xff1a;颜色缓冲、深度缓冲、模板缓冲。这些缓冲结合起来叫做帧缓冲&#xff0c; 其实也能从名字理解&#xff0c;每一帧屏幕都需要不断更新画面&#xff0c;对应的缓冲也需要更新。 不过上面这些都是在默认的缓冲里面做的&#xff0c;现在我…

【ARM Trace32(劳特巴赫) 使用介绍 3.1 -- 不 attach core 直接访问 memory】

文章目录 背景介绍背景介绍 在使用 trace32 时在有些场景需要不 attach core 然后去读写 memory,比如在某些情况下 core 已经挂死连接不上了,这个时候需要dump内存,这个时候需要怎做呢? print "test for memory access directly";SYStem.OPTION WAITRESET OF…

【Java 数据结构】优先级队列(堆)

优先级队列&#xff08;堆&#xff09; 1. 优先级队列1.1 概念 2. 优先级队列的模拟实现2.1 堆的概念2.2 堆的存储方式2.3 堆的创建2.3.1 堆向下调整2.3.2 堆的创建2.3.3 建堆的时间复杂度 2.4 堆的插入与删除2.4.1 堆的插入2.4.2 堆的删除 2.5 用堆模拟实现优先级队列 3.常用…

streampark+flink一键整库或多表同步mysql到doris实战

streamparkflink一键整库或多表同步mysql到doris实战&#xff0c;此应用一旦推广起来&#xff0c;那么数据实时异构时&#xff0c;不仅可以减少对数据库的查询压力&#xff0c;还可以减少数据同步时的至少50%的成本&#xff0c;还可以减少30%的存储成本&#xff1b; streampar…

win11安装wsl作为linux子系统并当作服务器

wsl安装 打开控制面板&#xff0c;找到启用或关闭windows功能 开启windows虚拟机监控平台和适用于Linux的Windows子系统&#xff0c;重启电脑。 打开microsoft store搜索ubuntu&#xff0c;找到合适的版本下载安装 输入wsl -l如下所示&#xff0c;即为安装成功。 安装过程比较…

WebAssembly核心编程[1]:wasm模块实例化的N种方式

当我们在一个Web应用中使用WebAssembly&#xff0c;最终的目的要么是执行wasm模块的入口程序&#xff08;通过start指令指定的函数&#xff09;&#xff0c;要么是调用其导出的函数&#xff0c;这一切的前提需要创建一个通过WebAssembly.Instance对象表示的wasm模块实例(源代码…

京东广告算法架构体系建设--高性能计算方案最佳实践 | 京东零售广告技术团队

1、前言 推荐领域算法模型的在线推理是一个对高并发、高实时有较强要求的场景。算法最初是基于Wide & Deep相对简单的网络结构进行建模&#xff0c;容易满足高实时、高并发的推理性能要求。但随着广告模型效果优化进入深水区&#xff0c;基于Transformer用户行为序列和Att…

springboot137欢迪迈手机商城设计与开发

简介 【毕设源码推荐 javaweb 项目】基于springbootvue 的 适用于计算机类毕业设计&#xff0c;课程设计参考与学习用途。仅供学习参考&#xff0c; 不得用于商业或者非法用途&#xff0c;否则&#xff0c;一切后果请用户自负。 看运行截图看 第五章 第四章 获取资料方式 **项…

HBase介绍

一、HBase简介 1.1、HBase是什么 Google在200-2006发表了GFS、MapReduce、BigTable三篇 论文 &#xff0c;号称“三驾马车”&#xff0c;开启了大数据的时代。 GFS是Google File System&#xff0c;开源实现是HDFS&#xff08;Hadoop File System&#xff09;。 MapReduce…

全流程机器视觉工程开发(三)任务前瞻 - 从opencv的安装编译说起,到图像增强和分割

前言 最近开始做这个裂缝识别的任务了&#xff0c;大大小小的问题我已经摸得差不多了&#xff0c;然后关于识别任务和分割任务我现在也弄的差不多了。 现在开始做正式的业务&#xff0c;也就是我们说的裂缝识别的任务。作为前言&#xff0c;先来说说场景&#xff1a; 现在相…

初识webpack(一)概念、入口配置、输出配置、loader等

目录 (一)概念 webpack的依赖图 (二)webpack的基本使用 (三)webpack的配置文件 1.入口(entry)配置 2.输出(output)配置 (三)loader 1.css文件处理 (1)安装css-loader和style-loader (2)在webpack.config.js中配置loader 2.less文件处理 3.postcss的使用 (1)安装…

相片修复框架-GFPGAN

一 GFPGAN 介绍 GFPGAN 是一个由腾讯 ARC 团队开发的用于人脸图像生成和优化的 GAN 模型。在github可以找到开源的代码&#xff0c;它由两个主要模块组成&#xff1a; 退化移除模块 (U-Net)&#xff1a;用于从低分辨率、低质量的人脸图像中恢复出高质量的人脸图像。 生成式脸部…

软件工程知识梳理6-运行和维护

软件维护需要的工作量很大&#xff0c;大型软件的维护成本高达开发成本的4倍左右。所以&#xff0c;软件工程的主要目的就是要提高软件的可维护性&#xff0c;减少软件维护所需要的工作量&#xff0c;降低软件系统的总成本。 定义&#xff1a;软件已经交付使用之后&#xff0c;…