JP2005537506A - Sound synthesizer - Google Patents

Sound synthesizer Download PDF

Info

Publication number
JP2005537506A
JP2005537506A JP2004532083A JP2004532083A JP2005537506A JP 2005537506 A JP2005537506 A JP 2005537506A JP 2004532083 A JP2004532083 A JP 2004532083A JP 2004532083 A JP2004532083 A JP 2004532083A JP 2005537506 A JP2005537506 A JP 2005537506A
Authority
JP
Japan
Prior art keywords
samples
synthesizer
active
voices
stored
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.)
Granted
Application number
JP2004532083A
Other languages
Japanese (ja)
Other versions
JP4939753B2 (en
Inventor
ヤコブソン、トマス
ペテフ、アンドレイ
フェルトストレム、アレベルト ヒメネス
Original Assignee
テレフォンアクチーボラゲット エル エム エリクソン(パブル)
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by テレフォンアクチーボラゲット エル エム エリクソン(パブル) filed Critical テレフォンアクチーボラゲット エル エム エリクソン(パブル)
Priority claimed from PCT/EP2003/008902 external-priority patent/WO2004021331A1/en
Publication of JP2005537506A publication Critical patent/JP2005537506A/en
Application granted granted Critical
Publication of JP4939753B2 publication Critical patent/JP4939753B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H7/00Instruments in which the tones are synthesised from a data store, e.g. computer organs
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H7/00Instruments in which the tones are synthesised from a data store, e.g. computer organs
    • G10H7/02Instruments in which the tones are synthesised from a data store, e.g. computer organs in which amplitudes at successive sample points of a tone waveform are stored in one or more memories
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2230/00General physical, ergonomic or hardware implementation of electrophonic musical tools or instruments, e.g. shape or architecture
    • G10H2230/025Computing or signal processing architecture features
    • G10H2230/041Processor load management, i.e. adaptation or optimization of computational load or data throughput in computationally intensive musical processes to avoid overload artifacts, e.g. by deliberately suppressing less audible or less relevant tones or decreasing their complexity
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/171Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
    • G10H2240/201Physical layer or hardware aspects of transmission to or from an electrophonic musical instrument, e.g. voltage levels, bit streams, code words or symbols over a physical link connecting network nodes or instruments
    • G10H2240/241Telephone transmission, i.e. using twisted pair telephone lines or any type of telephone network
    • G10H2240/251Mobile telephone transmission, i.e. transmitting, accessing or controlling music data wirelessly via a wireless or mobile telephone receiver, analog or digital, e.g. DECT GSM, UMTS
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/541Details of musical waveform synthesis, i.e. audio waveshape processing from individual wavetable samples, independently of their origin or of the sound they represent
    • G10H2250/621Waveform interpolation

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Medicines Containing Plant Substances (AREA)
  • Preparation Of Compounds By Using Micro-Organisms (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)
  • Stereophonic System (AREA)

Abstract

A sound synthesiser is provided that reduces the computational requirements of a synthesiser with a high degree of polyphony, while ensuring that audible artefacts are kept to a minimum. The synthesiser comprises a plurality of samples stored in a memory; a plurality of voices each comprising means for calculating an output using a plurality of samples selected from the plurality of samples stored in the memory; wherein a voice is active when calculating an output; wherein the number of samples selected by the means for calculating depends upon the number of active voices. <IMAGE>

Description

本発明はサウンド・シンセサイザに関し、特に、携帯機器などのような計算資源が限定された装置に使用するサウンド・シンセサイザに関する。   The present invention relates to a sound synthesizer, and more particularly to a sound synthesizer for use in a device with limited computational resources such as a portable device.

現代のサウンド・シンセサイザは、多数のボイス(voice)を有する必要がある。あるシンセサイザが有するボイス(voice)の数は、同時に発生できる音(sound)の数として定義される。   Modern sound synthesizers need to have a large number of voices. The number of voices that a synthesizer has is defined as the number of sounds that can be generated simultaneously.

必要な一組の音をどのように電子サウンド・シンセサイザが再生するかを定義する、いくつかの異なったプロトコルと規格が存在する。   There are several different protocols and standards that define how an electronic sound synthesizer plays the required set of sounds.

電子装置内で音を発生させる一つの一般的な方法は、MIDI(ミディ)(楽器用ディジタル・インタフェース)プロトコルを使用することである。ディジタル・オーディオ・ファイルと異なって、(コンパクト・ディスク上に見出されるように)MIDIファイルは、特定の音の項目を含んでいない。代わりに、正しい音を再現するためにある装置が実行しなければならないイベントのリストを含んでいる。サンプルされた音がシンセサイザに記憶されていて、MIDIファイル内に含まれる命令によりアクセスされる。従って、MIDIファイルはディジタル・オーディオ・ファイルよりも遥かに小さくて、記憶域メモリが限定されている環境に適している。   One common method of generating sound within an electronic device is to use a MIDI (digital interface for musical instruments) protocol. Unlike digital audio files, MIDI files (as found on compact discs) do not contain specific sound items. Instead, it contains a list of events that a device must perform in order to reproduce the correct sound. Sampled sounds are stored in the synthesizer and accessed by instructions contained within the MIDI file. Therefore, MIDI files are much smaller than digital audio files and are suitable for environments where storage memory is limited.

ジェネラル・ミディ・システム・レベル1(GM−1)において、一つのシンセサイザは少なくとも24のボイス(voice)を有する必要がある。   In General Midi System Level 1 (GM-1), one synthesizer needs to have at least 24 voices.

MIDIシンセサイザのようにあらかじめ録音された音から音を発生させるシンセサイザは、ウェーブ・テーブル(wave−table)に基づくシンセサイザとして知られている。そうしたシンセサイザにおいては、ある楽器の一つまたはそれ以上のあらかじめ録音されたシーケンスが、ウェーブ・テーブル内に記憶されている。各シーケンスは、その音を再現するために演奏される一連のサンプルを含んでいる。   A synthesizer that generates sound from pre-recorded sounds such as a MIDI synthesizer is known as a synthesizer based on a wave table. In such a synthesizer, one or more pre-recorded sequences of a musical instrument are stored in a wave table. Each sequence contains a series of samples that are played to reproduce the sound.

楽器によっては、多数のノート(note)を発生でき、全てのあり得るノートをサンプルして録音するには大量のメモリが必要なので、少数のノートだけが記憶される。   Depending on the instrument, a large number of notes can be generated, and since a large amount of memory is required to sample and record all possible notes, only a small number of notes are stored.

従って、メモリ内に記憶された周波数とは異なる周波数を有するノートまたは音を生成することをシンセサイザが要求された場合、このシンセサイザは記憶されたシーケンスの一つおよび「サンプル・レート変換」と呼ばれる技法を使用してそれを、再サンプルして周波数を変更し、要求されたトーン(tone)を得る。   Thus, if a synthesizer is required to generate a note or sound that has a different frequency than the frequency stored in memory, the synthesizer uses one of the stored sequences and a technique called “sample rate conversion”. And resample it to change the frequency to get the requested tone.

記憶されたシーケンスの周波数の変更は、記憶されたサンプルを異なった速度でアクセスすることにより達成される。すなわち、たとえば、記憶されたサンプルが、300Hzの周波数でミュージカル・ノート(musical note)を表現するならば、順次、全てのサンプルにアクセスすることによって、300Hzでこのミュージカル・ノートを再生することができる。次の記憶されたサンプルが読み出される前に、記憶された各サンプルが2度出力されれば、シンセサイザにより再生されるこのミュージカル・ノートは、150Hzの周波数を有する。同様に、600Hzのミュージカル・ノートが必要ならば一つおきの記憶されたサンプルが読み出される。   Changing the frequency of the stored sequence is accomplished by accessing the stored samples at different rates. That is, for example, if a stored sample represents a musical note at a frequency of 300 Hz, the musical note can be reproduced at 300 Hz by sequentially accessing all samples. . If each stored sample is output twice before the next stored sample is read, this musical note played by the synthesizer will have a frequency of 150 Hz. Similarly, every other stored sample is read if a 600 Hz musical note is required.

シンセサイザによりサンプルが出力される速度は一定であって、一つのサンプル周期(sample period)(記憶された各サンプルの間の時間)に等しいことが重要である。   It is important that the rate at which samples are output by the synthesizer is constant and equal to one sample period (the time between each stored sample).

上の例において、全てのサンプルを2度アクセスすることにより、アーティファクト(artefact)(ひずみ(distortion))が出力音に導入される。このひずみを克服するために、シンセサイザは記憶されたサンプルに基づいて、追加のサンプルを計算する。したがって上記の150Hzの例において、記憶された各サンプルを2度繰り返す代わりに、シンセサイザは記憶された一つのサンプルを出力して、記憶された周囲のサンプルに基づいて次のサンプルを計算する。   In the example above, artifacts (distortion) are introduced into the output sound by accessing all samples twice. To overcome this distortion, the synthesizer calculates additional samples based on the stored samples. Thus, in the 150 Hz example above, instead of repeating each stored sample twice, the synthesizer outputs one stored sample and calculates the next sample based on the stored surrounding samples.

これを実行するためにシンセサイザは補間技法を必要とする。   To do this, the synthesizer requires an interpolation technique.

最も簡単な補間技法は、二つの周囲サンプルの重み付き平均を使用する。しかしながら、この技法はしばしば不正確であって、依然として、音声のひずみ(audible distortion)をもたらす。   The simplest interpolation technique uses a weighted average of two surrounding samples. However, this technique is often inaccurate and still results in audible distortion.

最適補間アルゴリズムは、sin(x)/x関数を使用し、無限の計算回数を必要とする。もちろんこれは非実際的であって、したがって準最適アルゴリズムが開発された。   The optimal interpolation algorithm uses a sin (x) / x function and requires an infinite number of calculations. Of course this is impractical and therefore a suboptimal algorithm has been developed.

一つの準最適補間技法は、Dana C.Massieによる「オーディオおよびアコースティックスへのDSPの応用(Applications of DSP to Audio and Acoustics)」の第8章に述べられており、ここでは、いくつかの記憶されたサンプルが計算中に使用されている(補間に使用されるサンプルの数は、補間次数(interpolation degree)として知られる)。補間に使用されるサンプルの数が多ければ多いほど、このシンセサイザの性能が良くなる。   One suboptimal interpolation technique is Dana C. et al. As described in Chapter 8 of “Applications of DSP to Audio and Acoustics” by Massie, where several stored samples are used in the calculation. (The number of samples used for interpolation is known as the interpolation degree). The more samples that are used for interpolation, the better the performance of this synthesizer.

シンセサイザにおいては、各ボイスは一つまたはいくつかのディジタル信号プロセッサ(DSP)を使用して実施され、このDSPシステムの計算能力はシンセサイザが生成できるボイスの数に制限を課し、また各ボイスについて使用される補間次数を制限する。   In a synthesizer, each voice is implemented using one or several digital signal processors (DSPs), and the computing power of this DSP system places a limit on the number of voices that a synthesizer can generate, and for each voice Limit the interpolation order used.

トランケートされたsin(x)/xアルゴリズムのような準最適補間アルゴリズムを使用するとき、計算の複雑さは補間次数と共に線形的に増大する。   When using a sub-optimal interpolation algorithm, such as the truncated sin (x) / x algorithm, the computational complexity increases linearly with the interpolation order.

多くの商用シンセサイザにおいて補間次数10がしばしば使用されるが、その理由は、これが計算の複雑性と音質の間の良好なトレード・オフをもたらすからである。   Interpolation order 10 is often used in many commercial synthesizers because it provides a good trade-off between computational complexity and sound quality.

携帯電話(mobile phone)などの携帯機器内にMIDIサウンド・シンセサイザを実装できて、これらの装置がポリフォニーの呼出音と一層高い音質を生成できるようにすることが望ましい。   It is desirable to be able to implement a MIDI sound synthesizer in a portable device such as a mobile phone so that these devices can generate polyphony ringing and higher sound quality.

しかしながら、携帯機器における計算能力に置かれる制限(コストおよび装置内で利用できる空間など)は、ジェネラル・ミディ・システム・レベル1(GM−1)に準拠(すなわち、24ボイスを有し)した10前後の補間次数を有するサウンド・シンセサイザの実装を可能にするのに充分ではない。   However, limitations placed on computing power in portable devices (such as cost and space available in the device) are compliant with General Midi System Level 1 (GM-1) (ie have 24 voices) 10 It is not enough to allow implementation of a sound synthesizer with front and rear interpolation orders.

したがって、本発明は、高次のポリフォニーを有するシンセサイザの計算要件を減少させると共に、不自然な可聴音(audible artefact)を最少に抑えるサウンド・シンセサイザを提供することを目的とする。   Accordingly, it is an object of the present invention to provide a sound synthesizer that reduces the computational requirements of a synthesizer with higher order polyphony and minimizes audible artefacts.

したがって、本発明の一つの態様によれば、複数の記憶されたサンプルを含むメモリと、複数のアクティブ・ボイスの各々について出力信号を計算する手段であって、上記アクティブ・ボイスの各々について上記記憶されたサンプルから選択された複数のサンプルを使用する上記計算する手段とを含み、上記計算する手段により各アクティブ・ボイスについて使用される上記サンプルの数は、上記アクティブ・ボイスの数に依存するシンセサイザが提供される。   Thus, according to one aspect of the present invention, a memory including a plurality of stored samples and means for calculating an output signal for each of a plurality of active voices, wherein the storage for each of the active voices Using the plurality of samples selected from the selected samples, and the number of samples used for each active voice by the means for calculating depends on the number of active voices Is provided.

好ましくは、各ボイスは一度に一つの出力を計算できる。   Preferably, each voice can calculate one output at a time.

好ましくは、上記計算する手段により各アクティブ・ボイスについて使用される上記サンプルの数は、上記アクティブ・ボイスの数が増加するにつれて減少する。   Preferably, the number of samples used for each active voice by the calculating means decreases as the number of active voices increases.

好ましくは、上記計算する手段により各アクティブ・ボイスについて使用される上記サンプルの数は、上記アクティブ・ボイスが増加するにつれて減少し、これにより、計算の複雑性最大が限度を超えないようにする。   Preferably, the number of samples used for each active voice by the means for calculating decreases as the active voice increases so that the maximum computational complexity does not exceed the limit.

別の態様として、上記計算する手段により各アクティブ・ボイスについて使用される上記サンプルの数は、上記アクティブ・ボイスの数が増加するにつれて、非線形的に減少する。   Alternatively, the number of samples used for each active voice by the calculating means decreases non-linearly as the number of active voices increases.

好ましくは、メモリに記憶された上記複数のサンプルはミュージカル・ノートのサンプルを含む。   Preferably, the plurality of samples stored in the memory include musical note samples.

好ましくは、メモリに記憶された上記複数のサンプルは、種々の楽器により生成されたミュージカル・ノートのサンプルを含む。   Preferably, the plurality of samples stored in the memory include musical note samples generated by various musical instruments.

本発明の第2の面によれば、上記のようなミュージック・シンセサイザを含む携帯機器が提供される。   According to the second aspect of the present invention, there is provided a portable device including the music synthesizer as described above.

好ましくは、上記携帯機器が携帯電話(mobile phone)である。   Preferably, the mobile device is a mobile phone.

別の態様として、上記携帯機器がポケットベル(pager)である。   In another aspect, the portable device is a pager.

注意すべきは、「含む/含み」という用語は、本明細書で使用される場合は、述べられた機能、整数、ステップまたは構成要素の存在を規定すると解釈すべきであるが、一つまたはそれ以上の他の機能、整数、ステップ、構成要素またはそれらのグループの存在または追加を除外しないことである。   It should be noted that the term “include / include”, as used herein, should be interpreted as defining the presence of the stated function, integer, step or component, but one or It does not exclude the presence or addition of any other functions, integers, steps, components or groups thereof.

本発明をより理解して実施するために、添付の図面を参照しながら説明する。
図1は、本発明によるミュージック・シンセサイザを示す。従来と同様に、このシンセサイザは、コントローラ2、複数のボイス4、ウェーブ・テーブル・メモリ6、フィルタ・テーブル8、ミキサー10およびアナログ・ディジタル変換モジュール12を含む。
For a better understanding and implementation of the present invention, reference is made to the accompanying drawings.
FIG. 1 shows a music synthesizer according to the invention. As is conventional, the synthesizer includes a controller 2, a plurality of voices 4, a wave table memory 6, a filter table 8, a mixer 10 and an analog / digital conversion module 12.

以下本明細書では、このシンセサイザをMIDIプロトコルを使用するウェーブ・テーブルに基づくシンセサイザとして説明するが、二つの記憶されたサンプルの間にある一つのサンプルを計算する必要がある全てのウェーブ・テーブルに基づくシンセサイザへ、本発明が適用できることを理解すべきである。   In the following, this synthesizer will be described as a synthesizer based on a wave table using the MIDI protocol, but for all wave tables that need to calculate one sample between two stored samples. It should be understood that the present invention can be applied to a synthesizer based thereon.

注意すべきは、本発明で使用する「サンプル」という用語は、単一のオーディオ・サンプル・ポイントのことを言うことである。   Note that the term “sample” as used in the present invention refers to a single audio sample point.

このシンセサイザ内のボイス4の総数Nは、このシステムの最大ポリフォニーを定義する。Nが増加するにつれてポリフォニーが増加して、より多くの数の音を同時に生成できるようになる。ジェネラル・ミディ・システム・レベル1(GM−1)に対応する一つのMIDIシンセサイザについて、Nの値は少なくとも24である。理解しやすくするため、3つのボイスだけを使用した例を図1に示す。   The total number N of voices 4 in this synthesizer defines the maximum polyphony for this system. As N increases, the polyphony increases, allowing a greater number of sounds to be generated simultaneously. For one MIDI synthesizer corresponding to General Midi System Level 1 (GM-1), the value of N is at least 24. For ease of understanding, an example using only three voices is shown in FIG.

コントローラ2は入力14を通じてデータを受信する。このデータは、一つの音楽または音の特定のセットに関するMIDI情報のストリームを含む。各MIDIファイルは、要求された音を発生させるためにシンセサイザが実行しなければならない特定ステップを記述しているイベントのリストを含む。   Controller 2 receives data through input 14. This data includes a stream of MIDI information about a particular set of music or sounds. Each MIDI file contains a list of events that describe the specific steps that the synthesizer must perform to generate the requested sound.

携帯通信機器内にMIDIファイルが記憶されている場合は、ファイルは、たとえば呼出音に使用できる短い音楽に関係してもよい。   If a MIDI file is stored in the portable communication device, the file may relate to short music that can be used for ringing, for example.

コントローラ2は、MIDIデータ・ストリームを処理して、このデータの適当な部分を関係するボイス4へ向けて、これにより要求された音を合成できるようにする。たとえば、要求された音は同時に演奏中のいくつかの異なった楽器を含んでもよく、したがって各ボイス4は同時に一つのモノフォニー楽器またはポリフォニー楽器の一部分を処理する。しばしば、MIDIファイルは次の出力を合成するのに使用される特定のボイス4に関する命令を含む。   The controller 2 processes the MIDI data stream and directs the appropriate part of this data to the relevant voice 4 so that the requested sound can be synthesized. For example, the requested sound may include several different instruments playing at the same time, so each voice 4 processes a portion of one monophony or polyphony instrument at the same time. Often, a MIDI file contains instructions for a particular voice 4 that is used to synthesize the next output.

MIDIファイルの特定の内容に応じて異なった数のボイスが同時に使用されることがあるが、これは、再生される音楽の特定の部分によって異なる。   Depending on the specific content of the MIDI file, different numbers of voices may be used simultaneously, depending on the specific part of the music being played.

各ボイス4はコントローラ2、ミキサ10、ウェーブ・テーブル・メモリ6およびフィルタ・テーブル8へ接続されている。   Each voice 4 is connected to a controller 2, a mixer 10, a wave table memory 6 and a filter table 8.

ウェーブ・テーブル・メモリ6は、ディジタル・サンプルのいくつかのシーケンスを含む。各シーケンスは、たとえば特定楽器のミュージカル・ノートを表現する。メモリの制限により、楽器ごとに少数のノートを記憶してもよい。   The wave table memory 6 contains several sequences of digital samples. Each sequence represents a musical note of a specific instrument, for example. Due to memory limitations, a small number of notes may be stored for each instrument.

フィルタ・テーブル8は、一つのフィルタについていくつかの値を含む。好ましい実施例において、この値はシンク関数(sinc function)を表す(ここで、シンク関数は、(sin(x))/xである)。   The filter table 8 contains several values for one filter. In the preferred embodiment, this value represents a sinc function (where the sinc function is (sin (x)) / x).

図1には図示しないが、ウェーブ・テーブル・メモリ6とフィルタ・テーブル8との両方は一つのマルチプレクサを有し、これは各テーブルをサンプル周期ごとに一回以上アクセスさせる(サンプル周期は、サンプル・レートの逆数として、すなわち元の音がサンプルされた速度として定義される)。したがって、ボイス1ないしボイスnの各々は、同一セットの資源を共有できる。   Although not shown in FIG. 1, both the wave table memory 6 and the filter table 8 have a multiplexer, which allows each table to be accessed more than once per sample period. Defined as the reciprocal of the rate, ie the speed at which the original sound was sampled). Thus, each of voice 1 through voice n can share the same set of resources.

