最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#實(shí)現(xiàn)中文錄音文件轉(zhuǎn)為文本文字

 更新時(shí)間:2024年12月26日 10:29:31   作者:洱海之月  
這篇文章主要為大家詳細(xì)介紹了C#如何實(shí)現(xiàn)把中文錄音文件(.mp3 .wav)轉(zhuǎn)為文本文字內(nèi)容,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以參考下

我們有一個(gè)中文錄音文件.mp3格式或者是.wav格式,如果我們想要提取錄音文件中的文字內(nèi)容,我們可以采用以下方法,不需要使用Azure Speech API 密鑰注冊(cè)通過(guò)離線的方式實(shí)現(xiàn)。

1.首先我們先在NuGet中下載兩個(gè)包 NAudio 2.2.1、Whisper.net 1.7.3

2.另外我們還需要從Hugging Face網(wǎng)址中下載一個(gè) ggml-medium.bin 文件

3. 代碼部分,由于我們Whisper模型只支持16KHz的語(yǔ)音文件

所以我們要把不同音頻格式的文件統(tǒng)一轉(zhuǎn)為16000Hz的音頻數(shù)據(jù)文件,如下是具體代碼:

using NAudio.Wave;
using System;
 
public class AudioResampler
{
    public static void ConvertTo16kHz(string inputFile, string outputFile)
    {
        // 打開(kāi)原始音頻文件
        using (var reader = new WaveFileReader(inputFile))
        {
            // 創(chuàng)建目標(biāo)音頻格式 16kHz,單聲道,16位
            var targetFormat = new WaveFormat(16000, 1); // 16000Hz, Mono, 16-bit
 
            // 創(chuàng)建轉(zhuǎn)換流,使用 WaveFormatConversionStream 進(jìn)行重采樣
            using (var conversionStream = new WaveFormatConversionStream(targetFormat, reader))
            {
                // 將轉(zhuǎn)換后的音頻數(shù)據(jù)寫(xiě)入新文件
                WaveFileWriter.CreateWaveFile(outputFile, conversionStream);
                Console.WriteLine("文件已轉(zhuǎn)換為 16kHz 格式");
            }
        }
    }
}
 
// 使用示例
class Program
{
    static void Main(string[] args)
    {
        string inputFile = @"path_to_input_file.wav";  // 輸入文件路徑
        string outputFile = @"path_to_output_file_16kHz.wav";  // 輸出文件路徑
        AudioResampler.ConvertTo16kHz(inputFile, outputFile);
    }
}

4.接下來(lái)是詳細(xì)的具體代碼

public async Task Analyze()
{
    //模型
    string modelFilePath = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "ggml-medium-q8_0.bin");
    // 初始化Whisper工廠和處理器
    var whisperFactory = WhisperFactory.FromPath(modelFilePath);
    var processor = whisperFactory.CreateBuilder()
        .WithLanguage("zh") // 設(shè)置識(shí)別的語(yǔ)言為中文
        .Build();
    try
    {
        string audioFileName = "path_to_output_file_16kHz.wav";
        string audioFilePath = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, audioFileName);
        // 讀取音頻文件
        using var audioStream = File.OpenRead(audioFilePath);
 
        // 處理音頻文件并輸出結(jié)果
        Console.WriteLine("Transcribing audio file...");
 
        await foreach (SegmentData result in processor.ProcessAsync(audioStream, default))
        {
            Console.WriteLine($"{result.Start}->{result.End}: {result.Text}");
        }
    }
    catch (Exception ex)
    {
        Console.WriteLine($"An error occurred: {ex.Message}");
    }
    Console.WriteLine("Press any key to exit...");
}

其中需要注意的是 ggml-medium-q8_0.bin文件的絕對(duì)路徑,此文件的獲取方式上述已說(shuō)明。

string modelFilePath = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "ggml-medium-q8_0.bin");

