GB2253726A - Data storage techniques. - Google Patents
Data storage techniques. Download PDFInfo
- Publication number
- GB2253726A GB2253726A GB9203133A GB9203133A GB2253726A GB 2253726 A GB2253726 A GB 2253726A GB 9203133 A GB9203133 A GB 9203133A GB 9203133 A GB9203133 A GB 9203133A GB 2253726 A GB2253726 A GB 2253726A
- Authority
- GB
- United Kingdom
- Prior art keywords
- data
- mass storage
- fast
- recording
- blocks
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Instruments in which the tones are synthesised from a data store, e.g. computer organs
- G10H7/02—Instruments 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
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
- G10H2250/541—Details of musical waveform synthesis, i.e. audio waveshape processing from individual wavetable samples, independently of their origin or of the sound they represent
- G10H2250/611—Waveform decimation, i.e. integer division of the sampling rate for reducing the number of samples in a discrete-time signal, e.g. by low-pass anti-alias filtering followed by the actual downsampling
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
- G10H2250/541—Details of musical waveform synthesis, i.e. audio waveshape processing from individual wavetable samples, independently of their origin or of the sound they represent
- G10H2250/635—Waveform resolution or sound quality selection, e.g. selection of high or low sampling rates, lossless, lossy or lossier compression algorithms
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
A plurality of data segments such as sound recordings, are stored on a mass storage device (21). A first portion of each sound segment is stored in an i.c. memory (12) so as to be instantly available. Addressing circuits (20, 5) is provided and is operable in response to signals from a controller (10) to read first the portion of a data segment stored in i.c. memory (12) and then the portion on the mass storage device (21) so as to give substantially simultaneous playback of data. It is desirable to be able to simulate fast playback of data and in order to achieve this data is recorded in a mass storage device (120) with every nth sample in the data stream also being recorded in a fast block (51). As desired playback speed is increased only data from the fast block (51) is replayed.
Description
IMPROVEMENTS RELATING TO DATA STORAGE TECHNIQUES
BACKGROUND OF THE INVENTION
This invention relates to data storage techniques and in particular to a method and apparatus for substantially instantaneously reading at least one of a plurality of data segments and to a method and apparatus for the simulation of fast playback of data.
It is a common tecnique in music recording to simulate instruments by means of recording a number of 'samples' of a musical instrument playing different notes in a digital form, and arranging that each of these samples is triggered by the pressing of the appropriate key on a musical keyboard. This works because it is posible to hear the desired note virtually instantaneously as the key is pressed due to the random access nature of such recording. In the following description the word 'sample' is reserved for use in its sampling theory sense, in which a sample is the instantaneous amplitude of an audio signal converted to digital form, usually following appropriate low pass filtering.A sequence of audio samples representing a desired sound is referred to herein as a 'segment'. Such a segment may represent a single note to be played by an instrument or a more complex sound.
Fig. 1 illustrates an example of this prior art in which a musical keyboard 1 is connected physically to a number of electrical contacts 2, 3, 4 one set of contacts per key. These contacts are arranged to select the appropriate addresses in addressing unit 5 to address the appropriate area of computer memory 12 in which different sound segments are stored, e.g. at location 6, 7, 8. The addressing circuit, once triggered, addresses sequential memory locations in order until the entire musical sound is read out of memory. These areas are indicated by areas 9, 10, 11 in the figure. The data read out is fed to a digital to analogue converter 13 where it is converted to analogue form. This is amplified at 14 and heard via loudspeaker 15.
In practice is is arranged that several notes can be played simultaneously, or overlapping, by multiplexing data as it is read out of memory and forming the sum of samples of data from several musical segments before feeding them to the Digital to Analogue converter. The user thus hears the sounds simultaneously.
It is also common to locate the keyboard remotely and encode the information as to which key is pressed in a serial data stream which is decoded and fed to the addressing circuitry. In this manner is is possible to replay musical performances by interposing circuitry arranged to record the information as to which key is pressed and to replay this performance information on demand to allow the musical piece to be heard again.
It is also common for sounds more than simple notes to be stored in the random access memory, for example complete sections of already recorded music. By triggering each sound at an appropriate time it is possible to generate complex musical effects.
A major limitation of existing devices is in the amount of random access memory required for complex effects. It is not unknown to require say 10 segments each of 20 seconds, or as many as 88 segments of 3 seconds each. Thus 200 seconds of digital storage is commonly required. This is doubled if all sounds are stored as stereo segments.
At a sampling rate of 44,100 samples per second commonly used for
CD quality working, and in which each sample is 16-bits, 88,200 bytes per second are required for audio sampling of one channel.
Thus 200 seconds requires 17,640,000 bytes (approximately 17M bytes) of memory which although not impracticable is an expensive amount of RAM.
It is usual in computer data processing to use disc storage for long term storage at a much lower cost per byte than RAM systems.
Unfortunately if these audio segments are only available on disc it is not possible to start playing the sound fast enough after the operator presses a musical key to be of any use as a musical instrument because it usually takes a sizable fraction of a second for the data to be retrieved from disc. Any delay beyond a few milliseconds is unacceptable. Therefore known machines do indeed require the large amount of RAM described above for adequate storage.
It is known to store extended amounts of digital audio on disc, and transfer the sound off the disc on demand at audio rates in order to listen to the stored sound. A 300M byte disc can store around one hour of audio and it is possible to play any section of this sound with only the delay in the disc locating to the right section, usually up to half a second.
This transition from one section to another occurs without any of the sound of winding being audible as it would be on an analogue audio tape recorder. Rather than being an advantage as might be supposed it is a disadvantage to people working in audio recording as these audible cues of tape fast winding are important in locating particular places on the recording when it is not catalogued, locating unused areas of recording medium, etc.
Fig. 3 shows a typical prior art hard disc recording system. The disc is full of blocks of data numbered for convenience which contain the sequential data representing an audio recording.
Blocks 51, 52, 53 are shown as a representation of these blocks on disc 120. (Note that these blocks can be distributed randomly over physical locations as long as there is a list retained, e.g. in control unit 102, and/or on disc, of where they all are in order to recreate the original order).
Sufficient RAM is provided to allow three blocks to be loaded from disc at any one time, shown at 109, 110, 111.
To illustrate the operation suppose that disc block 52 is currently being played from disc transfer area 110. While this is happening the control unit 102 requests that disc block 53 be transferred to area 111. This is complete by the time block 52 is finished and so playing can continue seamlessly into block 53. Control unit 102 then proceeds to load one of the now unused buffer areas 109 or 110 with disc block 54. For this sort of playing only two such buffers are needed, but three are often used for reasons outlined below.
Now consider what happens when it is desired to slow down the playing speed like an analogue tape recorder being slowed down.
(This might be desirable to locate an edit point for example) It is clearly only necessary to slow down the rate at which data is transferred out of the RAM, in other respects the operation performs exactly as before. If the system is then used to simulate tape running backwards it is necessary for control unit 102 to load the block of a lower number from disc so that when the recording reaches (running backwards) the start of a block, e.g. block 53 stored in disc transfer area 111, block 52 must be loaded into area 110 ready for a seamless transition in the backward direction.
This process is eased by the use of three disc transfer areas as it cannot be known if the user will suddenly want to change direction.
Therefore control unit 102 usually arranges for the next and the previous block to be ready on either side of the block being played so as to accommodate either possibility.
The problem with existing systems arises when it is desired to run the tape faster than normal speeds. Clearly as the speed is increased the process runs faster and faster until at about 4 times speed is it not possible for the disc to run fast enough to keep up the supply of data.
SUMMARY OF THE INVENTION
One preferred embodiment of the invention provides a method and apparatus for substantially instantaneously reading data segments stored at least partially on a mass storage device such as a hard disc. A data segment to be read is selected and a first portion is located in RAM and read therefrom. Whilst this first portion is being read a second portion is located on the hard disc and subsequently read therefrom.
Another preferred embodiment of the present invention provides a method and apparatus for simulating the fast playback of recorded data and appropriate recording apparatus. A mass storage device for the data is addressable in blocks and the data stream is recorded sequentially in these blocks. In addition there is at least one fast block in which is recorded every nth sample in the data stream. When it is desired to simulate fast playback of recorded data only the fast blocks are read from the mass storage device.
The present invention is defined in its various aspects in the appended claims to which reference should now be made.
Varous embodiments of the invention will now be described in detail by way of example with reference to the following drawings:
Fig. 1 shows prior art relating to musical sampling;
Fig. 2 shows one embodiment of the invention in which audio data is replayed partially from disc and partially from RAM;
Fig. 3 shows prior art relating to hard disc recording;
Fig. 4 shows one embodiment of the recording process, according to the invention, in which data is stored on the disc, is schematically illustrated;
Fig. 5 shows the replay process appropriate to the embodiment of fig. 4;
Fig. 6 shows a preferred embodiment of the invention in which appropriate low pass filtering and decimation are employed in the recording process to allow simulated fast wind replay;
Fig. 7 shows the replay process appropriate to the embodiment of fig.6;;
Fig. 8 shows the storage method according to the second method of fast replay simulation; and
Figure 9 shows a block diagram of a multi-track system embodying the invention.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
One embodiment this invention provides a new method by which these large amounts of RAM can be avoided, and in which an indefinite length of audio segment can be stored partially on disc and partially on a much more limited amoung of RAM required per individual sample. Fig. 2 illustrates this first embodiment of the invention.
In this method each desired sound segment is split into two sections. The first section is stored in i.c. memory 12 so as to be instantly available, and the rest of the sound is stored on disc 21. This is true of all sounds which it is desired to have available instantly, thus the RAM 12 contains the first section of all desired sounds, rather than the entire segments as in the prior art.
In order to replay a sound the addressing is split into two sections, the RAM addressing 5 for controlling the i.c. RAM 12, and the disc addressing circuitry 20 which locates blocks of data stored in disc 21. The play requests from the keyboard 1 are now fed to control circuitry 10 which for a given sound first selects the location of the start of the selected sound segment stored in
RAM e.g. at 22. This is then read steadily out to a Digital to
Analogue converter 13 so that the sound is instantly heard. Once this process is initiated the control circuit 10 instructs disc addressing 20 to find the next section of the sound segment stored on disc 21, and instructs DMA (Direct Memory Access) controller 24 to transer data as it becomes available from disc 21 to a disc transfer area of the disc at 23.By the time the first section of the segment has finished playing from location 22, the RAM addressing switches to the disc transfer area 23 to continue playing the sound, which continues without audio interruption. If the desired sound segment is longer than the amount transferred, the disc is instructed to load another block of data into RAM into a second disc transfer area (not shown) which is played out in turn. If yet more blocks of data are required, the first disc transfer area 23 can be used again. In this way sound segments up to the limit of the size of disc 21 can be played out with the instant start provided by having the first section in RAM.
In practice it is still desired to have multiple sounds playing at once. This is achieved by letting the control circuit 10 keep track of a number of sections of sound on the disc, and to load these in the above way into a number of disc transfer areas.
In practice a typical Winchester disc can easily play four sound segments simultaneously, and can be prepared to have its data loaded within half a second from request. The first half second of each sound which might be required must therefore be stored in RAM.
In the examples above, on which 10 segments of 20 seconds are required, it is only necessary to have sufficient RAM for the first half second of each sound segment,#i.e. 5 seconds of storage in all, i.e. 441,000 bytes of RAM. It is also necessary to have a number of buffers for disc transfer, but even with this 1/2M bytes of memory should be sufficient.
In the second example above, in which 88 sound segments are required on instant access, each with a 3-second duration, it is necessary to have enough memory for 44 seconds, or less than 4
Mbytes of RAM.
In both these cases, this invention removes the limitations on sound segment duration, as in the case above each sound could be 30 seconds long with no increase in RAM storage and reduction in number of simulataneous channels possible.
Data compression techniques may also be employed to reduce total storage required, with data decompression occuring prior to the digital to analogue converter, or on transfer of data from disc to
RAM.
This technique would also be applicable to e.g. CD players where it is unknown which track the listener wishes to play, but it is desired to play a track instantly on selection. In this example a short section of each track is loaded into RAM immediiately following insertion of the disc. When the operator selects a track it is played instantly from RAM and the rest of the track is located on disc before that initial section is exhausted. This would be useful in radio stations where the half second typical delay of selecting a track would be avoided.
Note that the figures referred to above for the typical performance rates are for guidance only. It can be assumed that discs will generally become faster which lifts many of the restrictions on simultaneous playing of sound segments and can reduce further the amount of RAM required.
It is also usually required to play sound segments at speeds differing from that at which they are recorded. This allows a segment representing a single note to be replayed at different pitches over a range of notes, and is used to reduce the number of separate sounds stored. This is easily achievable using the method described here for sounds replayed arbitrarily more slowly than recorded and to a limited extent faster. However to achive significantly faster playing the techniques described more generally in the next section may be applied.
Further embodiments of the invention provides two methods by which it is possible to simulate playback at far higher speeds, which can be used together for best results.
Both these methods require data to be stored in a different way on the disc. Clearly the normal recording process is the reverse of the replay process described above.
Fig. 4 shows an embodiment of the first method showing the recording process to be employed to achieve the desired arrangement of data on disc. The organisation of blocks on disc is shown at 202.
Sound is recorded, e.g. from microphone 204 and is digitised in converter 203 and the resulting samples are fed to RAM 105. In the normal way it is stored first in area 109 under control of RAM addressing 103. However, every 4th sample is also stored in the new disc transfer area 4, 112. When area 109 is full the area is transferred to disc (assume this is block 51). During this process data continues to be read into RAM 105 in area 110, and the process of storing every fourth sample in area 112 continues. After area 110 is full it is transferred to disc as block 52. Incoming audio data is now stored in area 109. After 4 blocks of audio data are stored on disc, area 112 is now also full.This is stored in an additional transfer to disc as 'fast block' 51 (it is convenient to use the numbers of the first of the four blokcs which were used in compiling the fast block to provide a number for the fast block).
Fig. 5 shows the appropriate replay process applicable to this method. During normal replay the normal speed blocks are loaded in the normal way into the triple buffered area of RAM at 109, 110, 111. Fast blocks are similarly loaded at 1/4 of this rate into triple buffered areas 112, 113, 114, once again so that samples representing the time instant currently being replayued are held in
RAM together with the blocks containing data on either side of this point. At speeds up to 4 times normal speed replay the data in areas 112, 113 and 114 is ignored, and switch 145 is selected to the normal speed blocks in 109, 110,11. If the user starts to speed up the replay from normal speed this is first accomplished as in the prior art by moving the whole process faster and faster and continuing to use the data in areas 109, 110, 111 as in the prior art.At about 4 times speed this becomes impossible as the limits of speed of data transfer from disc are reached. At this time this embodiment of the invention switches over to using the data from the 'fast' blocks in place of that from the normal blocks. In this way the data transfer speed is reduced to 1/4 of the limiting speed and the fast blocks provde every fourth sample as they were recorded. Thus the sound is still heard running at four times speed by playing out every fourth sample from the original recording at the nominal playout speed.
As the user continues to increase play speed the whole system speeds up again until when running at 16 times the speed the disc is again running at maximum data transfer speed. During this process the loading of normal speed data from the disc is stopped at the disc cannot transfer data at this speed. When the user slows down below 4 times speed these may be loaded again. During the pause during which normal speed data is not available the user may be fed with silence, or preferably the user is fed with interpolated data from the fast blocks slowed down to the desired speed until the exact data from the normal blocks is again available.
If it is desired to provide replay at still faster rates it is possible to modify the sytem to allow for the storage of blocks containing every 16th sample (in addition to the 'fast blocks' containing every 4th sample), in which case one 'superfast' block is needed for every 16 original blocks in addition to the 'fast block' described above. At the replay speed of 16 times the system once again switches to using this block of 1/16th samples. This allows for replay up to 64 times in speed.
The process may be arbitrarily continued. If just up to 16-times replay speed is desired it can beseen that 25% more disc storage is required than if this technique is not employed. If 64-times replay speed is require an additional 6% disc space is consumed, and in fact the process can be continued indefinitely as the sum of this series would require less than a further 6% disc space to be used to store an indefinite number of such fast blocks at 1/4, 1/16, 1/64 etc divisions of the original sampling rate.
Switch 145 is usually implemented in the addressing mechanism by selecting the different appropriate addresses to access the data from the common block of RAM 105 during read out of audio data.
In practice the operation of using every fourth sample (known as decimation) is modified by known sample rate conversion techniques to avoid aliasing components being generated. See for example "The
Art of Digital Audio" (John Watkinson, Focal Press, revised reprint 1989).
The operation is also usually modified slightly from that described in that during fast replay, although all the data from the disc is used, it is not clocked out to the digital to analogue converter at a faster rate. Sample rate conversion techniques are used to reduce the sample rate to a fixed output rate. Similarly, during slow replay, additional samples are interpolated to allow for a fixed output rate. The above reference describes appropriate techniques.
Note that the factor of 4 described above is a typical figure. If the disc interface is faster it may be possible to use every 6th or 8th sample. Regardless of the limitations of the disc storage an appropriate figure may be selected.
A further improvement to this technique may be effected by realising that during fast replay it is no longer necessary to preserve the full audio bandwidth. If the bandwidth (of, for example, up to 20kHz) is preserved, as the sound is progressively sped up, the movement of sound up to the higher frequencies creates an unacceptable volume of higher frequency noise. This is improved while maintaining the desired audio cues to the user if an upper filter of 5kHz is employed. This means the the 'fast block' can have its sampling rate reduced by a further factor.
Such a preferred embodiment is shown in fig 6 and fig 7. Fig 6 shows the recording process. In this method, during recording the audio data is built up in the 4th disc transfer area 112 by first filtering the data to 1/16th of its original frequency range, e.g.
by 1.25kHz low pass filter 140 (in systems where the full bandwidth is 20kHz, otherwise the appropriate low pass filter is used), then every sixteenth sample is taken in decimator 141, and transferred to disc for every 16 blocks of ordinary data. (Buffer 112 may be duplicated (113) for double buffering or following its being written to disc it may be refilled by initially using data stored at the normal rate in buffers 1 - 3 via filter and decimator until it has caught up with incoming data missed during the disc transfer.
Fig 7 shows the method for replaying data. The normal replay data is loaded from disc into the triple buffered memory 109, 110, 111 so that one block is in memory on either side of the block currently being replayed. Similarly, the triple buffers 112, 113, 114 are loaded from the fast blocks once again so that one block on either side of the block containing data for the time currently being replayed is always available. (This loading requires 1/16 of the disc bandwidth so it is necessary to use a disc with a bandwidth capable of running at 4.25 times the audio bandwidth.
This is normally still within normal disc technology. If not, it is possible to disallow this parallel loading of normal and fast blocks, instead switching from one to the other on demand. This leads to a pause as the user moves across the 4-times replay speed boundary, as it is necessary to wait for the 'fast data to be loaded from the disc).
During normal speed replay, the data from buffers 109, 110, 111 are selected via switch 145 to the variable filter and sample rate converter 146 (which at normal speed is set to pass the data unchanged to its output). Data is fed at a fixed sampling rate to digital to analogue converter 106 and/or an appropriate digital interface 143 to provide an industry standard data stream output.
As the replay speed in increased, data is read out faster from buffers 109, 110, 111 and the filter/sample rate converter 146 is adapted to discard excess samples according to known techniques and still provides a fixed data stream to the output. It is also preferably arranged to progressively filter the audio to a lower and lower cut off frequency as the speed increased, decreasing to a filter of 5kHz at 4 times speed. It is convenient to make this user selectable in case the user has an application, e.g. musical sampling, where he does not wish to limit the frequency range. As an additional preferred refinement some attenuation of the audio is performed progressively as the speed increases to further reduce unpleasant sound levels to the user. When the user-selected speed reaches 4 times faster than normal, switch 145 changes to select data coming from the fast blocks.Since this contains data at 1/16th of the original sampling rate, and we desire to replay at 4 times the original sampling rate, it is necessary for filter/sample rate converter 146 to generate additional samples. This is done according to known techniques. Note that at four times speed the original frequency limitation to 1.25kHz means that audio will be heard up to 5kHz, which is acceptable. At this speed blocks are only required from disc at 1/4 the normal play rate. As in the previous embodiment loading of normal speed blocks is suspended while running at these speeds.
As the speed increases the whole process accelerates, with filter/sample rate converter 146 progressively adapting to produce a fixed output rate, and continuing to limit the actual replayed frequencies to 5kHz maximum. Finally at 64 times normal speed it is not possible to play the audio faster. This is normally an acceptable limit in audio applications as it represents an audio shift of 6 octaves and is is not usually necessary to provide audible cue replay at higher speeds.
A typical user interface would provide visual indication of position beyond this speed and the transition can be made inaudible by continuing the attenuation process described above to fade the audio to silence as 64 times speed is reached.
During the process of slowing down, loading of normal blocks resumes at 4 times speed. To cover any delay during which the normal speed data is not available, data from the fast blocks may be interpolated in filter/rate converter 146 to provide the user with audio at the desired rate. This is normally only necessary for a fraction of a second and is preferable to there being any silence generated during this pause.
It should be noted that this method has an additional benefit (which still survives even if discs fast enough to provide 64 times play speed become commonly available) in that the filtering process on replay is relieved of the necessity of processing all the normal speed data in order to provide properly anti-aliased replay. Such processing is a heavy load on the filter when data is arriving significantly faster than normal. Because the high speed data is pre-filtered during the recording process to 1/16th the sampling rate (running at normal input speed), the maximum input data rate on replay is limited to four times normal speed even at extreme replay rates. This puts the necessary processing to implement the low pass filter into the range of moderate cost digital signal processing devices over the entire speed range.
If it is essential to provide audible speeds in excess of 64 times, the method described above where an additional 'superfast' block is stored for every 4 'fast blocks', and if desired further blocks for every 4th one of these, can be employed with or without the necessary modification to the recording decimation process to prevent aliasing at these extreme speeds.
This is an alternative method of achieving high replay speeds and is applicable to a system where the aliasing problems of decimation described above are considered not to be of consequence. The benefit over the method described above is that no additional disc space is required.
There is no requirement for blocks to be physically sequential on a mass storage device. All that is required is a look up table of physical block locations. This will usually be generated as a matter of course by the computer operating system in use, for example a UNIX system or a DOS system can be used to access the blocks in this manner.
Fig. 8 shows an embodiment of the invention relating to the recording process in which each disc transfer area 161, 162, 163 is increased to four times the size of a disc block. Each of these areas is divided into the four constituent disc blocks, e.g. 161 is composed of blocks 170, 171, 172, 173. During the initial phase of recording data is to be stored in an area 161. The first sample of input audio data is to be stored in area 170. A switch 180 is interposed in the audio data path and sends successive samples of data to successive block areas 170, 171, 172, 173 then again into area 170 and so on. In this way the first, fifth, ninth etc samples are stored in area 170. Similarly the second, sixth, tenth, etc samples are stored in area 171, and similarly for areas 172 and 173.
When the entire area 161 is filled the process moves over to filling area 162. At this time each block 170, 171, 172, 173 are transferred to disc. This is shown schematically at the bottom of fig. 8 where these are shown as block 1, 2, 3, and 4, each of 16 samples. (In practice however blocks are usually several thousand samples in length). The samples are also numbered 1 to 64. It can be seen that block 1 contains samples 1, 5, 9, etc.
Once blocks 170, 171, 172, 173 are copied to disc, the RAM area 161 is free. Once recording into area 162 is complete, data is once again switched to recording in area 161 while area 162 is transferred to disc. The total data throughput to the disc is the same as if the interleaving method described above is not used.
During replay, the process is reversed and data is de-interleaved out to the digital to analogue converter.
During increased speed replay the process can simply be accelerated up to 4 times normal speed at which time the data rate from a typical disc is exhausted. At this time however the replay process can be changed. In the illustration of fig. 7, instead of loading in blocks 1, 2, 3 and 4 to hear this section of the recording, it is only necessary to load for example, block 1. Every fourth sample is now available from this one block so samples 1, 5, 9, etc can be fed directly out to the user. As the data from this block is exhausted, blocks 2, 3 and 4 can be ignored, and block 5 can be loaded allowing 4 times speed replay to continue with minimal disc activity. As the speed is increased each fourth block is used, until at 16 times speed the disc is once again at the limit of its replay speed.
Note that at twice speed replay disc activity can be reduced from normal speed replay by loading, for example, block 1 and block 3 only.
It is possible to use interleaving over eight blocks instead of four blocks as described above to achieve replay speeds up 32 times, or indeed interleaving over even more blocks. However as more interleaving used, more RAM is required for the additional buffers and more blocks are required to be loaded before normal speed replay can commence. The interleaving described is easy to implement and effective.
These two methods can be combined in a straighforward way. One method is to interleave the normal speed blocks to allow the high speed blocks to be less frequent. For example if the basic embodiment of fig 4 as applied to the four way interleaving described above, since 16 times speed may be easily achieved, it is only necessary to store fast blocks containing every sixteenth sample, allowing replay speeds up to 64 times. The fast blocks may be further interleaved amongst themselves to allow replay speeds up to 256 times.
If applied to the preferred embodiment of fig. 6, is is recommended that fast blocks alone be interleaved. This allows fully anti-aliased replay up to 64 times speed at which time fast blocks may be omitted according to the above description allowing further aliased high speed replay at up to 256 times normal speed.
Although all the methods described herein are described in terms of an audio application, these methods are extendible to other applications in which it might be desired to store digital representations of continuous data with the capacity for instant access and/or replay at very high speeds in which output frequency limitations are acceptable or desired.
Also, although RAM and discs are described, these methods are applicable to any situation in which it is desired to use slower mass storage to reduce the need for fast instant access storage.
Further these methods are applicable where the source of audio signals are from other forms of digital storage or generation device. In such uses, data from such sources are applied to the system instead of data from the analogue to digital converters.
The method of using fast blocks of data to simulate fast playback can be combined with the instant access of the first embodiment described. This would enable a keyboard to be controlled to play different notes by selecting different playback speeds from a mass storage device.
A multitrack recording and playback system can be produced which incorporates the features of instant access and fast simulation of playback described above. Such a system is illustrated in figure 9. In this access to a plurality of discs 300 is controlled by a
CPU 302 via a bus 304 and an audio processor 306. Each audio processor, in response to signals from the CPU can record and playback data in fast blocks on the associated disc 300. For the purposes of playback each audio processor contains a RAM in which is stored a first portion of each data segment stored on the disc 300.
Each audio processor will typically be able to provide four inputs and outputs to a disc and thus if a total of eight discs and audio processors are provided a 32 track recording and playback system can be made. Other combinations are possible thus giving any desired number of tracks.
Claims (32)
1. A method for substantially instantaneously reading at least one of a plurality of data segments each representing a data stream and stored at least partially on a mass storage means, the method comprising the steps of selecting a data segment to be read, locating at least a first portion of the said data segment in a
Random Access memory (RAM), reading the first portion of the said data segment from the RAM, locating the said data segment on the mass storage means, and subsequently reading at least a second portion of the data segment from the mass storage means.
2. A method according to claim 1 in which at least two data segments can be read in parallel.
3. A method according to claim 1 or 2 in which only the first portions of the data segments are stored in the RAM.
4. A method according to claim 1 or 2 in which the first portion of the data segments are also stored on the mass storage means.
5. A method according to claim 1 or 2, or 4 including the step of loading the first portions of the data segments into the RAM from the mass storage means.
6. A method according to any of claims 1 to 5 in which the mass storage device stores at least one 'fast' block for a data segment, the fast block comprising every nth sample in the data stream.
7. Apparatus for substantially instantaneously reading at least one of a plurality of data segments comprising mass storage means at least partially storing the data segments, a Random Access
Memory means (RAM) storing at least a first portion of at least one of the data segments, means for selecting a data segment to be read, means for locating and reading the first portion of the said data segment from the RAM, and means for locating and subsequently reading at least a second portion of the said data segment from the mass storage means.
8. Apparatus according to claim 7 including buffering means for loading a plurality of data segments from the mass storage means whereby parallel reading of data segments is effected from the buffering means.
9. Apparatus according to claim 7 or 8 in which the first portions of the data segments are stored only in the RAM.
10. Apparatus according to claim 7 or 8 in which the first portion of the data segments are also stored on the mass storage means.
11. Apparatus according to claim 7, 8, 9 including means for loading the first portions of the data segments into the RAM.
12. Apparatus according to any of claims 7 to 11 in which the mass storage device stores at least one 'fast' block for a data segment, the fast block comprising every nth sample in the data stream.
13. A method for recording a data stream on a mass storage means for use in the simulation of fast playback of data, the method comprising recording the data in blocks, including at least one fast block comprising one sample for every n samples in the data stream, where n is an integer greater than 1.
14. A method according to claim 13 in which the recording step comprises storing n blocks of data sequentially followed by the fast block.
15. A method according to claim 13 in which the recording step comprises writing sequential samples of data into the next available storage location in each of n blocks in turn.
16. A method accprding to claim 13, 14, or 15 in which the recording step comprises recording every nth sample in the data stream in the fast block.
17. A method according to claim 13, 14 or 15 in which the recording step comprises filtering the data stream and storing filtered samples in the fast block.
18. A mass storage device having data recorded on it according to the method of any of claims 13, 14, 15, 16 or 17.
19. A method of simulating fast playback of a data stream comprising reading blocks of data from a mass storage device, each block read comprising every nth sample in the data stream.
20. Apparatus for recording a data stream for use in the simulation of fast playback of data, comprising a mass storage means addressable in blocks and means for recording one sample for every n samples in the data stream in at least one 'fast block' where n is an integer greater than 1.
21. Apparatus according to claim 20 including means for recording n blocks of data sequentially and the n+lth block as the fast block.
22. Apparatus according to claim 20 including means for writing samples of data in the data stream to the next available storage location in each of n blocks in turn.
23. Apparatus according to claim 20, 21 or 22 in which the recording means records every nth sample in the data stream in the fast block.
24. Apparatus according to claim 20, 21, or 22 including means for filtering the samples in the data stream and recording at least some of the filtered samples in the fast block.
25. Apparatus for simulating fast playback of a data stream comprising a mass storage device addressable in blocks, and means for selecting and reading blocks of data from the mass storage device, each selected block comprising one sample for every n samples in the data stream.
26. A compact disc player including apparatus according to any of claims 7, 8, 9, 10, 11, or 12.
27. A mass storage device having a plurality of blocks of data representing a data stream recorded thereon, at least one of the blocks being a 'fast block' comprising one sample for every n samples in the data stream where n is an integer greater than 1.
28. A multi-track recording and playback system comprising recording apparatus according to any of claims 20 to 24 and playback means including apparatus according to any of claims 7 to 12.
29 A method for substantially instantaneously reading at least one of a plurality of data segments stored at least partially on a mass storage device substantially as herein described.
30. Apparatus for substantially instantaneously reading at least one of a plurality of data segments stored at least partially on a mass storage device substantially as herein described with reference to figure 2 of the drawings.
31. A method for recording a data stream on a mass storage device for use in the simulation of fast playback of data substantially as herein described.
32. Apparatus for recording a data stream on a mass storage device for use in the simulation of fast playback of data substantially as herein described with reference to figures 4 to 8 of the drawings.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB919103239A GB9103239D0 (en) | 1991-02-15 | 1991-02-15 | Improvements relating to data storage techniques |
Publications (2)
Publication Number | Publication Date |
---|---|
GB9203133D0 GB9203133D0 (en) | 1992-04-01 |
GB2253726A true GB2253726A (en) | 1992-09-16 |
Family
ID=10690083
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GB919103239A Pending GB9103239D0 (en) | 1991-02-15 | 1991-02-15 | Improvements relating to data storage techniques |
GB9203133A Withdrawn GB2253726A (en) | 1991-02-15 | 1992-02-14 | Data storage techniques. |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GB919103239A Pending GB9103239D0 (en) | 1991-02-15 | 1991-02-15 | Improvements relating to data storage techniques |
Country Status (2)
Country | Link |
---|---|
GB (2) | GB9103239D0 (en) |
WO (1) | WO1992015087A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2402517A (en) * | 2003-06-05 | 2004-12-08 | Hewlett Packard Development Co | Storage medium changer with preloaded data |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5742695A (en) * | 1994-11-02 | 1998-04-21 | Advanced Micro Devices, Inc. | Wavetable audio synthesizer with waveform volume control for eliminating zipper noise |
US6047073A (en) * | 1994-11-02 | 2000-04-04 | Advanced Micro Devices, Inc. | Digital wavetable audio synthesizer with delay-based effects processing |
US6246774B1 (en) | 1994-11-02 | 2001-06-12 | Advanced Micro Devices, Inc. | Wavetable audio synthesizer with multiple volume components and two modes of stereo positioning |
US5847304A (en) * | 1995-08-17 | 1998-12-08 | Advanced Micro Devices, Inc. | PC audio system with frequency compensated wavetable data |
US5753841A (en) * | 1995-08-17 | 1998-05-19 | Advanced Micro Devices, Inc. | PC audio system with wavetable cache |
US5699547A (en) * | 1995-08-30 | 1997-12-16 | Philips Electronics North America Corporation | Information retrieval system with serial access data storage and random access data retrieval |
WO1997031363A1 (en) * | 1996-02-21 | 1997-08-28 | Advanced Micro Devices, Inc. | Pc audio system with frequency compensated wavetable data |
AU8181198A (en) * | 1997-07-02 | 1999-01-25 | Creative Technology Ltd | Audio effects processor having decoupled instruction execution and audio data sequencing |
WO1999065016A1 (en) * | 1998-06-10 | 1999-12-16 | Conexant Systems, Inc. | Synthesizer system utilizing mass storage devices for real time, low latency access of musical instrument digital samples |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1498150A (en) * | 1974-10-31 | 1978-01-18 | Fujitsu Ltd | Data transfer |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6029794A (en) * | 1983-07-29 | 1985-02-15 | ヤマハ株式会社 | Electronic musical instrument |
AU633828B2 (en) * | 1988-12-05 | 1993-02-11 | Ricos Co., Ltd. | Apparatus for reproducing music and displaying words |
-
1991
- 1991-02-15 GB GB919103239A patent/GB9103239D0/en active Pending
-
1992
- 1992-02-14 GB GB9203133A patent/GB2253726A/en not_active Withdrawn
- 1992-02-14 WO PCT/GB1992/000269 patent/WO1992015087A1/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1498150A (en) * | 1974-10-31 | 1978-01-18 | Fujitsu Ltd | Data transfer |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2402517A (en) * | 2003-06-05 | 2004-12-08 | Hewlett Packard Development Co | Storage medium changer with preloaded data |
GB2402517B (en) * | 2003-06-05 | 2006-09-27 | Hewlett Packard Development Co | System and method for using swappable storage for storing program data |
US7451281B2 (en) | 2003-06-05 | 2008-11-11 | Hewlett-Packard Development Company, L.P. | System and method for using swappable storage for storing program data |
Also Published As
Publication number | Publication date |
---|---|
GB9203133D0 (en) | 1992-04-01 |
WO1992015087A1 (en) | 1992-09-03 |
GB9103239D0 (en) | 1991-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5021893A (en) | High speed tape duplicating machine | |
RU2003114729A (en) | OPTICAL MEMORY DEVICE | |
KR20000029500A (en) | Selective recall and preservation of continuously recorded data | |
JPH0724123B2 (en) | Method and apparatus for high speed duplication of audio or digital signals | |
GB2304972A (en) | An audio player for reproducing data as audio signals | |
GB2253726A (en) | Data storage techniques. | |
US5233477A (en) | High speed tape duplicating equipment | |
KR940012242A (en) | How to play disc | |
US5687144A (en) | Audio player for reproducing writing data as audio signals | |
JP2003006992A (en) | Information reproducing method and information reproducing device | |
CA2329570C (en) | Audio recording medium, methods for recording data on and reproducing data from the recording medium, and recording and reproducing apparatuses therefor | |
JP3829513B2 (en) | Playback device and playback method | |
JPH04225700A (en) | Audio reproducing device | |
JP4132213B2 (en) | Electronic musical instruments | |
KR100340795B1 (en) | CD omitted | |
KR970010527B1 (en) | Pattern generating apparatus for dcc | |
JP2906765B2 (en) | Audio or video digital information playback device | |
JP3036837U (en) | Storage medium reproducing device in computer game device | |
KR0127030B1 (en) | Voice recording apparatus and recording method thereof | |
JP2814857B2 (en) | Information playback device | |
KR0176787B1 (en) | Karaoke device for recording | |
CA1339753C (en) | High speed tape duplicating machine | |
KR0135452B1 (en) | Apparatus and method for calculating reproduction address | |
JPH0458640B2 (en) | ||
JPS59906B2 (en) | onseikensakuuchi |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WAP | Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1) |