{"guid":"4bf29b50-aee1-490b-b85d-d087690d7201","title":"A Nokia 3310 Ringtone Player in Elm","subtitle":null,"slug":"bob2020-95-a_nokia_3310_ringtone_player_in_elm","link":"https://bobkonf.de/2020/liu.html","description":"In this talk we build a web application in Elm that\n\treads some good old school Nokia 3310 ringtones and plays them\n\tin a browser. We will explore how to write a parser to\n\tinterpret the Ring Tone Text Transfer Language (RTTTL) format\n\tand how to use modern Web Audio APIs to recreate those iconic\n\tsounds. We will conclude the talk by playing a selection of\n\ttunes, applying some effects and having a good time.\n\t","original_language":"eng","persons":["Ju Liu"],"tags":["bob2020","95","2020","Talk","BOB","BOBKonferenz"],"view_count":205,"promoted":false,"date":"2020-02-28T12:00:00.000+01:00","release_date":"2020-04-17T00:00:00.000+02:00","updated_at":"2026-03-28T03:15:03.830+01:00","length":2516,"duration":2516,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2020/95-hd.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2020/95-hd_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2020/95-hd.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2020/95-hd.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob2020-95-a_nokia_3310_ringtone_player_in_elm","url":"https://api.media.ccc.de/public/events/4bf29b50-aee1-490b-b85d-d087690d7201","conference_title":"BOB Konferenz 2020","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2020","related":[],"recordings":[{"size":27,"length":2516,"mime_type":"audio/opus","language":"eng","filename":"bob2020-95-eng-A_Nokia_3310_Ringtone_Player_in_Elm_opus.opus","state":"new","folder":"opus","high_quality":false,"width":0,"height":0,"updated_at":"2020-04-17T13:01:37.182+02:00","recording_url":"https://cdn.media.ccc.de/events/bobkonf/2020/opus/bob2020-95-eng-A_Nokia_3310_Ringtone_Player_in_Elm_opus.opus","url":"https://api.media.ccc.de/public/recordings/47246","event_url":"https://api.media.ccc.de/public/events/4bf29b50-aee1-490b-b85d-d087690d7201","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2020"},{"size":212,"length":2516,"mime_type":"video/webm","language":"eng","filename":"bob2020-95-eng-A_Nokia_3310_Ringtone_Player_in_Elm_webm-hd.webm","state":"new","folder":"webm-hd","high_quality":true,"width":1280,"height":720,"updated_at":"2020-04-17T12:55:20.684+02:00","recording_url":"https://cdn.media.ccc.de/events/bobkonf/2020/webm-hd/bob2020-95-eng-A_Nokia_3310_Ringtone_Player_in_Elm_webm-hd.webm","url":"https://api.media.ccc.de/public/recordings/47238","event_url":"https://api.media.ccc.de/public/events/4bf29b50-aee1-490b-b85d-d087690d7201","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2020"},{"size":91,"length":2516,"mime_type":"video/mp4","language":"eng","filename":"bob2020-95-eng-A_Nokia_3310_Ringtone_Player_in_Elm_sd.mp4","state":"new","folder":"h264-sd","high_quality":false,"width":720,"height":576,"updated_at":"2020-04-17T12:54:49.926+02:00","recording_url":"https://cdn.media.ccc.de/events/bobkonf/2020/h264-sd/bob2020-95-eng-A_Nokia_3310_Ringtone_Player_in_Elm_sd.mp4","url":"https://api.media.ccc.de/public/recordings/47237","event_url":"https://api.media.ccc.de/public/events/4bf29b50-aee1-490b-b85d-d087690d7201","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2020"},{"size":134,"length":2516,"mime_type":"video/webm","language":"eng","filename":"bob2020-95-eng-A_Nokia_3310_Ringtone_Player_in_Elm_webm-sd.webm","state":"new","folder":"webm-sd","high_quality":false,"width":720,"height":576,"updated_at":"2020-04-17T12:54:29.602+02:00","recording_url":"https://cdn.media.ccc.de/events/bobkonf/2020/webm-sd/bob2020-95-eng-A_Nokia_3310_Ringtone_Player_in_Elm_webm-sd.webm","url":"https://api.media.ccc.de/public/recordings/47236","event_url":"https://api.media.ccc.de/public/events/4bf29b50-aee1-490b-b85d-d087690d7201","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2020"},{"size":38,"length":2516,"mime_type":"audio/mpeg","language":"eng","filename":"bob2020-95-eng-A_Nokia_3310_Ringtone_Player_in_Elm_mp3.mp3","state":"new","folder":"mp3","high_quality":false,"width":0,"height":0,"updated_at":"2020-04-17T12:54:06.447+02:00","recording_url":"https://cdn.media.ccc.de/events/bobkonf/2020/mp3/bob2020-95-eng-A_Nokia_3310_Ringtone_Player_in_Elm_mp3.mp3","url":"https://api.media.ccc.de/public/recordings/47235","event_url":"https://api.media.ccc.de/public/events/4bf29b50-aee1-490b-b85d-d087690d7201","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2020"},{"size":156,"length":2516,"mime_type":"video/mp4","language":"eng","filename":"bob2020-95-A_Nokia_3310_Ringtone_Player_in_Elm_hd.mp4","state":"new","folder":"h264-hd","high_quality":true,"width":1280,"height":720,"updated_at":"2020-04-17T12:52:29.458+02:00","recording_url":"https://cdn.media.ccc.de/events/bobkonf/2020/h264-hd/bob2020-95-A_Nokia_3310_Ringtone_Player_in_Elm_hd.mp4","url":"https://api.media.ccc.de/public/recordings/47232","event_url":"https://api.media.ccc.de/public/events/4bf29b50-aee1-490b-b85d-d087690d7201","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2020"}]}