従来と同様にボイス4は、コントローラ2から受信する命令およびシステムの補間次数に基づいて要求された出力サンプル16を生成する。   As before, the voice 4 generates the requested output samples 16 based on the commands received from the controller 2 and the interpolation order of the system.

特定のボイス4により生成される音が、記憶されたサンプルのシーケンスの一つの周波数と対応しないことがよくある。したがって、要求された周波数における音を生成するためには、ボイス4が記憶されたシーケンスを周波数的にシフトしなければならない。   Often, the sound produced by a particular voice 4 does not correspond to one frequency of the stored sequence of samples. Therefore, in order to generate sound at the required frequency, the sequence in which the voice 4 is stored must be shifted in frequency.

たとえば記憶されたサンプルのシーケンスがピアノ上のミドルCノートを表現する場合は、このシーケンスを周波数的にシフトしてC#ノートまたはDノートを得ることができる。   For example, if the sequence of stored samples represents a middle C note on a piano, this sequence can be shifted in frequency to obtain a C # note or a D note.

要求された音の周波数は、記憶されたシーケンスの周波数の倍数として表現できる。この倍数は有理数M/Lと書かれ、位相インクリメントとして知られる。   The requested sound frequency can be expressed as a multiple of the frequency of the stored sequence. This multiple is written as rational number M / L and is known as phase increment.

したがって、要求された周波数が記憶された周波数の2倍であれば、位相インクリメントは2に等しい。要求された周波数が記憶されたシーケンスの周波数の半分であれば、位相インクリメントは位1/2に等しい。C#ノートが要求される例では、位相インクリメントは2の12乗根(無理数)であり、これは有理数により近似できる。   Thus, if the requested frequency is twice the stored frequency, the phase increment is equal to 2. If the requested frequency is half the frequency of the stored sequence, the phase increment is equal to the order 1/2. In an example where C # notes are required, the phase increment is the 12th root of 2 (irrational number), which can be approximated by a rational number.

記憶されたサンプルのシーケンスを周波数的にシフトされたときに、要求されたサンプルがメモリ内に記憶されていない場合がよくある。つまり、要求されたサンプルが二つの記憶されたサンプルの間にある。   Often, the requested sample is not stored in memory when the stored sequence of samples is shifted in frequency. That is, the requested sample is between two stored samples.

したがって、ボイス4はウェーブ・テーブル・メモリ6から要求されたサンプルの周辺のいくつかのサンプル、およびフィルタ・テーブル8から同数のフィルタ係数を検索する。その次に、ウェーブ・テーブル・メモリ6から検索された各サンプルは、フィルタ・テーブル8からの適当なフィルタ係数により乗算されて、その積が組み合わされて、ボイス16の出力を生成する。   Therefore, voice 4 retrieves several samples around the sample requested from wave table memory 6 and the same number of filter coefficients from filter table 8. Each sample retrieved from the wave table memory 6 is then multiplied by the appropriate filter coefficients from the filter table 8 and the products are combined to produce the output of the voice 16.

