問題タブ [javasound]
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.
java - ピッチ検出とJavaの変更
私はフランス語ですので、私の文章のいくつかを理解するのに苦労してすみません。とにかく、いくつかのトピックで、フーリエ変換のおかげでピッチが影響を受ける可能性があることを知りましたが、それを実装する方法を本当に理解していませんでした。さらに、wavファイルのピッチを変更する方法が見つかりませんでした。可能であればmp3ファイルをwavにjavaSound、mp3にJLayerを使用して音楽を聴いています。ありがとう
java - ループ音Java
私は、サウンド再生メソッドといくつかのカスタムコードに基づいて自分で石畳にしたクラスを使用しています。唯一の問題は、playSoundFile()メソッドの出力ストリームにコピーするwhileループがどのように機能するかを100%確信していないことです。簡単な説明と、ループに設定する方法の提案(できれば、サウンドファイルの長さで繰り返し呼び出すタイマーを設定せずに)をいただければ幸いです。
「私の」コード:
java - Java を使用した Web ベースのページでオーディオを録音/再生する
javascript など、および Java のデスクトップ ベースのものはたくさん見つかりましたが、Web ベースの Java は見つかりませんでした。何か案は?
java - 瓶で音が鳴らない
すべてのクラス ファイルとリソースを jar としてパックしましたが、実行時にサウンド ファイルが再生されません。私のパッケージ構造は次のとおりです。
コード:
この行が実行されたときに取得しnull
ます!!
java - 既知の音源のエコー キャンセレーション (java + linux)
私は、音声認識を独自の出力 (テキスト読み上げシステムを使用) である「無視」させようとしているため、エコー キャンセラを使用したいと考えています。私は実際にtts出力を「知っている」ので、それをwaveファイル(またはpcmなど)として保存することもできるので、不明な入力のエコーキャンセルで使用される「推定のもの」全体は必要ありません。しかし、私は本当に始める方法がわかりません。「speex」はこの目的に役立ちましたが、そのドキュメントによると、2つの独立したサウンドカードでは機能しません。手短に言えば、何かアイデアはありますか?ここに私の現在の設定があります:
入力用のマイクと出力用のスピーカーがあります。マイクは出力にかなり近く、そこにとどまる必要があります。マイクは USB サウンドカードを使用して接続され、スピーカーは通常のオンボード サウンド デバイスに接続されます。
OS は fedora (12)、アプリケーションは Java で作成します...
どんな助けでも大歓迎です;)
java - JavaSoundAPIの初期化
次のコードを使用して、ゲームでサウンドを再生します。
問題は、サウンドを初めて再生する場合、何らかの初期化作業が行われるため、アプリケーションが短時間ハングすることです。その後に再生されるすべてのサウンドは、この動作を示していません。それを防ぐ方法は?
java - ポートとデータラインの両方を備えたJavaSoundミキサー?
JavaSound APIプログラマーガイドの診断は、ミキサーが原則としてデータラインとポートの両方を持つことができることを示唆しているように見えます(19〜20ページ)。しかし、誰かが実際にこの構成を見たのではないかと思いました。私が目撃しているのは、関連する場合、ミキサーはペアで提供され、1つはソース/ターゲットのデータラインを備え、もう1つは対応するポートを備えています。
誰かがガイドに示されているように、ポートとデータラインの両方を備えたミキサーを備えた構成を目撃したことがありますか(または私はガイドを誤解していますか?)
java - Java を使用して wav ファイルから人間の音を抽出する
Javaを使用してオーディオ.wavファイルから人間の音を抽出する必要があるプロジェクトに取り組んでいます。
オーディオ .wav ファイルには、犬、猫、音楽、人間などの 3 ~ 4 種類の音が含まれている場合があります。人間の音を識別し、オーディオ .wav ファイルからその部分を抽出する必要があります。
私はFFT.javaとComplex.javaを使用しています。
ここで、ハード ドライブから audio.wav ファイルを読み取り、これをバイト配列に変換する AudioFileReader クラスを作成しました。次に、上記の FFT.java と Complex.java を使用して FFT.fft(bytesArray) を適用すると、代わりに Complex 配列が返されます。
問題は、返された複合配列から人間の音のバイトパターンを抽出する方法です...これを達成する方法を知っている人はいますか?
編集: 非常に単純な audio.wav ファイルを想定しています。たとえば、猫の音の後に無音、人の音の後に無音、犬の音の後に無音など。
java - 音が遅れるのはなぜですか?
サウンド データを処理するためのアプリケーション システムに取り組んでいます。最初のアプリケーションは、単にマイク ジャックからデータを読み取り、次のアプリケーションにデータを送信します。メイン ループは、次のコードを繰り返し実行します。
システムを起動すると、常に数秒遅れます。システムを一時停止すると (GUI アプリケーションは入力アプリケーションに続くアプリケーションに入力アプリケーションからのデータの受信を停止するように指示するため、入力アプリケーションは一時停止時に 5 行目でブロックする必要があります)、待機してから再度再生すると、システムはさらに遅延します。一時停止したところです。たとえば、10 秒のラグで開始し、5 秒一時停止してから再度再生すると、15 秒遅れることになります。
これは、プログラムを実行可能な jar ファイルとして実行したときに発生します。Eclipseから実行すると発生しません。
Ubuntu Linux 10.04 LTS を実行している 2 台のコンピューターでこれをテストしました。一方では発生しますが、他方では発生しません。一方で、Eclipse から実行しようとすると、まったく別の問題が発生します。これをどうすればいいのかわからない。コンピューターのスペックをご希望でしたら、喜んで差し上げます。欲しいスペックと入手方法を教えてください。
遅延の原因を教えてください。ありがとう。
- 編集 -
アンドリューの提案に従って、私はSSCCEであると信じているものを作成しました:
このコードは、再生、一時停止、接続、切断の 4 つのボタンを含むウィンドウを生成します。再生を押すと、プログラムが「再生」モードにあるかのようになります。接続をクリックすると、あたかもサウンド入力アプリケーションが次のモジュールに接続されたかのようになります。
テストするには、次の手順を実行します。
サウンド デバイスをマイク ジャックに接続します (ただし、何も再生しないでください)。
このコードから実行可能な jar ファイルを作成します。
ターミナルからファイルを実行します。
「再生」をクリックします。
「接続」をクリックします。
この時点で、端末を下って行く小さな数字の束が表示されるはずです。
サウンド デバイスで、サウンドの再生を開始します。
ターミナルですぐに大きな数字が表示されるはずです。
サウンド デバイスでのサウンドの再生を停止します (ターミナルで小さい数値に戻る必要があります)。
「一時停止」をクリックします。
5 秒待ちます。
「再生」をクリックします。
オーディオ デバイスでサウンドの再生を開始します。
ここでバグが発生します。このコードを Eclipse で実行すると、すぐに再び大きな数値が得られます。jar ファイルを実行しているだけの場合、5 秒の遅延があり、その後、より大きな数値が得られます。
何か新しい考えはありますか?
java - FreeTTSオーディオなしLinux ubuntu - エラーなし
Java 6 を使用して Ubuntu 10.10 を実行していますが、FreeTTS でオーディオを出力できません。私は今、3台の異なるコンピューターで試してみましたが、友人にUbuntu PCで試してみるように依頼しましたが、彼も同じ問題を抱えていました. MBROLAを取得した後、MBROLAの音声が検出されないという警告さえ表示されなくなりました。何とか何とか何とか..
同じコンピューターを使用して、仮想ボックスを実行し、Windows XP を起動しました。HelloWorld.jar と TTSHelloWorld.jar を実行すると実際にオーディオを取得できましたが、独自のテキストを入力しようとすると、freetts.jar はまだサイレントです。
私が使用するコマンド。
java -jar lib/freetts.jar -text こんにちは
Enterキーを押すと起動し、MBROLAが見つからないという警告メッセージが表示されていましたが、CTRL-Cで停止するまでそこに留まります。
私は自分が何を間違っているのか、なぜ他の誰もこの問題を抱えていないのか理解できません. 誰でも私を助けることができますか?
ありがとう、
ジョン