工作と競馬2

電子工作、プログラミング、木工といった工作の記録記事、競馬に関する考察記事を掲載するブログ

ホームシアターの構築(11) --- サラウンドスピーカーの製作(2) ---

概要

サラウンドスピーカーの外装、仕上げを行った。



背景と目的

3か月ほど前に、サラウンドスピーカーの製作を行った。今回は、外装用のカッティングシートを貼りつけて、仕上げる。



詳細

1. カッティングシート選定

カッティングシートは、

サンゲツ REATEC TC-5069 (明るめのウォールナット 柾目)

を使用する。理由は

  • 暗すぎない色が家族の要望であること
  • 設置先の部屋のインテリアとのマッチングから、ウォールナットもしくはオークが適していること
  • サンゲツのリアテックが価格と性能・品質のバランスに優れていること

である。このような条件に合致するものはサンゲツREATECだけでもかなりの数があったため、20種類ほどの壁紙サンプル取り寄せを行ったり、3DCAD上でシミュレーションを行ったりして、家族の意見をもらいながら熟慮を重ねる必要があった。非常に骨の折れる作業である。


2. 貼り付け

貼り付け前の様子。貼り付けを行っていく。

まず、バッフル面と側板を貼る。バッフル端が丸められているのでつながった1枚で貼っている。

次に天面とバッフル上部の斜めカット部分を貼る。ここも繋がった1枚。なお、この写真では見えないが、底面側も同様。

ユニット取付穴、バッフル部分を切り抜き、ユニットを取り付けた様子。

裏板にも貼る。ターミナル穴は横置きに合わせて位置を変更。


3. 吸音材調整

音を聞きながら、吸音材を調整。平行面の多い構造なので、少なくとも平行する面の片側には吸音材が貼られるようにした。裏板は以前は取り外しができる構造としていたが、吸音材調整が終わってしまえばほぼ取り外すことがないのでボンドで固定した。最悪ユニット穴から中には手が入る。


仕上がり

裏のターミナル

カッティングシートの貼り付けで少し失敗したなと思う部分があるのが残念だが、外装、聴感印象とも一応合格点には達していると思われる。



まとめと今後の課題

サラウンドスピーカーを仕上げることができた。次回は、イネーブルドスピーカーの仕上げを行う。


SageMaker Python SDKで、 "ClientError: An error occurred (ValidationException) when calling the CreateModel operation: RoleArn: Cross-account pass role is not allowed." となるとき

背景

上記の条件において、

docs.aws.amazon.com

を参考に、以下のようなコードでモデルをデプロイしようとした。

roleArn = SageMakerFullAccessとS3FullAccessポリシーをアタッチしたもの

image_uri = sagemaker.image_uris.retrieve(framework=組み込みアルゴリズム名, region=リージョン名, version=バージョン)

model = sagemaker.model.Model(
    image_uri=image_uri,
    model_data="s3://model.tar.gzの置き場所",
    role=roleArn
)

model.deploy(
    endpoint_name="エンドポイント名",
    initial_instance_count=1,
    instance_type="ml.c5.large"
)

ところが、

ClientError: An error occurred (ValidationException) when calling the CreateModel operation: RoleArn: Cross-account pass role is not allowed.

と出てしまった。


修正方法

以下のように、sagemaker_sessionという引数を与える必要がある。リージョンは、組み込みアルゴリズムの参照先コンテナイメージのリージョンとする。

boto_session = boto3.Session(
    region_name=リージョン名,
    aws_access_key_id="**************",
    aws_secret_access_key="**************"
)
session = sagemaker.Session(boto_session=boto_session)

model = sagemaker.model.Model(
    image_uri=image_uri,
    model_data=MODEL_DATA,
    role=SM_EXECUTION_ROLE,
    sagemaker_session=session # これが必要
)

これで、数時間悩んでしまった。 ネット上に情報がなく、おそらくここでハマる人はあまりいないのだろう。残念。


ホームシアターの構築(10) --- センタースピーカーの製作(1) ---

概要

センタースピーカーの外装以外の製作を行った。



背景と目的

前回、フロントスピーカーのスタンドとクロスオーバーネットワークの製作を行った。今回は、センタースピーカーのエンクロージャー製作を行う。



詳細

1. 基本構想

再掲にはなるが改めて書くと、

  • 手持ちのTVボード内(幅40cm × 高さ30cm)に収まる程度の大きさとすること
  • 男性のセリフ音声に必要そうな100Hz程度まで再生できること

である。ただし、TVボード内に格納すべきAV機器もあることからできるだけそれらが置けるように、上下の厚みを減らす方針としたい。


2. ユニット選定

ネーブルドスピーカー、サラウンドスピーカーと同じくPE-101A手持ち品を用いる。

  • 口径: 10cm
  • f0=80Hz@JIS箱
  • 再生帯域: f0~20kHz
  • 能率: 90.5dB

サラウンドスピーカーと同程度のエンクロージャー容積とすることで再生帯域の要求は十分満たせると思われる。


3. 設計

  • 容積: 約8L
  • エンクロージャー方式: バスレフ型
  • バスレフポート共振周波数: 65Hz

大まかな特性シミュレーション結果は以下。

バスレフポートの開口サイズと長さを計算。

外観は、できる限り上下の厚みを抑えてその分横幅で容積を稼ぐ。バッフル端の丸めと上下斜めカットは回折低減および他スピーカーとの共通の意匠としてここでも採用する。バスレフポートは、外観上の対称性を持たせるために2つに分ける。2つの開口面積を合計したものが、4cm × 6cmになっている。

内部構造として、各面に補強を追加。上下面の連結による補強は、イネーブルドスピーカー製作の際に行って効果の手ごたえを感じたため、ここでも採用する。取り付け方向は斜めとして、平行面の低減を狙う。


4. 製作

材料は、MDFおよび手持ちの杉材等とし、MDFはホームセンターで各面材をカットしてもらった。各種穴あけは自分で行った。自分で設計したので仕方ないのだが、今回のサイズは横幅が300mmに収まらず、かといって450mmにも満たないので非常に板取効率が悪い。材料切り出しが終わったところ。

接着に入っていく。まずは、バスレフポートをバッフル裏に接着。

全体の接着を実施中。裏板側から見た様子。補強等も接着中。

すべて貼り終えた様子。


5. 仮音出し

吸音材なしで、裏板もちゃんと固定していない状態だったが、とりあえず1/3オクターブバンドノイズを聞く限り、設計上の特性にあるようにおよそ80Hz程度までは音圧感の低下があまりなく、63Hz以下で明らかに聞こえなくなるので、低域特性としてはまずまず設計通りと思われた。中~高域は、特段目立つ帯域はなく、それなりにフラットに出ているのではないだろうか。音楽の場合、モノラル再生なので定位感などは不明だが、それなりにクセなく聞けたと感じる。



まとめと今後の課題

センタースピーカーの製作ができた。次は、いよいよ外装に着手し、仕上げにかかる。