Python + 在線 + 文生音,音轉文(中文文本轉為英文語音,語音轉為中文文本)

開源模型

  • 平臺:https://huggingface.co/
  • ars-語言轉文本: pipeline("automatic-speech-recognition", model="openai/whisper-large-v3", device=0 )
    • hf:?https://huggingface.co/openai/whisper-large-v3?
    • github:?https://github.com/openai/whisper

  • tts-文本轉語音:pipeline("text-to-speech", "microsoft/speecht5_tts", device=0)
    • hf:?https://huggingface.co/microsoft/speecht5_tts?
    • github:?https://github.com/microsoft/SpeechT5?

  • 文本語言識別:pipeline("text-classification", model="papluca/xlm-roberta-base-language-detection", device=0)
    • hf:?https://huggingface.co/papluca/xlm-roberta-base-language-detection
    • github:? https://github.com/saffsd/langid.py

  • 文本翻譯--zh-en:
    • pipeline("translation", model="Helsinki-NLP/opus-mt-en-zh", device=0, torch_dtype=torch_dtype)
    • pipeline("translation", model="Helsinki-NLP/opus-mt-zh-en", device=0, torch_dtype=torch_dtype)
    • hf:?https://huggingface.co/Helsinki-NLP/opus-mt-zh-en?
    • github:?https://github.com/Helsinki-NLP/OPUS-MT-train?

  • 流程
    • 網頁端提交:當前批次,文本,音頻base64數據,通過給python-flask后端產生一個處理任務(mongo)
    • 后端循環處理要處理的任務
    • 網頁端查詢已處理好的任務--批次

代碼

## 接口from flask import Flask, request
from flask_cors import CORSimport time
import json
from datetime import datetimeimport mongo_util
import audio_message_util as amutil
import audio_util as autilapp = Flask(__name__)
CORS(app)client = mongo_util.get_client()
db = mongo_util.get_db(client, "")class DateTimeEncoder(json.JSONEncoder):def default(self, obj):if isinstance(obj, datetime):return obj.isoformat()return json.JSONEncoder.default(self, obj)@app.route('/audio/totxt', methods=['POST'])
def totxt():base64data = request.json['data']batch = request.json['batch']filename = 'webm/' + batch + '/' + str(time.time()).replace('.', '_')+'.webm'out_file = filename.replace('webm', 'mp3')autil.base64_tomp3(base64data, filename, out_file)print(datetime.now(), batch, filename, out_file)c = {'batch': batch,'original_path': filename,'audio_path': out_file,'type': 1,'status': 1,}amutil.save(db, c)return 'ok'@app.route('/txt/toaudio', methods=['POST'])
def toaudio():text = request.json['data']batch = request.json['batch']print(datetime.now(), batch, text)c = {'batch': batch,'original_text': text,'type': 2,'status': 1,}amutil.save(db, c)return 'ok'@app.route('/audio/gettxt', methods=['POST'])
def gettxt():batch = request.json['batch']cs = amutil.get(db, {'status':2, 'batch':batch})csj = []for c in cs:# print(c)if c['type'] == 2 and c['audiofile'] != None:c['audiourl'] = 'data:audio/webm;codecs=opus;base64,' + autil.get_audio_base64(c['audiofile'])if c['type'] == 1 and 'audio_path' in c and c['audio_path'] != None:c['audiourl'] = 'data:audio/webm;codecs=opus;base64,' + autil.get_audio_base64(c['audio_path'])csj.append(c)return json.dumps(csj, cls=DateTimeEncoder)if __name__ == '__main__':app.run(debug=True, port="8080")

結果

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/40689.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/40689.shtml
英文地址,請注明出處:http://en.pswp.cn/web/40689.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

kettle中調用restful接口時的SSL信任證書問題

1、找第三方獲取SSL證書,(本案例為自簽名證書) C:\Program Files\Java\jdk1.8.0_241\jre\lib\security>keytool -import -alias aliyun-maven -keystore cacerts -file E:\entSoftware\aliyun-maven.cer 輸入密鑰庫口令: …………一堆證…

ubuntu系統盤擴容

目錄 1 介紹 2 步驟 2.1 關閉虛擬機 2.2 編輯虛擬機設置 2.3 設置擴展大小 2.4 打開虛擬機 2.5 找到磁盤管理 2.6 擴展 1 介紹 本部分主要記述怎么給ubuntu系統盤擴展存儲容量,整個過程相對簡單,擴容方式輕松、容易。 2 步驟 2.1 關閉虛擬機 2…

前端面試題(CSS篇三)

一、簡單介紹使用圖片 base64 編碼的優點和缺點。 base64是一種圖片處理格式,通過特定的算法將圖片編碼為一長串字符串,在頁面顯示的時候,可以使用該字符串來代替圖片的url屬性。 使用base64的優點: 減少一個圖片的http請求 使用base64的缺點…

電腦f盤的數據回收站清空了能恢復嗎

隨著信息技術的飛速發展,電腦已成為我們日常生活和工作中不可或缺的設備。然而,數據的丟失或誤刪往往會給人們帶來極大的困擾。尤其是當F盤的數據在回收站被清空后,許多人會陷入絕望,認為這些數據已無法挽回。但事實真的如此嗎&am…

1071. 字符串的最大公因子

