|
|||||||||||||
07-07-2012 05:58 AM
お世話になっております。
現在、入力波形を音として出力するプログラムをLabview2011を用いて作成しています。
1つお聞きしたいことがあるのですが、例えば入力波形を読み取り、for文の1回のループで100点の値を
音に変えるプログラムを作成したとします。(1点あたりの音の出力時間は0.1秒としたので1回のループで
そのfor文が1回終わった後、また100点の値を音に変換する時に少なからず音が途切れると思います。
その音の途切れを極力少なくしたいのですが、何か良い方法はございますでしょうか。
よろしくお願いいたします。
07-10-2012 05:09 AM
Inamiと申します。
具体的な物を想像できていませんが、方法としては
(1) 複数コアCPUを持つPC上で、タイミングループを使用し、波形読み込み処理と音変換処理を分離する
(2) cRIOのようなリアルタイムOSを持つ機器を使う
(3) FPGAでハードウェア的に処理する
等でしょうか。
07-10-2012 05:16 AM
Inami様
ご返答ありがとうございます。
後日、3つの方法を試したいと思います。
ただ、できればプログラム上で修正を行いたいと思っていて、
何か良い案があればご教授いただきたいです。
プログラムがイメージしにくい場合は言ってもらえれば添付いたします。
よろしくお願い致します。
07-10-2012 06:54 AM
Inamiです。
100 msでしたらPCでも処理できるような気がしますが、
正確には分かりません。
前述の(1)を実装してみました。
時間が無かったので、やっつけ感がするのと、音が出ないのとで、
問題が大有りですが、処理的にはこんな感じでしょうか?
上段のサンプリングループが10 ms、下段の再生ループが1000 msですので
下段でキューを排出しながら上段でキューに入れ続けてる気がしないでもないです。
プログラムに詳しい方に直して頂きたいです…
07-10-2012 05:55 PM
Inami様
ご返答ありがとうございます。
また、お忙しい中、実装していただき、ありがとうございました。
処理的にはそのような感じです。
少しいじりながら自分で試行錯誤してみます。
また、1つ質問なのですが、やはり音出力をする場合は「ビープ音」ではなく、
「波形を出力」のコマンドの方が音が滑らかなのでしょうか。
毎回質問ばかりですいませんが、よろしくお願いいたします。
07-11-2012 12:46 AM
「ビープ音」はいわゆる機械音しか出ませんので、
Yamada様のご用途のような、任意波形を取り込んで
音として出力したい場合は「波形を再生」かと思います。
根本解決にはなっておりませんが、
プログラムが間違っていたので修正版を添付します。
ところで、Yamada様が実現したい物は、LabVIEW 2011ヘルプの
サウンド入力読み取り(VI)
http://zone.ni.com/reference/ja-XX/help/371361H-01
に記載されているサンプル
Simultaneous Sound IO VI: labview\examples\sound2\sound2.llb
だったりしませんでしょうか?
サンプルプログラムは
C
rogram Files(x86)\National Instruments\LabVIEW2011\examples\sound2
フォルダにあると思います。
07-14-2012 10:59 PM
Inami様
ご教授いただきながら、返事が遅れまして、大変申し訳ございません。
やはり、ビープ音では機械音しか出力できないのですね。
「波形を出力」を使って、音出力を行っていきたいと思います。
そのサンプルを見たいのですが、開こうとするとなぜかエラーが出てしまって見ることができません・・・。
どのようなプログラムなのか、教えていただけませんでしょうか。
よろしくお願いいたします。
プロファイル | プライバシ- |
使用条件 |
お問い合わせ
© 2011 National Instruments Corporation. All rights reserved. | このページを紹介する
|
||

このページを紹介する