フィルタ・テーブル8の係数が選択されて、これによりウェーブ・テーブル・メモリ6が要求されたサンプルを含む場合は、ウェーブ・テーブル・メモリ6から検索された他のサンプルがゼロ・フィルタ係数により乗算されて、記憶されたサンプルが出力される。   If the coefficients of the filter table 8 are selected so that the wave table memory 6 contains the requested sample, the other samples retrieved from the wave table memory 6 are multiplied by the zero filter coefficient. The stored sample is output.

シンク関数を表現する値をフィルタ・テーブル8が含む実施例において、シンク関数の周期はサンプル周期の2倍である。   In an embodiment in which the filter table 8 includes a value representing a sinc function, the period of the sinc function is twice the sample period.

ボイス4の各出力16はミキサー10へ送られ、ここで全てのアクティブ・ボイス4の出力16が組み合わされて一つの組み合わせ出力18になり、そして、DACモジュール12へ渡される。   Each output 16 of the voice 4 is sent to the mixer 10 where all the active voice 4 outputs 16 are combined into a combined output 18 and passed to the DAC module 12.

DACモジュール12は一つまたはそれ以上のディジタル・アナログ・コンバータを含み、これは、ミキサー10の組み合わせ出力18を変換して一つのアナログ信号20にする。   The DAC module 12 includes one or more digital to analog converters that convert the combined output 18 of the mixer 10 into a single analog signal 20.

