Sound-Cards Software

Download Report

Transcript Sound-Cards Software

Sound-Cards Software
Patrick Horne
Introduction
• What is a sound card
• Basic History of
Soundcards
• What is Streaming Audio
how is it used in software
• What are the different
software solutions for
sound card
– Basic Intro to curbase
• Programming for
soundcards in .NET
• Conclusion
What is a sound card
A sound card is a device
which allows a computer
system to record and/or
play sounds.
http://en.wikipedia.org/wiki/Image:Sblive%21.jpg
History of Soundcards /
Software
• 1974 - Lynne Wilmslow
• 1982 - TRS80/Spectrum
SoundCard – Published
in Practical Computing
(Lyndsay Robinson)
History of Soundcard /
Software
•1984 - Spectrum Computer
add on made by Datel.
•Analogue to digital converter,
8 bit, low cost
Ferranti ZN427/ 449
What Can a Modern Sound
Card do?
• Sound Cards can deal with
– MIDI
– WAV
Some can also deal with
– Compressed Sounds –
MP3, WMA
Categories of Music
Software
• Drives
• Music Manipulates
– Curbase
• Players
– Windows Media Player
– WinAmp
– Real Player
• Burners Software
– Create your own Music
CD
Software: Streaming
Audio
• Streaming Audio
– Allows continuous
playback of sounds
without the need to
download the whole file
before you begin.
– Really took off since
broadband emerged.
– Concept of VOIP.
How does Streaming Audio Work
Browser makes
HTTP Request
To Server for
Streaming File
HTTP Server
Streaming
Server
Sends text file
With link to
Audio server
Browser
Opens up
Streaming
software
Buffer
Decode Compressed data
Sound
card
PlaySound
Winmm.dll
(memory address)
Software: Curbase
• Multi Track Recording
– Play on different
tracks at the same
time.
Software: Curbase
•Change Mixing levels:•By tone, so you can
cut out particular
noisy sounds.
•Sounds can be
separated in to the
basic frequencies.
•By removing high or
low frequencies we
can improve sound
recording
Software: Curbase
• Sound Fonts
– MIDI files work by:• Using a formula
which synthesises
the sound itself or
modify pre-existing
samples.
Or
• prerecording sounds
for example “C
Piano”, “D Piano”
Sound fonts allow you to
swap these samples.
Software: Curbase
– Virtual Instruments
and plugin effects
– Allows you to import
extra instruments
Mute All
Mute
Mute button
Allow jump to sections
Loop
Stop
Record Button
Tempo
Lets you make a selection
Glue lets you stick
Bit of track together
Element on the track
Lets you
Cut apart the
Track - Splicing
Lets
You select
A empty
track
This allows you to control the width of what you are
Chopping or if you create parts
Right
Click on to a context
menu
Go to view -> Edit
using
different modes
Edit the bit you
recorded
Mute button
Same type of changing facilities
Allows you to fine tune your MIDI recordings
Each Represents a note being played
Allows individual changes on track
Software: CD Burners
• After you have finished your manipulation
– Drag and drop the files to the CD.
– CD Disc Burn the files as WAV files tracks so that it
can be read by the CD as music tracks.
– DeepBurner
Developing Applications
In Windows
• Since Windows 3.1, Windows has provided:– SPlaysound(“Filename”) Winmm.dll library for
sending files to the soundcard.
• With Windows Visco which is being developed:– Manipulation of sound will be much easier.
• Give much better control as sounds can be
changed on the windows side rather than using
programming.
Programming for
Soundcards
Imports
Imports
Imports
Imports
System
System.Diagnostics
System.IO
System.Runtime.InteropServices
Public Class Sounds
<Flags()> _ Public Enum PlaySoundFlags
SND_SYNC = 0
SND_ASYNC = 1
SND_FILENAME = &H20000
SND_RESOURCE = &H40004
End Enum
Private Declare Function PlaySound Lib "winmm.dll"
(ByVal fileName As String,
ByVal hmod As IntPtr,
ByVal flags As PlaySoundFlags) As Integer
Programming for
Soundcards
Public Shared Sub Play(ByVal fileName As String)
Try
PlaySound(fileName, IntPtr.Zero,
PlaySoundFlags.SND_FILENAME Or
_ PlaySoundFlags.SND_ASYNC)
Catch
Debug.WriteLine("Can't play sound file")
End Try
End Class
Programming for
Soundcards
Public Class ConsoleStart
Sub Main()
Public Sub Main()
Sounds.Play(“helloworld.wav”)
End Sub
End Sub
End Class
Conclusion
• We have looked at the history of
soundcards
• We have looked at several different
soundcard software solutions
• Looked at programming soundcards
• For slide notes http://heapey.f2s.com
References
• research.microsoft.com/users/lyn/soundcardhistory.ppt
• http://www.developer.com/net/vb/article.php/10926_3357131
_2
• http://www.obsoletecomputermuseum.org/nextcolor/sound.jp
g
Any Questions