JPH07146679A - 音声データを変換する方法及びシステム - Google Patents

音声データを変換する方法及びシステム

Info

Publication number
JPH07146679A
JPH07146679A JP5239548A JP23954893A JPH07146679A JP H07146679 A JPH07146679 A JP H07146679A JP 5239548 A JP5239548 A JP 5239548A JP 23954893 A JP23954893 A JP 23954893A JP H07146679 A JPH07146679 A JP H07146679A
Authority
JP
Japan
Prior art keywords
voice
parameters
audio
application
parameter
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
Application number
JP5239548A
Other languages
English (en)
Inventor
John Deacon
ジョン・ジェイ・ディーコン
Ron Lisle
ロン・リスレ
Bridget Ritthaler
ブリゲット・リッタラー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH07146679A publication Critical patent/JPH07146679A/ja
Pending legal-status Critical Current

Links

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
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/0033Recording/reproducing or transmission of music for electrophonic musical instruments
    • G10H1/0041Recording/reproducing or transmission of music for electrophonic musical instruments in coded form
    • G10H1/0058Transmission between separate instruments or between individual components of a musical system
    • G10H1/0066Transmission between separate instruments or between individual components of a musical system using a MIDI interface
    • G10H1/0075Transmission between separate instruments or between individual components of a musical system using a MIDI interface with translation or conversion means for unvailable commands, e.g. special tone colors
    • 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/045Special instrument [spint], i.e. mimicking the ergonomy, shape, sound or other characteristic of a specific acoustic musical instrument category
    • G10H2230/065Spint piano, i.e. mimicking acoustic musical instruments with piano, cembalo or spinet features, e.g. with piano-like keyboard; Electrophonic aspects of piano-like acoustic keyboard instruments; MIDI-like control therefor
    • G10H2230/071Spint harpsichord, i.e. mimicking plucked keyboard instruments, e.g. harpsichord, virginal, muselar, spinet, clavicytherium, ottavino, archicembalo
    • 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/045Special instrument [spint], i.e. mimicking the ergonomy, shape, sound or other characteristic of a specific acoustic musical instrument category
    • G10H2230/075Spint stringed, i.e. mimicking stringed instrument features, electrophonic aspects of acoustic stringed musical instruments without keyboard; MIDI-like control therefor
    • G10H2230/081Spint viola
    • 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/045Special instrument [spint], i.e. mimicking the ergonomy, shape, sound or other characteristic of a specific acoustic musical instrument category
    • G10H2230/075Spint stringed, i.e. mimicking stringed instrument features, electrophonic aspects of acoustic stringed musical instruments without keyboard; MIDI-like control therefor
    • G10H2230/085Spint cello
    • 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/045Special instrument [spint], i.e. mimicking the ergonomy, shape, sound or other characteristic of a specific acoustic musical instrument category
    • G10H2230/075Spint stringed, i.e. mimicking stringed instrument features, electrophonic aspects of acoustic stringed musical instruments without keyboard; MIDI-like control therefor
    • G10H2230/095Spint zither, i.e. mimicking any neckless stringed instrument in which the strings do not extend beyond the sounding board
    • G10H2230/101Spint koto, i.e. mimicking any traditional asian-style plucked zither with movable bridges
    • 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/045Special instrument [spint], i.e. mimicking the ergonomy, shape, sound or other characteristic of a specific acoustic musical instrument category
    • G10H2230/075Spint stringed, i.e. mimicking stringed instrument features, electrophonic aspects of acoustic stringed musical instruments without keyboard; MIDI-like control therefor
    • G10H2230/095Spint zither, i.e. mimicking any neckless stringed instrument in which the strings do not extend beyond the sounding board
    • G10H2230/105Spint dulcimer, i.e. mimicking any zither-like instrument with small hand-played mallet hammers
    • 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/045Special instrument [spint], i.e. mimicking the ergonomy, shape, sound or other characteristic of a specific acoustic musical instrument category
    • G10H2230/075Spint stringed, i.e. mimicking stringed instrument features, electrophonic aspects of acoustic stringed musical instruments without keyboard; MIDI-like control therefor
    • G10H2230/115Spint sitar, i.e. mimicking any long-necked plucked string instrument with a large number of additional non-playable sympathetic resonating strings or an additional gourd-like resonating chamber
    • 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/045Special instrument [spint], i.e. mimicking the ergonomy, shape, sound or other characteristic of a specific acoustic musical instrument category
    • G10H2230/075Spint stringed, i.e. mimicking stringed instrument features, electrophonic aspects of acoustic stringed musical instruments without keyboard; MIDI-like control therefor
    • G10H2230/125Spint harp, i.e. mimicking harp-like instruments, e.g. large size concert harp, with pedal
    • 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/045Special instrument [spint], i.e. mimicking the ergonomy, shape, sound or other characteristic of a specific acoustic musical instrument category
    • G10H2230/075Spint stringed, i.e. mimicking stringed instrument features, electrophonic aspects of acoustic stringed musical instruments without keyboard; MIDI-like control therefor
    • G10H2230/151Spint banjo, i.e. mimicking a stringed instrument with a piece of plastic or animal skin stretched over a circular frame or gourd, e.g. shamisen or other skin-covered lutes
    • 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/045Special instrument [spint], i.e. mimicking the ergonomy, shape, sound or other characteristic of a specific acoustic musical instrument category
    • G10H2230/155Spint wind instrument, i.e. mimicking musical wind instrument features; Electrophonic aspects of acoustic wind instruments; MIDI-like control therefor.
    • G10H2230/161Spint whistle, i.e. mimicking wind instruments in which the air is split against an edge, e.g. musical whistles, three tone samba whistle, penny whistle, pea whistle; whistle-emulating mouth interfaces; MIDI control therefor, e.g. for calliope
    • 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/045Special instrument [spint], i.e. mimicking the ergonomy, shape, sound or other characteristic of a specific acoustic musical instrument category
    • G10H2230/155Spint wind instrument, i.e. mimicking musical wind instrument features; Electrophonic aspects of acoustic wind instruments; MIDI-like control therefor.
    • G10H2230/161Spint whistle, i.e. mimicking wind instruments in which the air is split against an edge, e.g. musical whistles, three tone samba whistle, penny whistle, pea whistle; whistle-emulating mouth interfaces; MIDI control therefor, e.g. for calliope
    • G10H2230/165Spint recorder, i.e. mimicking any end-blown whistle flute with several finger holes, e.g. recorders, xiao, kaval, shakuhachi and hocchiku flutes
    • 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/045Special instrument [spint], i.e. mimicking the ergonomy, shape, sound or other characteristic of a specific acoustic musical instrument category
    • G10H2230/155Spint wind instrument, i.e. mimicking musical wind instrument features; Electrophonic aspects of acoustic wind instruments; MIDI-like control therefor.
    • G10H2230/171Spint brass mouthpiece, i.e. mimicking brass-like instruments equipped with a cupped mouthpiece, e.g. allowing it to be played like a brass instrument, with lip controlled sound generation as in an acoustic brass instrument; Embouchure sensor or MIDI interfaces therefor
    • G10H2230/175Spint trumpet, i.e. mimicking cylindrical bore brass instruments, e.g. bugle
    • 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/045Special instrument [spint], i.e. mimicking the ergonomy, shape, sound or other characteristic of a specific acoustic musical instrument category
    • G10H2230/155Spint wind instrument, i.e. mimicking musical wind instrument features; Electrophonic aspects of acoustic wind instruments; MIDI-like control therefor.
    • G10H2230/171Spint brass mouthpiece, i.e. mimicking brass-like instruments equipped with a cupped mouthpiece, e.g. allowing it to be played like a brass instrument, with lip controlled sound generation as in an acoustic brass instrument; Embouchure sensor or MIDI interfaces therefor
    • G10H2230/185Spint horn, i.e. mimicking conical bore brass instruments
    • G10H2230/191Spint French horn, i.e. mimicking an orchestral horn with valves for switching pipe lengths
    • 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/045Special instrument [spint], i.e. mimicking the ergonomy, shape, sound or other characteristic of a specific acoustic musical instrument category
    • G10H2230/155Spint wind instrument, i.e. mimicking musical wind instrument features; Electrophonic aspects of acoustic wind instruments; MIDI-like control therefor.
    • G10H2230/195Spint flute, i.e. mimicking or emulating a transverse flute or air jet sensor arrangement therefor, e.g. sensing angle, lip position, etc, to trigger octave change
    • 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/045Special instrument [spint], i.e. mimicking the ergonomy, shape, sound or other characteristic of a specific acoustic musical instrument category
    • G10H2230/155Spint wind instrument, i.e. mimicking musical wind instrument features; Electrophonic aspects of acoustic wind instruments; MIDI-like control therefor.
    • G10H2230/195Spint flute, i.e. mimicking or emulating a transverse flute or air jet sensor arrangement therefor, e.g. sensing angle, lip position, etc, to trigger octave change
    • G10H2230/201Spint piccolo, i.e. half-size transverse flute, e.g. ottavino
    • 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/045Special instrument [spint], i.e. mimicking the ergonomy, shape, sound or other characteristic of a specific acoustic musical instrument category
    • G10H2230/155Spint wind instrument, i.e. mimicking musical wind instrument features; Electrophonic aspects of acoustic wind instruments; MIDI-like control therefor.
    • G10H2230/205Spint reed, i.e. mimicking or emulating reed instruments, sensors or interfaces therefor
    • G10H2230/215Spint bagpipe, i.e. mimicking instruments with enclosed reeds fed from a constant reservoir; Bagpipe-like electrophonic instrument; Midi-like interfaces therefor
    • 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/045Special instrument [spint], i.e. mimicking the ergonomy, shape, sound or other characteristic of a specific acoustic musical instrument category
    • G10H2230/155Spint wind instrument, i.e. mimicking musical wind instrument features; Electrophonic aspects of acoustic wind instruments; MIDI-like control therefor.
    • G10H2230/205Spint reed, i.e. mimicking or emulating reed instruments, sensors or interfaces therefor
    • G10H2230/221Spint saxophone, i.e. mimicking conical bore musical instruments with single reed mouthpiece, e.g. saxophones, electrophonic emulation or interfacing aspects therefor
    • 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/045Special instrument [spint], i.e. mimicking the ergonomy, shape, sound or other characteristic of a specific acoustic musical instrument category
    • G10H2230/155Spint wind instrument, i.e. mimicking musical wind instrument features; Electrophonic aspects of acoustic wind instruments; MIDI-like control therefor.
    • G10H2230/205Spint reed, i.e. mimicking or emulating reed instruments, sensors or interfaces therefor
    • G10H2230/225Spint oboe, i.e. mimicking double reed woodwind with conical bore, e.g. oboe
    • 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/045Special instrument [spint], i.e. mimicking the ergonomy, shape, sound or other characteristic of a specific acoustic musical instrument category
    • G10H2230/155Spint wind instrument, i.e. mimicking musical wind instrument features; Electrophonic aspects of acoustic wind instruments; MIDI-like control therefor.
    • G10H2230/205Spint reed, i.e. mimicking or emulating reed instruments, sensors or interfaces therefor
    • G10H2230/225Spint oboe, i.e. mimicking double reed woodwind with conical bore, e.g. oboe
    • G10H2230/231Spint english horn
    • 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/045Special instrument [spint], i.e. mimicking the ergonomy, shape, sound or other characteristic of a specific acoustic musical instrument category
    • G10H2230/155Spint wind instrument, i.e. mimicking musical wind instrument features; Electrophonic aspects of acoustic wind instruments; MIDI-like control therefor.
    • G10H2230/205Spint reed, i.e. mimicking or emulating reed instruments, sensors or interfaces therefor
    • G10H2230/235Spint bassoon, i.e. mimicking double reed low range woodwind with doubled back conical bore, e.g. bassoon
    • 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/045Special instrument [spint], i.e. mimicking the ergonomy, shape, sound or other characteristic of a specific acoustic musical instrument category
    • G10H2230/155Spint wind instrument, i.e. mimicking musical wind instrument features; Electrophonic aspects of acoustic wind instruments; MIDI-like control therefor.
    • G10H2230/205Spint reed, i.e. mimicking or emulating reed instruments, sensors or interfaces therefor
    • G10H2230/241Spint clarinet, i.e. mimicking any member of the single reed cylindrical bore woodwind instrument family, e.g. piccolo clarinet, octocontrabass, chalumeau, hornpipes, zhaleika
    • 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/045Special instrument [spint], i.e. mimicking the ergonomy, shape, sound or other characteristic of a specific acoustic musical instrument category
    • G10H2230/251Spint percussion, i.e. mimicking percussion instruments; Electrophonic musical instruments with percussion instrument features; Electrophonic aspects of acoustic percussion instruments, MIDI-like control therefor
    • G10H2230/255Spint xylophone, i.e. mimicking any multi-toned percussion instrument with a multiplicity of tuned resonating bodies, regardless of their material or shape, e.g. xylophone, vibraphone, lithophone, metallophone, marimba, balafon, ranat, gamban, anklong
    • 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/315Sound category-dependent sound synthesis processes [Gensound] for musical use; Sound category-specific synthesis-controlling parameters or control means therefor
    • G10H2250/365Gensound applause, e.g. handclapping; Cheering; Booing

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