図2は、本発明による、図1のコントローラ2により実行される方法を示す。   FIG. 2 illustrates a method performed by the controller 2 of FIG. 1 according to the present invention.

ステップ101において、コントローラ2はMIDIデータ・ストリームを分析して、次のサンプル周期中にアクティブになるようにボイス4の数を決定する。つまり、コントローラ2は、ミキサー10への出力16に対していくつの異なったボイス4が寄与しているかを決定する。   In step 101, the controller 2 analyzes the MIDI data stream and determines the number of voices 4 to be active during the next sample period. That is, the controller 2 determines how many different voices 4 contribute to the output 16 to the mixer 10.

ステップ103において、コントローラ2は、次の出力16(補間次数Iと称する)を計算するのに、各ボイス4により使用されるサンプルの数を決定して、ボイス4に適切に命令する。 In step 103, the controller 2 determines the number of samples used by each voice 4 to calculate the next output 16 (referred to as interpolation order ID ) and commands the voice 4 appropriately.

ステップ105において、各アクティブ・ボイス4は、補間次数Iに等しい計算において、いくつかの記憶されたサンプルを使用して、コントローラ2から受信した命令に基づいて、出力16を計算する。各アクティブ・ボイス4は、また、補間次数Iに等しいフィルタ係数テーブル8から、いくつかのフィルタ係数を使用する。 In step 105, each active voice 4 calculates an output 16 based on instructions received from the controller 2 using a number of stored samples in a calculation equal to the interpolation order ID . Each active voice 4 also uses several filter coefficients from the filter coefficient table 8 equal to the interpolation order ID .

処理は、各出力サイクルごとに繰り返す、すなわち、処理は各サンプル周期に一回ずつ繰り返される。   The process is repeated for each output cycle, i.e., the process is repeated once for each sample period.

図3および図4を参照して説明する本発明の実施例において、シンセサイザは、24個のボイス4を有し、最大11次の補間次数を有する。   In the embodiment of the invention described with reference to FIGS. 3 and 4, the synthesizer has 24 voices 4 and has an interpolation order of up to 11th order.

図3は、本発明によりアクティブ・ボイスの数に基づいて補間次数を決定する方式を示す表である。特に、いずれか所与の数のアクティブ・ボイスについて、この表は使用される補間次数を与える。   FIG. 3 is a table showing a method for determining an interpolation order based on the number of active voices according to the present invention. In particular, for any given number of active voices, this table gives the interpolation order used.

たとえば、次のサンプル周期中に一つのボイス4だけがアクティブになるとコントローラ2が決定した場合、このコントローラ2がボイス4へ命令して11次の補間次数を使用させる。   For example, if the controller 2 determines that only one voice 4 is active during the next sample period, the controller 2 instructs the voice 4 to use the 11th order interpolation order.

アクティブ・ボイス4の数が増加するにつれて、出力16の計算に使用される補間次数が線形的な様式で減少する。   As the number of active voices 4 increases, the interpolation order used to calculate the output 16 decreases in a linear fashion.

シンセサイザの24個のボイス4が全てアクティブである場合には、コントローラ2は、4次の補間次数を使用することを決定する。   If all 24 voices 4 of the synthesizer are active, the controller 2 decides to use the fourth order interpolation order.

別の実施例として、携帯機器に使用されるシンセサイザのような、シンセサイザについて最大の計算の複雑性が定義される場合は、計算の複雑性の最大が限度を超えないように補間次数が選択されてもよい。   As another example, if the maximum computational complexity is defined for a synthesizer, such as a synthesizer used in a mobile device, the interpolation order is selected so that the maximum computational complexity does not exceed the limit. May be.

図4は、そうした方式を示すもう一つの表である。ここでも、アクティブ・ボイス4の数が増加するにつれて、補間次数が減少する。しかしながら、この変化は線形的ではない。代わりに、計算の複雑性の最大が限度を超えないように、補間次数が計算される。   FIG. 4 is another table showing such a scheme. Again, as the number of active voices 4 increases, the interpolation order decreases. However, this change is not linear. Instead, the interpolation order is calculated so that the maximum computational complexity does not exceed the limit.

たとえば、シンセサイザが24個のボイス、11次の最大補間次数を有し、0.5MIPS/次数/ボイス(1秒/次数/ボイスごとに100万個の命令)を処理する場合は、通常のシンセサイザは、132MIPSまでを必要とする。この計算能力は移動端末などの典型的な現在の携帯機器で利用可能な能力を遥かに超えている。   For example, if a synthesizer has 24 voices, an 11th order maximum interpolation order, and processes 0.5 MIPS / order / voice (1 second / order / million instructions per voice), a normal synthesizer Requires up to 132 MIPS. This computational capability far exceeds that available with typical current portable devices such as mobile terminals.

図4に示す方式を使用すれば、計算能力は50MIPSを超えない。この値は、携帯機器にとって一層適切である。   If the scheme shown in FIG. 4 is used, the computing power does not exceed 50 MIPS. This value is more appropriate for portable devices.

使用される実際の方式は、シンセサイザに利用可能な計算能力および補間の各次数を実施するのに必要な計算能力の量によって決定される。   The actual scheme used will be determined by the amount of computing power available to the synthesizer and the amount of computing power required to perform each degree of interpolation.

図5は、図1の一つのボイスを一層詳細に示す。ボイス4は、コントローラ2、ウェーブ・テーブル・メモリ6およびフィルタ・テーブル8により示されている。   FIG. 5 shows one voice of FIG. 1 in more detail. The voice 4 is indicated by a controller 2, a wave table memory 6 and a filter table 8.

プロセッサ22は、コントローラ2からボイス4に関係する命令を受信する。これらの命令は、ボイス4に関係するMIDI情報および次の出力16を計算するのに使用される補間次数に関する指示を含む。   The processor 22 receives instructions related to the voice 4 from the controller 2. These instructions include MIDI information related to voice 4 and instructions regarding the interpolation order used to calculate the next output 16.

コントローラ2は、各ボイス4に対して、次の出力を計算するのに使用される実際の補間次数を指示し、またはその代わりにコントローラ2は、アクティブ・ボイスの数を各ボイス4へ指示して、プロセッサ22に適切な補間次数を決定させる。   Controller 2 indicates to each voice 4 the actual interpolation order used to calculate the next output, or alternatively, controller 2 indicates to each voice 4 the number of active voices. Thus, the processor 22 determines an appropriate interpolation order.

