5.Toneのコントロール

クムクムプログラミング

Tone(トーン)とは、音の高低や音そのもののことです。
一般にはブザー音、コンピュータの世界では、よく’BEEP音(ビープ音)’と呼ばれているものです。
これらは、電気信号を使ってスピーカーから空気振動を発生させることにより音がでています。
音は空気振動で音の高さは1秒間に振幅する回数「周波数」によって決まります。
この「周波数」の値が大きいと1秒間に振動する回数が多くなり、音は高く聞こえます。
「周波数」の値が小さいと1秒間に振動する回数は少なくなって、音は低く聞こえます。

Tone(トーン)で音を出すための情報

VS CodeでPythonプログラムのプロジェクトやソースファイルを作成する方法については「5. VS CodeによるPythonプログラムの開発」を確認してください。

Pythonプログラムから直接QumcCommLib.dllを呼び出す場合は、「3.Qumcum PythonライブラリでコントロールできるAPI仕様(QumCommLib.dll呼出し)」にある指定した周波数のビープ音を出力する”qumcomm_sound()”を確認してください。

Pythonプログラムからqumcum.pyを経由して呼び出す場合は、「2.Qumcum PythonライブラリでコントロールできるAPI仕様」にある指定した周波数のビープ音を出力する”qumcum.sound()”を確認してください。

クムクムと接続する方法についての説明は、「4.クムクムとの接続~LEDの点灯」を参考にしてください。

Pythonプログラムから直接QumcCommLib.dllを呼び出す

コード全体はこのようになります。

※ここで、QumcCommLib.dllはこれから作成し、実行するPythonプログラムのコードと同じフォルダに置いていることを前提としています。

import os
import time
from ctypes import *

# DLLのフォルダにカレントディレクトリを追加します
os.add_dll_directory(os.getcwd())

# DLLをロードします
dll = cdll.QumCommLib

# COMポートの番号文字列を生成
port = c_char_p('COM7'.encode('utf-8'))

# Qumcumと接続
h = dll.qumcomm_connect(port, 115200)

#
# Tone
#
dll.qumcomm_sound(h, 440, 100)

# Qumcumから切断
dll.qumcomm_end(h)

このコードの20行目にある”dll.qumcomm_sound(h, 440, 100)”がToneで音を出す処理となります。

これは、「440Hz(ラ)の音を100ミリ秒(0.1秒)の間、音を出す」という動作を行います。

 

Pythonプログラムからqumcum.pyを経由して呼び出す

コード全体はこのようになります。

※ここで、QumcCommLib.dllはこれから作成し、実行するPythonプログラムのコードと同じフォルダに置いていることを前提としています。

import qumcum

# Qumcumと接続
qumcum.connect("COM5")

# Tone
qumcum.sound(440, 100)

# Qumcumから切断
qumcum.end()

このコードの7行目にある”qumcum.sound(440, 100)”がToneで音を出す処理となります。

これは、「440Hz(ラ)の音を100ミリ秒(0.1秒)の間、音を出す」という動作を行います。