1071. 字符串的最大公因子 題目鏈接:1071. 字符串的最大公因子 代碼如下: class Solution { public:int gcd(int a,int b){return b0?a:gcd(b,a%b);}string gcdOfStrings(string str1, string str2) {if(str1str2!str2str1) {return ""…

WAIC 2024:科技界的搖滾狂歡,你錯過了什么?

大數據產業創新服務媒體 ——聚焦數據 改變商業 2024年7月5日,WAIC 2024舉辦的第二天。數據猿作為受邀媒體,在今天繼續親歷這一場關于未來的盛會。在這片匯聚了全球頂尖科技力量的舞臺上,見證了人工智能領域的最新成果,感受到了科…

雙人貪吃蛇代碼分享

一. snake.h #include<stdio.h> #include<stdlib.h> #include<Windows.h> #include<stdbool.h> #include<locale.h> #include<time.h> #define Pos_x1 24 #define Pos_y1 5#define Pos_x2 24 #define Pos_y2 15 #define WALL L□#define …

大學生電子設計大賽超全資料分享

超全大學生電子設計大賽項目合集免費分享 電賽競賽資料大全&#xff0c;新增競賽空間電子設計資料。包含嵌入式硬件和軟件開發的學習資料&#xff0c;包括PCB教程&#xff0c;單片機例程&#xff0c; 單片機課程設計畢業設計參考資料、項目設計方案&#xff0c;源碼和開發文檔…

分布式事務get global lock fail Xid 獲取全局鎖失敗

問題如下&#xff1a; 解決方法&#xff1a;在發生報錯的方法上添加本地事務

壓縮解壓文件工具

一、maven依賴 <dependency><groupId>net.lingala.zip4j</groupId><artifactId>zip4j</artifactId><version>2.11.5</version></dependency>二、工具類 package com.summer.toolkit.util;import com.summer.toolkit.excepti…

Day05-03-Nexus倉庫

Day05-03-Nexus倉庫 05-nexus-倉庫1. 概述2. 極速部署指南2.1 下載2.2 部署2.3 配置2.4 連接使用nexus2.4 編譯與測試 3. 總結 05-nexus-倉庫 1. 概述 背景: maven編譯的時候&#xff0c;npm/cnpm編譯&#xff0c;需要下載大量的依賴包。這些依賴包在每一次構建的時候都需要使…

React 省市查詢組件完整代碼

目錄 一、地區文件 二、Antd配合使用 三、實現效果 一、地區文件 下載地址&#xff1a;全國省市區數據_JSON格式_SQL格式 export const chinaArea {0: {1: 北京,2: 天津,3: 河北省,4: 山西省,5: 內蒙古自治區,6: 遼寧省,7: 吉林省,8: 黑龍江省,9: 上海,10: 江蘇省,11: 浙…

Perl 語言入門學習指南:探索高效腳本編程的奧秘

引言 Perl&#xff0c;全稱Practical Extraction and Report Language&#xff0c;是一種功能強大的編程語言&#xff0c;特別擅長于文本處理、報告生成以及系統自動化管理任務。自1987年誕生以來&#xff0c;Perl憑借其靈活性、強大的內置功能庫和廣泛的社區支持&#xff0c;…

維護和管理LDAP之OpenDJ

目錄 基本介紹 服務專有名詞 安裝 命令行工具 密碼管理 重置管理員密碼 管理服務器進程 管理索引 如何搜索 管理索引 管理目錄數據 測試數據 導出數據 導入數據 LDIF文件數據查看和比較 數據存儲-Backends 配置連接 開啟 HTTP/HTTPS連接 使用 REST訪問 -open…

Spring AOP、Spring MVC工作原理、發展演變、常用注解

Spring AOP 概念 AOP全稱為Aspect Oriented Programming&#xff0c;表示面向切面編程。切面指的是將那些與業務無關&#xff0c;但業務模塊都需要使用的功能封裝起來的技術。 AOP基本術語 **連接點&#xff08;Joinpoint&#xff09;&#xff1a;**連接點就是被攔截到的程序執…

AQWA | 水動力分析 二階波浪力

&#x1f3c6;本文收錄于「Bug調優」專欄&#xff0c;主要記錄項目實戰過程中的Bug之前因后果及提供真實有效的解決方案&#xff0c;希望能夠助你一臂之力&#xff0c;幫你早日登頂實現財富自由&#x1f680;&#xff1b;同時&#xff0c;歡迎大家關注&&收藏&&…

Midjourney對圖片細微調整和下載保存

點擊v2是對第二圖片細微調整。 點擊u3對第3張圖片進行放大。 保存圖片: 對點擊u3放大的圖片&#xff0c;雙擊 , 右鍵保存圖片

停車場小程序的設計

管理員賬戶功能包括&#xff1a;系統首頁&#xff0c;個人中心&#xff0c;車主管理&#xff0c;商家管理&#xff0c;停車場信息管理&#xff0c;預約停車管理&#xff0c;商場收費管理&#xff0c;留言板管理 微信端賬號功能包括&#xff1a;系統首頁&#xff0c;停車場信息…

審核平臺前端新老倉庫遷移

背景 審核平臺接入50業務&#xff0c;提供在線審核及離線質檢、新人培訓等核心能力&#xff0c;同時提供數據報表、資源追蹤、知識庫等工具。隨著平臺的飛速發展&#xff0c;越來越多的新業務正在或即將接入審核平臺&#xff0c;日均頁面瀏覽量為百萬級別。如今審核平臺已是公司…

代碼提交錯分支了怎么辦?

你有么有遇到過正在開發的代碼&#xff0c;提交到生產環境的分支去&#xff0c;遇到這種情況怎么辦&#xff1f; 問題重現&#xff1a; 這段注釋// AAAAAAAAAAA 本來應該寫在dev分支的&#xff0c;現在提交并push到master分支了 現在第一步&#xff0c;撤回提交 第二步&…