プロセッサ22は、位相インクリメント・レジスタ24、カウンタ26およびフィルタ係数セレクタ28へ接続されている。   The processor 22 is connected to a phase increment register 24, a counter 26 and a filter coefficient selector 28.

フィルタ係数セレクタ28は、適切なフィルタ係数を検索するためにフィルタ・テーブル8へ接続されている。   A filter coefficient selector 28 is connected to the filter table 8 to retrieve the appropriate filter coefficient.

フィルタ係数セレクタ28はまた、カウンタ26へ接続されている。   The filter coefficient selector 28 is also connected to the counter 26.

本発明によればプロセッサ22は、カウンタ26およびフィルタ係数セレクタ28に対して、次の出力16を計算するのに使用される補間次数について指示する。   In accordance with the present invention, processor 22 instructs counter 26 and filter coefficient selector 28 about the interpolation order used to calculate the next output 16.

プロセッサ22は、必要な出力を生成するために位相インクリメント・レジスタ24の値をセットする。位相インクリメント・レジスタ24の値はM/Lであって、ここでLおよびMは整数であって、コントローラ2から受信した命令に基づいてプロセッサ22により決定される。   The processor 22 sets the value of the phase increment register 24 to generate the required output. The value of the phase increment register 24 is M / L, where L and M are integers and are determined by the processor 22 based on instructions received from the controller 2.

位相インクリメント値は加算器30へ渡される。加算器30は、現在の位相を記録する位相レジスタ32に接続されている。加算器30の出力は、整数部と小数部を含む。   The phase increment value is passed to adder 30. The adder 30 is connected to a phase register 32 that records the current phase. The output of the adder 30 includes an integer part and a decimal part.

位相レジスタの整数部と小数部の両方は、加算器30へフィードバックされる。   Both the integer part and the fractional part of the phase register are fed back to the adder 30.

位相レジスタの出力の整数部はまた第2加算器34へ渡され、そこでカウンタ26の出力と加算される。加算器34の整数出力は、ウェーブ・テーブル・メモリ6へ接続されて、読み出されるサンプルを決定する。   The integer part of the output of the phase register is also passed to the second adder 34 where it is added to the output of the counter 26. The integer output of adder 34 is connected to wave table memory 6 to determine the sample to be read.

ウェーブ・テーブル・メモリから検索されるサンプルは、積和演算回路36へ渡される。   Samples retrieved from the wave table memory are passed to the product-sum operation circuit 36.

加算器30へ送られることに加えて、位相レジスタ32の出力の小数部は、フィルタ係数セレクタ28へ送られる。   In addition to being sent to the adder 30, the fractional part of the output of the phase register 32 is sent to the filter coefficient selector 28.

フィルタ係数セレクター28の出力は乗算蓄積回路36へ渡され、そこでウェーブ・テーブル・メモリ6から検索されたサンプルと組み合わされる。   The output of the filter coefficient selector 28 is passed to the multiplication and accumulation circuit 36 where it is combined with the sample retrieved from the wave table memory 6.

ボイス4の動作を簡単に説明する。   The operation of voice 4 will be briefly described.

位相レジスタ32の入力が非整数値である、つまり小数部が0でない場合は、必要なサンプルは表に示された二つのサンプルの間にある。したがって、必要なサンプルを計算しなければならない。   If the input of the phase register 32 is a non-integer value, that is, the fractional part is not 0, the required sample is between the two samples shown in the table. Therefore, the necessary samples must be calculated.

加算器30はサンプル周期ごとに一回動作して、位相インクリメント・レジスタ24から(位相レジスタ32により供給される)現在の位相へ位相インクリメントを加算する。   Adder 30 operates once per sample period to add the phase increment from phase increment register 24 to the current phase (provided by phase register 32).

位相レジスタ32の出力の整数部は、必要なサンプルの直前に記憶されたサンプルを含むウェーブ・テーブル・メモリ・アドレスを指示する。必要なサンプルを計算するために、Iに等しいいくつかのサンプルがウェーブ・テーブル・メモリ6から読み出される。 The integer part of the output of the phase register 32 points to the wave table memory address containing the sample stored immediately before the required sample. In order to calculate the required samples, several samples equal to ID are read from the wave table memory 6.

カウンタ26は、必要なサンプルのあたりからIサンプルを選択する度に一つずつインクリメントする。したがってIが8である時、必要なサンプルの後の4つのサンプルと共に、必要なサンプルの前の4つのサンプルが読み出される。Iが5である場合は、必要なサンプルの後の二つのサンプルと共に、必要なサンプルの前に3つのサンプルが読み出される。別の実施例として、必要なサンプルの前に二つのサンプルが読み出され、また、必要なサンプルの後に3つのサンプルが読み出される。これらのサンプルは、積和演算回路36へ渡される。 The counter 26 is incremented by one each time an ID sample is selected from around the necessary samples. Thus, when ID is 8, the 4 samples before the required sample are read, along with the 4 samples after the required sample. If ID is 5, three samples are read before the required sample, along with the two samples after the required sample. As another example, two samples are read before the required sample, and three samples are read after the required sample. These samples are passed to the product-sum operation circuit 36.

注意すべきは、カウンタはその初期値からその最終値へサンプル周期ごとに一回動作することである。   Note that the counter runs once every sample period from its initial value to its final value.

フィルタ係数セレクタ28は、位相レジスタ出力の小数部および補間次数により、フィルタ・テーブル8から適切なフィルタ係数を得る。フィルタ係数セレクタ28はカウンタ26により制御されて、フィルタ・テーブル8からI係数を得る。 The filter coefficient selector 28 obtains an appropriate filter coefficient from the filter table 8 based on the fractional part of the phase register output and the interpolation order. The filter coefficient selector 28 is controlled by the counter 26 to obtain the ID coefficient from the filter table 8.

フィルタ・ケーブル8からフィルタ係数44が得られると、カウンタ26から受信される入力が使用されて、フィルタ係数を積和演算回路36へ渡す。ここで、ウェーブ・テーブル・メモリ6から得られたサンプルが適切なフィルタ係数44で乗算されて、その積が加算されて、ボイス16の出力が得られる。   When the filter coefficient 44 is obtained from the filter cable 8, the input received from the counter 26 is used to pass the filter coefficient to the product-sum operation circuit 36. Here, the sample obtained from the wave table memory 6 is multiplied by an appropriate filter coefficient 44, and the products are added to obtain the output of the voice 16.

