連載
» 2015年01月21日 11時30分 UPDATE

Q&Aで学ぶマイコン講座(10):マイコンでメロディーを作りたい! (1/3)

マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。10回目は、中級者の方からよく質問される「マイコンで簡単なメロディを作ることができますか?」についてです。

[菅井賢(STマイクロエレクトロニクス),EDN Japan]
tt140519QAM_icon120_90.jpg

 素朴な疑問から技術トラブルなどマイコンユーザーのあらゆる悩みに対し、マイコンメーカーのエンジニアが回答していく連載「Q&Aで学ぶマイコン講座」。

 今回は、中級者から多く寄せられる質問です。


tt140407STNEWQQQ.jpg

 音の合成や、シンセサイザー機能などの複雑な機能を使わずに、マイコンで簡単なメロディーを作れますか?

tt140407STNEWAAA.jpg

 音色にこだわらず、単純にドレミファソラシドの各音階に合った周波数のパルスを出すのであれば、マイコンに搭載されているPWM(パルス幅変調:Pulse Width Modulation)という機能を使って実現できます。もともとPWMとは、信号の変調方法の1つであり、パルス波のデューティー比(High幅とLow幅の比)を変化させて変調する機能ですが、周波数も任意に変化させられます。音階を作るだけですので、デューティー比は50:50に固定しておいて周波数だけ変化させます。ドは262Hz、レは294Hz、ミは330Hz……ですので、各音の周波数のパルスを音符(例:8分音符、4分音符)の長さに従って出力すればメロディーができます。

 例えば、童謡「お正月」の最初の部分を図1に示します。

楽譜からPWM信号への変換 楽譜からPWM信号への変換 (クリックで拡大)

 ファ(2分音符)、ソ(4分音符)、ファ(8分音符)……と続きますので、349Hz(ファ)のパルスを2分音符相当の長さ1304ms、392Hz(ソ)のパルスを4分音符相当の長さ652ms、349Hz(ファ)のパルスを8分音符相当の長さ326ms……と、続けて出力すれば、「お正月」のメロディーが出来上がります。

       1|2|3 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

RSSフィード

EDN 海外ネットワーク

All material on this site Copyright © 2005 - 2017 ITmedia Inc. All rights reserved.
This site contains articles under license from UBM Electronics, a division of United Business Media LLC.