私はマトリックスクリエイターボードを使用していますが、マイク配列のC++コード用にPythonラッパーを作成しようとしています。16ビットオーディオサンプルをcharに変換する
ライブラリには、1283サンプルのuint16_t
配列を返すread関数があります。
私は、ユーザーが関数の引数として渡すchar
アレイへのバッファを書き込みALSAreadi
関数にそれを比較しようとしています。
の質問はどのようにALSAは、単一char
はわずか8ビット幅であるとき、配列をcharに16ビットのサンプルを書くんですか? そして、uint16_t
配列で同じことをやって、それをPythonに渡すと、と同じ結果が得られます。ALSAreadi
の機能はありますか?
16ビットのサンプルデータは、16ビットワードのシーケンスです。 'char'の配列は8ビットワードのシーケンスです。 128個の16ビットワードのアレイは、256個の8ビットワードのアレイに等しい。あるアレイから別のアレイにコピーするだけの "変換"はありません。 –
あなたはmemcpyを使用することができました – Jonas
私はmemcpyを使用しましたが、問題は、char配列をPythonに戻してcharポインタから文字列に変換して長さを変更するときです。 0から70の間でジャンプする – LichKing