位相レジスタ32の小数部が変化すると、フィルタ・テーブル8から得られたフィルタ係数が変化する。   When the decimal part of the phase register 32 changes, the filter coefficient obtained from the filter table 8 changes.

アクティブ・ボイス4の数が変化すると、プロセッサはカウンタ26およびフィルタ係数セレクタ28へ、必要な補間次数について適当であると知らせる。   As the number of active voices 4 changes, the processor informs the counter 26 and filter coefficient selector 28 that the required interpolation order is appropriate.

図6は、本発明によるミュージック・シンセサイザを有する携帯電話を示す。携帯電話に組み込まれたものとして本発明を説明するが、パーソナル・ディジタル・アシスタント(PDA)、ポケットベル、電子手帳などあらゆる携帯機器、または高品質ポリフォニック・サウンドを再生できることが望ましいあらゆる他の装置に、本発明が適用可能であることを理解すべきである。   FIG. 6 shows a mobile phone having a music synthesizer according to the invention. Although the present invention is described as being incorporated into a mobile phone, it may be applied to any portable device such as a personal digital assistant (PDA), pager, electronic organizer, or any other device where it is desirable to be able to play high quality polyphonic sound. It should be understood that the present invention is applicable.

従来通りに携帯電話46は、アンテナ48、トランシーバ回路50、CPU52、メモリ54およびスピーカー56を含む。   As is conventional, the mobile phone 46 includes an antenna 48, a transceiver circuit 50, a CPU 52, a memory 54 and a speaker 56.

移動電話46はまた、本発明によるMIDIシンセサイザ58を含む。CPU52は、MIDIシンセサイザ58にMIDIファイルを供給する。MIDIファイルはメモリ54内に記憶されるか、またはアンテナ48およびトランシーバ回路50を介して、ネットワークからダウンロードされる。   The mobile telephone 46 also includes a MIDI synthesizer 58 according to the present invention. The CPU 52 supplies the MIDI file to the MIDI synthesizer 58. The MIDI file is stored in the memory 54 or downloaded from the network via the antenna 48 and the transceiver circuit 50.

以上のように高次元のポリフォニーを有するシンセサイザの計算要件を減少すると共に、不自然な可聴音(audible artefact)を最少に保つサウンド・シンセサイザを説明した。   Thus, a sound synthesizer has been described that reduces the computational requirements of a synthesizer with a high dimensional polyphony and keeps the audible artifacts to a minimum.

本発明によるサウンド・シンセサイザを示す。1 illustrates a sound synthesizer according to the present invention. 本発明により、図1のコントローラにより実行される方法を示す。Fig. 3 shows a method performed by the controller of Fig. 1 according to the invention. 本発明によりアクティブ・ボイスの数に基づいて補間次数を決定する方式を示す。The method for determining the interpolation order based on the number of active voices according to the present invention will be described. 本発明によりアクティブ・ボイスの数に基づいて補間次数を決定する別の方式を示す。Fig. 4 illustrates another scheme for determining the interpolation order based on the number of active voices according to the present invention. 図1のシンセサイザの一つのボイスを、一層詳細に示す。One voice of the synthesizer of FIG. 1 is shown in more detail. 本発明によるミュージック・シンセサイザを有する携帯電話を示す。1 shows a mobile phone having a music synthesizer according to the invention.

Claims (16)

複数の記憶されたサンプルを含むメモリと、
アクティブ・ボイスの各々について、前記記憶されたサンプルから選択された複数のサンプルを使用して、複数の前記アクティブ・ボイスの各々について一つの出力信号を計算する手段とを含み、
前記計算する手段により各アクティブ・ボイスについて使用される前記サンプルの数は、前記アクティブ・ボイスの数に依存するシンセサイザ。
A memory containing a plurality of stored samples;
Means for calculating a single output signal for each of the plurality of active voices using a plurality of samples selected from the stored samples for each of the active voices;
The number of samples used for each active voice by the means for calculating depends on the number of active voices.
前記計算する手段により各アクティブ・ボイスについて使用される前記サンプルの数は、前記アクティブ・ボイスの数が増加すると減少する請求項1記載のシンセサイザ。   The synthesizer of claim 1, wherein the number of samples used for each active voice by the means for calculating decreases as the number of active voices increases. 前記計算する手段により各アクティブ・ボイスについて使用される前記サンプルの数は、前記アクティブ・ボイスの数が増加すると減少し、これにより、最大計算複雑性を超えることがないようにされる請求項2記載のシンセサイザ。   3. The number of samples used for each active voice by the means for calculating decreases as the number of active voices increases so that the maximum computational complexity is not exceeded. The synthesizer described. 前記計算する手段により各アクティブ・ボイスについて使用される前記サンプルの数は、前記アクティブ・ボイスの数が増加すると非線形的に減少する請求項1記載のシンセサイザ。   The synthesizer of claim 1, wherein the number of samples used for each active voice by the means for calculating decreases non-linearly as the number of active voices increases. 前記メモリ内に記憶された前記複数のサンプルがミュージカル・ノートを含む請求項1から請求項4のいずれかに記載のシンセサイザ。   The synthesizer according to claim 1, wherein the plurality of samples stored in the memory include musical notes. 前記メモリ内に記憶された前記複数のサンプルが種々の楽器により生成されたミュージカル・ノートのサンプルを含む請求項5記載のシンセサイザ。   6. A synthesizer according to claim 5, wherein the plurality of samples stored in the memory include samples of musical notes generated by various musical instruments. 前記一つの出力信号を計算する手段がフィルタ・テーブルを含む請求項1から6のいずれかに記載のシンセサイザ。   A synthesizer according to any of claims 1 to 6, wherein the means for calculating the one output signal includes a filter table. 前記フィルタ・テーブルがシンク関数(sinc function)の係数を含む請求項7記載のシンセサイザ。   The synthesizer of claim 7, wherein the filter table includes coefficients of a sinc function. 前記シンセサイザがMIDIミュージック・シンセサイザである請求項1から請求項8のいずれかに記載のシンセサイザ。   The synthesizer according to any one of claims 1 to 8, wherein the synthesizer is a MIDI music synthesizer. 請求項1から請求項9までのいずれかに記載のシンセサイザを含む携帯機器。   A portable device including the synthesizer according to claim 1. 前記携帯機器が携帯電話である請求項10記載の携帯機器。   The mobile device according to claim 10, wherein the mobile device is a mobile phone. 前記携帯機器がポケットベルである請求項10記載の携帯機器。   The portable device according to claim 10, wherein the portable device is a pager. メモリ内に記憶された複数のサンプルを有するシンセサイザの動作方法であって、
一つの音を生成するのにアクティブとなるボイスの数を決定するステップと、
アクティブとなるボイスの数に基づいて補間次数を決定するステップであって、前記補間次数はメモリ内に記憶された前記複数のサンプルから選択されるサンプルの数として定義される前記補間次数を決定するステップと、
前記補間次数によって決定された前記記憶されたサンプルの数を使用して、各アクティブ・ボイスについて出力を計算するステップと、
を含む前記方法。
A method of operating a synthesizer having a plurality of samples stored in a memory, comprising:
Determining the number of voices that are active to produce a single sound;
Determining an interpolation order based on the number of active voices, the interpolation order determining the interpolation order defined as the number of samples selected from the plurality of samples stored in memory. Steps,
Calculating an output for each active voice using the number of stored samples determined by the interpolation order;
Including said method.
前記アクティブ・ボイスの数が増加すると、前記補間次数が減少する請求項13記載の方法。   The method of claim 13, wherein the interpolation order decreases as the number of active voices increases. 前記アクティブ・ボイスの数が増加すると、前記補間次数が減少することにより、最大計算複雑性を超えることがないようにされる請求項13記載の方法。   The method of claim 13, wherein as the number of active voices increases, the interpolation order decreases so that maximum computational complexity is not exceeded. 前記アクティブ・ボイスの数が増加すると、前記補間次数が非線形的に減少する請求項13記載の方法。   The method of claim 13, wherein the interpolation order decreases nonlinearly as the number of active voices increases.
JP2004532083A 2002-09-02 2003-08-11 Sound synthesizer Expired - Fee Related JP4939753B2 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP02256081.7 2002-09-02
EP02256081A EP1394768B1 (en) 2002-09-02 2002-09-02 Sound synthesiser
US40974402P 2002-09-10 2002-09-10
US60/409,744 2002-09-10
PCT/EP2003/008902 WO2004021331A1 (en) 2002-09-02 2003-08-11 Sound synthesiser