到此這篇關(guān)于C#實(shí)現(xiàn)中文錄音文件轉(zhuǎn)為文本文字的文章就介紹到這了,更多相關(guān)C#錄音轉(zhuǎn)文本內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C#計(jì)算汽車(chē)行駛方向的方法分析

    C#計(jì)算汽車(chē)行駛方向的方法分析

    這篇文章主要介紹了C#計(jì)算汽車(chē)行駛方向的方法,結(jié)合實(shí)例形式分析了C#數(shù)值計(jì)算的原理與相關(guān)技巧,需要的朋友可以參考下
    2016-09-09
  • c#實(shí)現(xiàn)輸出本月的月歷

    c#實(shí)現(xiàn)輸出本月的月歷

    本篇文章是對(duì)使用c#輸出本月月歷的實(shí)現(xiàn)的代碼進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • 關(guān)于C#結(jié)構(gòu)體 你需要知道的

    關(guān)于C#結(jié)構(gòu)體 你需要知道的

    這篇文章主要介紹了關(guān)于C#結(jié)構(gòu)體的相關(guān)知識(shí),以及使用方法,文中代碼非常詳細(xì),幫助大家更好的參考和學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06
  • C#下解析HTML的兩種方法介紹

    C#下解析HTML的兩種方法介紹

    用System.Net.WebClient下載Web Page存到本地文件或者String中,用正則表達(dá)式來(lái)分析。這個(gè)方法可以用在Web Crawler等需要分析很多Web Page的應(yīng)用中
    2013-09-09
  • Unity UGUI通過(guò)搖桿控制角色移動(dòng)

    Unity UGUI通過(guò)搖桿控制角色移動(dòng)

    這篇文章主要為大家詳細(xì)介紹了Unity3D基于陀螺儀實(shí)現(xiàn)VR相機(jī)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • 使用C#實(shí)現(xiàn)MD5加密的方法詳解

    使用C#實(shí)現(xiàn)MD5加密的方法詳解

    在軟件開(kāi)發(fā)中,加密是保護(hù)數(shù)據(jù)安全的重要手段之一,MD5(Message Digest Algorithm 5)是一種常用的哈希算法,用于生成數(shù)據(jù)的摘要或哈希值,本文介紹了如何使用C#語(yǔ)言實(shí)現(xiàn)MD5加密的方法,涵蓋了基本的使用方式和擴(kuò)展方法封裝,需要的朋友可以參考下
    2024-08-08
  • 基于Kubernetes實(shí)現(xiàn)前后端應(yīng)用的金絲雀發(fā)布(兩種方案)

    基于Kubernetes實(shí)現(xiàn)前后端應(yīng)用的金絲雀發(fā)布(兩種方案)

    這篇文章主要介紹了基于Kubernetes實(shí)現(xiàn)前后端應(yīng)用的金絲雀發(fā)布,文中給大家提到了兩種常用方案,通過(guò)示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2021-12-12
  • C#實(shí)現(xiàn)獲取mp3 Tag信息的方法

    C#實(shí)現(xiàn)獲取mp3 Tag信息的方法

    這篇文章主要介紹了C#實(shí)現(xiàn)獲取mp3 Tag信息的方法,涉及C#針對(duì)MP3文件屬性的相關(guān)操作技巧,需要的朋友可以參考下
    2017-07-07
  • C# 中的List.Sort()--集合排序方法全面解析

    C# 中的List.Sort()--集合排序方法全面解析

    這篇文章主要介紹了C# 中的List.Sort()--集合排序方法全面解析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-01-01
  • C#學(xué)習(xí)筆記之字符串常用方法

    C#學(xué)習(xí)筆記之字符串常用方法

    在C#中字符串是用于表示文本的一系列字符,它可以是字符、單詞 或用雙引號(hào)引起來(lái)的長(zhǎng)段落,下面這篇文章主要給大家介紹了關(guān)于C#學(xué)習(xí)筆記之字符串常用方法的相關(guān)資料,需要的朋友可以參考下
    2024-01-01

最新評(píng)論

民权县| 汶川县| 阿荣旗| 大厂| 雅江县| 渝北区| 宣汉县| 靖宇县| 朝阳县| 永清县| 鹤庆县| 聂荣县| 织金县| 外汇| 社旗县| 曲麻莱县| 且末县| 灵石县| 繁昌县| 蓝田县| 南宁市| 漳浦县| 萨嘎县| 镇巴县| 重庆市| 昌黎县| 玉环县| 商都县| 金平| 仪陇县| 化州市| 文登市| 隆尧县| 蒙城县| 涟水县| 乌拉特前旗| 连江县| 醴陵市| 灵台县| 马龙县| 沾益县|