(57)【要約】 【目的】仮想計算機にある音声アプリケーションからの
第1フォーマットの音声メッセージを、その音声メッセ
ージに対して厳密には一致しない第2フォーマットの音
声に変換する方法及びシステムを提供すること。 【構成】本発明は、音声アプリケーションが特定の音声
カードのハードウエア・レジスタに直接に書き込むこと
によって、完全に異なる原理に従って動作する音声カー
ドとコミュニケートするために使用される。変換プログ
ラムは、第1複数の音声パラメータを含む第1フォーマ
ットで書かれた音声メッセージをインターセプトし、そ
れらとテーブルにおける音声に対応するパラメータとを
比較し、音声メッセージにおける一致した音声パラメー
タに対応する音声を選択する。音声メッセージのパラメ
ータがテーブルにおける音声のパラメータと厳密には一
致しない場合、そのメッセージに対して最も近い少なく
とも1つの受入れ可能な音声を計算する手段が与えられ
る。1つの実施例では、音声パラメータは複数のFM合
成パラメータであり、音声は一組の汎用MIDI音声で
ある。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、一般的に言えば、パー
ソナル・コンピュータにおける音声再生に関するもので
ある。更に詳しく言えば、それは、特定のハードウエア
・レジスタに書き込まれた2進データを、ミュージカル
・インストルメント・ディジタル・インターフェース
(MIDI)のような汎用インターフェース・プロトコ
ルにデコードする方法及びシステムに関するものであ
る。
【0002】
【従来の技術】パーソナル・コンピュータの業界には、
種々の機能を遂行するための多数の特別目的のアダプタ
・カードが存在する。例えば、種々のゲーム・カード、
コンピュータ周辺装置を付加するためのデバイス・アダ
プタ・カード、ビデオ・カード、及びコミュニケーショ
ン・カードが存在する。一般的には、パーソナル・コン
ピュータは、その中にこれらアダプタ・カードを統合す
るために利用可能な多数のスロットを持っている。約3
年前、クリエイティブ・ラボ社は、コンピュータ・ゲー
ムの工業規格にもなっているサウンドブラスタ(Sou
ndBlaster、同社の商標)と呼ばれる新しい音
声アダプタ・カードを紹介した。今日では、音声を使用
する殆どすべてのソフトウエア製品がサウンドブラスタ
をサポートしている。
【0003】他の音声用カードも、商業的に生き残るた
めには、膨大な数の既存の音声アプリケーションをサポ
ートしなければならない。不幸にして、これらアプリケ
ーションのほとんどが、サウンドブラスタのハードウエ
ア・レジスタに対して直接的な読取・書込みを行うもの
である。互換性に関する従来技術の1つの解決手段は、
同様のレジスタをを持った同様のチップ・セットを持つ
ことである。しかし、複製カードを開発することは非常
に制限的であり、音声技術を前進させるものではない。
【0004】大量の既存の音声アプリケーションを任意
のハードウエア・プラットフォーム上で動作し得るよう
にすることは好ましいことである。サウンドブラスタに
おけるFM合成は、MIDI、即ち、音楽的アプリケー
ションに対する重要な工業規格に従って動作するもので
はなく、それ自身の秘密のプロトコルで動作する。更
に、音声カードの技術が進む時、顧客の受け入れ不足は
大いに進歩を妨げることになるので、既存のアプリケー
ションがサポートされなければならない。
【0005】
【発明が解決しようとする課題】従って、本発明の目的
は、ハードウエアに関係ない音声アプリケーションのた
めのプラットフォームを提供することにある。
【0006】本発明のもう1つの目的は、任意のデータ
・セットをMIDIインターフェースに変換することに
ある。
【0007】本発明のもう1つの目的は、音楽合成方法
を改良することにある。
【0008】本発明の更にもう1つの目的は、レジスタ
に対する直接読取り動作を遂行する音声アプリケーショ
ンと任意の音声ハードウエアとをインターフェースさせ
ることにある。
【0009】
【課題を解決するための手段】これら目的は、音声アプ
リケーションからの出力をインターセプトして分析し、
それをデータのタイプに関して及びコマンドに対して類
別することによって達成される。その分析後、音声デー
タを175個の一般的なMIDI楽器音の各々との対応
を調べるテーブル・ルックアップが行われる。厳密な対
応がない場合、その175個の一般的なMIDI楽器音
のうちのどれがそれに最も近いかを決定する試みが行わ
れる。更に、そのデータは、一般的なMIDI楽器音か
らの音声出力を変えるように1つ又は複数のMIDI制
御変数を変更するために使用可能である。
【0010】望ましくは、本発明は、オペレーティング
・システムに従って仮想デバイス・ドライバVDD(V
irtual Device Driver)又はTS
R(Terminate Stay Residenc
e)モジュールというインターフェースを使うことによ
り実行される。そのインターフェース・モジュールは、
音声アプリケーションに関するステータス情報を保管し
ながら命令をインターセプトすることができる。これ
は、VDDがそのインターセプトした命令を調べ、それ
を音声デバイス・ドライバと互換性のある形に復元する
のを可能にする。音声デバイス・ドライバに対する汎用
の仕様が存在するので、それを任意の特定の音声カード
に書き込んでそのインターフェース・モジュールを完全
にハードウエアに依存しないものにするができる。オペ
レーティング・システムは、音声アプリケーションを走
らせる仮想計算機を構成する。トラップされたI/O命
令が分析された後、それらは変換のためにそのインター
フェース・モジュールのうちの他のモジュール上に与え
られる。これらの変換モジュールは、ステート・マシン
(state machine)の形をとることもでき
る。例えば、パルス・コード変調(PCM)ステート・
マシンは、PCM記録及び再生エミュレーションを遂行
する。周波数変調(FM)シンセサイザ・ステート・マ
シンは、MIDI及びFM合成エミュレーションを遂行
する。
【0011】
【実施例】本発明は、種々のコンピュータのディスプレ
イに組み込むことができる。プロセッサ装置は、例え
ば、パーソナル・コンピュータ、ミニ・コンピュータ、
又は複数のコンピュータ・ディスプレイを走らせるメイ
ンフレーム・コンピュータでよい。コンピュータは、独
立型システム、ローカルエリア・ネットワークまたは広
域ネットワークのようなネットワーク、或は更に大きい
テレプロセシング・システムの一部分でもよい。しか
し、後述のように、本発明は、IBM社のPS/2マル
チメディア・シリーズのような独立型のマルチメディア
・パーソナル・コンピュータにおいて実施するのが最も
好ましいが、コンピュータのこの特別な選択は、単に、
資源の要件、例えば、マルチメディア・プログラミング
のメモリ及びディスク記憶装置によって制限されるだけ
である。IBM社のPS/2シリーズに関する更なる情
報に関しては、テクニカル・リファレンス・マニュア
ル:パーソナル システム/2 モデル50,60(I
BM社パーツ番号68X2224,注文番号S68X−
2224)及びテクニカル・リファレンス・マニュア
ル:パーソナル システム/2 モデル80(IBM社
パーツ番号68X2256,注文番号S68X−225
6)がある。
【0012】図1には、システム・ユニット11、キー
ボード12、マウス13及びディスプレイ14より成る
パーソナル・コンピュータ10が示される。更に、ディ
スプレ14の左右には、スピーカ・システム15A及び
15Bが装着されて示される。ディスプレイ14のスク
リーン16は、コンポーネント・マルチメディアの可視
表示を与えるために使用される。スピーカ・システム1
5A及び15Bは、付近の第三者を妨害することなく一
人の視聴者に対する良好な指向性をもって良好なインパ
ルス及びレスポンスを与える。そのスピーカ・システム
を非常に薄い形状にすることは、ディスプレイ14が通
常必要とする最小の余分なデスク空間を必要とするだけ
であることに注意してほしい。スピーカ・システム15
A及び15Bは、1992年10月30日出願の米国特
許出願番号第969677号の明細書に詳しく開示され
ている。
【0013】図2は、図1に示されたマルチメディア・
パーソナル・コンピュータのコンポーネントのブロック
図を示す。システム・ユニット11は、種々のコンポー
ネントを接続するシステム・バス21を有し、それによ
って種々のコンポーネント間のコミュニケーションが達
成される。マイクロプロセッサ22がシステム・バス2
1に接続され、更にそのシステム・バス21に接続され
た読取専用メモリ(ROM)23及びランダム・アクセ
ス。メモリ(RAM)24によってサポートされる。I
BM PS/2マルチメディア・シリーズにおけるマイ
クロプロセッサは、8088、80286、8038
6、及び80486マイクロプロセッサを含むインテル
社のマイクロプロセッサ・ファミリーの1つであるが、
モトローラ社の68000、68020、又は6803
0マイクロプロセッサのようなマイクロプロセッサ・フ
ァミリー、或は、IBM社、ヒューレット・パッカード
社、サン社、インテル社、モトローラ社,及びその他に
より製造された種々の縮小命令セット・コンピュータ
(RISC)マイクロプロセッサもその特殊なコンピュ
ータに使用可能である。
【0014】ROM23は、ディスク・ドライブ及びキ
ーボードの対話のような基本的なハードウエア動作を制
御する基本入出力システム(BIOS)を他のコードと
共に持っている。RAM24は、オペレーティング・シ
ステム及びマルチメディア・アプリケーション・プログ
ラムがロードされるメイン・メモリである。システム・
バス21に接続されたメモリ管理チップ25は、RAM
24、ハード・ディスク・ドライブ26、及びフロッピ
・ディスク・ドライブ27の間のデータ転送を含む直接
メモリ・アクセス(DMA)動作を制御する。更にシス
テム・バス21に接続されるCD−ROM(図示せず)
もマルチメディア・プログラム又はプレセンテーション
における大量のデータを記憶するために使用される。
【0015】更にこのシステム・バス21に接続される
ものとしては、種々のI/Oコントローラ、即ち、キー
ボード・コントローラ28、マウス・コントローラ2
5、ビデオ・コントローラ30、及び音声コントローラ
31がある。キーボード・コントローラ28は、キーボ
ード12に対するハードウエア・インターフェースを与
え、マウス・コントローラ29は、マウス13に対する
ハードウエア・インターフェースを与える。ビデオ・コ
ントローラ30は、ディスプレイ14に対するハードウ
エア・インターフェースを与え、音声コントローラ31
は、スピーカ15A及び15Bに対するハードウエア・
インターフェースを与える。最後に、更にそのシステム
・バスに接続されたディジタル信号プロセッサ(DS
P)33は、スピーカ・システムにより発生される音声
を制御するが、好ましくは、音声コントローラ31に組
み込まれる。
【0016】図3は、本発明の好ましい実施例に従って
音声装置に接続されたメモリ内の体系的ブロック図であ
る。音声アプリケーション・プログラム50は、オペレ
ーティング・システムによって仮想計算機内に保持され
る。音声アプリケーション・プログラム50又は音声デ
バイス・ドライバ52からのI/O命令(即ち、コマン
ド)は、仮想デバイス・ドライバ(VDD)54によっ
てトラップされる。実際には、ハードウエア・レジスタ
に直接に書き込むことを意図するほとんどすべての既存
の音声アプリケーションは、デバイス・ドライバ52を
使用せずにコミュニケートする。VDD54は、音声デ
バイス・ドライバ(ADD)56とコミュニケートす
る。同様に、それは、ADD56からのメッセージをア
プリケーション50にとって使用可能な形に変換する。
ADD56は、音声装置58に直接接続され、他のコー
ド・モジュールがその音声装置におけるハードウエアを
まったく知る必要がないようにする。別の実施例では、
VDD54は、音声カードとの直接的読取又は書込みを
行う。しかし、この実施例では、VDDはハードウエア
非依存のものではない。音声カードは、図10と関連し
て詳しく説明される。VDD54内には、I/Oインタ
ーセプト・ルーチン60、ステート・マシン62、音声
API呼出64、及びコールバック・ルーチン66があ
る。
【0017】VDD54がインストールされ又は仮想計
算機セッションが作成される場合、VDDは、いつI/
Oアドレスのリストへのアクセスが生じるかをそれが知
ることを望んでいることをオペレーティング・システム
に知らせる。この後、I/Oポートの1つがアクセスさ
れる時にはいつも、制御がVDDのI/Oインターセプ
ト・ルーチン60に移される。これらルーチンは、デバ
イス・ドライバのデバイス特有の部分、即ち、デバイス
・ステート・マシン62に呼び出しを設定する。このル
ーチン60は、I/O命令が読取アクセスの要求又は書
込みアクセスの要求であっても、又、どんなデータがポ
ートに書き込まれ(書込みアクセスの場合)ようと、ア
クセスされたポートを調べる。インターセプト・ルーチ
ン60は、この情報をすべて取り出し、そしてこの情報
を音声API呼出64のために変換するに必要な処理を
行う。音声API呼出64は、変換された音声情報が送
られる音声装置を制御する音声デバイス・ドライバ56
という物理的デバイス・ドライバを呼び出す。1つの好
ましいAPIは、IBM社から販売されているIBMパ
ーソナル・コンピュータ用の音声デバイス・ドライバで
十分である。
【0018】音声装置は、データ処理の終了のような或
る事象が生じた時、割込みを送ることができる。そこで
ADD56は、コールバック・ルーチン66を呼び出す
ことによってその事象をVDD54に知らせる。コール
バック・ルーチン66は、音声装置へDMAされるよう
にアプリケーションにより要求されたPCMデータのバ
ッファがいつ動作を終了したかを決定するために主とし
て使用される。VDD54は、コールバックを受け取る
時、アプリケーション50に「仮想」割込み要求IRQ
を送り、DMAが処理を終了したことをそのアプリケー
ション50に知らせる。
【0019】インテル80386及び前記マイクロプロ
セッサの面白い特徴は、それの仮想8086又はV86
モードの動作である。このモードでは、仮想8086計
算機が作り出される。音声アプリケーションは、オペレ
ーティング・システムの制御の下にこのV86仮想計算
機上で走ることができる。オペレーティング・システム
が命令を調べて復元するのを可能にするためにアプリケ
ーションに関するステータス情報も記憶するハードウエ
ア・レジスタのための特権命令がトラップ可能である。
仮想デバイス・ドライバは、仮想8086計算機におい
て音声アプリケーションからのコードをインターセプト
するために使用可能である。音声アプリケーションが既
知の音声レジスタI/Oロケーションの1つでの読取又
は書込みを試みる時には、仮想デバイス・ドライバはそ
の命令をインターセプトし、その代用の音声ハードウエ
アにより利用可能な機能を使ってそれをエミュレートす
る。
【0020】80386プロセッサは、実モード(DO
Sの下では正規)、保護モード、又は仮想8086(又
は、V86)モードで走ることができる。V86モード
は、保護環境において実モード・プログラムを走らせる
ように、例えば、OS/2「DOS−box」において
DOSプログラムを走らせる場合のように、設計されて
いる。V86モードの時、プロセッサは、各I/O命令
のポート・アドレスと、現在のプログラムがアクセスす
る特権を与えられているポートを定義するビットマップ
とを比較する。対応するビット・マップのビットが
「1」である場合、アクセスは許されず、保護デフォル
トが生ずるであろう。
【0021】インターフェース・モジュールは、保護モ
ードに入った後に所望のI/Oポートに対して設定され
たビットマップによりV86モードに戻るターミネイト
・ステイ・レジデンス(TSR)モジュールとしても実
施可能である。保護モードに入る一部分として、グロー
バル記述子テーブル(GDT)、ローカル記述子テーブ
ル(LDT)、割込み記述子テーブル(IDT)、及び
タスク状態セグメント(TSS)がすべて初期設定され
なければならない。TSRがDOSに戻った後、その後
のすべてのプログラムはV86モードで走るであろう。
選択されたI/Oポートのアクセスによる保護デフォル
トは、TSRによって処理されるであろう。そこで、I
/O命令は、他のI/Oポート及び(又は)必要に応じ
てプログラム機能に都合よくマップ可能となる。ソフト
ウエア割込みもすべて保護デフォルトを生じさせるであ
ろう。TSRは、それらソフトウエア割込みを認識し且
つ割込みベクトル・テーブルを介して正しいソフトウエ
ア割込みハンドラにそれらを送らなければならない。
【0022】OS/2 2.1及びウインドウズ 3.1
では、実デバイス・ドライバへの、例えば、音声デバイ
ス・ドライバへの、又はハードウエア・レジスタへのI
/O割込みをトラップするために使用可能である。多く
の既存のアプリケーションは、コンピュータの資源全体
を利用するように書かれたので、マルチアプリケーショ
ン環境ではオペレーティング・システムの援助なしでは
動作できなかった。仮想デバイス・ドライバは、アプリ
ケーションが音声カードのようなハードウエア資源を共
用するのを可能にする。典型的には、VDDは、単に、
I/Oデータをトラップし且つそのデータを他の形式に
ほとんど変換することなく適当なポートに送るために使
用される。これは、アプリケーションが1つのアプリケ
ーション環境の同じハードウエア又はデバイス・ドライ
バに書き込む時には真(true)である。本発明で
は、アプリケーションが当初書かれた時のその対象とな
ったハードウエアとは完全に異なるハードウエアとその
アプリケーションを対話させるので、VDDは異なって
いる。
【0023】仮想デバイス・ドライバVDDは、基本的
ハイパバイザ、並びに、FMシンセサイザ及び他の音声
機能を与えるステート・マシンより成る。基本的ハイパ
バイザは、I/O命令のトラッピングを行い且つそのト
ラップされた命令をステート・マシンに送る。更に、V
DDはDMAコントローラの動作をエミュレートする。
4000サンプル/秒と2300サンプル/秒との間の
可変サンプル率がサウンドブラスタ音声ハードウエアに
よりサポートされる。アプリケーションにより選択され
た任意のサンプル率をその代用の音声ハードウエアがサ
ポート出来ないかも知れない時、実デバイス・ドライバ
はその要求されたサンプル率を最も利用可能性の高い率
にマップするであろう。
【0024】VDDがインストールされる時、それは、
I/Oポートのフックと同様にそれがどのDMAチャネ
ルに関連しているかをオペレーティング・システムに知
らせる。サウンドブラスタに対しては、DMAチャネル
1が使用される。VDDは、DMAにおいてマスク又は
マスク・オフ事象が遂行される時には、いつも制御を得
ることになる。それが、マスクを行う音声アプリケーシ
ョンが常駐するV86マシンである場合、VDDはどの
データ・バッファがDMAされるのかを見つける。DM
Aデータを音声デバイス・ドライバに送ることが可能で
ある。VDDは、音声I/Oポートにアクセスを行った
プロセスのIDとDMAにアクセスを行おうとしている
プロセスのID(オペレーティング・システムにより供
給される)をチェックすることによって、それが音声ア
プリケーション仮想マシンであるかどうかを決定する。
【0025】DMAされるべきデータ・バッファの実ア
ドレス及びバッファのサイズはDMAレジスタから読取
り可能である。しかし、OS/2では、これが問題を提
起する。OS/2は、DMAに対する仮想デバイス・ド
ライバを持っている。このため、DMAがプロセスによ
ってプログラムされる度に、仮想デバイス・ドライバは
情報をインターセプトする。DMAの実際のプログラミ
ングは、制御が本願の仮想デバイス・ドライバに送られ
てしまった後でしか行われない。従って、DMAハンド
ラが制御を得る時に、データ・アドレス及びサイズはD
MAレジスタで得ることができない。これを回避するた
めに、DMAタイマ・ルーチンが制御を与えられる時、
出来るだけ早く(1ミリ秒)満了するようにDMAハン
ドラにおけるタイマが設定される。タイマが満了する時
までに、DMAハンドラは、OS/2仮想DMAデバイ
ス・ドライバに戻り、データ・アドレス及びサイズでも
ってをプログラムしている。そこで、DMAタイマ・ル
ーチンは進み、それが必要とする情報をDMAレジスタ
から読み取ることができる。
【0026】然る後、データ・バッファは音声デバイス
・ドライバ56に送られる。その音声デバイス・ドライ
バがデータの処理を終了する時、それは、仮想ドバイス
・ドライバにコールバックを与える。この時、仮想デバ
イス・ドライバは、DMAが持つ割込みレベルと同じレ
ベルで割り込みを発生するであろう。音声アプリケーシ
ョンは、この割込みを知り、次のデータ・バッファの処
理を続ける。
【0027】DOS及びウインドウズに対しては、DM
Aハンドラが制御を与えられる時にデータのサイズ及び
アドレスが利用可能となる。従って、余分な処理は必要
ない。
【0028】FMシンセサイザ・ステート・マシンは、
MIDI及びFM合成エミュレーションを行う。FMレ
ジスタに書き込まれたFMシンセサイザ・レジスタ・デ
ータは、分析され且つ汎用MIDIの推薦された実施態
様に適合したMIDIデータに変換される。汎用MID
Iは、標準ではなく、推薦された実施態様そのものであ
る。表1における周波数データは、使用すべきMIDI
ノート(音符)を決定するために使用される。表1にお
けるデータは、どの汎用MIDI楽器音が発生されるべ
きかを決定するために使用される。これは、表1におけ
る何れかのパラメータの変化がある場合、MIDIプロ
グラム変化を生じさせるかも知れない。また、キャリア
のトータル・レベル(後述の表2を参照)のわずかな相
違が、MIDIノート・オン値(音符の開始、終了を表
す)を決定するために使用される。
【0029】表1として示された下記のパラメータが、
再生されるべき音符の各々につき与えられ、これがサウ
ンドブラスタによって使用される。F番号は周波数、ブ
ロックはオクターブ、キー・オン1は音の存在、キーオ
ン0は音の不在を表す。
【0030】表1 パラメータ ビット・サイズ F番号 10 ブロック 4 キー・オン 1(1=オン、0=オフ) 図4は、音声アプリケーションにより行われる代表的な
I/O要求を示す。I/O要求は入力線99によって送
られ、アプリケーションが書き込まれるポートを決定す
るコード・モジュール100によってインターセプトさ
れる。図では、ポートは、xx1乃至xxFとして示さ
れ、それらは、音声カードに割当てられたポートとして
パーソナル・コンピュータが認識する一連の16個の隣
接したポートを表わす。例えば、それらポートは、22
0乃至22F又は380乃至38Fでもよい。I/O要
求の性質によっては、音声アプリケーションはI/O要
求を特定のI/Oポートに送るよう試みるであろう。サ
ウンドブラスタ音声カードでは、I/Oポートxx1、
xx2、及びxx3は、広く普及してない音楽処理であ
るC/MS−404品質シンセサイザ(FM同期ではな
い他のタイプ)に対して使用される。I/Oポートxx
6は、DSPリセットに対して使用される。I/Oポー
トxxAは、DSP音声I/O及びMIDI読取りデー
タのために使用される。I/OポートxxCは、DSP
/コマンド処理のために使用される。I/Oポートxx
Eは、DSP利用可能データ/ステータスに対して使用
される。
【0031】I/O処理ルーチン100は、特定のハー
ドウエア・ポート用の命令をトラップし、それらを適当
な手順へ送る。xx0乃至xx3ポートへのI/Oコマ
ンド又はデータはC/MS音楽音声ルーチン102に送
られる。C/MS音楽音声ルーチンは、非常にわずかな
アプリケーションしか使用しない特殊化された合成ルー
チンである。従って、このルーチンは図7乃至図15に
おけるFM合成ルーチンと同様に行われるけれども、V
DDはこのルーチンをサポートする必要がない。xx6
ポートへのI/Oコマンドは、図6にかなり詳細に示さ
れるDSPリセット手順104に送られる。FM合成の
ためのI/Oコマンドは、通常、xx8及びxx9に送
られる。インターセプトの後、それらは、図7乃至図1
5にかなり詳細に示されたFM合成手順106に送られ
る。xxAへのI/Oは、図16に示されたデータ読取
手順108に送られる。xxCポートへのI/Oは、図
17乃至図25に示されたデータ/コマンド書込み手順
110に送られる。図26と関連してDSP利用可能デ
ータ/ステータス手順は、xxEポート用のI/Oデー
タを受ける。その他のポートへのI/O命令は、NOP
として扱われる。
【0032】I/O処理ルーチンは、アプリケーション
が書込みを意図している音声カード次第で更に簡単なも
のにできる。例えば、図5において、ローランド社によ
り製造されているMPUのためのI/O処理ルーチンを
説明する。アプリケーションからのI/O命令は、それ
がポートxx0又はxx1のためのデータかコマンド/
ステータスかを決定するMPU I/O処理ルーチン・
ブロックによってインターセプトされる。それが、通
常、第1ポートで受けるデータ情報である場合、それは
データ・ブロック122に送られる。それが、通常、x
x1ポートに送られるコマンド/ステータス情報である
場合、I/O命令はコマンド/ステータス・ブロック1
24によって処理される。本発明の1つの好ましい実施
例では、複数の異なったハードウエア・プラットフォー
ムのために書かれた音声入出力データを処理するため
に、複数のI/Oハンドラが設けられる。従って、サウ
ンドブラスタに対して書かれた第1アプリケーション
は、MPUカードに対して書かれた第2アプリケーショ
ンと同時に動作でき、実際の音声I/O動作は、第1及
び第2アプリケーションのどちらもその対象となってい
ない第3の音声カードによって遂行される。
【0033】図6乃至図26は、図4の各モジュールに
おけるプロセスを更に詳細に説明するものである。これ
らフローチャートでは、サウンドブラスタ・カードに対
する直接的な読取又は書込みのために書かれた音声識別
の期待に基づく種々のパラメータに対する特殊な値が与
えられる。図5に示されたI/Oハンドラに対しても同
様の手順を書くことができること、及び特定のパラメー
タが後述のものとは異なってもよいことは、当業者には
明らかであろう。プロセスは伝統的なステート・マシン
のようには示されてないけれども、それらは特定な機能
でもって音声アプリケーションのI/O命令及び状態に
応答する。
【0034】図6は、ディジタル信号プロセッサをリセ
ットするためのプロセスを示す。xx6ポートに書き込
まれる時、DSPリセット・コマンドがカード上で遂行
される。プロセスはステップ130におけるDSPリセ
ット・コマンドでもって始まる。次に、ステップ132
で、入力がI/O読取であるかどうかを決定するための
テストが行われる。それがI/O読取である場合、ステ
ップ134において出力変数AL(アキュムレータの下
半分の桁)がFFh(hは16進法表記であることを意
味する)に設定され、音声アプリケーションに戻され
る。xx6は、書込み専用ポートである。書込み専用ポ
ートが読み取られる場合、本発明の実施例によってエミ
ュレートされるハードウエアはFFhを戻す。ステップ
136、140、及び142において、アプリケーショ
ンからのI/O入力ALが或る値に等しいかどうかを決
定するためのテストが行われる。その結果がイエスであ
る場合、ステップ138において、そのI/Oの値がV
DDによる将来の使用のために保管される。その結果が
ノーである場合、ステップ144において、01hの入
力値が予め保管されていたかどうかを決定するためのテ
ストが行われる。それがイエスであれば、ステップ14
6において、保管Eの変数がFFhに設定されてデータ
がDSPから得られることを表わし、保管Aの変数がA
Ahに設定されてxxAポートがDSPからのデータで
もって設定されなければならないことを表わす。ここ
で、保管x(xは1ないしF)はサウンドブラスタのx
レジスタに最後に書き込まれた値を記憶しておくための
ものである。
【0035】その図全体を通して、保管EがFFhに設
定される時には、それは、xxAポートにおいて読取の
ために利用可能なデータがあることを意味する。VDD
は、特定のポートへの最後の入力及びそれからの最後の
出力を記憶するテーブルを含んでいる。例えば、保管A
の入力値は、xxAポートの次の読取アクセスにおいて
アプリケーションに送り戻されるべき値である。保管A
の出力値は、アプリケーションによってxxAポートに
書き込まれた最後の値である。ステップ148におい
て、DSPがリセットされることをアプリケーションが
要求した時にその音声カードに関するすべての処理が停
止され、バッファはオペレーティング・システムに戻さ
れる。ポートxxE及びポートxxAが次に読み取られ
る時、正しい値がアプリケーションに送られるのを待っ
ているであろう。プロセスは、ステップ150で終了す
る。
【0036】図7乃至図15は、汎用のMIDI楽器イ
ンターフェースによってFM合成をエミュレートするた
めのプロセスを示す。プロセスは、ポートxx8又はx
x9が音声アプリケーションによって書き込まれる時、
ステップ160において始まる。ステップ160は、コ
マンドがポートxx8に書き込まれたかどうかを決定す
る。それがポートxx8に書き込まれた場合、ステップ
162において、命令がI/O読取り動作を要求してい
るかどうかを決定するためのテストが行われる。それが
ノーである場合、ステップ164は、保管8の出力をA
Lに等しくさせ且つデータを出力させ、そしてプロセス
はステップ165で終了する。
【0037】I/O命令がI/O読取を要求する場合、
ステップ166において、タイマが音声アプリケーショ
ンにより使用されるかどうかを決定するためのテストが
行われる。アプリケーションがタイマを使用する場合、
ステップ168において、ALが保管8の入力に設定さ
れ、プロセスはステップ165に出る。アプリケーショ
ンが如何なるタイマも使用しない場合、ステップ170
において、ポートxx8が続けてアクセスされる回数の
ためのカウンタがインクレメントされる。次に、ステッ
プ172において、ポートxx8への5回以上の読取が
連続して行われたかどうかを知るために、カウンタがテ
ストされる。それがイエスの場合、VDDインターフェ
ースは、アプリケーションが処理しているコードを評価
し、そしてアプリケーションが時間を無駄に費やしてい
る場合、それは、ポートへの過剰な読取を行っているア
プリケーション・コードにおける命令をNOPするであ
ろう。これは、ステップ174において行われ、処理を
かなりスピードアップし、性能を改善する。プロセス
は、168、165に続く。
【0038】これがxx9ポートへのI/Oアクセスで
あった場合、ステップ176において、アプリケーショ
ンがI/O読取要求を行ったかどうかを決定するために
テストが行われる。その結果がイエスならば、処理はス
テップ165に出る。アプリケーションがI/O書込み
要求を行った場合、ステップ178においてポートxx
8アクセスのためのカウンタがリセットされる。次に、
ステップ180において、I/O命令がFMテーブルに
保管される。I/O命令値が同じ値のときには何も行わ
れない。I/O命令が02hである場合、80ミリ秒タ
イマがステップ182で設定される。I/O命令が03
hである場合、320ミリ秒タイマがステップ183で
設定される。I/O命令が04hでる場合、タイマ制御
手順がステップ184で呼び出される。I/O命令がB
Dhに等しい場合、ステップ188で、デプス/リズム
・ルーチン(ここでデプスとは変調の深さである)が呼
び出される。I/O命令がB0h乃至B8hである場
合、ステップ189で、キー・オン/ブロック・ルーチ
ンが呼び出される。プロセスは、ステップ190で終了
する。
【0039】図8は、タイマ1設定ルーチンを更に詳し
く説明するものである。プロセスは、I/O命令02h
が検出されるステップ182で始まる。次に、ステップ
192において、満了前に80ミリ秒タイマの新しい値
が決定される。ステップ192において、タイマ1及び
タイマ2の最小公分母が決定される。最小公分母は、V
DDタイマがタイマ1及びタイマ2の両方に対して設定
される率、即ち、タイマ1/タイマ2が実際に満了する
前にVDDタイマが満了する回数を決定する。ステップ
193では、音声カードに関してテンポが更新される。
プロセスは、ステップ190で終了する。
【0040】図9は、タイマ1設定手順と基本的に同じ
であるタイマ2設定手順を説明するものであるが、この
場合のタイマがタイマ1設定手順における80ミリ秒タ
イマと違って320ミリ秒タイマであることだけが異な
る。プロセスは、03hのI/O値を受け取るステップ
183において始まる。次に、ステップ192に関連し
て述べたように、ステップ194において、そのタイマ
の新しい値が満了前に決定される。次に、ステップ19
5において、音声カードに関するテンポが更新される。
プロセスは、ステップ190で終了する。
【0041】図10には、タイマ制御手順が更に詳細に
示される。プロセスは、04hのI/O値を受け取るス
テップ184で始まる。ステップ200において、タイ
マがリセットされるべきかどうかを決定するためのテス
トが行われる。その結果がイエスであれば、ステップ2
02において、保管8の入力変数が0に設定される。次
に、ステップ204において、タイマは再スタートさ
れ、プロセスはステップ206で終了する。タイマがリ
セットされるべきでない場合、ステップ208におい
て、タイマ1がスタートされるべきかどうかを決定する
ためのテストが行われる。その結果がイエスであれば、
ステップ210において、フラッグが設定され、タイマ
1が満了するのをアプリケーションが待っていることを
表わす。その結果がノーである場合、ステップ212に
おいて、フラッグがクリアされ、タイマ1が満了するの
をアプリケーションが待っていないことをことを表わ
す。
【0042】次に、ステップ214において、タイマ2
がスタートされるべきかどうかを決定するためのテスト
が行われる。その結果がイエスであれば、ステップ21
6において、フラッグが設定され、タイマ2が満了する
のをアプリケーションが待っていることを表わす。その
結果がノーであれば、フラッグはクリアされ、タイマ2
が満了するのをアプリケーションが待っていないことを
表わす。次に、ステップ220において、アプリケーシ
ョンがタイマ1又はタイマ2を待っていないことをフラ
ッグが表わしているかどうかのサーチが行われる。アプ
リケーションがいずれかの又は両方のタイマを待ってい
る場合、そのタイマーはステップ222でスタートさ
れ、プロセスはステップ206で終了する。タイマを再
スタートすることは、基本的には、タイマが既に満了し
ていることを保証し、VDDは、いつ次のタイマが満了
するかを知ることを望んでいる。タイマをスタートする
ことは、基本的には、そのタイマの満了の報告を開始す
ることを意味する。
【0043】図11には、デプス/リズム手順が更に詳
細に示される。まず、ステップ188において、BDh
に等しいI/O命令に応答して「ドラム」手順が取り出
される。ステップ226において、リズムのタイプが決
定される。ステップ228において、xx9ポート出力
におけるビット記憶を使って、リズムに対するパラメー
タが取り出される。次に、ステップ230において、そ
れが標準リズムであるかどうかを決定するためのテスト
が行われる。それが標準リズムでない場合、ステップ2
32において、全てのパラメータを使って最も近いリズ
ムを見つける。それが標準リズムである場合、ステップ
232はスキップされる。次に、ステップ234におい
て、このリズムに対するMIDIチャネル10(打楽器
用に用いられる)ノート、即ち、リズムに対するMID
Iチャネル、が取り出される。最後に、ステップ236
において、チャネル10に関する音声がアプリケーショ
ンに戻される。
【0044】キー・オン/ブロック/F番号手順が図1
2乃至図15に示される。プロセスは、B0h乃至B8
hの範囲のI/O命令を受け取る時、ステップ189で
始まる。ステップ240において、音声カードがMID
Iに対して既に初期設定されているかどうかを決定する
ためのテストが行われる。その結果がノーである場合、
ステップ242で、装置はMIDIを動作するよう初期
設定される。ステップ244において、キーがオンにな
っているかどうかを決定するためのテストが行われる。
その結果がイエスである場合、ステップ246におい
て、このチャネルに対する値のうちのどれかが最終回以
後に変化したかどうかを決定するためにもう1つのテス
トが行われる。それらが変化していた場合、ステップ2
48において、音声設定手順が呼び出される。次に、ス
テップ250において、新しい音声が戻されたかどうか
を調べるためのテストが行われる。この結果がイエスで
あれば、ステップ252において、新しい音声に対する
新しいプログラムされたパラメータが音声カードに出力
される。それが新しい音声でない場合、ステップ252
はスキップされる。ステップ254では、音声の速度が
変化したかどうかを決定するためのテストが行われる。
この結果がイエスである場合、ステップ256で速度設
定手順が呼び出される。次に、ステップ258におい
て、キー取得手順が呼び出される。ステップ260にお
いて、MIDIメッセージが音声装置に送られ、ステッ
プ262において、プロセスが終了する。
【0045】ステップ244において、キーがオンにな
っていなかった場合、ステップ264において、ノート
が2回目にオンであるかどうかを決定するためのテスト
が行われる。この結果がイエスである場合、ステップ2
66において、速度がゼロに設定され、MIDI音声が
音声装置に送られる。ノートが2回目にオンでない場
合、プロセスはステップ262で終了する。
【0046】図13は、ステップ248における音声設
定手順を更に詳細に示すものである。まず、ステップ2
68において、このチャネルに対する音声・パラメータ
を受け取る。ステップ270において、音声が変わった
かどうかを決定するためのテストが行われる。この結果
がノーである場合、同じ音声が使用され、プログラムは
終了する。音声が変わった場合、ステップ272におい
て、音声がテーブルにあるかどうかを決定するテストが
行われる。音声がテーブルにある場合、テーブル・音声
が使用される。その結果がノーである場合、ステップ2
74において、未知の音声及びテーブル内の各音声の間
比較が開始される。ステップ276において、接続係数
が一致するかどうかを決定するためのテストが遂行され
る。それらが一致する場合、音波選択キャリアが一致す
るかどうかを決定するためのテストが行われる。これら
テストのうちのいずれかが否定される場合、ステップ2
80において、Vxが最大値に設定される。従って、こ
の音声は非常に異なっているので、後述のステップ28
6において最も近い音声として推定されるものではない
であろう。
【0047】ステップ282において、キャリア用のパ
ラメータ及び種々のMIDI音声のためのモジュレータ
用のパラメータの間の差が決定される。ステップ284
において、テストすべき更に他の標準音声があるかどう
かを決定するためのテストが行われる。その結果がノー
である場合、ステップ284において、音声・パラメー
タとの差が最も小さい音声が選択される。プロセスは、
ステップ288で終了する。未知の音声とテーブルにお
ける各標準音声との相違Vxは次のようになる。即ち、 Vx=ATTACK(CARRIER)/2+ATTACK(MODULATOR)/2+DECAY(CAR
RIER)/2+DECAY(MODULATOR)/2+SUSTAIN(MODULATOR)*EGty
pe(MODULATOR)+MULTIPLE(MODULATOR)/2+TOTALLEVEL(MOD
ULATOR)/2+FEEDBACK(MODULATOR)/2 この式は、以下のように言い換えることができる。即
ち、それは、後述の表2における未知の音声のアタック
(キャリア)と標準音声のアタック(キャリア)との絶
対差[ATTACK(CARRIER)]の半分、未知の音声のアタッ
ク(モジュレータ)と標準音声のアタック(モジュレー
タ)との絶対差[ATTACK(MODULATOR)]の半分、未知の
音声のディケイ(キャリア)と標準音声のディケイ(キ
ャリア)との絶対差[DECAY(CARRIER)]の半分、未知の
音声のディケイ(モジュレータ)と標準音声のディケイ
(モジュレータ)との絶対差[DECAY(MODULATOR)]の半
分、未知の音声のサステイン(モジュレータ)と標準音
声のサステイン(モジュレータ)との絶対差[SUSTAIN
(MODULATOR)]掛ける未知の音声のEGタイプ(モジュ
レータ)と標準音声のEGタイプ(モジュレータ)との
絶対差[EGtype(MODULATOR)]、未知の音声のマルチプ
ル(モジュレータ)と標準音声のマルチプル(モジュレ
ータ)との絶対差[MULTIPLE(MODULATOR)]の半分、未
知の音声のトータル・レベル(モジュレータ)と標準音
声のトータルレベル(モジュレータ)との絶対差[TOTA
LLEVEL(MODULATOR)]の半分、未知の音声のフィードバ
ック(モジュレータ)と標準音声のフィードバック(モ
ジュレータ)との絶対差[FEEDBACK(MODULATOR)]の半
分、の和である。
【0048】図14は、速度が変化した場合、ステップ
256で始まる速度設定手順を示す。ステップ290に
おいて、キャリア・パラメータのトータル・レベルが予
め書き込まれたFMテーブルから検索される。ステップ
291において、キャリア値は反転され、ステップ29
2において、2倍にされる。その結果生じた値(速度)
は、ステップ293において戻される。
【0049】図15は、図12のステップ258で始ま
るキー取得手順を示す。キーは、ハードウエアによって
実行されるノート又は周波数である。ステップ294に
おいて、このチャネルに対するF値及びブロックMが検
索される。F値は、出力信号の周波数を決定し、ブロッ
クMは、サウンドブラスタのハードウエアにおけるオク
ターブを決定する。次に、ステップ295において、キ
ーがテーブル内にあるかどうかを調べるテストが行われ
る。その結果がイエスであれば、キーはステップ298
戻される。その結果がノーである場合、ステップ296
において、式(F番号*3125)右シフト(16ブロ
ックN)を使って計算される。次に、計算された周波数
に最も近いキーがステップ297で見つけられ、そして
そのキーはステップ298で戻される。
【0050】図16は、データ読取プロセスのためのフ
ローチャートである。まず、ステップ300において、
アプリケーションからの初期I/O入力が読み取られ
る。ステップ302において、I/Oデータが読取アク
セスを示すかどうかを決定するためのテストが行われ
る。この結果がノーである場合、プログラムはステップ
303で終了する。それがI/O読取である場合、ステ
ップ304において、DSPに書き込まれた最後のコマ
ンドがE1hであったかどうかを決定するためのテスト
が行われる。この結果がノーである場合、ステップ30
5において、I/Oデータ値ALが保管Aに入れられ
る。ステップ306において、保管Eの変数がFFhに
設定される。DSPへの最後のコマンドがE1hであっ
た場合、音声アプリケーションは更に2バイトの情報が
後続することを期待する。ステップ308において、保
管Aが0に等しいかどうかを決定するためのテストが行
われる。その結果がイエスであれば、ステップ305、
306が行われる。その結果がノーであれば、プロセス
310において、保管Aは0に設定され、手順は、xx
Aポートの次の読取のために前に保管値を戻す。プロセ
スはステップ312において終了する。
【0051】図17は、本発明におけるデータ/コマン
ド書込み手順に対するフローチャートを示す。ステップ
320において、カードへのデータ書込み又はコマンド
書込み動作が音声アプリケーションにより求められてい
ることを表わすそのアプリケーションからのI/Oコマ
ンドがインターセプトされる。ステップ322におい
て、それがI/O読取コマンドであるかどうかを決定す
るためのテストが行われる。その結果がイエスであれ
ば、ステップ324において、インターフェース又は音
声コントローラ・カードが停止する必要があるかどうか
を決定する第2のテストが行われる。その結果がノーで
ある場合、ステップ326においてAL値がFFhに設
定され、DSPが次のコマンドを受け取る準備ができて
いることを表わし、そしてプログラムはステップ328
に出る。プログラム・インターフェースが停止する必要
がある場合、ステップ330において、ALは保管Cに
おける最新の値に設定され、保管Cにおける新しい値が
7Fhに設定される。これは、DSPが現時点ではそれ
以上のコマンドを受け取る準備ができていないことを表
わす。プロセスは、ステップ328に進み、終了する。
【0052】I/O命令がI/O読取動作ではない場
合、ステップ332において、インターフェースがこの
コマンドに対して2バイト以上のデータを待っているか
どうか決定するテストが行われる。その結果がイエスで
ある場合、ステップ334において、現在のコマンドに
対するI/Oデータが保管される。ステップ336にお
いて、そのステート・マシンが待っているバイトの数が
決定される。プロセスは、ステップ328に進み、終了
する。
【0053】インターフェースが2バイト以上を待って
いない場合、ステップ340において、そのコマンドに
対するI/Oデータバイトが保管される。そのコマンド
に対する全てのデータ・バイトを受け取ってしまうと、
VDDは、MIDI、PCM、又はADPCMに対する
ものでよいコマンドを処理するためにステップ340以
下の動作を続ける。例えば、コマンドが0X、5X、6
X、8X、AX、BX、CXである場合、プロセスはス
テップ328に進み、終了する。コマンドが1Xに等し
い場合、ステップ341において、8バイトのディジタ
ル・アナログ変換(DAC)及び2バイトのアダプティ
ブ・デルタPCM・DAC手順が行われる。コマンドが
2Xに等しい場合、ステップ342において、アナログ
・ディジタル変換入力手順が行われる。コマンドが3X
に等しい場合、ステップ343において、MIDIポー
トに対する読取又は書込みが行われる。ステップ344
では、コマンドが4Xに等しい場合、時定数設定手順が
行われる。コマンドが7Xに等しい場合、ステップ34
5において、4ビット及び2.6ビットADPCM・D
AC手順が設定される。コマンドが8Xに等しい場合、
ステップ346において、コマンド8X手順が行われ
る。コマンドがDXに等しい場合、ステップ347にお
いて、スピーカ制御手順が行われる。コマンドがEX又
はFXに等しい場合、ステップ348又は349におい
て、コマンドEX手順又はコマンドFX手順が行われ
る。
【0054】図18は、サウンドブラスタ・プロトコー
ルによりサポートされるいくつかのDSP書込みコマン
ドの1つである8ビットDACに対するDMA書込みモ
ードのためのフローチャートである。他の書込みコマン
ドは、8ビットDACに対する直接書込みモード、2ビ
ット・アダプティブ・デルタ・パルス・コード変調(A
DPCM)DACに対するDMA書込みモード、基準バ
イトを持った2ビットADPCM・DACに対する第2
DMA書込みモード、及び直接書込みモードDACであ
る。ADPCMは、サウンドブラスタにおけるDSPに
よって使用される圧縮アルゴリズムである。簡単にする
ために、このコマンドに関連した第1書込みモードだけ
が示される。また、音声ハードウエアによっては、VD
Dにより与えられてなければ、これら書込みモードすべ
てがサポート可能なわけではない。
【0055】ステップ341における1Xコマンドの
後、8ビット変換器に対するDMA書込みモードがアプ
リケーションによって呼び出されることを表わす14h
I/O命令に対してテストが行われる。次に、ステップ
352において、DSPがビジーに設定され、保管Cが
FFhに設定される。ステップ354におけるテスト
は、DMA書込みが停止したかどうかを決定する。その
結果がイエスであれば、ステップ356において、デー
タ処理は停止され、ステップ358において、DMA停
止フラッグはクリアされる。DMA書込みが進行する場
合、ステップ360が新しいサンプル率に関してテスト
する。サンプル率が安定したままである場合、ステップ
362において、音声カードがPCMに対して初期設定
されているかどうかのテストが行われる。この結果がノ
ーであれば、プロセスはステップ364に続き、実行さ
れる必要のある変化に関してテストが行われる。著しい
変化がある場合、ステップ366において、テンポ変化
に関するテストが行われる。テンポ変化がある場合、ス
テップ368において、テンポを変えるためのフラッグ
はクリアされる。プロセスはステップ370に進み、音
声ハードウエアはPCM動作に対して初期設定される。
ステップ372において、装置に書き込まれるべきDM
Aデータが送られる。プロセスはステップ374で終了
する。
【0056】図19は、マイクロフォン又は他の音源か
ら来る音声カードへのアナログ・ディジタル変換入力に
対するプロセスを示す。I/O命令、即ち、コマンドが
24hである場合、情報は音声カードへ直接に書き込ま
れる。I/O命令が20hである場合、情報はDMAモ
ードで書き込まれる。ステップ342で、ADC入力コ
マンド2Xをアプリケーションから受け取った後、期待
したタイプのADC入力モードが指定されたかどうかの
2つテストがステップ380及び383において行われ
る。直接モードが指定された場合、ステップ381にお
いて、カードにデータを読み取らせるためのコマンドが
送られる。いずれのコマンドも検出されない場合、手順
はステップ382で終了する。
【0057】DMAモードが呼び出される場合、ステッ
プ384において、新しいサンプル率が要求されたかど
うかのテストが行われる。同じサンプル率が要求される
場合、ステップ386において、音声カードが記録のた
めに正しく初期設定されているかどうかのテストが行わ
れる。新しいサンプル率又は音声カードの正しい初期設
定が必要である場合、プロセスはステップ388に進
む。次に、ステップ390において、DMA読取動作お
いて指定されたバイト数に対してバッファが読み取られ
る。プロセスは、ステップ392で終了する。
【0058】図20は、DMAモードのDAC及びAD
Cに対するサンプル率を設定するために使用される時定
数設定手順を示す。認識されたI/O命令は40hであ
る。ステップ400におけるテストが否定結果である場
合、プロセスはステップ402で終了する。アプリケー
ションがサンプル率の変更を望んでいる場合、ステップ
404において、DSPはビジーに設定され、保管Cの
変数はFFhに設定される。次に、ステップ406にお
いて、時定数が最後のものと同じであるかどうか、即
ち、サンプル率が一定であるかどうかを決定するための
テストが行われる。この結果がノーである場合、ステッ
プ408で、次の式を使って、新しサンプル率が計算さ
れる。
【0059】 サンプル率=1,000,000/(256−時定数) ステップ410において、新しいサンプル率が利用可能
であることを示すためのフラッグが設定される。プロセ
スは、ステップ412で終了する。
【0060】図21は、4ビットADPCM及び2.6
ビットADPCM・DACモードのためのフローチャー
トである。I/O命令が74hと77hとの間にない場
合、ステップ420又は421の後、プロセスは、ステ
ップ426で終了する。I/O命令がこの範囲内にある
場合、音声アプリケーションは、サウンドブラスタ・カ
ードによりサポートされたいくつかの書込みモードの1
つを使用しようとしている。しかし、この実施例では、
VDDの作成の原因となる音声装置によってサポートさ
れるモードはなく、VDDの設計者はそのVDDによる
サポートをエミュレートするように選択しなかった。従
って、アプリケーションによって送られたデータは、単
に廃棄される。これは非常に好適なエミュレーションの
ようには見えないけれども、書込みモードがハードウエ
ア又はソフトウエアよってサポートされない場合、その
要求を無視することは、アプリケーションを停止するよ
りも、むしろ破滅性が小さい。ステップ422におい
て、DMAデータがバッファに入れられてしまったかど
うかを決定するためのテストが行われる。この結果がノ
ーである場合、フラッグが設定されるので、バッファは
それを受け取る時を無視される。その結果がイエスであ
れば、その音声装置が走っていると考えられるIRQレ
ベルにおける割込みがアプリケーションに送られる。プ
ロセスは、ステップ426で終了する。
【0061】図22には、「コマンド8X」書込みモー
ドが示される。一般的な文書で公表されてない動作をエ
ミュレートすることは、音声アプリケーションがサウン
ドブラスタと対話しているものとしてアプリケーション
を「だます」ことが必要であることがわかった。これら
ノードのいくつかはテスト・モードであるように見える
が、たとえどんなハードウエアが実際に動作しているか
実際に知らなくても、期待された応答を単にエミュレー
トすることによって、認容できる性能が可能であること
がわかった。従って、ソース・コードへの逆アセンブリ
又はアクセスは必要ない。「コマンド8X」モードは文
書で公表されていないけれども、いくつかの音声アプリ
ケーションがこのモードを使って、どの割込みをカード
が使用しているのか及びこれら割込みが作用しているの
かどうかを決定するためにサウンドブラスタ・カードを
テストする。VDDと関連した音声ハードウエア上でデ
ータが処理される場合、このルーチンはその処理が終了
するのを待つ。この時点で、VDDは、アプリケーショ
ンが受けたいレベルで割込みを戻す。ステップ346で
アプリケーションがコマンド8Xを受け取った後、ステ
ップ430において、I/O命令が80hであるかどう
かを決定するためのテストが行われる。この結果がノー
であれば、プロセスは終了する。その結果がイエスであ
れば、プロセスはステップ431に進み、VDDは音声
データすべてがカードによって処理されてしまうまで待
つ。次に、ステップ432において、仮想DMA割込み
がアプリケーションに送られる。プロセスは、ステップ
433で終了する。
【0062】図23は、スピーカ制御プロセスを示す。
そのプロセスがステップ347で開始すると、DMA動
作が停止されることを示すD0hI/O命令に関してテ
ストが行われる。D0h命令が送られる場合、ステップ
436は、DMA動作を停止させるためのフラッグを設
定し、ステップ438は、現在処理しているデータを停
止する。ステップ440においてD1h命令が検出され
る場合、それは、スピーカがオンにされなければならな
いことを意味する。ステップ442において、スピーカ
をオンにするためのコマンドが音声カードに送られる。
ステップ444においてD3hコマンドが検出される場
合、それは、スピーカがオフにされなければならないこ
とを意味する。従って、ステップ446において、スピ
ーカをオフにするためのコマンドが音声カードに送られ
る。ステップ448において、D4hコマンドの存在が
テストされる。それが検出される場合、ステップ450
において、停止したDMA動作が再開される。プロセス
は、ステップ452で終了する。
【0063】図24には、コマンドEx動作が示され
る。これらは、音声カードが正しく機能しているかどう
かをテストするために、アプリケーションによって行わ
れるすべてのコマンドである。ステップ348における
初期設定の後、音声アプリケーションからのE2hコマ
ンドに関するテストが行われる。そのコマンドが検出さ
れない場合、ステップ461において、E0hに関する
テストが行われる。この結果がイエスであれば、保管E
の変数がFFhに設定され、保管Aの変数がデータ・バ
イトの逆数に設定される。処理は、ステップ463で終
了する。ステップ461におけるテストの結果がノーで
ある場合、ステップ464において、I/O命令E4h
に関するテストが行われる。このテストの結果がイエス
であれば、ステップ465において、最上位のバイトが
E8hに設定されているかどうかのテストが行われる。
ステップ465のテスト結果がイエスであれば、ステッ
プ466において、保管Eの変数がFFhに設定され、
保管Aの変数が最下位ビットに設定される。ステップ4
64及び465におけるどちらかのテスト結果がノーで
あれば、ステップ467において、I/O命令E1hに
関するテストが行われる。E1hが検出される場合、保
管Eの変数がFFhに設定され、保管Aの変数が02h
に設定される。
【0064】I/O命令がE2hであった場合、ステッ
プ469において、アプリケーションを停止させるため
のフラッグが設定される。そのコマンドに対する他の情
報バイトがE2コマンドに続く。このコマンドは、DM
A動作をチェックする。ステップ470のテストにおい
てデータ・バイトが94hである場合、ステップ471
において、07hがDMA動作に対して指定されたアド
レスに書き込まれる。ステップ472のテストにおいて
データ・バイトがBAhに等しい場合ステップ473に
おいて、D6hがDMA動作により指定されたアドレス
に書き込まれる。同様に、ステップ474、476、又
は478におけるテストが、それぞれ、A5h、06
h、又は6BhのI/O命令を検出する場合、ステップ
475、477、又は479において、DDh、3A
h、又は08hが、DMA動作によって指定されたアド
レスに書き込まれる。プロセスは、ステップ480で終
了する。
【0065】図25には、コマンドFx動作が示され
る。これは、アプリケーションがサウンドブラスタと対
話するもう1つの文書化されてない動作である。ステッ
プ349で始まった後、ステップ484において、アプ
リケーションからインターセプトされたI/O命令がF
8hであるかどうかを決定するためのテストが行われ
る。この結果がイエスであれば、保管Eの変数はFFh
に設定され、保管Aの変数は、xxAポートにおいてD
SPから読取り可能なデータがあることを意味する00
hに設定される。ステップ487において、音声アプリ
ケーションからのI/O命令がF2hであるかどうかを
決定するための第2のテストが行われる。この結果がイ
エスであれば、ステップ488は、エミュレートされた
装置が使用していた筈のIRQレベルでアプリケーショ
ンに割込みを送る。これは、どんなIRQをハードウエ
アが使用するために設定されたかを決定するために初期
化時にアプリケーションによって行われる。プロセス
は、ステップ486で終了する。
【0066】図26は、読取りに利用可能なデータがD
SPにあることを音声アプリケーションに知らせるため
に使用されるDSP利用可能データ/ステータス・プロ
セスを示す。そのプロセスは、ステップ490で始ま
る。ステップ491において、アプリケーションがI/
O読取プロセスを要求しているかどうかのテストが行わ
れる。この結果がノーであれば、プロセスは、ステップ
492で終了する。その結果がイエスであれば、出力A
Lが保管Eの変数に記憶された値に設定される。
【0067】下記の表は、インターフェース・モジュー
ルに設定されたサウンドブラスタにより使用される音声
パラメータ及びインターフェース・モジュールが音声デ
バイス・ドライバ又は音声装置に送るMIDI音声をリ
ストするものである。
【0068】次の表2のパラメータは、音を発生するた
めにサウンドブラスタ・カードによって使用される。
【0069】 表2 パラメータ ヒ゛ット・サイス アコースティック 銃声 ク゛ラント゛ヒ゜アノ 振幅変調(モジュレータ) 1 0 0 振幅変調(キャリア) 1 0 0 アプライ・ビブラート(モジュレータ) 1 0 0 アプライ・ビブラート(キャリア) 1 0 0 包絡線タイプ(モジュレータ) 1 0 0 包絡線タイプ(キャリア) 1 0 0 キー・スケーリング率(モジュレータ) 1 0 0 キー・スケーリング率(キャリア) 1 1 12 モジュレータ周波数逓倍(モジュレータ) 4 1 4 モジュレータ周波数逓倍(キャリア) 4 1 0 スケーリング・レベル(モジュレータ) 2 1 0 スケーリング・レベル(キャリア) 2 0 0 トータル・レベル(モジュレータ) 6 15 0 トータル・レベル(キャリア) 6 0 0 アタック率(モジュレータ) 4 50 60 アタック率(キャリア) 4 60 60 デケイ(モジュレータ) 4 4 0 デケイ(キャリア) 4 8 24 サステイン・レベル(モジュレータ) 4 20 60 サステイン・レベル(キャリア) 4 16 56 リリース率(モジュレータ) 4 4 0 リリース率(キャリア) 4 12 24 ウェーブ選択(モジュレータ) 2 0 2 ウェーブ選択(キャリア) 2 0 0 フィードバック係数 3 3 7 接続性タイプ 1 0 0 次の表3は、MIDIプログラム変更メッセージを使っ
て汎用MIDI音声が選択されることを示す。
【0070】表3 プログラム番号 楽器グループ 1− 8 ピアノ 9−16 半音階打楽器 17−24 オルガン 25−32 ギター 33−40 バス楽器 41−48 弦楽器 49−56 アンサンブル 57−64 金管楽器 65−72 有簧楽器 73−80 管楽器 81−88 合成リード 89−96 合成パッド 97−104 合成効果 105−112 民族楽器 113−120 打楽器 121−128 音響効果 次の表4は、128個の汎用MIDI楽器音を示す。
【0071】 表4 フ゜ロク゛ラム 楽器名 フ゜ロク゛ラム 楽器名 番号 番号 1. アコースティック・ク゛ラント゛・ヒ゜アノ 65. ソフ゜ラノ・サックス 2. フ゛ライト・アコースティック・ヒ゜アノ 66. アルト・サックス 3. エレクトリック・ク゛ラント゛・ヒ゜アノ 67. テナー・サックス 4. ホンキートンク・ヒ゜アノ 68. ハ゛リトン・サックス 5. エレクトリック・ヒ゜アノ 1 69. オーホ゛エ 6. エレクトリック・ヒ゜アノ 2 70. インク゛リッシュ・ホルン 7. ハーフ゜シコート゛ 71. ハ゛スーン 8. クラヒ゛ 72. クラリネット 9. セレスタ 73. ヒ゜ッコロ 10. ク゛ロッケンシュヒ゜ール 74. フルート 11. ミューシ゛ック・ホ゛ックス 75. レコータ゛ 12. ヒ゛フ゛ラホーン 76. ハ゜ン・フルート 13. マリンハ゛ 77. フ゛ラウン・ホ゛トル 14. シロホン(木琴) 78. シャクハチ(尺八) 15. チューフ゛ラ・ヘ゛ル 79. ホイッスル(口笛) 16. タ゛ルシマー 80. オカリナ 17. ト゛ローハ゛・オルカ゛ン 81. リート゛ 1(スクエア) 18. ハ゜ーカッシフ゛・オルカ゛ン 82. リート゛ 2(ソーツース) 19. ロック・オルカ゛ン 83. リート゛ 3(カリオヘ゜)・・・・・・・・・・・・・・ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・・・・ ・・・・・・・・・・・・・・
28. エレクトリック・キ゛ター(クリーン) 92. ハ゜ット゛ 4(クワイヤ) 29. エレクトリック・キ゛ター(ミューテット゛) 93. ハ゜ット゛ 5(ハ゛ウト゛) 30. オーハ゛ト゛ライフ゛・キ゛ター 94. ハ゜ット゛ 6(メタリック) 31. テ゛イストーション・キ゛ター 95. ハ゜ット゛ 7(ハロ) 32. キ゛ター・ハーモニックス 96. ハ゜ット゛ 8(スイーフ゜) 33. アコースティック・ハ゛ス 97. FX 1(レイン) 34. エレクトリック・ハ゛ス(フィンカ゛) 98. FX 2(サウント゛トラック) 35. エレクトリック・ハ゛ス(ヒ゜ック) 99. FX 3(クリスタル) 36. フレットレス・ハ゛ス 100. FX 4(アトモスフェア) 37. スラッフ゜・ハ゛ス 1 101. FX 5(フ゛ライトネス) 38. スラッフ゜・ハ゛ス 2 102. FX 6(コ゛フ゛リンス) 39. 合成ハ゛ス 1 103. FX 7(エコー) 40. 合成ハ゛ス 2 104. FX 8(Sci-fi) 41. ハ゛イオリン 105. シター 42. ヒ゛オラ 106. ハ゛ンシ゛ョー 43. チェロ 107. シャミセン(三味線) 44. コントラハ゛ス 108. コト(琴) 45. トレモロ・ストリンク゛ス 109. カリンハ゛ 46. ヒ゜チカート 110. ハ゛ク゛・ハ゜イフ゜ 47. オーケストラ・ハーフ゜ 111. フィト゛ル 48. チンハ゜ニ 112. シャナイ 49. ストリンク゛・アンサンフ゛ル 1 113. チンクル・ヘ゛ル 50. ストリンク゛・アンサンフ゛ル 2 114. コ゛ーコ゛ー 51. 合成ストリンク゛ス 1 115. スチール・ト゛ラムス・・・・・・・・・・・・・・ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・・・・ ・・・・・・・・・・・・・・ 60. ミューテット゛・トランヘ゜ット 124. 小鳥のさえずり 61. フレンチ・ホルン 125. 電話の呼び鈴 62. フ゛ラス・セクション 126. ヘリコフ゜タ 63. 合成フ゛ラス 1 127. 拍手 64. 合成フ゛ラス 2 128. 銃声 図27は、スピーカ・レスポンスの修正のためにディジ
タル信号プロセッサ(DSP)33を含む音声コントロ
ーラ・カードを示す。1つの可能な音声コントローラ
は、IBM社により1990年9月18日に発表され、
出荷されたM音声捕捉兼再生アダプタである。図27を
参照すると、I/Oバスとしてはマイクロチャネル又は
PC・I/Oバス500が示され、それは、パーソナル
・コンピュータがI/Oバス500を介して音声コント
ローラに情報を送るのを可能にする。コマンド・レジス
タ502、ステータス・レジスタ504、上位バイト・
アドレス・カウンタ506、下位バイト・アドレス・カ
ウンタ507、上位データ・バイト双方向ラッチ50
8、及び下位データ・バイト双方向ラッチ510も音声
コントローラ・カード上に含まれる。それらレジスタ
は、コマンドを発生するために及びその音声コントロー
ラ・カードのステータスを監視するために、パーソナル
・コンピュータにより使用される。アドレス及びデータ
・ラッチは、音声コントローラ・カード上の8Kx16
ビット・スタティックRAMである共用メモリ512を
アクセスするために、パーソナルコンピュータによって
使用される。共用メモリ512は、パーソナル・コンピ
ュータとディジタル信号プロセッサ33との間のコミュ
ニケーションの手段を与える。
【0072】制御ロジック514の一部分であるメモリ
・アービタは、パーソナル・コンピュータ及びDSP3
3が共用メモリ512を同時にアクセスするのを防止す
る。共用メモリ512は、記憶された情報の一部分がデ
ィジタル信号プロセッサ33を制御するために使用され
るロジックとなるよう分割可能である。そのディジタル
信号プロセッサは、コマンドを発生しそして音声コント
ローラ・カードの他の部分のステータスを監視する制御
レジスタ516及びステータス・レジスタ518を持っ
ている。
【0073】音声コントローラ・カードは、サンプル・
メモリ520と呼ばれるもう1つのRAMブロックを含
んでいる。サンプル・メモリ520は、2Kx16ビッ
トのスタティックRAMであり、DSP33はスピーカ
・システムで発生されるべき音声信号を記憶するために
それを使用したり、或は、ディジタル化された音声の入
力信号を記憶するために使用する。ディジタル・アナロ
グ変換器(DAC)522及びアナログ・ディジタル変
換器(ADC)524は、コンピュータのディジタル環
境とスピーカにより発生され又は受け取られるアナログ
音声との間で音声信号を変換する。DAC522は、サ
ンプル・メモリ520からディジタル・サンプルを受取
り、それらサンプルをアナログ信号に変換してアナログ
出力セクション526に送る。アナログ出力セクション
526は、パーソナル・コンピュータにより与えられた
ディジタル信号を条件付けそしてスピーカ・システムを
介して伝送するために出力セクションに送る。DAC5
22は多重化されるので、右及び左のスピーカ・コンポ
ーネントに連続的な立体動作を与えることができる。
【0074】ADC524は、DAC522に対応する
ものである。ADC524は、アナログ入力セクション
528からアナログ信号を受ける。アナログ入力セクシ
ョン528は、マイクロフォンから又はテープ・レコー
ダのような他の音声入力装置から信号を受ける。ADC
524は、アナログ信号をディジタル信号に変換し、そ
れらをサンプルしてサンプル・メモリ520に記憶す
る。制御ロジック514は、DSP33が割込み要求を
発生した後、パーソナル・コンピュータに割込みを発生
する。
【0075】スピーカ・システムへの立体音声信号の供
給は、次のような方法で行われる。パーソナル・コンピ
ュータは、音声カードがディジタル化された音声データ
の特定なサンプルを発生すべきことをDSP33に知ら
せる。本発明では、パーソナル・コンピュータはそれの
メモリ又はディスク記憶装置からディジタル音声サンプ
ルを取得し、I/Oバス500を介して共用メモリ51
2へそれらを転送する。DSP33は、サンプルを取
り、それらを位取りされた値に変換し、そしてサンプル
・メモリ520に置く。そこで、DSPは、DAC52
2を起動してそのディジタル化されたサンプルを音声信
号に変換させる。音声出力セクション526は、その音
声信号を条件付け、そしてそれらを出力コネクタに与え
る。
【0076】DSPコードは、8チャンネル音声生成器
を使用する。各音声生成器と関連のデータ領域が、ノー
トを発生する直前に音声デバイス・ドライバによって書
き込まれる。音声デバイス・ドライバは、175セット
のデータのテーブルを、1つの音またはプログラム変化
当たり1つの割合で保持する。
【0077】MIDIプログラム変更を受け取った時に
は、音声デバイス・ドライバは、その後のノート・オン
がそのMIDIチャンネルで生じた時に使用するため
に、新しいプログラム変更番号を単に保管するだけであ
る。ノート・オン事象を受け取った時には、音声デバイ
ス・ドライバは、そのノート・オンのMIDIチャンネ
ル番号に対するプログラム変更番号を再呼び出しする。
そこで、それは未使用のDSP音声生成器を選択する。
利用可能なものがない場合、それは最も古い音声ノート
をオフ状態にさせる。然る後、それはそのプログラム番
号に対する音声情報をその選択された音声生成器に複写
し、音声を作りはじめたことを音声生成器に知らせるビ
ットを設定する。
【0078】何らかのMIDI制御変更を受け取った結
果、関連のデータ、例えば、ピッチ・ベンドのためのピ
ッチ、ボリューム変化のためのボリューム等は、制御変
更において指定されたMIDIチャンネルに割当てられ
た現在音を出している各ノートに対して更新又は修正さ
れる。制御変更はノート・オン事象の前に生じることが
あり、それは上記の特定の実施例においても反映される
であろう。
【0079】
【発明の効果】音声アプリケーションから供給されたメ
ッセージを、それと異なるフォーマットの音声に変換し
て音声装置に出力する。即ち、音声装置のハードウエア
に無関係の音声アプリケーション用プラットフォームが
得られる。
【図面の簡単な説明】
【図1】システム・ユニット、キーボード、マウス、及
びスピーカ・システムを備えたマルチメディア・ディス
プレイを含むマルチメディア・コンピュータ・システム
の概要図である。
【図2】本発明の好ましい実施例のマルチメディア・パ
ーソナル・コンピュータ・システムのブロック図であ
る。
【図3】本発明に従って音声装置及び音声デバイス・ド
ライバに連結されたRAMにおけるコード・モジュール
の体系的ブロック図である。
【図4】音声アプリケーションからのI/O命令をイン
ターセプトするサウンドブラスタI/O処理ルーチンの
一般的な流れを示す図である。
【図5】音声アプリケーションからのI/O命令をイン
ターセプトするMPUI/O処理ルーチンの一般的な流
れを示す図である。
【図6】ディジタル信号プロセッサ(DSP)リセット
機能のフローチャートである。
【図7】FM合成手順のフローチャートである。
【図8】タイマ1設定ルーチンのフローチャートであ
る。
【図9】タイマ2設定ルーチンのフローチャートであ
る。
【図10】タイマ制御ルーチンのフローチャートであ
る。
【図11】デプス/リズム(ドラム)ルーチンのフロー
チャートである。
【図12】キーボード/ブロック/F番号ルーチンのフ
ローチャートである。
【図13】音声設定ルーチンのフローチャートである。
【図14】速度設定ルーチンのフローチャートである。
【図15】キー取得ルーチンのフローチャートである。
【図16】データ読取手順のフローチャートである。
【図17】データ/コマンド書込み手順のフローチャー
トである。
【図18】8ビットDAC及び2ビットADPCM・D
ACルーチンのフローチャートである。
【図19】ADC入力ルーチンのフローチャートであ
る。
【図20】時定数設定ルーチンのフローチャートであ
る。
【図21】4ビットADPCM及び2.6ビットADP
CM・DACルーチンのフローチャートである。
【図22】コマンド8xルーチンのフローチャートであ
る。
【図23】スピーカ制御ルーチンのフローチャートであ
る。
【図24】コマンドExルーチンのフローチャートであ
る。
【図25】コマンドFxルーチンのフローチャートであ
る。
【図26】DSP利用可能データ/ステータス手順のフ
ローチャートである。
【図27】本発明を使用可能な音声コントローラ・カー
ドのブロック図である。
【符号の説明】
50・・・音声アプリケーション・プログラム 52・・・音声デバイス・ドライバ 54・・・仮想デバイス・ドライバ 56・・・音声デバイス・ドライバ 58・・・音声装置 60・・・I/Oインターセプト・ルーチン 62・・・ステート・マシン 64・・・音声API呼出ルーチン 66・・・コールバック・ルーチン
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ロン・リスレ アメリカ合衆国テキサス州、セダー・パー ク、ビーチナット・カバー 1815番地 (72)発明者 ブリゲット・リッタラー アメリカ合衆国テキサス州、オースチン、 ペラム・ドライブ 4705番地

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】コンピュータ・システムのメモリにある音
    声アプリケーションからの第1フォーマットの音声デー
    タを第2フォーマットの音声データに変換するための方
    法であって、 第1複数の音声パラメータを含む前記第1フォーマット
    で書かれた音声メッセージをインターセプトするステッ
    プと、 各々が音声パラメータの1つの選択されたセットに対応
    する複数の音声のテーブルと前記音声メッセージとを比
    較するステップと、 前記第1複数の音声パラメータと一致した音声パラメー
    タのセットに対応する前記音声を選択するステップと、 より成る方法。
  2. 【請求項2】前記方法は、更に、 前記選択されたセット内に前記一致した音声パラメータ
    のセットがない場合、前記選択されたセット内のどれが
    前記第1複数の音声パラメータに最も近いかを決定する
    ステップと、 前記最も近いセットに対応する音声を選択するステップ
    と、 より成る請求項1に記載の方法。
  3. 【請求項3】前記方法は、更に、 前記選択されたセットの各々を前記第1複数の音声パラ
    メ−タと比較するステップと、 前記選択されたセットの各々における接続係数音声パラ
    メータが前記第1複数の音声パラメータにおける第1接
    続係数音声パラメータと一致するかどうかを決定するス
    テップと、 接続係数音声パラメータが前記第1接続係数音声パラメ
    ータと一致しない選択されたセットを廃棄するステップ
    と、 より成る請求項2に記載の方法。
  4. 【請求項4】前記方法は、更に、 前記選択されたセットの各々を前記第1複数の音声パラ
    メ−タと比較するステップと、 前記選択されたセットの各々における音波キャリア音声
    パラメータが前記第1複数の音声パラメータにおける第
    1音波キャリア音声パラメータと一致するかどうかを決
    定するステップと、 音波キャリア音声パラメータが前記第1音波キャリア音
    声パラメータと一致しない選択されたセットを廃棄する
    ステップと、 より成る請求項2に記載の方法。
  5. 【請求項5】前記方法は、更に、 前記選択されたセットの各々を前記第1複数の音声パラ
    メ−タと比較するステップと、 前記選択されたセットの各々における第1音声パラメー
    タが前記第1複数の音声パラメータにおける第1音声パ
    ラメータ値と一致するかどうかを決定するステップと、 第1音声パラメータ値が前記第1複数の音声パラメータ
    の第1音声パラメータ値と一致しない選択されたセット
    を廃棄するステップと、 より成る請求項2に記載の方法。
  6. 【請求項6】前記方法は、更に、 オペレーティング・システムにおける仮想計算機内に音
    声アプリケーションを保持するステップと、 前記アプリケーションが最初に書き込まれた音声カード
    とは異なる音声カードに前記選択された音声を送るステ
    ップと、 より成る請求項1に記載の方法。
  7. 【請求項7】前記音声パラメータは複数のFM合成パラ
    メータであることを特徴とする請求項1に記載の方法。
  8. 【請求項8】音声アプリケーションからの第1フォーマ
    ットの音声データを第2フォーマットの音声データに変
    換するためのシステムであって、 音声アプリケーション及び変換プログラムを含む命令セ
    ットを記憶するためのメモリと、 前記メモリに接続され、前記命令セットを実行するため
    のプロセッサと、 前記プロセッサに接続され、前記音声アプリケーション
    からのI/O命令に従って音声機能を遂行するための音
    声カードと、 より成り、前記変換プログラムは、 第1複数の音声パラメータを含む前記第1フォーマット
    で書かれた音声メッセージをインターセプトするための
    プログラム・コード手段と、 各々が音声パラメータの1つの選択されたセットに対応
    する複数の音声のテーブルと前記音声メッセージとを比
    較するためのプログラム・コード手段と、 前記第1複数の音声パラメータと一致した音声パラメー
    タのセットに対応する前記音声を選択するためのプログ
    ラム・コード手段と、 より成ることを特徴とするシステム。
  9. 【請求項9】前記変換プログラムは、更に、 前記選択されたセット内に前記一致した音声パラメータ
    のセットがない場合、前記選択されたセット内のどれが
    前記第1複数の音声パラメータに最も近いかを決定する
    ためのプログラム・コード手段と、 前記最も近いセットに対応する音声を選択するためのプ
    ログラム・コード手段と、 より成ることを特徴とする請求項8に記載のシステム。
  10. 【請求項10】前記システムは、更に、 音声アプリケーションを保持するためのオペレーティン
    グ・システムにおける仮想計算機と、 前記アプリケーションが最初に書き込まれた音声カード
    とは異なる音声カードに前記選択された音声を送るため
    の手段と、 より成る請求項8に記載のシステム。
JP5239548A 1992-11-13 1993-09-27 音声データを変換する方法及びシステム Pending JPH07146679A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US97575492A 1992-11-13 1992-11-13
US975754 1992-11-13

Publications (1)

Publication Number Publication Date
JPH07146679A true JPH07146679A (ja) 1995-06-06

Family

ID=25523353

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5239548A Pending JPH07146679A (ja) 1992-11-13 1993-09-27 音声データを変換する方法及びシステム

Country Status (3)

Country Link
US (1) US5515474A (ja)
EP (1) EP0597381A3 (ja)
JP (1) JPH07146679A (ja)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5574934A (en) * 1993-11-24 1996-11-12 Intel Corporation Preemptive priority-based transmission of signals using virtual channels
JP2812223B2 (ja) * 1994-07-18 1998-10-22 ヤマハ株式会社 電子楽器
US6707484B1 (en) * 1994-07-28 2004-03-16 Semiconductor Energy Laboratory Co., Ltd. Information processing system
CA2135506C (en) * 1994-11-09 1999-06-08 Patrick K. Kam I/o trapping for sound generation in the computer
US5732279A (en) * 1994-11-10 1998-03-24 Brooktree Corporation System and method for command processing or emulation in a computer system using interrupts, such as emulation of DMA commands using burst mode data transfer for sound or the like
JP2746157B2 (ja) * 1994-11-16 1998-04-28 ヤマハ株式会社 電子楽器
DE69514629T2 (de) * 1994-11-29 2000-09-07 Yamaha Corp Automatische Vorrichtung zum Abspielen von Musik mit Ersetzung eines fehlenden Musters durch ein verfügbares Muster
JPH08160959A (ja) * 1994-12-02 1996-06-21 Sony Corp 音源制御装置
EP0730260B1 (en) * 1995-03-03 2001-09-19 Yamaha Corporation Computerized music apparatus with sound emulation
EP0743631B1 (en) 1995-05-19 2002-03-06 Yamaha Corporation Tone generating method and device
JP2998612B2 (ja) * 1995-06-06 2000-01-11 ヤマハ株式会社 楽音発生装置
JP3267106B2 (ja) 1995-07-05 2002-03-18 ヤマハ株式会社 楽音波形生成方法
US5763800A (en) * 1995-08-14 1998-06-09 Creative Labs, Inc. Method and apparatus for formatting digital audio data
JP2924745B2 (ja) * 1995-10-20 1999-07-26 ヤマハ株式会社 楽音発生装置及び方法
TW314614B (ja) * 1995-10-23 1997-09-01 Yamaha Corp
JP2904088B2 (ja) * 1995-12-21 1999-06-14 ヤマハ株式会社 楽音生成方法および装置
JP2970526B2 (ja) * 1996-01-17 1999-11-02 ヤマハ株式会社 コンピュータソフトウェアを用いた音源システム
DE69704886T2 (de) * 1996-01-26 2002-03-28 Yamaha Corp Elektronisches Musiksystem zur Steuerung einer Kette von Tonerzeugern
US5864710A (en) * 1996-07-23 1999-01-26 Compaq Computer Corporation Controllerless modem
DE69721352T2 (de) 1996-01-31 2003-12-24 Compaq Computer Corp Rechnersystem mit einem Modem ohne Steuerung
US5763801A (en) * 1996-03-25 1998-06-09 Advanced Micro Devices, Inc. Computer system and method for performing wavetable music synthesis which stores wavetable data in system memory
US5809342A (en) * 1996-03-25 1998-09-15 Advanced Micro Devices, Inc. Computer system and method for generating delay-based audio effects in a wavetable music synthesizer which stores wavetable data in system memory
US5784643A (en) * 1996-03-28 1998-07-21 International Business Machines Corporation System incorporating program for intercepting and interpreting or altering commands for generating I/O activity for enabling real-time user feedback by sending substitute characters to modem
US5668996A (en) * 1996-04-29 1997-09-16 Microsoft Corporation Rendering CD redbook audio using alternative storage locations and formats
US6034314A (en) * 1996-08-29 2000-03-07 Yamaha Corporation Automatic performance data conversion system
DE69704528T2 (de) * 1996-08-30 2002-03-28 Yamaha Corp Verfahren und Vorrichtung zur Erzeugung von Musiktönen, zur Bearbeitung und Wiedergabe von Musikdaten mit Hilfe von Speichermitteln
DE19708755A1 (de) * 1997-03-04 1998-09-17 Michael Tasler Flexible Schnittstelle
US6195766B1 (en) * 1999-05-10 2001-02-27 Conexant Systems, Inc. System and method for providing soft audio and soft modem copy protection for hardware interfaces and software code
US20010044719A1 (en) * 1999-07-02 2001-11-22 Mitsubishi Electric Research Laboratories, Inc. Method and system for recognizing, indexing, and searching acoustic signals
JP3654079B2 (ja) 1999-09-27 2005-06-02 ヤマハ株式会社 波形生成方法及び装置
US7277765B1 (en) 2000-10-12 2007-10-02 Bose Corporation Interactive sound reproducing
US20050222844A1 (en) * 2004-04-01 2005-10-06 Hideya Kawahara Method and apparatus for generating spatialized audio from non-three-dimensionally aware applications
US8001543B2 (en) * 2005-10-08 2011-08-16 International Business Machines Corporation Direct-memory access between input/output device and physical memory within virtual machine environment
US8250573B2 (en) * 2007-12-27 2012-08-21 Intel Corporation Audio subsystem sharing in a virtualized environment
CN104658546B (zh) 2013-11-19 2019-02-01 腾讯科技(深圳)有限公司 录音处理方法和装置
CN113763970B (zh) * 2021-09-07 2023-09-22 广州飞傲电子科技有限公司 一种音频传输方法、装置及音频传输设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59197090A (ja) * 1983-04-23 1984-11-08 ヤマハ株式会社 電子楽器
JPS6024591A (ja) * 1983-07-20 1985-02-07 松下電器産業株式会社 音楽演奏装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2476888A1 (fr) * 1980-02-22 1981-08-28 Deforeit Christian Synthetiseur numerique de signaux sonores et applications aux instruments de musique electronique
JPS5754997A (en) * 1980-09-19 1982-04-01 Nippon Musical Instruments Mfg Electronic musical instrument
US4974151A (en) * 1985-02-21 1990-11-27 International Business Machines Corporation Configuration capability for devices in an open system having the capability of adding or changing devices by user commands
US4680796A (en) * 1986-04-11 1987-07-14 Kintek, Inc. Sound encoding system
US4777857A (en) * 1987-03-10 1988-10-18 Stewart Benjamin U MIDI address converter and router
US4942551A (en) * 1988-06-24 1990-07-17 Wnm Ventures Inc. Method and apparatus for storing MIDI information in subcode packs
US5208745A (en) * 1988-07-25 1993-05-04 Electric Power Research Institute Multimedia interface and method for computer system
JP2629891B2 (ja) * 1988-10-01 1997-07-16 ヤマハ株式会社 楽音信号発生装置
US5121667A (en) * 1989-11-06 1992-06-16 Emery Christopher L Electronic musical instrument with multiple voices responsive to mutually exclusive ram memory segments
US5129036A (en) * 1990-03-30 1992-07-07 Computer Concepts Corporation Broadcast digital sound processing system
US5119711A (en) * 1990-11-01 1992-06-09 International Business Machines Corporation Midi file translation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59197090A (ja) * 1983-04-23 1984-11-08 ヤマハ株式会社 電子楽器
JPS6024591A (ja) * 1983-07-20 1985-02-07 松下電器産業株式会社 音楽演奏装置

