Java、またはC ++で、再生中のサウンドの量に応じて電流を送信する方法はありますか?たとえば、再生音が多い場合はUSBポートが20mAを受信し、音が非常に少ない場合はUSBポートが5mAを受信し、音がない場合は明らかに電流/電圧が0になります。応答を深く掘り下げる必要はありません。たぶん私を正しい方向に向けて、始めるのを手伝ってください。私はC++よりもJavaを好みます。それは素晴らしいことです。ありがとう!
3 に答える
提案された形式ではこれは実行できません。電源はオンまたはオフのいずれかですが、その間にはありません。ハードウェアなしでは、それからLEDサウンドメーターを作ることはできません...
ただし、市販のUSB対応ビルディングブロックを使用してこれを実現するのはかなり簡単です。複数のオプションがありますが、私はArduinoを好みます。USBポートに接続すると、まるでシリアルポートのように接続できますが、それは非常に難しいことではありません。このためには、次のことを行う必要があります。
- Arduinoを入手する
- 入力を受け入れ、ASCIIでエンコードされた10進整数値など、必要な機能を実行するスケッチをCで記述します。たとえば、デューティサイクルが可変のPWMピンを介してLEDに電力を供給します(Arduino側)。
- PC側で、必要な言語(「どのくらいの音が再生されるか」、つまり...)を取得するコードを、好きな言語で記述します。
- PC側のコードからシリアルポート通信を使用してArduinoに数値を送信します
いいえ。ハードウェアはこの機能をサポートしていません。USB ポートは DAC ではありません。
言語の概念を知らない限り、どちらも良いと思います。それでも、コーディングが簡単な Java の方が好きです。シーケンサーまたはミキサーを使用して、必要なポートに送信できます。ミキサーは、複数の MIDI イベントの送受信を処理できます。しかし、Java ではサウンド API はあまり進歩していませんが、C++ では Python の大きなライブラリを使用できます。これは、周波数または電圧を取得するのに役立ちます。Java のように機能が制限されており、外部ライブラリを追加する必要がある場合があります。またはFFtをプリフォームします(私はこの部分が嫌いです)。それでおしまい!幸運を