123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- """
- demeter service
- name:__load__.py
- author:rabin
- """
- from demeter.core import *
- from datetime import *
- import uuid
- import os
- import os.path
- import wave
- import tempfile
- from pydub import AudioSegment
- from uuid import getnode as get_mac
- from abc import ABCMeta, abstractmethod
- """
- 将 mp3 文件转成 wav
- :param file: mp3 文件路径
- :return: wav 文件路径
- """
- def convertMp3ToWav(file):
- target = file.replace(".mp3", ".wav")
- if not os.path.exists(file):
- Demeter.logger.critical("文件错误 {}".format(file))
- return None
- AudioSegment.from_mp3(file).export(target, format="wav")
- return target
- """
- 将 wav 文件转成 mp3
- :param file: wav 文件路径
- :return: mp3 文件路径
- """
- def convertWavToMp3(file):
- target = file.replace('.wav', '.mp3')
- if not os.path.exists(file):
- Demeter.logger.critical("文件错误 {}".format(file))
- return None
- AudioSegment.from_wav(file).export(target, format="mp3")
- return target
- """
- 从 wav 文件中读取 pcm
- :param file: wav 文件路径
- :return: pcm 数据
- """
- def getPcmFromWav(file):
- wav = wave.open(file, 'rb')
- return wav.readframes(wav.getnframes())
- """
- 二进制形式写入临时文件
- :param data: 二进制数据
- :param suffix: 后缀名
- :return: 文件保存后的路径
- """
- def writeTempFile(data, suffix):
-
- with tempfile.NamedTemporaryFile(suffix=suffix, delete=False) as f:
- f.write(data)
- tmpfile = f.name
- return tmpfile
|