sppluginモジュール

spPlugin に基づく音声ファイル入出力のpythonモジュールです.WAV,AIFF,MP3,Ogg Vorbis,FLAC,ALAC,rawなど,様々なファイル形式をプラグインによりサポートしています.

サンプル

下記は入力音声ファイルの波形をプロットする例です.

import os
import sys
import spplugin
import numpy as np
import matplotlib.pyplot as plt


def plotfilebyplugin(filename):
    with spplugin.open(filename, 'r') as pf:
        nchannels = pf.getnchannels()
        samprate = pf.getsamprate()
        sampbit = pf.getsampbit()
        nframes = pf.getnframes()
        duration = nframes / samprate

        y = pf.createndarray(nframes * nchannels)
        nread = pf.read(y)
        print('nread = %d' % nread)

        y.resize((nframes, nchannels))

        x = np.linspace(0.0, duration, nframes)
        for i in range(nchannels):
            plt.plot(x, y[:,i])
        plt.xlim(0.0, duration)
        plt.xlabel('Time [s]')
        plt.ylabel('Amplitude (normalized)')
        plt.show()


if __name__ == '__main__':
    if len(sys.argv) <= 1:
        print('usage: %s filename'
              % os.path.basename(sys.argv[0]), file=sys.stderr)
        quit()

    plotfilebyplugin(sys.argv[1])

また,下記は,MATLABの同名関数と似た高レベル関数 audioread() を使用した例です(バージョン0.7.16以降).

import os
import sys
import spplugin
import spaudio


def audioreadexample(filename):
    data, samprate, params = spplugin.audioread(filename)
    print('samprate = ' + str(samprate) + ', params =\n' + str(params))

    with spaudio.open('wo', params=params) as a:
        nwframes = a.writeframes(data)
        print('write frames = %d' % nwframes)


if __name__ == '__main__':
    if len(sys.argv) <= 1:
        print('usage: %s filename'
              % os.path.basename(sys.argv[0]), file=sys.stderr)
        quit()

    audioreadexample(sys.argv[1])

さらに,上記の例の'write'バージョンとも言える,MATLABの同名関数と似た高レベル関数 audiowrite() を使用した例です(バージョン0.7.16以降).

import os
import sys
import spplugin
import spaudio


def audiowriteexample(filename):
    duration = 2.0
    with spaudio.open('ro', nchannels=2, samprate=44100) as a:
        nframes = round(duration * a.getsamprate())
        data = a.readframes(nframes, channelwise=True)
        print('nread = %d' % len(data))

        nwframes = spplugin.audiowrite(filename, data, a.getsamprate())
        print('write frames = %d' % nwframes)


if __name__ == '__main__':
    if len(sys.argv) <= 1:
        print('usage: %s filename'
              % os.path.basename(sys.argv[0]), file=sys.stderr)
        quit()

    audiowriteexample(sys.argv[1])
exception spplugin.BogusFileError[ソース]

ベースクラス: Error

音声ファイルに異常がある場合に発生する例外です.

exception spplugin.Error[ソース]

ベースクラス: Exception

sppluginの基本例外クラスです.

exception spplugin.FileError[ソース]

ベースクラス: Error

音声ファイルの問題により発生する例外です.

exception spplugin.FileTypeError[ソース]

ベースクラス: Error

ファイル形式がサポートされていない場合に発生する例外です.

exception spplugin.NChannelsError[ソース]

ベースクラス: Error

チャネル数がサポートされていない場合に発生する例外です.

exception spplugin.NFramesRequiredError[ソース]

ベースクラス: Error

ファイルの全フレーム数が要求されるプラグインの場合に発生する例外です.

exception spplugin.SampleBitError[ソース]

ベースクラス: Error

ビット/サンプルがサポートされていない場合に発生する例外です.

exception spplugin.SampleRateError[ソース]

ベースクラス: Error

サンプルレートがサポートされていない場合に発生する例外です.

class spplugin.SpFilePlugin[ソース]

ベースクラス: object