Also Published As

Publication number Publication date
US5515474A (en) 1996-05-07
EP0597381A2 (en) 1994-05-18
EP0597381A3 (en) 1994-08-10

Similar Documents

Publication Publication Date Title
JPH07146679A (ja) 音声データを変換する方法及びシステム
Välimäki et al. Physical modeling of plucked string instruments with application to real-time sound synthesis
USRE37367E1 (en) Computerized music system having software and hardware sound sources
US5703310A (en) Automatic performance data processing system with judging CPU operation-capacity
US5319151A (en) Data processing apparatus outputting waveform data in a certain interval
US5541354A (en) Micromanipulation of waveforms in a sampling music synthesizer
JP2970689B2 (ja) オーディオ・シンセサイザ
US20110064233A1 (en) Method, apparatus and system for synthesizing an audio performance using Convolution at Multiple Sample Rates
JP3293434B2 (ja) 楽音発生方法
US10559290B2 (en) Electronic musical instrument, method, and storage medium
JPH09244650A (ja) 楽音合成装置及び方法
US5468906A (en) Sound synthesis model incorporating sympathetic vibrations of strings
US5854438A (en) Process for the simulation of sympathetic resonances on an electronic musical instrument
US5956680A (en) Virtual audio generation and capture in a computer
JPH07121181A (ja) 音声情報処理装置
CN114667563A (zh) 声学空间的模态混响效果
Karjalainen et al. An overview of new techniques and effects in model-based sound synthesis
US5841054A (en) Musical tone synthesizing apparatus having competibility of tone color parameters for different systems
JP3223827B2 (ja) 音源波形データ生成方法および装置
Heckroth A tutorial on MIDI and wavetable music synthesis
JP7124370B2 (ja) 電子楽器、方法及びプログラム
JP3666346B2 (ja) 楽音発生装置および記憶媒体
JPH10124060A (ja) 楽音発生方法、楽音発生装置および楽音発生用プログラムを記録した記録媒体
JP3339372B2 (ja) 楽音発生装置および楽音発生方法を実現するためのプログラムを格納した記憶媒体
JP2605667B2 (ja) 電子楽器の入力制御装置