Publications (2)

Publication Number Publication Date
JP2005537506A true JP2005537506A (en) 2005-12-08
JP4939753B2 JP4939753B2 (en) 2012-05-30

Family

ID=31197967

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004532083A Expired - Fee Related JP4939753B2 (en) 2002-09-02 2003-08-11 Sound synthesizer

Country Status (5)

Country Link
EP (1) EP1394768B1 (en)
JP (1) JP4939753B2 (en)
AT (1) ATE394771T1 (en)
DE (1) DE60226435D1 (en)
ES (1) ES2305182T3 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7613287B1 (en) 2005-11-15 2009-11-03 TellMe Networks Method and apparatus for providing ringback tones

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05323970A (en) * 1992-05-19 1993-12-07 Matsushita Electric Ind Co Ltd Musical sound generating device
JPH096364A (en) * 1995-06-19 1997-01-10 Yamaha Corp Musical tone generating method
JPH0922287A (en) * 1995-07-05 1997-01-21 Yamaha Corp Musical sound waveform generating method
JPH1097259A (en) * 1996-09-20 1998-04-14 Yamaha Corp Musical tone generator
JP2002055678A (en) * 2000-04-28 2002-02-20 Alcatel Compression method for midi film

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2040537B (en) * 1978-12-11 1983-06-15 Microskill Ltd Digital electronic musical instrument
EP0750290B1 (en) * 1995-06-19 2002-09-25 Yamaha Corporation Method and device for forming a tone waveform by combined use of different waveform sample forming resolutions

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05323970A (en) * 1992-05-19 1993-12-07 Matsushita Electric Ind Co Ltd Musical sound generating device
JPH096364A (en) * 1995-06-19 1997-01-10 Yamaha Corp Musical tone generating method
JPH0922287A (en) * 1995-07-05 1997-01-21 Yamaha Corp Musical sound waveform generating method
JPH1097259A (en) * 1996-09-20 1998-04-14 Yamaha Corp Musical tone generator
JP2002055678A (en) * 2000-04-28 2002-02-20 Alcatel Compression method for midi film

Also Published As

Publication number Publication date
EP1394768A1 (en) 2004-03-03
JP4939753B2 (en) 2012-05-30
DE60226435D1 (en) 2008-06-19
EP1394768B1 (en) 2008-05-07
ES2305182T3 (en) 2008-11-01
ATE394771T1 (en) 2008-05-15

Similar Documents

Publication Publication Date Title
US7787633B2 (en) Crossfade sample playback engine with digital signal processing for vehicle engine sound simulator
US6900381B2 (en) Method for removing aliasing in wave table based synthesizers
JP2008112183A (en) Reduced-memory reverberation simulator in sound synthesizer
US5340938A (en) Tone generation apparatus with selective assignment of one of tone generation processing modes to tone generation channels
KR101011286B1 (en) Sound synthesiser
JP4939753B2 (en) Sound synthesizer
JP3266974B2 (en) Digital acoustic waveform creating apparatus, digital acoustic waveform creating method, digital acoustic waveform uniforming method in musical tone waveform generating device, and musical tone waveform generating device
US7151215B2 (en) Waveform adjusting system for music file
GB2294799A (en) Sound generating apparatus having small capacity wave form memories
Huovilainen Design of a scalable polyphony-MIDI synthesizer for a low cost DSP
JP3777923B2 (en) Music signal synthesizer
JP2534636B2 (en) Music synthesizer
JPH0131638B2 (en)
JP2007034099A (en) Musical sound synthesizer
US6806413B1 (en) Oscillator providing waveform having dynamically continuously variable waveshape
JPH05249954A (en) Effect giving device
JP3405170B2 (en) Music synthesizer
JP3226255B2 (en) Music synthesis system
JP2678970B2 (en) Tone generator
JP3419005B2 (en) Original tone signal generator used for synthesis of tone signals
JP3399340B2 (en) Music synthesis device and recording medium storing music synthesis program
JPH02108099A (en) Waveform interpolating device
JPH10198381A (en) Music sound creating device
JPH10133659A (en) Digital signal processor
JPH05323970A (en) Musical sound generating device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060810

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090915

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20091215

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20091222

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100209

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100510

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100517

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100629

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101029

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110104

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20110401

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110808

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110811

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120227

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150302

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees