NSpeex.Reactiveをリリースしてみました
この度
NSpeex.Reactiveというライブラリをリリースしました。
現在のバージョンは0.0.1です。
このライブラリはNSpeex
と、NSpeexをObserver/Observableな感じで使用するための余計なライブラリが含まれています。
NSpeex単体で使いたい場合は本家を使用してください。
NSpeex単体でnugetパッケージを作らなかったのはワザとです(^◇^)
このライブラリは.NET4、Xamarin.Android、Xamarin.iOSで利用することができます。
にて管理を行っています。
どんなライブラリ?
こんなライブラリです。
NSpeex - Speex for .Net and Silverlight - Home
プラスしてRxのサブジェクトっぽくNSpeexを使えるようにしてあるだけです。
強いていえば、XamarinでNSpeexが使えるよ(^◇^)っていうのが特徴です?
サンプルは?
すいません。間に合っていません。そのうちサンプルアプリを作ろうと思います。
コードのイメージはこんな感じです。
どっかで見た気がします。
ObservableVoiceCaptureでキャプチャしたPCMをNSpeex.Reactiveでエンコード・デコードした後にDelayを1000msecかけて再生している例です。
どんなことに使えるの?
PCMデータをSpeexでエンコードしてネットワーク経由で送信して受信してデコードして再生するとVoIPになったりします。
現在の新しいVoIPなコーデックといえばOpusなのですが、Speexだってレイテンシも悪くないしイケてると思います。
たぶんそのうちOpusのライブラリ作ると思いますけど(^◇^)
おまけ
NSpeex/src/NSpeex.TypeScript at master · yuka1984/NSpeex · GitHub
以前のエントリー Netjsを使ってC#からTypeScriptへの変換をしてみた。 - 眠いしお腹すいたし(´・ω・`) で紹介したNSpeexのデコードの一部(NarrowBandにのみ対応)をTypeScriptで使用できるようにしたライブラリはこちらに管理を移動しました。
一応ブラウザで動かす例をちゃっかり載せときます。
サンプルはWebSocket経由でSpeexエンコードされた音声データを受け取ってJSにてデコードしてWebAudioAPIを使用して再生している感じです。