ค ม อ การใช งานโปรแกรม SAM Broadcaster - PDF

Description
ค ม อ การใช งานโปรแกรม SAM Broadcaster น ยม ประท มมา ฝ ายเทคน คว ศวกรรม ศ นย นว ตกรรมและเทคโนโลย การศ กษา มหาว ทยาล ยเทคโนโลย ส รนาร สารบ ญ หน า ร จ กโปรแกรม SAM Broadcaster 1 หน าต างหล กของ SAM Broadcaster

Please download to get full document.

View again

of 46
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Information
Category:

Medicine, Science & Technology

Publish on:

Views: 83 | Pages: 46

Extension: PDF | Download: 0

Share
Transcript
ค ม อ การใช งานโปรแกรม SAM Broadcaster น ยม ประท มมา ฝ ายเทคน คว ศวกรรม ศ นย นว ตกรรมและเทคโนโลย การศ กษา มหาว ทยาล ยเทคโนโลย ส รนาร สารบ ญ หน า ร จ กโปรแกรม SAM Broadcaster 1 หน าต างหล กของ SAM Broadcaster 2 การเป ด/เพ มเพลงลงในค ว 2 การใช งานในโหมดอ ตโนม ต 10 การใช งานในโหมดค วเพลง 11 การท างานของ PAL Script 15 2 P age ค ม อ การใช งานโปรแกรม SAM Broadcaster น ยม ประท มมา ฝ ายเทคน คว ศวกรรม ศ นย นว ตกรรมและเทคโนโลย การศ กษา มหาว ทยาล ยเทคโนโลย ส รนาร ร จ กโปรแกรม SAM Broadcaster SAM (Streaming Audio Manager) เป นโปรแกรมการบร หารจ ดการ ควบค มการออกอากาศรายการว ทย การจ ดรายการสดของด เจหร อการร อยรายการว ทย เพ อการกระจายเส ยงแบบอ ตม ต นอกจากน สามารถจ ดท า เป นว ทย ออนไลน ได ด วย ประส ทธ ภาพของโปรแกรม ระบบการควบค มเส ยง เช น การค อยๆ ลด/เพ มเส ยง (Crossfade) การข ามช วงท เส ยงเง ยบ (Gap killer) การปร บระด บเส ยงให เหมาะสม (Volume normalization) และม 5 แถบ ปร บค าเส ยง (5-band compressor and limiter) ระบบคล งข อม ลไฟล เพลง/เส ยง (Media Library/Playlist) สามารถจ ดการเพลงจ านวน มากๆ ให เป นหมวดหม (Category) ค นหาได สะดวก รวดเร วจากข อม ลไฟล เพลง (Song information) ระบบการด าเน นรายการสถาน แบบอ ตโนม ต โดยการต งค าเง อนไขการเล นไฟล เพลง/เส ยง (Playlist Rotation Rules) แบบต อเน อง(Auto DJ Mode) การเข ยนช ดค าส งพาลสคร ปต (PAL Script) ร วมก นก บการร อยรายการจากไฟล Playlist Audio File (.m3u) เพ อการ ออกอากาศสถาน ว ทย แบบอ ตโนม ต ระบบการเช อมต อก บอ นเตอร เน ตเพ อการกระจายเส ยงผ านเว บ(Streaming) จ ดท าเป นว ทย ออนไลน 3 P age หน าต างหล กของ SAM Broadcaster ประกอบด วย 3 หน าหน าต างหล ก ค อ Desktop A, Desktop B และ Desktop C ร ป 1. หน าต างหล ก ค าอธ บาย Desktop A เบ องต น ต าแหน ง 1 (Deck A) และ 2 (Deck B) เป นช องควบค มเพลงหร อไฟล เส ยงท เล นอย และเพลง ถ ดไปสล บก นไปแบบต อเน องก น ต าแหน ง 3 Playlist รายช อเพลงไว ส าหร บเล อกเพลงเข าค ว ต าแหน ง 4 Queue ค วเพลงไว รอเล น ต าแหน ง 5 History เพลงท เล นไปแล ว โดยสามารถลากไปวางในค วเพ อให เล นซ าใหม ได 4 P age Player DJ Mode ร ป 2. โหมดด เจ โหมดด เจ (DJ Mode) ได แก Auto DJ Mode เป นการเล นเพลงจากการก าหนดท Playlist Rotation Rules มาเล นได เองแต ถ าม เพลงอย ในค วจะเล นให ก อน Play Queue เป นการเล นเฉพาะเพลงท อย ในค วเท าน น Manual DJ เป นการเล นเพลงตามการส งเอง เพลงต อเพลงแบบไม ต อเน อง เหมาะส าหร บการจ ด รายการสด Auto recovery โหลดและเล นเพลงโดยอ ตโนม ต ถ า SAM ถ กหย ดช วคราวหร อหย ดท างาน เน องจากสาเหต บางอย าง การเป ด/เพ มเพลงลงในค ว จากส วน Queue โดยการน าเข า (Add) เพลง เพ อน ารายการเพลงเข ามาเป ดในโปรแกรม นอกจากน ย งสามารถใช เม าส ลากมาวาง (Drag and Drop) จาก Playlist หร อจากโฟลเดอร ในว นโดวส มาได เลย การ จ ดการเพลงในค วสามารถเพ ม/ลบ/ค นหา/บ นท ก/เร ยงจ ดล าด บเพลงเล นก อนหล งได ตามต องการ เพ ม เล นเพลงต อไปท นท ลบ ค นหา ร เฟรช บ นท ก เพ มจาก Playlist Rotation Rules ร ป 3. การควบค มเพลง 5 P age ร ป 4. การเพ ม/ลบเพลง 6 P age คล กขวา ร ป 5. การจ ดการเพลงในค ว ร ป 6. การค นหาเพลง 7 P age การใช งาน Deck A / Deck B ท ควรทราบ ร ป 7. Deck A / Deck B ป มควบค มการเลนเพลง ตามล าด บได แก 1. Play/Pause เล นเพลงและหย ดเพลงช วขณะ 2. Stop หย ดเพลงแล วเร มต นใหม 3. Load next track เล อกเพลงต อไป 4. Seek to Cue point เล อนเพลงกล บไปนาท ท เร ม (Start) 5. Eject หย ดเล นเพลงและน าเพลงของจาก Desk 6. Fade to next song การ fade เพลงต อไป โดยเพลงค อยๆ ลดความด งลง เพ อท จะได fade ก บเพลงใหม ได 7. EQ ตกแต งค าเส ยงต างๆ (Equalizer) ของ Desk 8. Match beat with other desk ค อการปร บเส ยงต างๆ ให เข าก บ desk อ นๆ 8 P age 1 2 ร ป 8. การปร บเส ยง ป มปร บเส ยง 1. V(Voice) ต วปร บเส ยงด ง/เบา P(Pitch) ต วปร บความไวท าให เพลงเร ว/ช า T(Tempo) ต วปร บโทนเส ยงเพลงส ง/ต า 2. เล อนแถบข น/ลง การก าหนดค าลด/เพ มเส ยงจาก Deck A / Deck B File Config ต วอย างด งร ป ร ป 9. การปร บเส ยง Crossfade 9 P age การก าหนดการข ามเส ยงเง ยบ (Gap Killer) File Config ต วอย างด งร ป ร ป 10. การก าหนด Gap Killer การน าไฟล เส ยงหร อเพลงเข าเก บใน Playlist Playlist เป นระบบบร หารจ ดการเพลงหร อไฟล เส ยงต าๆง ให เป นหมวดหม (Category) 1.คล กขวา Playlist New 10 P age 2.พ มพ ช อหมวดหม 3.คล กเพ มไฟล เพลง ร ป 9. การใช งาน Playlist ร ป 10. การลากไปวางในค ว 11 P age การใช งานในโหมดอ ตโนม ต (Auto DJ Mode) เหมาะส าหร บการเป ดเพลงหร อไฟล เส ยงแบบต อเน อง ม ข นตอนการก าหนดค า ด งน 1. ก าหนดโหมดเป น Auto DJ Mode 2. น าเพลงเข าค ว (หากต องการให เล นในค วก อน) หร อ 3. การก าหนดค าใน Playlist Rotation Rules การก าหนด Playlist Rotation Rules ส าหร บ Auto DJ Mode File Config Playlist Rotation Rules (ในท น เล อกแบบ Clockwheel ) ด งร ป เราสามารถเล อก ต าแหน งท เก บ เพลงหร อไฟล เส ยงได เช น +Category ร ป 11. Playlist Rotation Rules 12 P age การใช งานในโหมดค วเพลง (Play Queue) ร วมก นก บการเข ยนช ดค าส ง PAL Script เพ อควบค มการ ออกอากาศของสถาน ว ทย แบบอ ตโนม ต PAL Script PAL ย อมาจาก Playlist Automation Language ค อ ภาษาคอมพ วเตอร ท ใช ในการควบค มล สต การ เป ดเพลงหร อไฟล เส ยงอย างอ ตโนม ต (อ างอ ง: PAL) ต วอย างการเข ยนช ดค าส ง PAL Script อย างง าย (1) 1. ท Desktop B 2. ท หน าต าง PAL Scripts ด งร ป คล กตรงเคร องหมายบวก( + ) จะปรากฎ ด งร ป พ มพ ช อไฟล 13 P age 5-8. เป ดไฟล หร อ สร างไฟล ใหม (กรณ ย งไม ม ไฟล ) P age 9. จะปรากฎช อไฟล ท ว นโดว PAL Script จากน นเล อกไฟล ด งกล าว ให คล กเม าส ขวาและเล อก Edit จะปรากฎว นโดว PAL Scripting IDE ด งร ป ร ป 12. การเข ยน PAL Script 10. ทดลองพ มพ ค าส งตามต วอย างข างบน ค อ WriteLn('Hello world!'); 11. คล กป ม Run (หร อกดแป น [F9]) 12. จะได ผลล พธ Output ด งร ปข างบน 15 P age ต วอย างการเข ยนช ดค าส ง PAL Script อย างง าย (2) กรณ โหมดด เจเป น Play Queue และเพลงท ค วว าง โปรแกรม SAM จะหย ด play ท นท เพ อป องก น การหย ด play ด งกล าว จ งได เข ยนสคร ปต ต อไปน เพ อการเพ มเพลงหร อไฟล เส ยงจาก Category ใน Playlist เข าส ค วเพลง 16 P age การท างานของ PAL Script ระบบออกอากาศ SUTStation FM 99.5 MHz { init path for station file location } WriteLn('Start Script '+DateTimeToStr(Now)); // ก าหนด function ต างๆ เพ อ ใช ใน script function IsActivePlayer:Integer; forward; // ส าหร บส งให เล นเพลงในค วกรณ ท หย ดเล นท งสอง Deck function PlayNow(StrPath : String):Integer; forward; // ส าหร บเล นเพลงตามค วท ก านหนดโดยท นท function PlayMusicAtTimeNow(strTime:String):Integer; forward; // ส าหร บเล นเพลงตามค วท ก านหนดโดยไม แทรกไพล Jingle function PlayMusicAtTime(strTime:String):Integer; forward; // ส าหร บเล นเพลงตามค วท ก านหนดโดยแทรกไพล Jingle function IsQueueEmpty:Integer; forward; // ส าหร บเพ มไพล เพลงในค วเม อในค วม น อยกว า 10 รายการ function FillupCategories(Cats : String):Integer; forward; //ส าหร บเพ ม Jingle หร อSpot ตามท ก าหนด // Constance and Variable // ก าหนดต วแปรท ใช ใน script ส าหร บก าหนด path ต างๆ const stationpath : String = 'd:\station\'; //ก าหนด path ส าหร บจ ดเก บไพล ค วเพลง const MusicPath : String = 'd:\music'; //ก าหนด path ส าหร บจ ดเก บไพล เพลง const ThammaPath : String = 'd:\thamma'; //ก าหนด path ส าหร บจ ดเก บไพล เพลงธรรมมะ // ก าหนดต วแปรท ใช ใน script ส าหร บก าหนดช อโพล เดอร ท ใช const Jingle : String = 'Jingle'; 17 P age const Spot : String = 'Spot'; const SpotEvent : String = 'SpotEvent'; const Thamma : String = 'Thamma'; // ก าหนดต วแปรท ใช น บค ว var qcount : Integer = 0; var qcounttmp : Integer = 0; // ก าหนดต วแปรท ใช ก าหนด path ท ใช ส าหร บส งงานไปย งอ ปกรณ เล อกส ญญาณเส ยง const statuspath : String = 'c:\status.txt'; //for week playlist // ก าหนดต วแปรท ใช ก าหนด path ท ใช ส าหร บค วเพลงตามว น var Day: Integer; Day := DayOfWeek(Now); const WeekPath : String = 'SUTStation_Week_Playlist\'; // ก าหนด path ส าหร บเก บไพล ค วเพลงตามว น var stationweekpath: String; //ใช ส าหร บเก บต วแปรก าหนดไล ค วเพลงท เล อกตามว นแล ว { ============================================================ } //ส วนส งค าส งไปย งอ ปกรณ ควบค มการเป ด/ป ด เคร องส งว ทย โดย //ถ าอย ในช วงเวลาท เป ดสถาน ส งเป ด ถ านอกแวลาให ป ด if (Now = T['05:44:59']) and (Now = T['20:03:59']) then 18 P age strtofile(statuspath, 'O'); // อย ในช วงเวลา ให เป ด if (Now = T['05:44:59']) or (Now = T['20:03:59'])then strtofile(statuspath, 'F'); // อย ในช วงเวลา ให ป ด { ============================================================ } // ส วนก าหนดไพล ค วตามว น โดยตรวจสอบว นจากระบบแล วก าหนดไฟล ค วตามว นป จจ บ น if (Day = 1) then stationweekpath := stationpath + WeekPath + '01sun\'; //ก าหนดให ใช ไฟล ค วของว นอาท ตย if (Day = 2) then stationweekpath := stationpath + WeekPath + '02mon\'; //ก าหนดให ใช ไฟล ค วของว นจ นทร if (Day = 3) then stationweekpath := stationpath + WeekPath + '03tue\'; //ก าหนดให ใช ไฟล ค วของว นอ งคาร if (Day = 4) then stationweekpath := stationpath + WeekPath + '04wed\'; //ก าหนดให ใช ไฟล ค วของว นพ ธ if (Day = 5) then stationweekpath := stationpath + WeekPath + '05thu\'; //ก าหนดให ใช ไฟล ค วของว นพฤห สบด if (Day = 6) then 19 P age stationweekpath := stationpath + WeekPath + '06fri\'; //ก าหนดให ใช ไฟล ค วของว นศ กร if (Day = 7) then stationweekpath := stationpath + WeekPath + '07sat\'; //ก าหนดให ใช ไฟล ค วของว นอเสาร { ============================================================ } writeln(stationweekpath); IsQueueEmpty; IsActivePlayer; // Get Last Song To Play // เล อกไฟล เพลงล าส ดท เป ดไปก อนท จะป ดโปรแกรม var count : Integer = 0; var Q : TDataSet; var LastSong : String; Q := Query('SELECT filename FROM songlist ORDER BY date_played DESC',[],True); Q.First; while count = 1 do 20 P age WriteLn(Q['filename']); Queue.AddFile(Q['filename'],ipTop); count := 1; Q.Next; { ====================== 05:45 =========================== } // เม อระบบถ งเวลา 05:45 หร ออย ในช วงเวลาน ให น าไฟล ค วเพลงในโฟล เดอร 0545 เข าในค ว while (Now = T['00:00:05']) and (Now = T['05:44:59']) do WriteLn('Wait for 05:45:00'); PAL.WaitforTime(T['05:45:00']); strtofile(statuspath, 'O'); PlayMusicAtTime('0545'); { mod by ball } // ในส วนน แก ไขป ญหาอ ปกรณ ควบค มการเป ด/ป ด เคร องส งว ทย ไม ตอบสนอง ให ส งค าส งใหม ตรวจสอบ 3 คร ง //คร งท 1 if (Now = T['05:44:59']) and (Now = T['20:03:59']) then 21 P age strtofile(statuspath, 'O'); if (Now = T['05:44:59']) or (Now = T['20:03:59'])then strtofile(statuspath, 'F'); PAL.WaitForTime('+00:00:03'); //คร งท 2 if (Now = T['05:44:59']) and (Now = T['20:03:59']) then strtofile(statuspath, 'O'); if (Now = T['05:44:59']) or (Now = T['20:03:59'])then strtofile(statuspath, 'F'); PAL.WaitForTime('+00:00:03'); //คร งท 3 if (Now = T['05:44:59']) and (Now = T['20:03:59']) then strtofile(statuspath, 'O'); if (Now = T['05:44:59']) or (Now = T['20:03:59'])then strtofile(statuspath, 'F'); 22 P age { ====================== 06:00 =========================== } // เม อระบบถ งเวลา 06:00 หร ออย ในช วงเวลาน ให น าไฟล ค วเพลงในโฟล เดอร 0600 เข าในค ว while (Now = T['05:45:00']) and (Now = T['05:59:59']) do WriteLn('Wait for 06:00:00'); PAL.WaitforTime(T['06:00:00']); Queue.AddDir(stationPath + 'startstation\',false, iptop); ActivePlayer.FadeToNext; PAL.WaitForTime('+00:00:03'); Queue.AddList(stationWeekPath + '0600\0600.m3u', iptop); Queue.AddDir(stationWeekPath + '0600\',false, iptop); CAT[SpotEvent].QueueTop(smRandom,NoRules); CAT[Spot].QueueTop(smRandom,NoRules); CAT[Jingle].QueueTop(smRandom,NoRules); { ====================== 06:30 =========================== } // เม อระบบถ งเวลา 06:30 หร ออย ในช วงเวลาน ให น าไฟล ค วเพลงในโฟล เดอร 0630 เข าในค ว 23 P age while (Now = T['06:00:00']) and (Now = T['06:29:59']) do WriteLn('Wait for 06:30:00'); PAL.WaitforTime(T['06:30:00']); CAT[Thamma].QueueTop(smRandom,NoRules); Queue.AddDir(stationWeekPath + '0630\',false, iptop); ActivePlayer.FadeToNext; //PlayMusicAtTime('0630'); { ====================== 07:00 =========================== } // เม อระบบถ งเวลา 07:00 หร ออย ในช วงเวลาน ให น าไฟล ค วเพลงในโฟล เดอร 0700เข าในค ว while (Now = T['06:30:00']) and (Now = T['06:59:59']) do WriteLn('Wait for 07:00:00'); PAL.WaitforTime(T['07:00:00']); strtofile(statuspath, 'A'); //ส งให อ ปกรณ เล อกส ญญาณเส ยงเปล ยนเป นส ญญาณจาก สวท. Queue.AddList(stationWeekPath + '0700\0700.m3u', iptop); ActivePlayer.FadeToNext; 24 P age IsActivePlayer;
Related Search
Similar documents
View more...
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks