問題タブ [sox]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
717 参照

objective-c - 複数のNSTaskを連続して実行する

NSTaskを使用して複数のコマンドを順番に実行する必要があり、次のコマンドに進むことができるように、タスクが終了したかどうかを判断するための良い方法は何でしょうか。「sox」(アプリケーションバンドルに含まれています)を使用して、入力オーディオファイルを使用して一時オーディオファイルを作成し、それらの一時オーディオファイルを1つのファイルに結合する必要があります。プロセスのフローの例(実際のコマンドではありません):

1)songA> tempA

2)songB> tempB

3)tempAtempB>songCを組み合わせる

次のコードを使用して、最初のコマンドを完了します。

このプロセスが終了した後に(前のプロセスの出力を使用して)さらに2つのNSTaskプロセスを実行する必要があるとすると、次のプロセスに進むことができるように、1つのプロセスが終了したことを検出する最良の方法は何でしょうか。

ありがとう。

0 投票する
1 に答える
1970 参照

c - Sox および FFMPEG デコード

こんにちは ソックスを手伝ってください。私の考えは、オーディオ部分を ffmpeg でデコードしてから、sox で処理することです。つまり、FFMPEG のみを使用してデコードします。これが私が残したものです:

function in = sox_open_mem_read (pAudioBuffer, data_size, NULL, NULL, NULL); エラーが発生します:

フォーマット: ファイルのタイプを判別できません `'

私は何をすべきか?問題を解決するには?助けてください!!!

0 投票する
1 に答える
669 参照

licensing - 法外なライセンス料を支払わずに商用アプリケーションで mp3 を処理する方法

mp3 サポート用に lame でコンパイルされたバージョンの sox を使用するアプリケーションがあります。アプリケーションは、mp3 処理の年間最低ライセンス料 $15000 を正当化するのに十分な収益を生み出しません。私は ogg のような他のフリーフォーマットを調べましたが、業界標準ほどユビキタスではないようです (ogg プレーヤーのことは聞いたことがありません)。ユーザーが独自のバージョンの sox を配布するのではなく、処理のためにダウンロードできるリンクを用意できますか?

0 投票する
4 に答える
23897 参照

wav - SOX を使用して 16 ビット WAV から GSM に変換する

私は現在、Asterisk と PHP Web インターフェイスとのテレフォニー統合に取り組んでいます。ユーザー独自のカスタム グリーティングを wav ファイルにアップロードするオプションをユーザーに提供し、サーバー上で wav を 8000hz の gsm ファイルに変換したいと考えています。現在、私はこれを達成するために sox を使用しようとしています。

ただし、8khz sav 以外のものを gsm に変換すると、gsm ファイルがひどく歪んでいるようです。ファイルの速度が 10 分の 1 になるようです (wav 形式の 3 秒のイントロが 30 秒の gsm ファイルに変わります)。速度とリサンプリングの組み合わせをいくつか試しましたが、うまくいきませんでした。理想的には、アップロードされた wav ファイルを取得して変換し、適切にエンコードする責任をユーザーに負わせることなくしたいと考えています。私は間違いなくオーディオマニアではないので、誰かが私を正しい方向に向けることができれば、それは大歓迎です.

0 投票する
2 に答える
28433 参照

audio - サンプルレートを変換する際のSoXでのクリッピングの削減/削除

私はSoXを使用して、一連のwavファイルを16kHz、16ビットのモノチャネルwavファイル(最初のwavファイルの1つのサブセットになります)にトリミングしています。ほとんどのソースwavファイルはすでにこの仕様に設定されていますが、サンプルレートが異なるものがあることがわかりました。ProcessBuilderを使用してJavaで自動化されるため、次のコマンドを使用できると考えました。

16000 Hzでない場合にのみ、サンプルレートが変更されます。同じ仕様のファイルで想定されていることを実行しますが、サンプルレートが異なるファイルでは、次のようになります。

オーディオの品質を低下させることなく、これにどのように対処する必要がありますか?私は信号処理について何も知らないことに注意してください。

0 投票する
1 に答える
1590 参照

java - JavaのProcessBuilderを使用してSoXを実行する

ProcessBuilderを使用してJavaからSoXを実行し、wavファイルをトリミングしています。SoXを実行できるはずです。他のJUnitテストでは、次のコマンドを正常に実行できます。

しかし、次のようにファイルをトリミングしようとすると、次のようになります。

IOException次のエラーがスローされますerror=2, No such file or directory。ターミナルでコマンドを実行してみましたが、問題なく動作しました。重要な場合は、MacBookでEclipseからのJUnitテストを実行しました。

ProcessBuilderでビルドするために使用したコードは次のとおりです。

私も同じことを試しましたが、ArrayListを使用しました。

0 投票する
1 に答える
1263 参照

java - ProcessBuilderを使用したSoXの実行速度が遅い

私は、WAVファイルを30秒の長さのWAVファイルにトリミングするJavaのProcessBuilderを使用してSoXを実行しています。

SoXは実行中です。これは、ファイルの最初の30秒間が正常にトリミングされ、新しいファイルとして保存されたためですが、そこで停止しますが、まだ実行中です。

これは、コマンド生成のコードです。

これは、プロセス作成のコードです。

0 投票する
1 に答える
481 参照

c++ - libSoXはスレッドセーフですか?

マルチスレッドアプリケーションのオーディオ処理ライブラリであるlibSoxを使用しています。複数のスレッドが同時にlibsox関数を呼び出す場合があります。このランダムなクラッシュが発生しているので、libsoxがスレッドセーフであるかどうか疑問に思いました。

0 投票する
2 に答える
805 参照

xml - XML を表現するための代替構文にはどのようなものがありますか?

表現力を失うことなく XML との間で自動的に変換できる、人間が判読および編集できる構文が存在します。つまり、このリストの更新版です。そこで言及されている 3 つの構文は次のとおりです。

  • SOX
  • PYX
  • スリップ

他にもありますか?(これは、JSON などの XML に代わるものではなく人間がテキスト エディターを使用して XML ファイルを管理するためのより簡単な方法にすぎません)。

0 投票する
1 に答える
770 参照

ffmpeg - FLV オーディオ ストリームを WAV バックグラウンド トラックとミキシングし、SoX と FFmpeg で MP3 に変換する

契約した Web サイト用に Flash ベースのレコーディング アプリケーションを構築しています。録音された音声を (SWF 経由で) Red5 サーバーにストリーミングし、FFmpeg と SoX の組み合わせを使用して、音量の小さいバックグラウンド ミュージック トラックでボーカル オーディオをコンパイルします。これはすべてオンデマンドで、つまりユーザーが自分の声の録音を「保存」するときに発生する必要があります。

これが私が実行するコマンドの例です。罪のない人を保護するために名前が変更されました。ファイル名は、最終的なファイルでの役割を示しています。

このコマンドをシェルで実行すると、次のようになります。

この問題は、FFmpeg での FLV から WAV への変換に起因していると思われます。これがパイプされているため、プロセス全体が失敗します。継続時間の警告は常に表示されますが、FFmpeg が .wav ファイルに出力し、SoX コマンドが個別に実行されている場合でも、SoX から WAV を取得して手動で MP3 に変換できます。アプリケーション間でデータをパイプして、これらすべてを 1 行で行いたいと思います。

私は何をしますか?