تغييرات

اذهب إلى التنقل اذهب إلى البحث
تم إضافة 31٬688 بايت ،  قبل 11 سنة
أنشأ الصفحة ب'{{معلومات عامة لنشاط |مطور النشاط=sama Abdelhadi |نبذة عن مطور=A graduate with a BSc in Audio Engineering and Music Production from L...'
{{معلومات عامة لنشاط
|مطور النشاط=sama Abdelhadi
|نبذة عن مطور=A graduate with a BSc in Audio Engineering and Music Production from London. My dissertation revolved around programming and synthesis and my interest in it grew with time
|نوع النشاط=ورشة
|مجال النشاط=موسيقى وصوت
|ملخص النشاط=بيور داتا, لغة برمجة تُستخدم لبناء برامج تتحكم بالصوت. بيور داتا يبني عناصر صوتية يمكن استخدامها وتعديلها بطريقة سهلة. في البداية سوف نتحدث عن طبيعة وفيزياء الصوت, ثم ننتقل الى نظرية الصوت وكيفية بناء نماذج أصوات. سنتكلم أيضاً عن العناصر والتقنيات اللتي يمكن إستخدامها في بيور داتا, وعن المراحل العدة اللتي يمكن بهاتحسين البرنامج المكتوب.
|أهداف النشاط=The workshop aims to explore the basic principles of programming, creating and recreating sounds, effects and GUI (Graphical User Interface) objects. It takes a lot of time and work to synthesize real sounds from scratch but it allows us to recreate the ones that cannot be recorded; this expands the variety of techniques that a sound designer can use. Pure Data is very practical, it is easy to visualize the flow of everything in its code because it depends on creating sound objects that connect to other objects with actual wires turning the code to a chain of events, other programming languages usually depend on writing sentences that explain the chain to the computer using special commands and functions. Pd treats sound as a process not as data, you can change the properties of a sound object while it is playing like a live program and you can change the characteristics of the properties as well. This type of programming language helps us understand how softwares, plug-ins, synthesis, effects and signal flow works
|المخرجات=The participants will create sound effects from scratch, synthesize actual real sounds and create their own interface
|وسائل إيضاح=Pd intro.pdf
}}
{{معلومات مشاركين بنشاط
|حد أدنى لفئة عمرية=18
|حد أعلى لفئة عمرية=100
|خلفية المشاركين=ممكن للمشاركين أن يكونوا مصممين صوت أو طلاب متخصصين بصناعة الألعاب, الأفلام, الرسوم المتحركة أو مبرمجين برامج الموسيقا. ممكن أن يشارك أي من كان في مجال الإعلام إذا كان فيه التحكم في الصوت حاجة أساسية. ممكن أن تكون ورشة العمل هذه ممتعة أيضاً للمهتمين بالبرمجة واللذين يبرمجون كهواية, لاكن معرفة البرمجة ليست شيئاً أساسي للمشاركة بهذه الورشة.
للتسجيل في هذه الورشة يجب أن يكون المشارك صبور, يجب أن يعرف كيفية إستخدام الحاسوب, أن يكون لديه علم بسيط في الفيزياء وبعضاً من اللغة الإنجليزية لفهم وتحليل العمليت الصوتية والكلمات المختصرة المكتوبة. من أهم الأشياء أن يكون لدى المشاركين لاب توب أو جهاز حاسوب في المنزل.
|طبيعة دعوة=عامّة
}}
{{معلومات زمانية لنشاط
|وقت من=2013/11/29 00:00:00
|وقت إلى=2013/12/24 00:00:00
}}
{{معلومات زمانية لنشاط
|وقت من=
|وقت إلى=
}}
{{معلومات زمانية لنشاط
|وقت من=
|وقت إلى=
}}
{{جلسة نشاط
|مكان التنفيذ=معمل
|الإنجازات=the participants will be able to create their own sound objects for use in interactive application and other projects
|الأدوات=The student should work alongside a computer set up as an audio workstation. minimum system requirements for most of this course are 500MHz computer with 256 MB data program, a simple wave file editor like audacity that is capable of handling microsoft .wav or MAC .aiff formats
|تحضير ما قبل الجلسة=placing examples made in class on each computer or a common usb that they can pass around at the beginning of each day
|الخطوات التفصيلية للجلسة=DAY 1:
- workshop introduction:

- course overview
----- 30 mins --------

- installing and explaining what pure data is:
pure data is an audio programming language that treats sound as a process not as data, it helps you visualize the signal flow of sound and explore sounds that have never been heard before.
** show video examples of what pure data can create as sounds, GUI's (graphical audio interfaces), and as MIDI based plug-ins.
------ 30 mins -----

- fundamentals of sound:
sound designers work with an incredible landscape that includes physics, math, psychology and culture. first we look at sound as a physical phenomenon, as vibration within materials that involves an exchange of energy that eventually reaches your ear, vibrates the ear drum sending messages to your brain that allow you to illustrate that sound. This will help you understand the idea behind acoustics and sound design especially which deals with distinguishing where any sound is coming from. mathematics plays an essential part for understanding how digital computers can make facsimile of real world dynamics, how synthesizers manipulate sound and how numbers effects computers.

sounds can be explained as the flow of energy in a system, beginning with a source and ending at the furthest reaches of the system where sound energy eventually becomes heat. somewhere in this system our ears or a microphone may observe the changing energy patters and pick it up. just like i explained how our ear picks up the wave and vibrates in order for us to hear it, same goes with the microphone, the waves energy vibrates a diaphragm in the microphone that eventually leads to the speakers to vibrate and back to our ears. imagine a pool table its like one ball carries the sound the other.

- characteristics of sound waves:
The things that carry energy are called waves. regular amplitude or volume is measured between 0 and the peak displacement, either 1 or -1. peak to peak amplitude is called range, the wavelength is the measure between the closest two points with the same displacement moving in the same direction.The period (T) is the time it takes a wave to go through its rest point and come back again to that point, this is measured in seconds. Now the number of times a period passes in a second is the frequency(f), so basically f=1/T Hz. phase is when two waves overlap, that might cause the waves to act as constructive or destructive waves. if two waves are exactly similar and completely off phase by 180 degrees it causes the sound to disappear, if they were in phase it doubles up the volume.
*The speed of sound in air is 340 m/s, it goes faster in a liquid and even faster in solid.
---- 1 hour ----

- oscillation of sound, acoustics and psychoacoustics
oscillators are like mass on a spring, there is a force pulling them down and another force pulling them up, thats how oscillators work, Energy is exchanged between two unstable states, they can be the primary source of sound or they can be driven by another source of sound vibration.
Acoustics is understanding how the sound behaves in the air up to the point it reaches our ears or a microphone. Radiation is the transfer of energy from a vibrating source to the surrounding medium, we assume that after radiating the sound has left the vibrating body. The amplitude of any particular frequency depends on the distance between two or more sources and on the superposition if it causes reinforcement or cancellation. loss of power and loss of energy by absorption are two different things, absorption happens because of imperfect propagation that turns the sound energy to heat. There are other propagation effects, there is reflection; when a sound reflects off a hard surface, for example a room that consists of parallel walls reflects sound back and forth causing standing waves which causes echo. Another propagation effect is scattering, when a wave hits an obstacle and scatters in all direction, this helps in treating rooms with echo.
Each absorbing object deals with certain frequencies, so when you deal with room acoustics you have to know the properties of each object you have in the studio. Reflecting and dispersing objects deal more with high frequency sounds, reflecting walls should never face the speakers, there should be scattering and absorbing objects instead so you would avoid standing waves. Low frequencies have big wavelengths and high frequencies have small ones, try to imagine how low frequencies move and spread around the room because they have big waves while high frequencies move in a straight direction.
psychoacoustics deals with how we perceive sound, it deals with how our brain translates amplitude and frequency to loudness and pitch. The main parts of the ears are the pinna, meatus and lobes. The pinna is the human amplifier and the filter for locating sounds. the meatus connects and separates the outer and inner ear, it is also a resonant cavity around 2kHz which helps to amplify speech. The lobes are not really understood yet but they seem to act as dampers on the pinna at certain frequencies and they might have a role in our sense of balance. The eardrum acts as the main transducer that converts air pressure waves into vibrations in the middle ear. Now when you close your eyes you can localize sound, know where it is coming from, that depends on intramural time difference (ITD) and intramural intensity difference (IID). ITD is the time difference between the arrival of the same sound at each ear. IID deals with the loudness, if the sound is louder in the right ear it is most likely located on the right. IID and ITD also help us illustrate the front from the back, since the pinna acts as an amplifier when the sound is coming directly into it, it acts as an obstacle when the sound is coming from the rear because it has to go around the pinna and into the ear.
The progression of a wave can be taken as an envelope which consists of an attack, decay, sustain and release (ADSR). The attack is the beginning of a sound where it moves from zero to the maximum energy, for percussive sounds the attack is very quick, in bowed strings the attack would be very long which causes the amplitude to increase gradually. decay is when it moves from the maximum energy to the back down to the sustain which produces a stead sound output. Finally the release which is the ending of the sound as it goes down from the sustain back to rest.
---- 30 mins ---

- digital signals:
transducers convert changes in one kind of energy to changes in another kind, like a video camera encodes changes in light into electrical signals microphones encode changes in air pressure into electrical signals that can be transformed to binary numbers on a computer. Computers deal with ones and zeros to represent data or sound, this is called analog to digital conversion, digital to analog conversion does exactly the opposite, it changes those binary numbers back into sound. So to make sounds we send streams of numbers wrapped up in blocks. The sound of zero is silent and the sound of one is constant, if there is a stream of blocks being sent beginning in a row of zeros followed by a row of ones then back to zeros that will create a square shape. If we go up steadily by 0.001 steps between 0 and 1 this will create a signal that moves upwards like a phasor signal.
Lets talk a bit about noise, noise makes the whooshing sound on TV and it has a random number for every sample, if the numbers are completely random we call it white noise. The range of random values is between -1 and 1 so white noise is symmetrical.

- basic pure data tools and data flow explanation: Objects are represented as boxes in Pure Data, they can be perceived as musical boxes, they receive stuff through inlets and send stuff through outlets. inlets are on the top of object boxes and outlets are on the bottom. Each object performs a simple function and has a name in its box that identifies what it does. The connections between those objects are called cords or wires, they connect the outlet of one object to the inlet of the other. A collection of objects wired together is called a patch or a program, lets create our first patch in PD?

A canvas is the window on which you place objects and create patches. To place an object on the canvas select put from the top of the screen and press on object, you can also use control+1 or in mac command+1. a dotted box will appear, type the name of the new object, like multiplication (*), and press anywhere on the canvas, watch how the dotted box turns to a normal box and how it creates inlets and outlets, if the object that you place is unknown for Pure data the dotted box will stay dotted. Now add another addition object box, contains a (+) and connect the output of the multiplication box to the input of the addition box.

Most objects take some parameter or argument that controls the objects function. They can contain no argument if you insert an argument to them through the right inlet, which is the cold inlet. Now modify the code that we wrote to have the argument of the multiplication be 5 and of the addition to be 3. Now lets go to the put menu again, there is something called the number box which can act as input devices to generate numbers or to display numbers after receiving information. You can also create the number box through control+3 or command+3. Now how about we put a number box under the +3 and over the *5, connect the output of the upper number box to the input of the *5 and connect the +3 object to the input of the number box. Now fill up the upper box with any number and watch how the result appears on the lower number box. you are going to need to change to edit mode to be able to insert a number in the number box, now to toggle you press control+e or command+e or you select edit mode from the edit menu on the top.

There are horizontal and vertical sliders, they can be used by assigning the range of numbers they have in each faders properties. They have inputs and outputs as well so numbers can control the faders and move them as well as faders can control numbers. try creating a fader, place the range numbers as anything you like and connect the output of the fader to the equation that we have and see how when you play with the fader the result number changes.
---- 1 hour -----


DAY 2:
- how does pure data work:
pure data deals mainly with data flow because data flows along connections and through objects which process it. As we talked about objects, connections and we made a simple patch lets go more into detail. A message is an event or a piece of data that gets sent between two objects. it travels without wires and they can contain anything. The smallest message you can use in pure data is the bang message it literally means compute something, it can make a box send the number in it, it makes anything start the thing it has to, you will understand it in a bit well be using it a lot.
A float is another name for numbers, we have the normal numbers which are integers like 1, 2, 3 etc… and the floating number is a number that contains a decimal point. we already dealt with number boxes which are counted as message boxes as well as the toggle box which sends a one or a zero. Now lets talk about the actual message box in the put menu, you can send a number or a text or anything you want by just filling it with the argument and then you just press it and it sends what is in it. for displaying or inputting a text you can use the symbol box.
An array is a graphical representation of some data that you give. you can control this graph by entering data into it. Lets place an array from the put menu, set up its name, size and display characteristics. There are three drawing styles: points, polygon and bezier. These display the data in different degrees of smoothness. The in last graph option is used to use the same graph to display more than one array which is very useful to show the relationship between two sets of data. When you press the ok it will create a graph with the value initialized to zero. To read and write arrays we need two special objects, "tabread" and "tabwrite". Lets create these objects and write both their arguments as array1. from the right inlet of tabwrite you determine the index number and the left one sets the value. lets connect a number box containing the number 24 to the right inlet, since the index number is always an integer, then lets create another number box and connect it to the left inlet of tabwrite containing an 0.25 float number. Now tabread takes the index from its inlet and returns the current value so if you connect a 24 to its inlet and connect an empty number box under it it will instantly return 0.25.
---- 1 hour ----

- how to use pure data:
Lets talk about the essentials and the rules of connections in pure data. usually most objects that deal with messages have a hot inlet and one or more cold inlets. The left inlet which is the hot inlet deals with computing operations and generating the output of the object or message. The cold inlet can be used for entering values into the object's argument but they wont make the object pass the argument just yet, thats why they are cold. This is used to order evaluation, just like in math and using brackets, 10 X 3 +14 is not the same as 10 X (3+14). *show example
This can also depend on the way the connections are made. you have to connect the cold inlet before the left one. * show example
a trigger is an object that splits messages and creates an outlet for each one, it also sends the messages in order from right to left. A trigger bang float object sends the float through the right outlet and the bang through the left one. * show example that connects this idea to the example before about wrong connections and how to make them right through trigger objects.
* show example of how to make a cold inlet hot
A float object can hold a value of a single floating point number, like a temporary storage place that you can send and receive. if a float box receives a bang message it will just output its value but if it receives a float it will just update its data. you can also save integers in int boxes, lists in list boxes and symbols in symbol object boxes.
An important thing to know is that if you connect a bunch of number boxes to the cold inlet of a float and you send a bang to it, it will output the last data that was changed that it received through its cold inlet.

An important thing in music and programming is working with time. There is an object called metro which represents a metronome which provides a clock. Its argument takes the speed in milliseconds and the left inlet toggles the metronome on and off, ether by sending it a 1 and a 0 message or by using a toggle switch. Now lets try to make a counter * make an example of how to create a counter and explain the logic behind creating it. An important object that can work properly with time objects is the select object which sends a bang on a certain output when it receives the proper message to it. ** show an example as a continuation to the basic counter.
There are many other time objects that you can explore like delay and timer but the main thing that you need to make a sequencer is this metro object. There is another object that can be used other than select, it is called mod. mod wraps numbers which is like resetting the counter to repeat a certain beat but we will talk more about this later
Moses object is a stream splitter, if the income is less than its argument it goes out through the left output and if it was equal or more it would go through the right one. The spigot object is a switch that controls streams of messages like lists and symbols, a zero to its right inlets stops the messages connected to its left inlet from passing and any non-zero number lets it pass. Swap object switches the location of its two input when they are sent to the output.
in pure data there is an object called random which gives values depending on its argument. if you place a random object with an argument of 10 it will give you 10 possible values between 0and 9. Now lets suppose you want to choose random numbers between 20 and 50, you create a random object with an argument of 30, so you get numbers between 0 and 29 then you connect the output to a +20 object so now your answers change to be between 20 and 50.
** show examples of tricks that can be done with all these objects
---- 1 hour ----

- pure data with audio:
Audio connections contain this sign (~). after every object place this sign and its outlets and inlets will become darker, thats how you know this object is an audio object now. Signal data that travels through cords is made of samples, which are floating points in a sequence that create an audio signal, samples grouped together create blocks.
Lets talk about the principles of audio objects before going creating sounds. You can connect an audio signal outlet to as many inlets as you like. Time is measured usually in milliseconds or samples but in Pd it is usually in ms. you can see the sample rate by using the object "samplerate~" which is usually equal to 1/44100 of a second.
There are only a few objects in pure data that are signal generators, the most important and simple one is the "phasor~" object. a phasor outputs a periodic ramp wave like a sawtooth wave, it goes from 0 to 1 slowly and then instantly goes back to 0. Its left inlet or its argument controls the frequency and its right inlet controls the phase between 0 and 1. Usually a phasor looks like this "phasor~ 110", you can use an "osc~" object to generate a sine wave, and a "noise~" object to create white noise.
"dac~" object is a digital to analog converter which can be used to output our patch to our laptop speakers. there is also an "adc~" object which is an analog to digital converter used to record object from our laptop microphone or any external one connected to it.
There are a bunch of filters that we are going to be working with, there is something called a high pass fitter which cuts out the low frequencies and only lets the high ones pass, there is a low pass one and a bandpass one. These are the basic filters that you might need to use.

** Give examples of everything, work on project with them and how to develop ideas of creating cleaver patches.
---- 90 minutes ----



DAY 3:
- abstraction:
A subpatch is an object box that you define as if your creating a function. Create an object box and write in it "Pd anything", an empty canvas appears, this is our subpatch. now lets tell it what to do as a function, we want to add a number that we receive from the main canvas to the number 7 in the subpatch and bring the result back out to the main canvas. Create two objects, one called inlet and the other outlet. look at the main canvas how our "Pd anything" object has an inlet and an outlet. now connect the "inlet" object to a "+7" object and connect the output of that to the "outlet" object. Go back to the main patch connect a number box to the output of "Pd anything" and another to the input of it and try changing the number of the input. How about we create a fader and connect it to the input and another to the output? You can copy subpatches and use them several times instead of writing the same code over and over, and you can create subpatches inside subpatches and so on. This idea of abstraction is very important for creating and organizing our graphical interface.
** Create table oscillator abstraction example to explain all types of abstraction up till techniques.
lets see how we can build a nice interface in Pd. go to the subpatch that we created and right click properties, there is an option called graph on parent, press it and under it you can control how big you want your graph to be. this creates a box in both our canvases, now what ever objects are inside the subpatch box, will appear in the box of the main patch. so if we put a fader connected to the "+7" object and put it in the box in the subpatch, when we close it the fader will appear in the box as representation for the subpatch. you can also control the colors of it creating a nice simple GUI.
** give another two - three examples in Audio
--- 1 hour---

- shaping sound:
We dealt with simple waveforms like the sine, phasor and noise waves, we can combine waves together to create new ones, that is what shaping sound is about. It depends mostly on arithmatics that can shift, scale and invert signals.
** show examples of scaling, shifting and inverting signals. As well as mirroring and tweaking signals.
You can limit signals by creating minimum and maximum objects that take an argument of their threshold. The minimum object takes everything over the threshold and clamps it under and the maximum does the opposite. There is another object called clip that takes two arguments one for the minimum and the other for the maximum.
With these ideas we can start creating more complicated waveforms like a triangle, pulse and square waves. We usually start shaping sounds using a phasor object since everything can be derived from it. A method of creating a square wave is to create a sin or cosine wave and clipping it to become a square wave. A triangle wave moves up a slope like a phasor but it returns in a slope manner instead of jumping to zero. we talked about inverting and shifting waves, these two methods create the principle behind shaping a triangle wave.
** Explain Square root, cosine, wrap, and modulation objects through examples with array to better visualize it
** show examples of delaying, phasing and filtering signals
--- 90 min ---

- pure data essentials:
Lets talk about creating our GUI. Usually we deal with mixers when we control sound, either actual analog mixers or digital representations of them in our editing softwares. mixers have volume controls, panning knobs, busses, and mute or solo buttons. Lets talk about the logistics of these controls, their ideology, properties, and how to create them.
The simplest idea in this is the signal ON/OFF switch. As you know multiplying a signal with a number changes its amplitude so if you multiply a signal by a toggle switch, when this switch is on the signal plays and when it is off it is muted. You can change this toggle object with a fader that has a range between 0 and 1 and now you have a volume control with 1 as the maximum and 0 as silence. But this will generate a bit of a noise like sound when you change the fader's position because the sound jumps suddenly between levels, this is why we use a log law fader which spreads small numbers across the whole fader and squashes the high values to the top end of the fader, this gives a smoother control for the volume. You can choose this fader from the properties of a normal fader, usually they are linear; the numbers spread equally over the whole fader, and there is another option called log.
** example of mute button and smooth fades

Pan is short for Panorama, meaning 360 degree view. A panning object allows you to control the sound placement between the left and right speakers.
** simple linear panning example to explain the idea behind panning.
The problem with simple linear panning is that when it reaches the middle; between left and right, it divides the volume by half, sending 0.5 to one speaker and the other 0.5 to the other speaker.
The square root panner does the proper sound reduction but when the sound is panned to one of the speaker the other speaker goes silent. We need to treat the spectrum as a circular shape that surrounds our ears from all sides. Lets take a loop at the cosine panner, it deals properly with sound reduction and it has the proper shape of movement.
** show examples
Lets think about the idea of cross faders together and try to create it.
From everything that we learned lets create a file recorder and a loop player.
create a sequencer

--- 1 hour ---


DAY 4:
-techniques:
strategic production is understand what we need to build and the strategy of it. You are going to need to research a lot, then jump to model making which is designing the idea. Choose your method and start implementing it, next you place your media in the finished product, you test it and maybe one day you will be required to visit it so don't forget to leave comments here and there as reminders.

Building models takes a lot of analysis, as i said it takes time and patience. You need to analyze the thing you want to create, how it acts and what it does. Analyze the waveform, how the envelope shapes, the spectrum, the physics of it and its parameters
---- 1 hour ----
-examples:
Additive synthesis
Wavetable synthesis
Nonlinear functions and wave shaping
Modulation - amplitude modulation, adding sidebands, single sideband modulation and frequency modulation.
Granular synthesis, its types and time and pitch alteration
---- 90 minutes -----

-game audio:
Games are written as objects as well, whatever happens in the game controls the sound coming out. So lets say we have two buttons if we press the right one it produces a sound and if we press the other it produces another sound that we lost.
** show examples
---- 30 minutes -----



DAY 5: time depends on amount of participants
- final project presentation

• Show and discuss your project in class, we can spend about 8 minutes per presentation.
◦ 8 minutes per project
◦ one sentence about your idea
◦ show your project
◦ talk about one thing that felt natural or good in Pd
◦ talk about one thing that was frustrating


|ملاحظات=- recreating sounds through out workshop:
recreate artificial sounds like pedestrian, phone tone, phone button tones, alarm generator and police siren.
recreate Idiophonic sounds (sound that is created by interaction between objects like hits, scratches, rubbing, etc…): telephone bell, bouncing ball, rolling ball, creaking door and a spring boing sound.
recreate natural sounds like fire, bubbles, running water, pouring water, rain, electricity, thunder and wind.
recreate machine sounds like switches, clocks, motors, cars, fans, jet engines and helicopters.
recreate lifeforms like footsteps, insects, birds and mammals
recreate mayhem like guns, explosions and rocket launcher
recreate sci-fi sounds: transporter, R2D2, red alert, cover image sources
}}
{{جلسة نشاط
|مكان التنفيذ=
|الإنجازات=
|الأدوات=
|خامات=
|مطبوعات=
|وسائل إيضاح=
|تحضير ما قبل الجلسة=
|الخطوات التفصيلية للجلسة=
|ملاحظات=
}}
{{جلسة نشاط
|مكان التنفيذ=
|الإنجازات=
|الأدوات=
|خامات=
|مطبوعات=
|وسائل إيضاح=
|تحضير ما قبل الجلسة=
|الخطوات التفصيلية للجلسة=
|ملاحظات=
}}
{{جلسة نشاط
|مكان التنفيذ=
|الإنجازات=
|الأدوات=
|خامات=
|مطبوعات=
|وسائل إيضاح=
|تحضير ما قبل الجلسة=
|الخطوات التفصيلية للجلسة=
|ملاحظات=
}}
{{ملاحظات نشاط}}
staff
52

تعديل

قائمة التصفح