音声ファイル入出力のためのクラスです.このクラスは,標準ライブラリのaifcやwave,sunauと同じように用いることができます.異なる点としては,パラメータを指定する set*() 関数群が open() の前に呼び出す必要がある点などが挙げられます.これらのパラメータは,関数 open() のオプション引数でも指定できます.

appendsonginfo(songinfo)[ソース]

ソング情報を現在保持されている内部変数に追加します.

close()[ソース]

音声ファイルを閉じます.

copyarray2raw(inarray, sampwidth, bigendian_or_signed8bit=False)[ソース]

Raw形式の配列 (array.array) の内容を,新たなRaw形式のbytesまたはbytearrayのデータにコピーします.

パラメータ:
  • inarray (array.array) -- 入力のbytearrayオブジェクトを指定します.

  • sampwidth (int) -- 出力データのバイト/サンプルを指定します.

  • bigendian_or_signed8bit (bool, optional) -- 出力データのエンディアンがビッグエンディアンの場合(16ビットか32ビットの場合)もしくは出力データのデータ型が符号付き8ビットデータの場合(8ビットの場合のみ)に True を指定します.

戻り値:

変換されたデータを含む bytearray クラスのオブジェクトが返ります.

戻り値の型:

bytearray

copyraw2array(rawdata, sampwidth, bigendian_or_signed8bit=False)[ソース]

Raw形式のbytesまたはbytearrayのデータの内容を,新たなRaw形式の配列 (array.array) にコピーします.

パラメータ:
  • rawdata (bytes or bytearray) -- 入力の bytes オブジェクトまたは bytearray オブジェクトを指定します.

  • sampwidth (int) -- rawdataのバイト/サンプルを指定します.

  • bigendian_or_signed8bit (bool, optional) -- rawdata のエンディアンがビッグエンディアンの場合(16ビットか32ビットの場合)もしくはrawdata のデータ型が符号付き8ビットデータの場合(8ビットの場合のみ)に True を指定します.

戻り値:

変換されたデータを含む array クラスのオブジェクトが返ります.

戻り値の型:

array.array

createarray(length, nframesflag=False)[ソース]

現在のファイル設定に応じたdouble型配列を作成します.

パラメータ:
  • length -- 配列の長さを指定します.この長さはいわゆるフレーム数とは異なりますのでご注意ください(length = nframes * nchannels).フレーム数を指定したい場合は第2引数に True を指定します.

  • nframesflag (bool, optional) -- 第1引数にフレーム数を指定したい場合は True を指定します.

戻り値:

現在のファイルの設定に応じたarrayクラスのオブジェクトが返ります.

戻り値の型:

array.array

createndarray(length, nframesflag=False, channelwise=False)[ソース]

現在のファイルの設定に応じたnumpyのdouble型配列を作成します.

パラメータ:
  • length -- 配列の長さを指定します.この長さはいわゆるフレーム数とは異なりますのでご注意ください(length = nframes * nchannels).フレーム数を指定したい場合は第2引数に True を指定します.

  • nframesflag (bool, optional) -- 第1引数にフレーム数を指定したい場合は True を指定します.

  • channelwise (bool, optional) -- True を指定すると出力配列が (nframes, nchannels) の行列にリサイズされます.この引数はバージョン0.7.16にて導入されました.

戻り値:

現在のファイルの設定に応じたndarrayクラスのオブジェクトです.

戻り値の型:

numpy.ndarray

createrawarray(length, nframesflag=False)[ソース]

現在のファイルの設定に応じたRaw形式の配列を作成します.

パラメータ:
  • length -- 配列の長さを指定します.この長さはいわゆるフレーム数とは異なりますのでご注意ください(length = nframes * nchannels).フレーム数を指定したい場合は第2引数に True を指定します.

  • nframesflag (bool, optional) -- 第1引数にフレーム数を指定したい場合は True を指定します.

戻り値:

現在のファイルの設定に応じたarrayクラスのオブジェクトが返ります.

戻り値の型:

array.array

createrawndarray(length, nframesflag=False, channelwise=False)[ソース]

現在のファイルの設定に応じたRaw形式のnumpyのndarrayを作成します.

パラメータ:
  • length -- 配列の長さを指定します.この長さはいわゆるフレーム数とは異なりますのでご注意ください(length = nframes * nchannels).フレーム数を指定したい場合は第2引数に True を指定します.

  • nframesflag (bool, optional) -- 第1引数にフレーム数を指定したい場合は True を指定します.

  • channelwise (bool, optional) -- True を指定すると出力配列が (nframes, nchannels) の行列にリサイズされます.この引数はバージョン0.7.16にて導入されました.

戻り値:

現在のファイルの設定に応じたndarrayクラスのオブジェクトです.

戻り値の型:

numpy.ndarray

getarraytypecode()[ソース]

double型配列を保持する場合の型コードを取得します.

戻り値:

現在の設定に応じたdouble型配列の型コードが返ります.

戻り値の型:

char

getcompname(decodebytes=False)[ソース]

圧縮形式の詳細名が返ります.現在の所, 'not compressed' (decodebytes = True の場合) または b'not compressed' (decodebytes = False の場合) のいずれかになります.

getcomptype(decodebytes=False)[ソース]

圧縮形式が返ります.現在の所, 'NONE' (decodebytes = True の場合) または b'NONE' (decodebytes = False の場合) のいずれかになります.

getfiledesc()[ソース]

現在のファイルの説明を取得します.例えば,PCM形式のWAVファイルは, 'Microsoft PCM' になります.

getfilefilter()[ソース]

現在のファイルのファイルフィルター(例えば '*.wav' )を取得します.

getfiletype()[ソース]

現在のファイルのファイル形式を取得します.

getframerate()[ソース]

現在のファイルのサンプルレートを取得します.

getmark(id)[ソース]

何もしません(aifc,wave,sunauの標準ライブラリとの互換性のために用意されています).

getmarkers()[ソース]

何もしません(aifc,wave,sunauの標準ライブラリとの互換性のために用意されています).

getnchannels()[ソース]

現在のファイルのチャネル数を取得します.

getndarraydtype()[ソース]

double型配列を保持するためのnumpyのndarray用のdtype文字列を取得します.

戻り値:

現在の設定のdtype文字列が返ります.

戻り値の型:

string

getnframes()[ソース]

現在のファイルのフレーム数を取得します.

getparams()[ソース]

現在のファイルの全てのパラメータをdictオブジェクトで取得します.

戻り値:

キーが 'nchannels', 'sampbit', 'samprate', 'nframes', 'filetype', 'songinfo' になっているdictオブジェクトが返ります.

戻り値の型:

dict

getparamstuple(decodebytes=False)[ソース]

現在のファイルの全てのパラメータをnamedtupleオブジェクトで取得します.

パラメータ:

decodebytes (bool, optional) -- True の場合は, getcomptype() 及び getcompname() で得られるbytesオブジェクトを文字列オブジェクトにデコードします.標準ライブラリのwave,sunauはデコードされた文字列オブジェクトを要求するのに対し,こちらも標準ライブラリのaifcはbytesオブジェクトを要求するため,この引数が用意されています.

戻り値:

現在のファイルの全てのパラメータを含むnamedtupleオブジェクトが返ります.このnamedtupleオブジェクトは,内容が (nchannels, sampwidth, framerate, nframes, comptype, compname) になっており,aifc,wave,sunauの標準ライブラリにおける setparams() の引数として与えることが可能です.

戻り値の型:

namedtuple

getplugindesc()[ソース]

現在使用しているプラグインの短い情報を取得します.

getpluginid()[ソース]

現在使用しているプラグインのIDを取得します.

getplugininfo()[ソース]

現在使用しているプラグインの詳細情報を取得します.

getpluginname()[ソース]

現在使用しているプラグインの名前を取得します.

getpluginversion()[ソース]

現在使用しているプラグインのバージョンを取得します.

getrawarraytypecode()[ソース]

Raw形式のデータを保持するためのpythonの配列の型コードを取得します.

戻り値:

現在の設定の型コードが返ります.

戻り値の型:

char

getrawndarraydtype()[ソース]

Raw形式のデータを保持するためのnumpyのndarray用のdtype文字列を取得します.

戻り値:

現在の設定のdtype文字列が返ります.

戻り値の型:

string

getrawsampbit()[ソース]

Raw形式配列用のビット/サンプルを取得します.

getrawsampwidth()[ソース]

Raw形式配列用のバイト/サンプルを取得します.

getsampbit()[ソース]

現在のファイルのビット/サンプルを取得します.sampbit = 33は,32ビットfloat型と対応します.

getsamprate()[ソース]

現在のファイルのサンプルレートを取得します.

getsampwidth()[ソース]

現在のファイルのバイト/サンプルを取得します.

getsonginfo()[ソース]

現在のファイルのソング情報を取得します.

open(filename, mode, *, pluginname=None, samprate=0, sampbit=0, nchannels=0, filetype=None, songinfo=None, params=None)[ソース]

プラグインを用いてファイル名と対応するファイルを開きます.

パラメータ:
  • filename (str) -- 開くファイルのファイル名を指定します.

  • mode (str) -- ファイルを開く際のモードを指定します.読み込みモードの 'r' ,書き込みモードの 'w' があります.

  • pluginname (str, optional) -- 適切なプラグインが見つからなかった際に用いられるプラグイン名を指定します.指定しなかった場合は, SuitableNotFoundError の例外が発生します.Raw形式のファイルを読み込みたい場合は, 'input_raw' を指定します.

  • samprate (double, optional) -- サンプルレート.

  • sampbit (int, optional) -- ビット/サンプル.

  • nchannels (int, optional) -- チャネル数.

  • filetype (str, optional) -- ファイル形式の文字列

  • songinfo (dict, optional) -- ソング情報.

  • params (dict, optional) -- dict形式の設定可能な全てのパラメータ.

例外:

SuitableNotFoundError -- 適切なプラグインが見つからなかった場合に発生します.

read(data, weight=1.0, offset=0, length=0)[ソース]

音声ファイルからdouble型配列にデータを読み込みます.

パラメータ:
  • data (bytearray, array.array or numpy.ndarray) -- 音声ファイルから読み込むためのdouble型配列を指定します.

  • weight (double, optional) -- 読み込み後のデータに乗じられる重み係数を指定します.

  • offset (int, optional) -- オプションの配列に対するオフセットを指定します.

  • length (int, optional) -- オプションのファイルの全体の時間長を設定します.

戻り値:

成功した場合には読み込みサイズが返り,失敗した場合には-1が返ります.

戻り値の型:

int

注釈

キーワード引数の offsetlength はバージョン0.7.15で導入されました.

readframes(nframes, weight=1.0, arraytype='ndarray', channelwise=False)[ソース]

次の nframes 分のデータを読み込み,double型配列を返します.

パラメータ:
  • nframes (int) -- 読み込むフレーム数を指定します.負の値は全フレーム数を意味します.

  • weight (double, optional) -- 読み込み後のデータに乗じられる重み係数を指定します.

  • arraytype (str, optional) -- 出力配列の型を指定します. 'ndarray' (デフォルト), 'array', 'bytearray' のいずれかを指定します.

  • channelwise (bool, optional) -- True を指定すると出力のndarrayが (nframes, nchannels) の行列にリサイズされます.この引数は 'ndarray' の場合にだけ有効となります.

戻り値:

読み込まれたデータが含まれる配列が返ります.

戻り値の型:

numpy.ndarray, array.array or bytearray

注釈

この関数はバージョン0.7.16にて導入されました.

readraw(data, offset=0, length=0)[ソース]

音声ファイルからRaw形式のデータを読み込みます.

