260 likes | 430 Views
Radio Automation System. Developed by. Ibrahim Dwaikat & Mais Abu- Higleh. Introduction. It provides a solution for the Radio Stations to broadcast the programs, songs, spots and other things without the need for managing these things manually.
E N D
Radio Automation System Developed by Ibrahim Dwaikat & Mais Abu-Higleh
Introduction • It provides a solution for the Radio Stations to broadcast the programs, songs, spots and other things without the need for managing these things manually. • It is a software that works automatically, and approximately it does not need the user a lot, just fill the database with songs, spots, jingles, programs….etc, then configure the scheduler for one week and will work for ever. • It supports automatic broadcasting and manual broadcasting, also it supports live broadcast from microphone or telephone or other multimedia devices.
Songs • A song is a musical composition. Songs contain vocal parts that are performed with the human voice and generally feature words (lyrics), commonly accompanied by other musical instruments. • A song can be putted in categories, you can also add a Alternative category1 and/or Alternative category2 for it, because some songs can be categorized in more than one category. Each song may have a subcategory1 and subcategory2. For example a song can be in main category "Pop" and subcategory1 "Old Pop" and subcategory2 "1970". Of course the main categories, subcategories1 and subcategories2 can be defined, added edited and deleted by the user, there are no limitations. • Also In each song you can enter the song name, surname, song album and singer sex.
Songs (cont…) • The priority is how many times the song will be played, for example the priority of song A is 10, and B is 3; this means that A will be played 10 times but song B will be played 3 times. The priority (or can be called the Rank) can be increased by the Radio Listeners by sending SMS to the system, this SMS contains the code number of the song, because each song has a code that can be said before playing the song, you can enable the code reading or disable it for each song when you add the song or when you edit it. You can enable or disable saying all song's codes from the settings, also you can change the language of the code from the settings (English or Arabic).
Spots • Spots (or may called commercials) is something like payed advertisements, it is a full advertisement with the voice and the background music , it played from some date to another date, and the days can be determined, also broadcast time can be set. The cost can be calculated according to the number of seconds of the spot, or how many times the spot will be broadcast (charge per second or charge per spot).
Sweepers • A sweeper sound file is just the speech without the background music, the sweeper is mixed with the songs during the broadcasting. You can choose the song category and subcategory to mix the sweeper with. • Also you can choose one song to mix the sweeper with.
Jingles • Jingle is an announcement or internal advertisement for the radio station. It is a full advertisement; speech with background music. You can choose which day(s) to broadcast the jingle, also the hour(s) that the jingle will be played on. For example if you choose 11:00AM this means that the jingle will be played in the period between (11:00AM-11:59AM).
Instants • Instants is a small duration files that you can play while Broadcasting, you can run them mixed or one each time. • You can define files for each group and you can also define groups.
Programs • Programs is the regular programs that the radio station broadcast, you can put a program and the episodes of the program. Of course you can choose the surname of the program.
Qur'an • Actually we deal with Qur'an files as a special case of programs, but IRAS studio will play Qur'an file in sequence, without looking for the Surname or the another else. For example if ShiekhSudees read (Surat Al-fatiha), the next time IRAS will play Qur'an it will play (Surat Al-Baqara) , whatever the Shiekh.
Programs Packets • Every program needs intro music of sound file before broadcasting the program and/or after playing it. The Radio station must not add this intro to the program itself, they can make a separate file for intro, then by Programs Packets they can add it, and choose which category of programs, and may select also the program itself. You can add packet before and/or packet after the program.
Songs Packets • Some time you may need to broadcast at specific times per week a category and a subcategory of songs, with limited number of songs, and before broadcasting it, you need to broadcast: "Now we will broadcast pop for you", the Songs packets gives you the solution for that, choose the packet, category and subcategory and the priority range of the songs, and the time (per week) to broadcast and the number of songs to play.
Playlists • Sometime you need to play a specific order of songs, spots and jingle in someday, you need to prepare it before broadcasting time and save it so it will be played automatically, this is the playlists.
Pray (Al-Athan) • As its name shows, Al-Athan will be automatically played when the pray time enter. Of course you can enable or disable it from the settings. The times of Athan is calculated using many equations, so you can use IRAS in any place of the world, just choose which city you are in. There are two types of Athan files, Dawn and normal, you can change the files for them
Auto Scheduling • Here you can set the times for broadcasting (songs and programs), for example you can set that you will play (Rock) category with (1990) subcategory in Saturday between 2:00PM – 2:20PM and you will play some Program between 2:20PM – 3:00PM. Also here you can set Qur'an time(s).
Rotation • When playing songs period, jingles and sweepers can be added, so you can set the order of playing it, like (Jingle then Song then Song with sweeper … etc). You can choose rotation for anytime of the week. If you don’t enter anything the default rotation will be taken: Song, Song, Song, Jingle, Song+Sweeper.
Fade mix • The fade mix means that when two songs played in sequence (one after another) a mixing will happen. This mix makes song1 volume fade out while song2 volume fades in.
File Confirm • For each type of sound files (song, jingle…. etc) there are a wizard that you can use to check if the files exists on the hard disk, and then you determine what to do: disable it so they will remain in the database but never played, or delete from the database, or do nothing.
Timing • Each sound file you entered has timing settings. These settings include Start time, so that you can set the place where you want the sound file start playing. • Mix time means the place that the sound file will stop. • Intro time is the time between start and mix, in the period between start and intro you can play the sweepers.
Why did we use…? • Why did we use C#? • C# was derived from the C/C++ family of programming languages. C# was designed to overcome the limitations of both languages. • C# and .Net in general has access to all the DLL files (while java hasn't). • C# and .Net environment manage memory allocation. • C# was designed to work with Windows, and our application uses Access database which runs under Windows. • Our skills is very good in C#.
Why did we use…? • Why did we use MS-Access database? • our data must be easily portable. Since Access is a local based program, we can take data wherever we like by just copying the file into a disk. • We only need single user access to database • The performance of Access is good for our application. • Its compatible with SQL (structured query language). • Access databases can be locked/protected to be secured to prevent from external changes
IRAS Features • Multiple soundcards • Reading ID3 for MP3 files • Pray time calculations • Huffman coding (For backup and recovery) • SMS messages • Registration and activation • Code reader languages • Themes • Files Converter • Sound Recorder • Mixer • Volume Meter • Small website
Things we didn’t do • Streaming via network • Causes: • We didn’t know client IPs (Solved by requests) • We can’t send on the same port(By threads) • We can’t generalize the streaming format (like audio streaming format asf ) • Streaming Server is a complete project. • So, do a perfect thing or provide nothing