🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

1回答

2071閲覧

Swift マイク音量を増幅してよく聞こえるようにしたい.

tanakahirokazu

総合スコア4

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

1クリップ

投稿2019/11/04 06:29

編集2019/11/05 01:06

前提・実現したいこと

現在,Swiftを用いてmacOS版の英語学習アプリケーションを作成しています.
どんなものかと説明すると,
まず普通の音声再生プレーヤをAVFoundationのAVAudioPlayerを用いて設計してその音声を聞きながら自分の発音も聞けるようにAVAudioEngineを別プログラムで動かしてマイクを起動させるという設計でアプリケーションを作成しています

そこで,マイクを使用して自分の発音を聞き取れるようにAVAudioEngineのAVAudioInputNodeを使用して設計したのですが,実際の音の大きさが小さく英語学習と一緒に使用するとマイクの音量が聞こえにくくなるので3倍くらいに音量を引き上げたいです.

###使用したモジュール

  • マイク AVAudioEngine AVAudioInputNode,AVAudioOutputNode
  • プレーヤー AVFoundation AVAudioPlayer

###使用環境

  • MacBook Pro (13-inch, 2017, Two Thunderbolt 3 ports)
  • バージョン10.14.6(18G103)
  • 使用しているマイクApple純正のマイク付きイヤホン

 外付けマイクのみで接続した時も同様に音が小さいです.

発生している問題

AVAudioEngineのAVAudioInputNodeの音量を3倍くらいに大きくして音楽再生中でも聞こえる大きさにしたい.
AVAudioInputNode.volume =1.0
appleのリファレンスを見ると,上限がFloatで1.0となっていてマイクの音量はこれが最大なのかなと半分諦めかけています.
1.0に設定したときよりマイクの音量を大きくする方法を知りたい.

音関係で使えるモジュールなど解決策があれば教えて欲しいです.

###ソースコード
フィードバックようにソースコードを貼っておきます.
https://github.com/techiro/PronunciationLearningPlayer

よろしくお願いします.

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

coco_bauer

2019/11/04 10:15

使用しているマイクの機種、マイクとMacの接続方法、といった情報を追加したほうが良いと思います。問題がMacのソフトウェアにあるのか、マイクなどのハードウェアにあるのかを、まず切り分けましょう。
guest

回答1

0

自己解決

##解決方法

var engine: AVAudioEngine! var input: AVAudioInputNode! var output: AVAudioOutputNode! ~~~~~~~~~~~~~~~~~~~~~~AVAudioEngineの設定~~~~~~~~~~~~~~~~~~~~~~~~ brabrabra ~~~~~~~~~~~~~~~~~~~~~~AVAudioInputNodeの設定~~~~~~~~~~~~~~~~~~~~~~~~ func changeMicVolume(micvol: Float) { //遅延機能の音のボリューム変更時 let bairitu:Float = 20.0//ここの倍率を変えれば入力のレベルを増幅できる input.volume = micvol*bairitu micslidervalue = micvol*bairitu }

###なぜ解決したか

AVAudioInputNodeのvolumeプロパティ

上の画像のように, **The default value is 1.0. The range of valid values is 0.0 to 1.0 **
この文言を見て,最大レベルが1.0までと完全に思い込みで質問してしまいました.
閲覧,回答してくださりありがとうございました.

投稿2019/11/05 01:43

tanakahirokazu

総合スコア4

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問