パラメータ:
  • data (bytearray, array.array or numpy.ndarray) -- 音声ファイルからRaw形式のデータを読み込むためのRaw形式配列を指定します.

  • offset (int, optional) -- オプションの配列に対するオフセットを指定します.

  • length (int, optional) -- オプションのファイルの全体の時間長を設定します.

戻り値:

成功した場合には読み込みサイズが返り,失敗した場合には-1が返ります.

戻り値の型:

int

注釈

キーワード引数の offsetlength はバージョン0.7.15で導入されました.

readrawframes(nframes, arraytype='ndarray', channelwise=False)[ソース]

次の nframes 分のデータを読み込み,Raw形式配列を返します.

パラメータ:
  • nframes (int) -- 読み込むフレーム数を指定します.負の値は全フレーム数を意味します.

  • arraytype (str, optional) -- 出力配列の型を指定します. 'ndarray' (デフォルト), 'array', 'bytearray' のいずれかを指定します.

  • channelwise (bool, optional) -- True を指定すると出力のndarrayが (nframes, nchannels) の行列にリサイズされます.この引数は 'ndarray' の場合にだけ有効となります.

戻り値:

読み込まれたデータが含まれる配列が返ります.

戻り値の型:

numpy.ndarray, array.array or bytearray

注釈

この関数はバージョン0.7.16にて導入されました.

rewind()[ソース]

ファイルの先頭に移動します.

setcomptype(encodestr=True)[ソース]

圧縮形式を設定します.現在,このパラメータは無視されます.

setfiletype(filetype)[ソース]

ファイルにファイル形式を設定します.

setframerate(samprate)[ソース]

ファイルにサンプルレートを設定します.

setmark(id, pos, name)[ソース]

何もしません(aifc,wave,sunauの標準ライブラリとの互換性のために用意されています).

setnchannels(nchannels)[ソース]

ファイルにチャネル数を設定します.

setnframes(nframes)[ソース]

現在のファイルの総フレーム数を設定します.

setparams(params)[ソース]

dictオブジェクトもしくはnamedtupleオブジェクトの形でパラメータを設定します.

パラメータ:

params (dict) -- 'nchannels', 'sampbit', 'samprate', 'nframes', 'filetype', 'songinfo' のキーを持つdictオブジェクトを指定します.標準ライブラリのaifc,wave,sunauで用いられるnamedtupleオブジェクトを指定することもできます.

setpos(pos)[ソース]

指定した位置に移動します.

パラメータ:

pos -- 移動先の位置を指定します.

setsampbit(sampbit)[ソース]

ファイルにビット/サンプルを設定します.sampbit = 33は,32ビットfloat型と対応します.

setsamprate(samprate)[ソース]

ファイルにサンプルレートを設定します.

setsampwidth(sampwidth, floatflag=False)[ソース]

現在のファイルのバイト/サンプルを設定します.

setsonginfo(songinfo)[ソース]

ファイルにソング情報を設定します.

tell()[ソース]

ファイルの中の現在の位置を取得します.

write(data, weight=1.0, offset=0, length=0)[ソース]

double型配列のデータを音声ファイルへ書き込みます.

パラメータ:
  • data (bytearray, array.array or numpy.ndarray) -- 音声ファイルに書き込むためのdouble型配列を指定します.

  • weight (double, optional) -- 書き込み前のデータに乗じられる重み係数を指定します.

  • offset (int, optional) -- オプションの配列に対するオフセットを指定します.

  • length (int, optional) -- オプションの配列に対する書き込み長を指定します.

戻り値:

成功した場合には書き込まれたサイズが返り,失敗した場合には-1が返ります.

戻り値の型:

int

注釈

キーワード引数の offsetlength はバージョン0.7.15で導入されました.

writeframes(data, weight=1.0)[ソース]

double型配列のデータを音声ファイルへ書き込みます.

パラメータ:
  • data (bytearray, array.array or numpy.ndarray) -- 音声ファイルに書き込むためのdouble型配列を指定します.

  • weight (double, optional) -- 書き込み前のデータに乗じられる重み係数を指定します.

戻り値:

成功した場合には書き込まれたフレーム数が返り,失敗した場合には-1が返ります.

戻り値の型:

int

注釈

この関数はバージョン0.7.16にて導入されました.

writeraw(data, offset=0, length=0)[ソース]

音声ファイルにRaw形式配列のデータを書き込みます.

パラメータ:
  • data (bytearray, array.array or numpy.ndarray) -- 音声ファイルにデータを書き込むためのRaw形式配列を指定します.

  • offset (int, optional) -- オプションの配列に対するオフセットを指定します.

  • length (int, optional) -- オプションの配列に対する書き込み長を指定します.

戻り値:

成功した場合には書き込まれたサイズが返り,失敗した場合には-1が返ります.

戻り値の型:

int

注釈

キーワード引数の offsetlength はバージョン0.7.15で導入されました.

writerawframes(data)[ソース]

音声ファイルにRaw形式配列のデータを書き込みます.

パラメータ:

data (bytearray, array.array or numpy.ndarray) -- 音声ファイルにデータを書き込むためのRaw形式配列を指定します.

戻り値:

成功した場合には書き込まれたフレーム数が返り,失敗した場合には-1が返ります.

戻り値の型:

int

注釈

この関数はバージョン0.7.16にて導入されました.

exception spplugin.SuitableNotFoundError[ソース]

ベースクラス: Error

適切なプラグインが見つからなかった場合に発生する例外です.

exception spplugin.WrongPluginError[ソース]

ベースクラス: Error

不適切なプラグインの場合に発生する例外です.

spplugin.audioread(filename, samples=(0, - 1), datatype='double', *, weight=1.0, arraytype='ndarray', channelwise=True, getparamstuple=False, decodebytes=False, pluginname=None, samprate=0, sampbit=0, nchannels=0, filetype=None, params=None)[ソース]

プラグインを用いてファイルの内容を読み込みます.

パラメータ:
  • filename (str) -- 開くファイルのファイル名を指定します.

  • samples (tuple, optional) -- サンプル(フレーム)の範囲を (start, finish) の形で指定します. finish が負の場合はファイルの最後を意味します.

  • datatype (str, optional) -- 出力データの形式を指定します. 'double' の場合は, readframes() が, 'raw' の場合は, readrawframes() が内部的に呼ばれることになります.なお,'raw' の場合には weight の引数は無視されます.

  • weight (double, optional) -- 読み込み後のデータに乗じられる重み係数を指定します.

  • arraytype (str, optional) -- 出力配列の型を指定します. 'ndarray' (デフォルト), 'array', 'bytearray' のいずれかを指定します.

  • channelwise (bool, optional) -- True を指定すると出力のndarrayが (nframes, nchannels) の行列にリサイズされます.この引数は 'ndarray' の場合にだけ有効となります.

  • getparamstuple (bool, optional) -- True の場合は内部で getparamstuple() が使われるようになります.

  • decodebytes (bool, optional) -- True の場合は, getparamstuple() の呼び出しの際にbytesオブジェクトを文字列オブジェクトにデコードします.この引数は getparamstuple=True の場合のみで有効です.

  • pluginname (str, optional) -- 適切なプラグインが見つからなかった際に用いられるプラグイン名を指定します.指定しなかった場合は, SuitableNotFoundError の例外が発生します.Raw形式のファイルを読み込みたい場合は, 'input_raw' を指定します.

  • samprate (double, optional) -- サンプルレート.

  • sampbit (int, optional) -- ビット/サンプル.

  • nchannels (int, optional) -- チャネル数.

  • filetype (str, optional) -- ファイル形式の文字列

  • songinfo (dict, optional) -- ソング情報.

  • params (dict, optional) -- dict形式の設定可能な全てのパラメータ.

戻り値:

