JP2005195507A - Method for time synchronization via network - Google Patents
Method for time synchronization via network Download PDFInfo
- Publication number
- JP2005195507A JP2005195507A JP2004003325A JP2004003325A JP2005195507A JP 2005195507 A JP2005195507 A JP 2005195507A JP 2004003325 A JP2004003325 A JP 2004003325A JP 2004003325 A JP2004003325 A JP 2004003325A JP 2005195507 A JP2005195507 A JP 2005195507A
- Authority
- JP
- Japan
- Prior art keywords
- time
- terminal
- value
- network
- midi
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Synchronisation In Digital Transmission Systems (AREA)
- Electric Clocks (AREA)
Abstract
Description
本発明は、ネットワークに接続された複数の端末において時刻の同期をとる方法および当該方法を実行するための端末に関する。 The present invention relates to a method for synchronizing time in a plurality of terminals connected to a network and a terminal for executing the method.
近年、通信インフラが急速に発達していることに伴い、ネットワークを介して、地理的な離れた複数のコンピュータ端末を用いて合奏(セッション)を行うシステムを構築することが試みられている。例えば、各ユーザはMIDI(Musical Instrument Digital Interface)規格に適合した端末(以下、MIDI端末という)をインターネットに接続し、同一楽曲の特定のパートを演奏すること等が考えられている。 In recent years, with rapid development of communication infrastructure, it has been attempted to construct a system for performing ensembles (sessions) using a plurality of geographically separated computer terminals via a network. For example, it is considered that each user connects a terminal (hereinafter referred to as MIDI terminal) conforming to the MIDI (Musical Instrument Digital Interface) standard to the Internet and plays a specific part of the same music.
このようなシステムにおいては、ある端末から演奏情報を含む通信パケットが他の端末に送信され、また逆に、他の端末からの演奏情報パケットが当該端末において受信される。そして、送信されるパケットには当該パケットに含まれる楽音情報(楽音の発生・停止、音色の変更等の命令等)を処理するタイミングを表すタイムスタンプが付されており、受信端末側でこのタイムスタンプを参照し、当該タイムスタンプに従ったタイミングで受信した演奏情報を処理する。このような方法で楽音情報の交換を行って発音タイミング等の各種演奏処理の同期を取ることにより、ネットワークを介して複数のMIDI端末を用いたセッションを成立させようというのである。 In such a system, a communication packet including performance information is transmitted from one terminal to another terminal, and conversely, a performance information packet from another terminal is received by the terminal. The packet to be transmitted has a time stamp indicating the timing of processing the musical tone information (musical tone generation / stopping, timbre change, etc.) included in the packet. With reference to the stamp, the performance information received at the timing according to the time stamp is processed. By exchanging musical tone information in this way and synchronizing various performance processes such as sound generation timing, a session using a plurality of MIDI terminals is established via the network.
この際、各端末はぞれぞれ自端末の動作の基準となる時計を有しており、且つそれらの時計は互いに時刻の同期が取れていることが前提となる。各時計が同期していなければ、パケットに適切なタイムスタンプが付されていても、それを処理する時間が端末ごとに異なってしまうため、セッションに支障をきたす結果となるからである。しかし、一般的にはどのような時計であっても狂いが生じる可能性があり、各端末の時計が狂いなく動作していることは保証できない。そこで、ネットワークを介して各端末の時計の時刻合わせを行うことが一般的に行われている。 At this time, it is assumed that each terminal has a clock that serves as a reference for the operation of the terminal, and that the clocks are synchronized with each other. This is because, if the clocks are not synchronized, even if an appropriate time stamp is attached to the packet, the processing time differs depending on the terminal, resulting in a problem for the session. However, in general, any clock may be distorted, and it cannot be guaranteed that the clock of each terminal is operating without erraticness. Therefore, it is a common practice to adjust the clock of each terminal via a network.
ネットワークに接続された端末の時計の時刻を合わせる方法に関して、種々の技術が存在する(例えば特許文献1参照)。代表的なものとしては、NTP(network time protocol)およびその簡易版であるSNTP(simple network time protocol)を用いた方法がある。具体的には、ある端末が自端末の時計の示す時刻を付したパケットをNTPサーバに送信し、NTPサーバはこのパケットを受信すると、新たなパケットを当該端末に送信する。このパケットには、端末からのパケットを受信した時刻と当該新たなパケットを送信する時刻とを付しておく。このパケットを受け取った端末はパケットに付されている両時刻から自端末とサーバとの時刻差を計算し、自端末の時計を合わせる。このようにして全ての端末の時計をNTPサーバの時計に合わせることにより同期をとるのである。 Various techniques exist for a method of adjusting the time of a clock of a terminal connected to a network (see, for example, Patent Document 1). As a typical example, there is a method using NTP (network time protocol) and its simple version, SNTP (simple network time protocol). Specifically, a certain terminal transmits a packet with the time indicated by its own clock to the NTP server, and upon receiving this packet, the NTP server transmits a new packet to the terminal. This packet is given the time when the packet from the terminal is received and the time when the new packet is transmitted. The terminal that receives this packet calculates the time difference between its own terminal and the server from both times attached to the packet, and adjusts its own clock. In this way, synchronization is achieved by setting the clocks of all terminals to the clocks of the NTP server.
しかしながら、上述の方法においては、時刻合わせはネットワークを介して行われるため、少なからずネットワークの状態の影響を受けてしまうことは避けられない。例えば、ネットワークの負荷や使用可能帯域の状態は時間的に変動し得ることが知られているが、これはすなわち、時刻合わせに用いるパケットの遅延時間も変化する可能性があることを意味する。また、NTPプロトコルにおいては、時刻合わせ用のパケットの遅延時間は往路と復路とでは同一であると仮定している(非特許文献1参照)。従って、ある端末が受信する時刻合わせ用のパケットが何らかの突発的な影響等により、たまたま大きく遅延して届いた場合、当該端末の時刻はずれた状態に設定される可能性がある。特に、時刻合わせ用のパケットの授受中に往路および復路の一方のみに大きく遅延が発生した場合、そもそも時刻合わせの原理の前提条件が崩れることになり、結果的に、端末の時計は大きくずれた時刻に設定されてしまう。 However, in the above-described method, the time adjustment is performed via the network, so it is inevitable that the time is affected by the network state. For example, it is known that the load on the network and the state of the usable bandwidth may change with time, which means that the delay time of the packet used for time adjustment may also change. Further, in the NTP protocol, it is assumed that the delay time of the time adjustment packet is the same between the forward path and the return path (see Non-Patent Document 1). Therefore, when a time adjustment packet received by a certain terminal arrives by a large delay due to some sudden influence or the like, there is a possibility that the time of the terminal is set to be shifted. In particular, if a large delay occurs in only one of the forward and return routes during the transmission and reception of time adjustment packets, the precondition of the time adjustment principle will be lost in the first place, resulting in a significant shift in the terminal clock. It will be set to the time.
一般に、セッションにおいて許容される時間のずれの範囲は数十ミリ秒程度であって、これ以上のずれが発生すると演奏者(セッションに参加している端末ユーザ)の演奏に支障が生じることが知られている。これは、従来の、ある程度リアルタイム性が要求される映像のストリーミング配信等において求められる時間誤差レベルに比べても、厳しい条件となっている。そして、実際インターネットを介した通信においては、これを大きく越えて伝送遅延のゆらぎ(ジッタ)が一時的に生じることが十分あり得る。このような場合、NTP等の従来の方法で時刻同期を行っても、端末の時計が大きくずれて設定されてしまう結果、セッション全体の円滑な進行に支障をきたす虞がある。また、セッションに参加している端末の時計が同じようにずれて設定されていればまだしも、ある通信環境に属する端末の時計のみが著しくずれて設定されてしまうと、もはやセッションとして成り立たない可能性すらある。 In general, the allowable time lag range in a session is about several tens of milliseconds, and it is known that the performance of the performer (terminal user participating in the session) will be hindered if a lag more than this occurs. It has been. This is a more severe condition than the time error level required in the conventional streaming distribution of video that requires real-time performance to some extent. In communication via the Internet, transmission delay fluctuations (jitters) may occur temporarily exceeding this. In such a case, even if time synchronization is performed by a conventional method such as NTP, the clock of the terminal is set so as to be greatly shifted, which may hinder smooth progress of the entire session. Also, if the clocks of the terminals participating in the session are set in the same way, if only the clocks of the terminals belonging to a certain communication environment are set up significantly shifted, there is a possibility that the session no longer holds. There is even.
以上説明したように、従来の時刻同期方法をインターネット等を用いたMIDIセッションに参加する端末の時刻合わせにそのまま適用しても、セッションに支障をきたさないような方法で端末の時計の時刻合わせを行うことは困難である。
本発明は、上述した点に鑑み、ネットワークを介したMIDIセッションにおいて、当該セッションに支障をきたすことなく、複数の端末の時刻の同期をとることを目的とする。 In view of the above-described points, an object of the present invention is to synchronize the time of a plurality of terminals in a MIDI session via a network without causing trouble in the session.
この課題を解決するため、本発明の時刻同期方法は、計時手段を有する端末と参照時計を有するサーバ装置との間で時刻の同期をとる方法であって、前記計時手段が計時する時刻と前記参照時計が計時する時刻との差に関する時間差情報を通信ネットワークを用いて取得する取得ステップと、前記時間差情報によって表される時間差が所定値以下である場合、当該時間差だけ前記計時手段の計時時刻を修正し、当該時間差が前記所定値よりも大きい場合、前記所定値だけ前記計時手段の計時時刻を修正する修正ステップとを有する。 In order to solve this problem, a time synchronization method of the present invention is a method of synchronizing time between a terminal having a time measuring means and a server device having a reference clock, wherein the time counted by the time measuring means and the time An acquisition step for acquiring time difference information relating to a difference from a time measured by a reference clock using a communication network, and if the time difference represented by the time difference information is equal to or less than a predetermined value, the time measured by the time measuring means is calculated by the time difference. And a correction step of correcting the time measured by the time measuring means by the predetermined value when the time difference is larger than the predetermined value.
好ましい態様において、前記取得ステップおよび修正ステップを定期的に繰り返す。また、前記サーバ装置はNTPサーバであり、前記時間差情報はNTPプロトコルに従って取得してもよい。前記所定値は、前記通信ネットワークの安定度に基づいて決定してもよい。 In a preferred embodiment, the acquisition step and the correction step are periodically repeated. The server device may be an NTP server, and the time difference information may be acquired according to an NTP protocol. The predetermined value may be determined based on the stability of the communication network.
また、本発明の端末は、計時手段と、前記計時手段が計時する時刻とサーバ装置の参照時計が計時する時刻との差に関する時間差情報を通信ネットワークを介して取得する手段と、前記時間差情報によって表される時間差が所定値以下である場合、当該時間差だけ前記時計を修正し、当該時間差が前記所定値よりも大きい場合、前記所定値だけ前記計時手段の時刻を修正する手段と、を有する。 Further, the terminal of the present invention includes a time measuring means, a means for acquiring time difference information regarding a difference between a time measured by the time measuring means and a time measured by a reference clock of the server device via a communication network, and the time difference information. Means for correcting the timepiece by the time difference when the time difference is less than or equal to a predetermined value, and correcting the time of the time measuring means by the predetermined value when the time difference is larger than the predetermined value.
本発明によれば、通信ネットワークを介したMIDIセッションにおいて、当該セッションに支障をきたすことなく複数の端末の時刻の同期をとることができる。 According to the present invention, in a MIDI session via a communication network, it is possible to synchronize the times of a plurality of terminals without causing any trouble in the session.
以下、図面を参照しつつ本発明の実施形態を説明する。
図1は、本発明の実施形態に係るMIDIセッションシステム100の全体構成を表す図である。MIDI端末101A、101B、および101Cは、各々インターネット103を介して他のMIDI端末と接続されている。また、インターネット103にはNTPサーバ102が接続されている。なお、同図においてはMIDI端末が3つ描かれているが、これは便宜のためであって、セッションに使用するMIDI端末の数は任意である。これら端末の構成はいずれも同じであるので、以下では、これらのMIDI端末をMIDI端末101と総称することにする。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
FIG. 1 is a diagram showing the overall configuration of a
図2は、MIDI端末101の構成図である。MIDI端末101は、入力部110、送受信部111、楽音発生部112、制御部113、表示部114、記憶部115、内部時計116、および各要素を接続するバス120から構成される。
FIG. 2 is a configuration diagram of the
入力部110は、キーボード、マウス等の情報入力デバイスおよび鍵盤等の演奏情報を入力するための操作子等から構成され、各種ユーザの指示や演奏情報等を制御部113へ供給する。送受信部111はEthernet(登録商標)インタフェースや無線アンテナ等の、無線若しくは有線によりインターネット103を介して通信を行うための通信インタフェースである。楽音発生部112は、音源回路、DSP、スピーカ等から構成され、楽音発生・停止・音色変更等の各種楽音処理を行う。制御部113は、CPU、RAM、ROM等から構成され、各要素を制御する他、後述する時刻の計算処理等を行う。また制御部113は、現在選択されている動作モードに従って動作を行う。ここで動作モードとは、MIDI端末101の動作中、ユーザの明示的指示によりまたは自動的にいずれか1つのモードが選択される。そして適宜動作モードを切り換えることが可能である。このように複数の動作モードを用意することで、異なる修正処理動作を可能ならしめている。
The
表示部114は液晶ディスプレイ等の表示装置から構成され、MIDI端末101の設定状態を含む各種情報をユーザに提示する。記憶部115は、RAM、EEPROM、ハードディスク等の記憶装置であって、MIDI楽曲データを格納するほか、時刻同期処理の実行時に参照される後述する設定テーブル121を格納する。内部時計116は、端末101における全ての処理動作の基準となる参照時刻を生成する。具体的には、送信するパケットへのタイムスタンプの付与、受信したパケットに付与されているタイムスタンプの比較等の処理は、すべて内部時計116が計時する時刻に基づいて行われる。
The
図3に、記憶部115に格納される設定テーブル121の内容を示す。同図に示すように、設定テーブル121には、時刻差の修正処理に係る動作モードと時刻差の修正量の上限を表す設定値とが対応付けて記憶されている。
FIG. 3 shows the contents of the setting table 121 stored in the
以下、時刻差の修正処理動作について説明する。
本発明にかかる時刻差修正処理は、二つの段階からなる。第一は、ネットワーク遅延時間を決定する処理である。第二は、決定した遅延時間および前述した設定テーブルの内容に基づいて内部時計116を修正すべき時間の量(以下、修正量という)ΔTを決定する処理である。
The time difference correction processing operation will be described below.
The time difference correction process according to the present invention includes two stages. The first is processing for determining the network delay time. The second is processing for determining the amount of time (hereinafter referred to as a correction amount) ΔT for correcting the
図4にネットワーク遅延時間を決定する処理を示す。本実施形態においては、NTPの簡易版である、RFC2030に規定されるSNTP(Simple Network Time Protocol)を採用する。以下、同図を用いてSNTPプロトコルに準拠した遅延時間の決定方法を説明する。 FIG. 4 shows a process for determining the network delay time. In this embodiment, SNTP (Simple Network Time Protocol) defined in RFC2030, which is a simplified version of NTP, is employed. Hereinafter, a method for determining a delay time based on the SNTP protocol will be described with reference to FIG.
まず、MIDI端末101は、自端末の内部時計116が示す時刻T1において、時刻合わせを要求するパケットをNTPサーバ102に送信する(ステップS101)。このとき、当該パケットにはタイムスタンプ「T1」を付しておく。なお、タイムスタンプはミリ秒単位で記述するのが好ましい。
First, the
NTPサーバ102は、このパケットをNTPサーバ102の内部時計(以下、これを参照時計という)が示す時刻T2において受信したとする(ステップS102)。そして、当該パケットに対する応答として、新たなパケットを当該端末101に対し、NTPサーバ102の参照時計が示す時刻T3において送信する(ステップS103)。このパケットには、タイムスタンプ「T2」および「T3」を付しておく。MIDI端末101はこのパケットを内部時計116で示される時刻T4に受信すると(ステップS104)、MIDI端末101は、以下の式からネットワークの遅延時間TdelayおよびNTPサーバ102の参照時計に対する内部時計116の時刻差(ずれ)TDを計算する(ステップS105)。
(数1) Tdelay=(T4−T1)−(T2−T3) (1)
(数2) TD={(T2−T1)+(T3−T4)}/2 (2)
The
( Equation 1) T delay = (T 4 −T 1 ) − (T 2 −T 3 ) (1)
(Equation 2) T D = {(T 2 −T 1 ) + (T 3 −T 4 )} / 2 (2)
続いて、このように算出した時刻差TDに基づき内部時計116の修正量ΔTを決定する処理を主に図5を参照して説明する。従来のNTPを用いた方法においては、無条件に算出したTDの値を修正量ΔTとしていた(ただし正負は逆)。しかしながら、本発明においては、更に以下の処理を行って最終的な修正量ΔTを決定する。これを以下に説明する。なお、時刻のずれTDおよび修正量ΔTといった量は、実際には符号が存在する。時計のずれには、時計が基準となる時刻に対して進んでいるか、または遅れているかの2通りの可能性があるからである。しかし、以下においては、特に断りがない限り絶対値を指すものとする。すなわち、時刻のずれといった場合はその量を示すこととする。設定すべき時刻の修正量ΔTの正負は、時刻のずれの方向(ずれの値の正負)と反対に設定すべきことは説明するまでもない。
Next, will be described with reference mainly to FIG. 5 the process for determining the correction amount ΔT of the
ステップS201において、上述したようにNTPサーバ102の参照時計に対するMIDI端末101の内部時計116のずれTDが計算されると、ステップS202において、図3に示した設定テーブル121を参照し、現在の動作モードに対応する設定値TS(正の数)を抽出する。そして、算出したTDの絶対値(以下、単にTDと記す)と抽出したTSの値とを比較する。TD<TSまたはTD=TSの場合は(ステップS203、YES)、ステップS204において、TDだけ内部時計116を修正する。TD>TSの場合は(ステップS203、NO)、Tsだけ内部時計116を修正する(ステップS205)。すなわち、設定値TSよりも大きな時刻のずれが算出されても、設定値以上の量の修正を行わないようにするのである。
In step S201, the deviation T D of the
次に、図6および図7を用いて具体的な時刻修正処理の例について説明する。なお、以下では、MIDI端末101において動作モードは「M3」に設定されているものとする。
Next, a specific example of time correction processing will be described with reference to FIGS. 6 and 7. In the following, it is assumed that the operation mode of the
図6は、上述した図4および図5を用いて説明した時刻修正処理を、セッション中に定期的に(時間t0毎に)実行した場合の、TDの値とTSの値とを示したものである。横軸は時間(t0単位)を表し、縦軸は上図においてはTDの値を、下図においては内部時計116の修正量ΔTを表す。
FIG. 6 shows the value of T D and the value of T S when the time correction processing described with reference to FIGS. 4 and 5 described above is executed periodically (every time t 0 ) during the session. It is shown. The horizontal axis represents time (t 0 units), and the vertical axis the values of T D in the figure, in the figure represents the correction amount ΔT of the
図6の上図において、時刻「6t0」までは20ms秒程度の誤差で時間差TDが推移している。これは、ネットワークには、20ms程度の遅延時間の揺らぎ(ジッタ)が定常的に存在することを意味している。しかし、時刻「6t0」においてTDの値が突然大きくなっているのが分かる。時刻「7t0」以降は時刻5t0以前の値と同程度の値をとっているため、時刻「6t0」において求めたTDの値は、ネットワークの負荷が突発的な影響等を受けたものであって、真の時刻のずれを表しているものではないと推測される。図6の下図を参照すれば分かるように、このような場合であっても修正量ΔTは常に±30msの範囲の値をとっている。 In the upper diagram of FIG. 6, the time difference T D changes with an error of about 20 ms until the time “6t 0 ”. This means that there is a steady fluctuation (jitter) of delay time of about 20 ms in the network. However, it can be seen that the value of T D suddenly increases at time “6t 0 ”. Since the value after time “7t 0 ” is almost the same as the value before time 5t 0 , the value of T D obtained at time “6t 0 ” was suddenly affected by the network load. It is presumed that it does not represent a true time lag. As can be seen from the lower diagram of FIG. 6, even in such a case, the correction amount ΔT always takes a value in the range of ± 30 ms.
すなわち、このTDの値に即座に追従して内部時計116の修正を行うのではなく、所定値の範囲内で修正を行う。これにより、仮に通常の値から大きくずれた遅延時間TDの値が算出されたとしても、内部時計116の不適切な修正が行われることはない。結果的に、時刻の同期が大きく乱れることがなく、安定したセッションが実現する。
That is, rather than correcting the
図7は、時刻修正動作の他の例を示す。図6と同様、時刻修正処理を定期的に実行した場合のTDの値とTSの値とを示したものである。横軸は時間(t0単位)を表し、縦軸は上図においてはTDの値を、同下図においては内部時計116の修正量ΔTを表す。
FIG. 7 shows another example of the time correction operation. As in FIG. 6, the values of T D and T S when the time adjustment processing is executed periodically are shown. The horizontal axis represents time (t 0 units), and the vertical axis the values of T D in the figure, in the figure represents the correction amount ΔT of the
図7の上図において、時刻「5t0」までは一定の範囲でTDの値は推移しているが、時刻「7t0」付近で大きな値をとり、時刻「8t0」以降は徐々に減少していることが分かる。この例の場合は、図6に示した場合と異なり、TDの値は時刻「8t0」以降は即座に以前の値に戻っていないため、ネットワークの状態の一時的な変動によるものではなく、時刻「7t0」付近で何らかの原因により時刻のずれが実際に生じていると推測される。すなわち、時刻「7t0」におけるTDの値に従って内部時計を修正すべきであることを示していると考えられる。 In the above diagram of FIG. 7, the time until the "5t 0" is the value of T D to a certain extent have remained, takes a large value in the vicinity of the time "7t 0", time "8t 0" and later gradually It turns out that it has decreased. In this example, unlike the case shown in FIG. 6, the value of T D since the time "8t 0" since not returned to its previous value in real and not due to a temporary change in the state of the network It is estimated that a time lag actually occurs for some reason near the time “7t 0 ”. That is considered to indicate that according to the value of T D at time "7t 0" should be modified internal clock.
図7の下図を見ると、このような場合であっても、一回の修正に係る修正量ΔTの上限は設定値である30msとなっていることが分かる。実際、図7の上図と下図とを比較して見れば、一回の修正を行うごとに計算したTDの値は約30msずつ程度減少していることが読み取れる。そして、時刻「7t0」から「10t0」ほど時間が経過し時刻「17t0」になったとき、すなわち10回程度の修正が行われた後は、TDの値は以前のように0±20ms前後となっており、これは内部時計116の同期がほぼ保たれた状態に戻ったことを示している。
As can be seen from the lower diagram of FIG. 7, even in such a case, the upper limit of the correction amount ΔT for one correction is 30 ms, which is a set value. In fact, if you look at by comparing the upper and lower figures of FIG. 7, the value of the calculated T D each for performing one of the modifications that can be read are reduced extent by about 30 ms. Then, when it becomes from the time "7t 0" to "10t 0" enough time has elapsed time "17t 0", that is, after about ten times of the fixes were made, the value of T D is as before 0 This is around ± 20 ms, which indicates that the synchronization of the
すなわち、一回の修正処理で修正できる量以上の修正が必要な場合は、修正処理を繰り返し行うことによって、所望の修正量ΔTの時刻修正を実現する。このように、たとえ現実に大きなネットワークの遅延時間の変化が発生して内部時計の大幅な時刻修正を余儀なくされた場合であっても、修正処理を繰り返し行うことにより、確実に内部時計116を同期させることが可能となる。
That is, when a correction greater than the amount that can be corrected by one correction process is necessary, the correction process is repeated to realize the time correction of the desired correction amount ΔT. In this way, even if a large change in network delay time actually occurs and the internal clock has to be significantly corrected, the
以上説明したように、大きな時刻のずれTDを検知した場合において、それがネットワークの一時的な要因による一過性のものであって内部時計をその値に修正すべきでない場合であっても、実際に時計の計時時刻がずれていてその通りの値に修正すべき場合であっても、適切に対応することができる。 As described above, in the case of detecting the displacement T D big time, whether it is the be of transient due to temporary factors network should not correct the internal clock to the value Even when the timekeeping time of the clock is actually deviated and should be corrected to the value as it is, it can be appropriately handled.
なお、設定する動作モードの数および各モードにおける設定値TSの値は任意に設定できる。例えば、MIDI端末101のユーザが設定テーブル121に書き込んでもよい。あるいはMIDI端末101が自動的に設定してもよい。具体的には、端末101がネットワークの状態を測定し、ネットワークの状態に基づいて自動的に設定値Tsを決定してもよい。例えば、ネットワークの状態を定期的に測定し、ネットワークが安定している場合は設定値Tsを小さくし、不安定の場合は設定値Tsを大きくするように書き換えることが可能である。また、ネットワーク状態に関する情報を外部のサーバから取得することとしてもよい。これにより、ユーザはネットワークの状態を意識する必要がなく、演奏に集中することができる。
Note that the number of operation modes to be set and the set value T S in each mode can be arbitrarily set. For example, the user of the
また、図6および図7におけるt0の設定、換言すれば修正処理を行う頻度の設定およびタイミングの設定に関しては、任意の方法で行うことが可能である。例えば、ネットワークの安定度に基づいて設定してもよい。また、楽曲の演奏中(セッション中)に定期的(例えば1秒毎)に行うのが好ましいが、所定の小節毎に行ってもよい。また、楽曲の開始時には必ず最低1回は時刻合わせを行うことが好ましい。 In addition, the setting of t 0 in FIG. 6 and FIG. 7, in other words, the setting of the frequency for performing the correction process and the setting of the timing can be performed by an arbitrary method. For example, you may set based on the stability of a network. Further, it is preferable to perform the music regularly (for example, every second) during the performance of the music (during the session), but it may be performed every predetermined measure. Further, it is preferable to set the time at least once at the start of the music.
本発明の時刻同期方法は、MIDI端末を用いたセッションシステムに限らず、例えば、少なからずリアルタイム性が要求されるストリーミング配信等の映像・音声データの送受信システムにも適用できることは言うまでもない。 Needless to say, the time synchronization method of the present invention is not limited to a session system using a MIDI terminal, but can be applied to, for example, a video / audio data transmission / reception system such as streaming delivery that requires real-time performance.
<変形例>
図8に本発明の変形例に係るMIDIセッションシステム200を示す。本変形例においては、MIDI端末101A〜101Cに替えてシーケンサ201A〜201Cおよび音源202A〜202Cを用いた構成となっている。図9にシーケンサ201の構成を示す。同図に示すように、シーケンサ201は楽音発生部112を備えておらず、楽音を発生させる機能を有していない。その代わり、音源202と通信を行うためのMIDI規格に対応したインタフェース部117を備えている。音源202はMIDI規格等に準拠した音源であり、図示せぬインタフェースを介してシーケンサ201と通信を行う。シーケンサ201は、インタフェース部117を介して音源202から演奏情報を取得すると、取得した演奏情報に対してその音量や音色等の情報を予め定められた設定条件に基づいて加工し、加工後の演奏情報を音源202に出力する。音源202は加工された演奏情報を受信すると、当該加工後の演奏情報に基づいて楽音を発生させる。なお、図9においては、便宜上、一つのシーケンサに対して一つの音源のみが示されているが、複数の音源を用いてもよいことは言うまでもない。
<Modification>
FIG. 8 shows a
以上本発明の実施形態について説明したが、本発明はこれに限定されるものではなく、適宜、変形等を行うことが可能である。 Although the embodiment of the present invention has been described above, the present invention is not limited to this, and can be modified as appropriate.
100・・・MIDIセッションシステム、101・・・MIDI端末、102・・・NTPサーバ、103・・・インターネット、110・・・入力部、111・・・送受信部、112・・・楽音発生部、113・・・制御部、114・・・表示部、115・・・記憶部、116・・・内部時計・・・、117・・・インタフェース部、120・・・バス、121・・・設定テーブル。
DESCRIPTION OF
Claims (6)
前記計時手段が計時する時刻と前記参照時計が計時する時刻との差に関する時間差情報を通信ネットワークを用いて取得する取得ステップと、
前記時間差情報によって表される時間差が所定値以下である場合、当該時間差だけ前記計時手段の計時時刻を修正し、当該時間差が前記所定値よりも大きい場合、前記所定値だけ前記計時手段の計時時刻を修正する修正ステップと
を有する時刻同期方法。 A method of synchronizing time between a terminal having a time measuring means and a server device having a reference clock,
An acquisition step of acquiring, using a communication network, time difference information relating to a difference between a time measured by the time measuring means and a time measured by the reference clock;
If the time difference represented by the time difference information is less than or equal to a predetermined value, correct the time measured by the time measuring means by the time difference, and if the time difference is greater than the predetermined value, the time measured by the time measuring means by the predetermined value. A time synchronization method comprising: a correction step for correcting
ことを特徴する請求項1に記載の同期方法。 The synchronization method according to claim 1, wherein the server device is an NTP server, and the time difference information is acquired according to an NTP protocol.
ことを特徴とする請求項1に記載の時刻同期方法。 The time synchronization method according to claim 1, wherein the predetermined value is determined based on stability of the communication network.
前記計時手段が計時する時刻とサーバ装置の参照時計が計時する時刻との差に関する時間差情報を通信ネットワークを介して取得する手段と、
前記時間差情報によって表される時間差が所定値以下である場合、当該時間差だけ前記時計を修正し、当該時間差が前記所定値よりも大きい場合、前記所定値だけ前記計時手段の時刻を修正する手段と
を有する端末。 Timekeeping means,
Means for acquiring, via a communication network, time difference information relating to the difference between the time measured by the time measuring means and the time measured by the reference clock of the server device;
Means for correcting the clock by the time difference if the time difference represented by the time difference information is less than or equal to a predetermined value, and correcting the time of the time measuring means by the predetermined value if the time difference is greater than the predetermined value; A terminal having
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004003325A JP2005195507A (en) | 2004-01-08 | 2004-01-08 | Method for time synchronization via network |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004003325A JP2005195507A (en) | 2004-01-08 | 2004-01-08 | Method for time synchronization via network |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005195507A true JP2005195507A (en) | 2005-07-21 |
Family
ID=34818274
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004003325A Pending JP2005195507A (en) | 2004-01-08 | 2004-01-08 | Method for time synchronization via network |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005195507A (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007033262A (en) * | 2005-07-27 | 2007-02-08 | Japan Radio Co Ltd | Observation method and observation system |
JP2007163330A (en) * | 2005-12-15 | 2007-06-28 | Yokogawa Electric Corp | Time information communication system |
JP2010081381A (en) * | 2008-09-26 | 2010-04-08 | Brother Ind Ltd | Communication apparatus, and communication program |
JP2012070033A (en) * | 2010-09-21 | 2012-04-05 | Nakayo Telecommun Inc | Time server with terminal monitoring function |
JP2016174215A (en) * | 2015-03-16 | 2016-09-29 | 株式会社東芝 | Synchronization control device, synchronous system, and synchronization control method |
JP2020077929A (en) * | 2018-11-06 | 2020-05-21 | セイコーソリューションズ株式会社 | Time distribution device, synchronization system, and program |
-
2004
- 2004-01-08 JP JP2004003325A patent/JP2005195507A/en active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007033262A (en) * | 2005-07-27 | 2007-02-08 | Japan Radio Co Ltd | Observation method and observation system |
JP2007163330A (en) * | 2005-12-15 | 2007-06-28 | Yokogawa Electric Corp | Time information communication system |
JP2010081381A (en) * | 2008-09-26 | 2010-04-08 | Brother Ind Ltd | Communication apparatus, and communication program |
JP4572976B2 (en) * | 2008-09-26 | 2010-11-04 | ブラザー工業株式会社 | Communication device and communication program |
US8665913B2 (en) | 2008-09-26 | 2014-03-04 | Brother Kogyo Kabushiki Kaisha | Communication device to obtain time information |
JP2012070033A (en) * | 2010-09-21 | 2012-04-05 | Nakayo Telecommun Inc | Time server with terminal monitoring function |
JP2016174215A (en) * | 2015-03-16 | 2016-09-29 | 株式会社東芝 | Synchronization control device, synchronous system, and synchronization control method |
JP2020077929A (en) * | 2018-11-06 | 2020-05-21 | セイコーソリューションズ株式会社 | Time distribution device, synchronization system, and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007020183A (en) | Method for time synchronization in residential ethernet system | |
EP2499763B1 (en) | Clock tuning | |
WO2014083725A1 (en) | Synchronization apparatus, synchronization system, wireless communication apparatus and synchronization method | |
JP2010197320A (en) | Slave device, time synchronization method of the same, master device, and electronic equipment system | |
US9363615B2 (en) | Delay measurement apparatus and delay measurement method for network music session | |
KR20090032306A (en) | Time synchronization system and method on the network | |
JP2009521882A (en) | Media data synchronization in wireless networks | |
WO2006060901A1 (en) | System and method for video assisted music instrument collaboration over distance | |
US20180012631A1 (en) | Synchronization in audio playback network independent of system clock | |
JP4259329B2 (en) | Performance device and ensemble system | |
JP2005195507A (en) | Method for time synchronization via network | |
US20230283830A1 (en) | Synchronization with synthesized audio clock | |
WO2011057588A1 (en) | Streaming media server and method for synchronization in media stream switching | |
JPWO2013046571A1 (en) | Content synchronization system, content synchronization control device, and content reproduction device | |
US20180158468A1 (en) | Device and method for synchronizing speakers | |
US6909728B1 (en) | Synchronous communication | |
JP4467478B2 (en) | Transmission apparatus and time synchronization method | |
JP5115265B2 (en) | Information processing apparatus and timing synchronization method | |
JP2009194778A (en) | Frequency correcting method and apparatus | |
Schiavoni et al. | Network music with medusa: A comparison of tempo alignment in existing midi apis | |
JP2013074338A (en) | Time server, terminal, time synchronization system, time synchronization method, and program | |
JP4742836B2 (en) | Receiver | |
JP2013168884A (en) | Time synchronization system, time transmission apparatus, time reception apparatus, time synchronization method and program | |
JP2008199159A (en) | Converting device, method, program and recording medium for asynchronous and synchronous communication network, and communication system | |
EP3477887A1 (en) | Synchronization setting device, distribution system, synchronization setting method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061024 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091116 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091124 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100121 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100309 |