要素が以下のものになっているtupleが返ります.

  • numpy.ndarray, array.array or bytearray -- 読み込まれたデータが含まれる配列が返ります.

  • double -- 音声ファイルのサンプルレートが返ります.

  • dict or namedtuple -- getparamstuple=False の場合は, getparams() で返されるものと同じdictオブジェクトが返ります. getparamstuple=True の場合は, getparamstuple() で返されるものと同じnamedtupleオブジェクトが返ります.

戻り値の型:

tuple

例外:

SuitableNotFoundError -- 適切なプラグインが見つからなかった場合に発生します.

注釈

この関数はバージョン0.7.16にて導入されました.

spplugin.audiowrite(filename, data, samprate=0, nchannels=0, sampbit=0, *, datatype=None, weight=1.0, offset=0, length=0, pluginname=None, filetype=None, songinfo=None, params=None)[ソース]

プラグインを用いて音声ファイルにデータを書き込みます.

パラメータ:
  • filename (str) -- 開くファイルのファイル名を指定します.

  • data (bytearray, array.array or numpy.ndarray) -- 音声ファイルにデータを書き込むための配列を指定します.

  • samprate (double, optional) -- サンプルレート.

  • nchannels (int, optional) -- チャネル数.

  • sampbit (int, optional) -- ビット/サンプル.

  • datatype (str, optional) -- 入力データの形式を指定します. 'double' の場合は, write() が, 'raw' の場合は, writeraw() が内部的に呼ばれることになります.なお,'raw' の場合には weight の引数は無視されます.配列の種類によっては,このパラメータは自動判定されます.

  • weight (double, optional) -- 書き込み前のデータに乗じられる重み係数を指定します.

  • offset (int, optional) -- オプションの配列に対するオフセットを指定します.

  • length (int, optional) -- オプションの配列に対する書き込み長を指定します.

  • pluginname (str, optional) -- 適切なプラグインが見つからなかった際に用いられるプラグイン名を指定します.指定しなかった場合は, SuitableNotFoundError の例外が発生します.Raw形式のファイルへ書き込みたい場合は, 'output_raw' を指定します.

  • filetype (str, optional) -- ファイル形式の文字列

  • songinfo (dict, optional) -- ソング情報.

  • params (dict, optional) -- dict形式の設定可能な全てのパラメータ.

戻り値:

成功した場合には書き込まれたフレーム数が返り,失敗した場合には-1が返ります.

戻り値の型:

int

例外:

SuitableNotFoundError -- 適切なプラグインが見つからなかった場合に発生します.

注釈

この関数はバージョン0.7.16にて導入されました.

spplugin.getplugindesc(name)[ソース]

プラグイン名からプラグインの短い情報を取得します.

spplugin.getplugininfo(name)[ソース]

プラグイン名からプラグインの詳細情報を取得します.

spplugin.open(filename, mode, *, pluginname=None, samprate=0, sampbit=0, nchannels=0, filetype=None, songinfo=None, params=None)[ソース]

プラグインを用いてファイル名と対応するファイルを開きます.この関数は with 文の中で使うことを想定しています.

パラメータ:
  • filename (str) -- 開くファイルのファイル名を指定します.

  • mode (str) -- ファイルを開く際のモードを指定します.読み込みモードの 'r' ,書き込みモードの 'w' があります.

  • pluginname (str, optional) -- 適切なプラグインが見つからなかった際に用いられるプラグイン名を指定します.指定しなかった場合は, SuitableNotFoundError の例外が発生します.Raw形式のファイルを読み込みたい場合は, 'input_raw' を指定します.

  • samprate (double, optional) -- サンプルレート.

  • sampbit (int, optional) -- ビット/サンプル.

  • nchannels (int, optional) -- チャネル数.

  • filetype (str, optional) -- ファイル形式の文字列

  • songinfo (dict, optional) -- ソング情報.

  • params (dict, optional) -- dict形式の設定可能な全てのパラメータ.

戻り値:

SpFilePlugin クラスの新規インスタンスが返ります.

戻り値の型:

SpFilePlugin

例外:

SuitableNotFoundError -- 適切なプラグインが見つからなかった場合に発生します.