After buying a set of Sonos-compatible speakers at IKEA, I was disappointed there's no support for playing audio from a popular video streaming service. They stream Internet radio, podcasts and what not. Well, not that service I want it to play!
Determined - and not knowing how deep the rabbit hole would be - I ventured on a trip that included network sniffing on my access point, learning about UPnP and running a web server on my phone (without knowing how to write anything Android), learning how MP4 audio is packaged (and has to be re-packaged). This ultimately resulted in an Android app for personal use, which does what I initially wanted: play audio from that popular video streaming service on Sonos.
Join me for this story about an adventure that has no practical use, probably violates Terms of Service, but was fun to build!
The document provides definitions for various audio and sound design terms. It includes a glossary with over 20 terms defined, along with the relevance of each term to the author's own production practice. Some of the key terms defined include foley artistry, sound libraries, audio file formats like .wav and .aiff, lossy compression, digital sound processors, mono vs stereo audio, MIDI, software sequencers, and MIDI keyboard instruments. For each term, the author provides a short internet definition and describes how the concept relates to their own work in games design sound production.
The document is a glossary of terms related to sound design and production for computer games. It contains definitions for terms like Foley artistry, sound libraries, file formats like .wav and .aiff, compression types, audio hardware like sound cards, and sampling concepts. For each term, the student provided a short definition from an online source as well as how the term relates to their own production work for the course.
The document is a glossary of terms related to sound design and production for computer games. It contains definitions for over 20 key terms with URLs linking to where the definitions were obtained. For each term, the student also provides a short explanation of how the term relates to their own production practice, such as using sound libraries to add pre-made sounds to their work in GTA. Common file formats, limitations of audio hardware, recording systems, MIDI, sampling, and other core concepts are defined and linked to the student's projects.
Ig2 task 1 work sheet (glossary) steph hawkins revisited
The document is a glossary of terms related to sound design and production for computer games. It contains definitions for over 20 key terms, sourced from online references. For each term, the student also provides a brief description of how the term relates to their own production practice, such as formats and file types used, software and hardware employed, and recording and editing techniques.
This document contains a glossary of terms related to sound design and production. It defines terms like foley artistry, sound libraries, file formats like .wav and .mp3, audio limitations involving sound processor units and digital sound processors, audio recording systems, audio sampling concepts, and how they relate to the student's own production practice of manipulating sounds to create new sounds. The student researched definitions for each term and explained how some of the concepts, like using MIDI keyboards and sound sequencers, directly applied to their work, while other terms they were unfamiliar with or did not use in their projects.
The document summarizes the Propellerhead Thor app for iPad. It states that the app is an exact remake of the desktop version of Thor synthesizer with the same sound engine and basic functionality. It includes 6 wavetypes, 3 filters, 3 envelopes, and 2 LFOs, providing scope for sound design. It also has a routing screen to create signal chains and a 16 step sequencer for arpeggios and loops.
Nathan Mather has produced a glossary of terms related to sound design and production. The glossary contains definitions for terms such as foley artistry, sound libraries, uncompressed audio files, .wav files, .aiff files, .au files, .smp files, lossy compression, .mp3 files, sound processor units, digital sound processors, random access memory, mono audio, stereo audio, and surround sound. For each term, Nathan provides a short definition from an online source as well as his own experience with how the term relates to his production practice.
This document contains a glossary of terms related to sound design and production for computer games. It provides definitions for terms like foley artistry, sound libraries, audio file formats like .wav and .mp3, audio limitations such as sound processor units and random access memory, mono/stereo/surround sound, audio recording systems like analog and digital audio tape, MIDI, software sequencers and plugins, and concepts in audio sampling like bit-depth and sample rate. For each term, the student provided an internet definition and described its relevance to their own production practice where possible.
The document is a glossary created by a student for a sound design course. It contains definitions for over 20 audio and sound design terms, sourced from online references. For each term, the student provides a short definition along with a discussion of how the term relates to their own production work. The glossary covers areas such as file formats, recording and playback systems, sampling, and audio software. The student's production practice involves using software like Reaper to create sound effects, jingles and other audio for a games design project.
1) The document is a glossary of terms related to sound design and production for computer games. It provides definitions for various terms gathered from online research and describes how each term relates to the author's own production practice.
2) Key terms defined and discussed include file formats like .wav and .mp3, audio hardware like sound cards and MIDI keyboards, recording techniques like sampling and bit depth, and software tools like plug-ins and sequencers.
3) The author explains which terms are relevant to their own work creating sound effects, such as using uncompressed .wav files and stereo/surround sound, and which terms do not apply to their process, like formats for CDs/DVDs.
This document provides an overview of the architecture and components used in an AI assistant called Otto. It describes the base software including Docker, Node.js, and MongoDB. It also outlines the natural language processing, speech recognition, text-to-speech and other modules. It details the client and messaging bot architectures and includes information on I/O drivers, actions, fulfillments and the overall workflow. Finally, it lists some example intents and provides guidance on developing new actions and the hardware used including the Raspberry Pi, Re-Speaker mic HAT and power components.
Getting Started with B2B Podcasting: A not-too-techy guide for first-time pod...
In this tech-light Slideshare you'll have the chance to find out what you need to get a podcast started for your business. From web hosting to recording, editing to uploading.
This document provides an overview of programming the Raspberry Pi by walking through setting it up, flashing an SD card, logging in, using the text editor JOE to write "hello world" programs in Python and C, downloading more complex examples, and configuring display settings. Key steps include downloading an OS image, flashing the image to an SD card, logging in with the username "pi" and password "raspberry", using JOE to write and run simple programs, and editing the configuration file to control settings like screen resolution. The goal is to demonstrate the basic workflow for getting started with programming on the Raspberry Pi.
Java Device I/O at Raspberry PI to Build a Candy Vending Machine
Learn about DK 8 and Device I/O Library
Also, see the lab how to install from scratch Rasbian, JDK 8, Device I/O on a RaspberryPi.
See the code from github and build your own machine
This document is a glossary produced by a student at Salford City College for a BTEC Extended Diploma in Games Design unit on sound for computer games. It contains definitions of over 20 key terms related to sound design and production that were researched from online sources. For each term, the student provided a short definition from their research along with a URL source, and also described how the term relates to their own production practice.
This document contains a glossary of terms related to sound design and production for computer games. It provides researched definitions from online sources for terms like Foley artistry, sound libraries, file formats like .wav and .aiff, compression types, audio hardware limitations, recording systems, MIDI, sampling, and more. For each term, it also describes the relevance to the author's own production practice, such as how sound libraries are used to store sound effects for use in projects.
The document is a glossary of terms related to sound design and production for computer games. It contains definitions for terms like Foley artistry, sound libraries, uncompressed audio, WAV and AIFF file formats, lossy compression, MP3 files, sound cards, digital sound processors, RAM, mono audio, stereo audio, surround sound, PCM, analog audio, digital mini discs, and compact discs. For each term, it provides a short internet-sourced definition and links, as well as describing the relevance of the term to the author's own production practice where possible.
The document is a glossary created by Robert Hillard-Linney for a unit on sound design and production. It contains definitions for over 20 key terms related to sound design methodology, file formats, audio limitations, audio recording systems, audio sampling, and MIDI instruments. Each definition includes a short researched definition from an online source and Robert's description of how the term relates to his own production practice.
The document provides definitions for terms related to sound design and production. It includes a glossary with terms like Foley artistry, sound libraries, sound file formats (.wav, .aiff, .au, .smp), and lossy compression. For each term, it provides a short definition from an online source and describes how the term relates to the author's own production practice.
Tom Crook produced a glossary of terms related to sound design and production for a games design course. The glossary defined 15 key terms and described how each term relates to Tom's own production practice. The terms included definitions for Foley artistry, sound libraries, uncompressed files, .wav and .aiff file formats, lossy compression, MP3 files, sound processor units, digital signal processors, RAM, mono and stereo audio, surround sound, pulse code modulation, analogue and digital audio recording, and compact discs.
The document is a glossary assignment for a games design course requiring the student to research and define terms related to sound design and production. It contains definitions for over 20 terms with URLs citing the sources. The student provides brief explanations of how each term relates to their own production practice, such as using Foley artistry for sound effects, sound libraries for accessibility, uncompressed files for sharing audio, and mp3 for portability. Overall the document covers terminology for sound file formats, limitations, recording systems, sampling, and software.
This document contains a glossary of terms related to sound design and production for a games design course. It provides definitions for terms like Foley artistry, sound libraries, file formats like .wav and .aiff, audio limitations involving sound cards and processors, and other concepts. For each term, it gives a short definition from an online source and asks the student to describe how the term relates to their own production practice.
This document discusses adding multimedia elements like sound and video to HTML webpages. It covers potential issues with multimedia websites, different audio and video file formats, and provides code examples for embedding a sound clip and YouTube video. The lesson objectives are to explain multimedia website issues, embed sound, and embed a YouTube video. Students are assigned a task to add sound and video to an existing webpage.
The document provides definitions for various audio and sound design terms. It includes a glossary with over 15 terms defined, along with the relevance of each term to the author's own production practice. Some of the key terms defined include foley artistry, sound libraries, .wav and .mp3 file formats, audio limitations like mono vs stereo sound, audio recording systems such as analog and digital, MIDI, software sequencers, and concepts of audio sampling like bit depth and sample rate.
The document discusses the basics of podcasting, including:
1. Podcasts are syndicated audio or video files that can be played on devices like iPods or computers and allow users to subscribe to topics through RSS feeds.
2. Creating podcasts is easy - users record audio files, convert them to MP3 format, create an RSS feed, and host the files on a website.
3. Popular tools for creating podcasts include Gabcast, podOmatic, and Odeo which allow users to record and publish podcasts for free.
Kyle Fielding produced a glossary of terms related to sound design and production for a games design course. The glossary contains definitions for terms like Foley artistry, sound libraries, audio file formats like .wav and .aiff, lossy compression formats like .mp3, audio hardware limitations such as sound processor units and digital sound processors, and audio techniques including mono, stereo, and surround sound. Kyle explained how each term is relevant to his own production practice, such as using sound libraries to organize sounds and common file formats when saving and opening files.
The document is a glossary of terms related to sound design and production for computer games. It contains definitions for terms like Foley artistry, sound libraries, audio file formats like .wav and .mp3, limitations like mono audio, recording systems such as analog and digital, MIDI, software sequencers, and considerations for audio sampling like bit depth and sample rate. For each term, the student provided a short definition from an online source as well as how the term relates to their own production practice, such as using sound libraries to try different audio levels or saving files as .wav for flexibility.
Jordan Smith has produced a glossary of terms related to sound design and production for computer games. The glossary contains definitions for terms such as Foley artistry, sound libraries, audio file formats like .wav and .mp3, audio limitations including sound processor units and random access memory, audio recording systems like analog and digital, MIDI, software sequencers, and audio sampling concepts like bit depth and sample rate. For each term, Jordan has provided a researched definition from an online source as well as his own comments on the relevance of the term to his production practice where possible.
Audio ResourcesChoose one of them or any other of your c.docx
Audio Resources
Choose one of them or any other of your choice to record your voice with a short discussion of these ideas and how you might use SOUND in your Integrated Thematic Unit and how your ITU is progressing. Conclude by stating which application you are using to record, and save as a sound file to the Discussion Board.
Sound
Sound Technologies are available for classroom and training use via Windows, Apple, Microsoft Office, software, the WWW, Internet applications, APPs, etc. and can be created in many ways. This important multimedia component often brings new life and excitement into learning and is often neglected. Remember that research shows that the more senses stimulated, the greater the retention. Special Needs students benefit in many ways, as well.
FILE FORMATS
WAV or waveform
.wav
A file extension developed by IBM and Microsoft for a standard Microsoft audio file.
It is supported by all computers running Windows and by all the most popular web browsers. The WAVE format is one of the most popular sound formats on the Internet for music or speech.
Audio Interchange File Format
.aif or .aiff
A file most commonly used in Macintosh Operating System
Musical Instrument Digital Interface
.midi
A digitally synthesized sound file format for sending music between electronic music devices like synthesizers and PC sound cards. This interface was created in 1982 by the music industry; it is very flexible, ranging from very simple to real professional music making.
MIDI files are supported by all the most popular Internet browsers, software systems, and platforms. The downside of MIDI is that it cannot record sounds (only notes), or to put it another way, it cannot store songs, only tunes.
MIDI files do not contain sampled sound but a set of digital musical instructions (musical notes) that can be interpreted by your PC's sound card. The upside of the MIDI format is that since it contains only instructions (notes), MIDI files can be extremely small.
Via Wikipedia
Real Audio Media
.rm or .ram
These are two file extensions used for Real Audio players. The RealAudio format was developed for the Internet by Real Media. The format also supports video.
MP3
.mp3
MPEG-1 Audio Layer 3, more commonly referred to as MP3, is a digital audio encoding format using a form of lossy data compression. It is a common audio format for consumer audio storage, for the transfer and playback of music on digital audio players. MP3 is an audio-specific format that was designed by the Moving Picture Experts Group.
Applications (ideas for both PC and MAC)
Text to Speech
Make a choice under Voice selection. Preview Voice. Click Apply. You will hear this chosen voice when we open an application later. Under the Speech icon, you will find a tab Text to Speech (originally Text to Speech and Sound Recognition).
Siri
Voice Comments in Word *** cool functionality
Click on the sound icon on the right to insert comments for Word 2003.
Sound in Excel
...
The document is a glossary of terms related to sound design and production for computer games. It contains definitions for over 20 key terms, sourced from online references. For each term, the student also provides a brief explanation of how the term relates to their own production practice. The glossary covers areas such as sound file formats, audio limitations, recording systems, sampling and more.
1. The document is a glossary of terms related to sound design and production for computer games created by Joshua Crooke. It contains definitions of terms researched from various websites and describes how some of the terms relate to Joshua's own production practice.
2. The glossary includes terms like foley artistry, sound libraries, audio file formats (wav, aiff), audio limitations (sound processor unit, digital sound processor, RAM), mono/stereo audio, surround sound, audio recording systems (analogue, MIDI), software plug-ins, and constraints on audio sampling like bit-depth and sample rate.
3. Joshua recorded sound effects using an analogue recording system and edited sounds using software plug-ins in
Podcasting involves recording audio or video files and making them available for digital distribution over the Internet. Listeners can subscribe to podcasts using an RSS feed and download files to computers or mobile devices like MP3 players to listen to anytime. The document provides tips on how to create podcasts, including using free or low-cost audio and video recording and editing software on computers, planning content that is 10-20 minutes long, and considering audio quality and background noise when recording.
Porting a command line tool to Android involves cross-compiling the code using the Android NDK toolchain, which may require patching the code to address issues like different file paths, endianness, and library dependencies. While compiling and running static binaries is straightforward, dynamic binaries require position-independent executable (PIE) support added in Android 5. Calling native executables from Android code requires using Runtime.exec() or ProcessBuilder and parsing output streams. Special care needs to be taken to avoid security issues like command injection when passing untrusted inputs to native programs run as root on Android.
This document is a glossary of terms related to sound design and production for computer games. It contains definitions for terms like Foley artistry, sound libraries, audio file formats like .wav and .mp3, audio limitations regarding mono/stereo sound, audio recording systems, MIDI, software sequencers, and considerations for audio sampling like bit-depth and sample rate. Each term's definition includes a short description and a citation of the source. Accompanying each definition is a brief explanation from the student of how the term relates to their own production work.
Brandon McNamara produced a glossary of 15 terms related to sound design and production for computer games. For each term, he provided a short definition from an online source along with details about how the term relates to his own production practice. Some of the key terms he defined and related to his work included Foley artistry, which he will use to add most sounds to his game, sound libraries which will be used to create most of his sounds, and software sequencers and plug-ins which he uses to edit most of the sounds.
The document is a glossary assignment for a games design course requiring the student to research terms related to sound design and production. It includes definitions for over 20 terms sourced from online references. For each term, the student provides a short definition and URL source, and describes how the term relates to their own production practice, such as using uncompressed audio formats, lossy compression to reduce file sizes, and mono/stereo audio.
This document contains a glossary of terms related to sound design and production. It includes definitions for terms like foley artistry, sound libraries, file formats like .wav and .aiff, audio limitations like mono and stereo audio, audio recording systems like analog and digital, MIDI, software sequencers, software plugins, and audio sampling concepts like bit-depth and sample rate. The student has researched definitions for each term and provided details on how some of the terms relate to their own production practice, such as using foley artistry to record task sounds and creating sound libraries for sound effects.
Bringing nullability into existing code - dammit is not the answer.pptx
The C# nullability features help you minimize the likelihood of encountering that dreaded System.NullReferenceException. Nullability syntax and annotations give hints as to whether a type can be nullable or not, and better static analysis is available to catch unhandled nulls while developing your code. What's not to like?
Introducing explicit nullability into an existing code bases is a Herculean effort. There's much more to it than just sprinkling some `?` and `!` throughout your code. It's not a silver bullet either: you'll still need to check non-nullable variables for null.
In this talk, we'll see some techniques and approaches that worked for me, and explore how you can migrate an existing code base to use the full potential of C# nullability.
Space is a team tool that integrates chats, meetings, git hosting, automation, and more. It has an HTTP API to integrate third party apps and workflows, but it's massive! And slightly opinionated.
In this session, we will see how we built the .NET SDK for Space, and how we make that massive API more digestible. We will see how we used code generation, and incrementally made the API feel more like a real .NET SDK.
Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...
Ever wondered how IDE’s are built? In this talk, we’ll skip the marketing bit and dive into the architecture and implementation of JetBrains Rider. We’ll look at how and why we have built (and open sourced) a reactive protocol, and how the IDE uses a “microservices” architecture to communicate with the debugger, Roslyn, a WPF renderer and even other tools like Unity3D. We’ll explore how things are wired together, both in-process and across those microservices.
Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday...
Which NuGet package was that type in again? In this session, let's build a "reverse package search" that helps finding the correct NuGet package based on a public type.
Together, we will create a highly-scalable serverless search engine using Azure Functions and Azure Search that performs 3 tasks: listening for new packages on NuGet.org (using a custom binding), indexing packages in a distributed way, and exposing an API that accepts queries and gives our clients the best result.
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
Ever wondered how IDE’s are built? In this talk, we’ll skip the marketing bit and dive into the architecture and implementation of JetBrains Rider.
We’ll look at how and why we have built (and open sourced) a reactive protocol, and how the IDE uses a “microservices” architecture to communicate with the debugger, Roslyn, a WPF renderer and even other tools like Unity3D. We’ll explore how things are wired together, both in-process and across those microservices. Let’s geek out!
JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m...
This document discusses .NET memory management and the garbage collector. It explains that the CLR manages memory in a heap and the garbage collector reclaims unused memory. It describes how objects are allocated in generations and discusses how to help the garbage collector perform better by reducing allocations, using value types when possible, and properly disposing of objects. The document also provides examples of hidden allocations and demonstrates tools for analyzing memory usage like ClrMD and dotMemory Unit.
.NET Conf 2019 - Indexing and searching NuGet.org with Azure Functions and Se...
Which NuGet package was that type in again? In this session, let's build a "reverse package search" that helps finding the correct NuGet package based on a public type.
Together, we will create a highly-scalable serverless search engine using Azure Functions and Azure Search that performs 3 tasks: listening for new packages on NuGet.org (using a custom binding), indexing packages in a distributed way, and exposing an API that accepts queries and gives our clients the best result.
https://blog.maartenballiauw.be/post/2019/07/30/indexing-searching-nuget-with-azure-functions-and-search.html
CloudBurst 2019 - Indexing and searching NuGet.org with Azure Functions and S...
Which NuGet package was that type in again? In this session, let's build a "reverse package search" that helps finding the correct NuGet package based on a public type.
Together, we will create a highly-scalable serverless search engine using Azure Functions and Azure Search that performs 3 tasks: listening for new packages on NuGet.org (using a custom binding), indexing packages in a distributed way, and exposing an API that accepts queries and gives our clients the best result.
NDC Oslo 2019 - Indexing and searching NuGet.org with Azure Functions and Search
Which NuGet package was that type in again? In this session, let's build a "reverse package search" that helps finding the correct NuGet package based on a public type.
Together, we will create a highly-scalable serverless search engine using Azure Functions and Azure Search that performs 3 tasks: listening for new packages on NuGet.org (using a custom binding), indexing packages in a distributed way, and exposing an API that accepts queries and gives our clients the best result.
Approaches for application request throttling - Cloud Developer Days Poland
Speaking from experience building a SaaS: users are insane. If you are lucky, they use your service, but in reality, they probably abuse. Crazy usage patterns resulting in more requests than expected, request bursts when users come back to the office after the weekend, and more! These all pose a potential threat to the health of our web application and may impact other users or the service as a whole. Ideally, we can apply some filtering at the front door: limit the number of requests over a given timespan, limiting bandwidth, ...
In this talk, we’ll explore the simple yet complex realm of rate limiting. We’ll go over how to decide on which resources to limit, what the limits should be and where to enforce these limits – in our app, on the server, using a reverse proxy like Nginx or even an external service like CloudFlare or Azure API management. The takeaway? Know when and where to enforce rate limits so you can have both a happy application as well as happy customers.
Indexing and searching NuGet.org with Azure Functions and Search - Cloud Deve...
This document discusses indexing NuGet packages using Azure Functions and Azure Search to power search capabilities in ReSharper and Rider. It proposes using Functions triggered by changes to the NuGet.org catalog to download packages, index them using reflection metadata, and upload the results to an Azure Search index. Each step would be a separate function to allow independent scaling. The final system would watch the catalog, index new/updated packages, and provide APIs for searching packages by type or namespace.
1. The document provides definitions for sound design and audio production terms as part of an assignment to create a glossary.
2. The student was asked to research definitions of provided terms and relate each definition to their own production practice.
3. Terms researched included foley artistry, sound libraries, audio file formats like .wav and .aiff, audio limitations regarding hardware, audio recording systems, MIDI, audio sampling concepts like bit depth and sample rate, and other audio software and hardware terms.
This document is a glossary assignment for a games design course requiring the student to research and define audio terms and relate them to their own production practice. It contains definitions for over 30 terms related to sound design, file formats, limitations, recording systems, MIDI, sampling and more. Each term includes a short internet definition sourced by URL and a brief description by the student of how the term relates to their own work, such as using sound libraries and file formats in the Reaper software.
The document discusses audio latency issues on Android devices. It provides perspective on acceptable latency levels for different types of music (3-23ms) and reaction times (15-70ms). It then covers three classes of audio applications and how latency affects them differently. The bulk of the document dives into technical details of Android's audio stack, including available APIs (MediaPlayer, SoundPool, AudioTrack), hardware considerations (sampling rates, buffer sizes), and how Unity achieves low-latency audio versus a native implementation. It suggests experimenting with different buffer sizes can reduce latency but risks buffer underruns.
The document provides definitions for various audio and sound design terms. It includes a glossary with over 20 terms defined, along with the relevance of each term to the author's own production practice. Some of the key terms defined include foley artistry, sound libraries, audio file formats like .wav and .aiff, lossy compression, digital sound processors, mono vs stereo audio, MIDI, software sequencers, and MIDI keyboard instruments. For each term, the author provides a short internet definition and describes how the concept relates to their own work in games design sound production.
The document is a glossary of terms related to sound design and production for computer games. It contains definitions for terms like Foley artistry, sound libraries, file formats like .wav and .aiff, compression types, audio hardware like sound cards, and sampling concepts. For each term, the student provided a short definition from an online source as well as how the term relates to their own production work for the course.
The document is a glossary of terms related to sound design and production for computer games. It contains definitions for over 20 key terms with URLs linking to where the definitions were obtained. For each term, the student also provides a short explanation of how the term relates to their own production practice, such as using sound libraries to add pre-made sounds to their work in GTA. Common file formats, limitations of audio hardware, recording systems, MIDI, sampling, and other core concepts are defined and linked to the student's projects.
The document is a glossary of terms related to sound design and production for computer games. It contains definitions for over 20 key terms, sourced from online references. For each term, the student also provides a brief description of how the term relates to their own production practice, such as formats and file types used, software and hardware employed, and recording and editing techniques.
This document contains a glossary of terms related to sound design and production. It defines terms like foley artistry, sound libraries, file formats like .wav and .mp3, audio limitations involving sound processor units and digital sound processors, audio recording systems, audio sampling concepts, and how they relate to the student's own production practice of manipulating sounds to create new sounds. The student researched definitions for each term and explained how some of the concepts, like using MIDI keyboards and sound sequencers, directly applied to their work, while other terms they were unfamiliar with or did not use in their projects.
The document summarizes the Propellerhead Thor app for iPad. It states that the app is an exact remake of the desktop version of Thor synthesizer with the same sound engine and basic functionality. It includes 6 wavetypes, 3 filters, 3 envelopes, and 2 LFOs, providing scope for sound design. It also has a routing screen to create signal chains and a 16 step sequencer for arpeggios and loops.
Nathan Mather has produced a glossary of terms related to sound design and production. The glossary contains definitions for terms such as foley artistry, sound libraries, uncompressed audio files, .wav files, .aiff files, .au files, .smp files, lossy compression, .mp3 files, sound processor units, digital sound processors, random access memory, mono audio, stereo audio, and surround sound. For each term, Nathan provides a short definition from an online source as well as his own experience with how the term relates to his production practice.
This document contains a glossary of terms related to sound design and production for computer games. It provides definitions for terms like foley artistry, sound libraries, audio file formats like .wav and .mp3, audio limitations such as sound processor units and random access memory, mono/stereo/surround sound, audio recording systems like analog and digital audio tape, MIDI, software sequencers and plugins, and concepts in audio sampling like bit-depth and sample rate. For each term, the student provided an internet definition and described its relevance to their own production practice where possible.
The document is a glossary created by a student for a sound design course. It contains definitions for over 20 audio and sound design terms, sourced from online references. For each term, the student provides a short definition along with a discussion of how the term relates to their own production work. The glossary covers areas such as file formats, recording and playback systems, sampling, and audio software. The student's production practice involves using software like Reaper to create sound effects, jingles and other audio for a games design project.
1) The document is a glossary of terms related to sound design and production for computer games. It provides definitions for various terms gathered from online research and describes how each term relates to the author's own production practice.
2) Key terms defined and discussed include file formats like .wav and .mp3, audio hardware like sound cards and MIDI keyboards, recording techniques like sampling and bit depth, and software tools like plug-ins and sequencers.
3) The author explains which terms are relevant to their own work creating sound effects, such as using uncompressed .wav files and stereo/surround sound, and which terms do not apply to their process, like formats for CDs/DVDs.
This document provides an overview of the architecture and components used in an AI assistant called Otto. It describes the base software including Docker, Node.js, and MongoDB. It also outlines the natural language processing, speech recognition, text-to-speech and other modules. It details the client and messaging bot architectures and includes information on I/O drivers, actions, fulfillments and the overall workflow. Finally, it lists some example intents and provides guidance on developing new actions and the hardware used including the Raspberry Pi, Re-Speaker mic HAT and power components.
Getting Started with B2B Podcasting: A not-too-techy guide for first-time pod...Radix Communications
In this tech-light Slideshare you'll have the chance to find out what you need to get a podcast started for your business. From web hosting to recording, editing to uploading.
This document provides an overview of programming the Raspberry Pi by walking through setting it up, flashing an SD card, logging in, using the text editor JOE to write "hello world" programs in Python and C, downloading more complex examples, and configuring display settings. Key steps include downloading an OS image, flashing the image to an SD card, logging in with the username "pi" and password "raspberry", using JOE to write and run simple programs, and editing the configuration file to control settings like screen resolution. The goal is to demonstrate the basic workflow for getting started with programming on the Raspberry Pi.
Java Device I/O at Raspberry PI to Build a Candy Vending MachineJeff Prestes
Learn about DK 8 and Device I/O Library
Also, see the lab how to install from scratch Rasbian, JDK 8, Device I/O on a RaspberryPi.
See the code from github and build your own machine
This document is a glossary produced by a student at Salford City College for a BTEC Extended Diploma in Games Design unit on sound for computer games. It contains definitions of over 20 key terms related to sound design and production that were researched from online sources. For each term, the student provided a short definition from their research along with a URL source, and also described how the term relates to their own production practice.
This document contains a glossary of terms related to sound design and production for computer games. It provides researched definitions from online sources for terms like Foley artistry, sound libraries, file formats like .wav and .aiff, compression types, audio hardware limitations, recording systems, MIDI, sampling, and more. For each term, it also describes the relevance to the author's own production practice, such as how sound libraries are used to store sound effects for use in projects.
The document is a glossary of terms related to sound design and production for computer games. It contains definitions for terms like Foley artistry, sound libraries, uncompressed audio, WAV and AIFF file formats, lossy compression, MP3 files, sound cards, digital sound processors, RAM, mono audio, stereo audio, surround sound, PCM, analog audio, digital mini discs, and compact discs. For each term, it provides a short internet-sourced definition and links, as well as describing the relevance of the term to the author's own production practice where possible.
The document is a glossary created by Robert Hillard-Linney for a unit on sound design and production. It contains definitions for over 20 key terms related to sound design methodology, file formats, audio limitations, audio recording systems, audio sampling, and MIDI instruments. Each definition includes a short researched definition from an online source and Robert's description of how the term relates to his own production practice.
The document provides definitions for terms related to sound design and production. It includes a glossary with terms like Foley artistry, sound libraries, sound file formats (.wav, .aiff, .au, .smp), and lossy compression. For each term, it provides a short definition from an online source and describes how the term relates to the author's own production practice.
Tom Crook produced a glossary of terms related to sound design and production for a games design course. The glossary defined 15 key terms and described how each term relates to Tom's own production practice. The terms included definitions for Foley artistry, sound libraries, uncompressed files, .wav and .aiff file formats, lossy compression, MP3 files, sound processor units, digital signal processors, RAM, mono and stereo audio, surround sound, pulse code modulation, analogue and digital audio recording, and compact discs.
gegerageSound recording glossary tom crookTomCrook
The document is a glossary assignment for a games design course requiring the student to research and define terms related to sound design and production. It contains definitions for over 20 terms with URLs citing the sources. The student provides brief explanations of how each term relates to their own production practice, such as using Foley artistry for sound effects, sound libraries for accessibility, uncompressed files for sharing audio, and mp3 for portability. Overall the document covers terminology for sound file formats, limitations, recording systems, sampling, and software.
This document contains a glossary of terms related to sound design and production for a games design course. It provides definitions for terms like Foley artistry, sound libraries, file formats like .wav and .aiff, audio limitations involving sound cards and processors, and other concepts. For each term, it gives a short definition from an online source and asks the student to describe how the term relates to their own production practice.
This document discusses adding multimedia elements like sound and video to HTML webpages. It covers potential issues with multimedia websites, different audio and video file formats, and provides code examples for embedding a sound clip and YouTube video. The lesson objectives are to explain multimedia website issues, embed sound, and embed a YouTube video. Students are assigned a task to add sound and video to an existing webpage.
The document provides definitions for various audio and sound design terms. It includes a glossary with over 15 terms defined, along with the relevance of each term to the author's own production practice. Some of the key terms defined include foley artistry, sound libraries, .wav and .mp3 file formats, audio limitations like mono vs stereo sound, audio recording systems such as analog and digital, MIDI, software sequencers, and concepts of audio sampling like bit depth and sample rate.
The document discusses the basics of podcasting, including:
1. Podcasts are syndicated audio or video files that can be played on devices like iPods or computers and allow users to subscribe to topics through RSS feeds.
2. Creating podcasts is easy - users record audio files, convert them to MP3 format, create an RSS feed, and host the files on a website.
3. Popular tools for creating podcasts include Gabcast, podOmatic, and Odeo which allow users to record and publish podcasts for free.
Kyle Fielding produced a glossary of terms related to sound design and production for a games design course. The glossary contains definitions for terms like Foley artistry, sound libraries, audio file formats like .wav and .aiff, lossy compression formats like .mp3, audio hardware limitations such as sound processor units and digital sound processors, and audio techniques including mono, stereo, and surround sound. Kyle explained how each term is relevant to his own production practice, such as using sound libraries to organize sounds and common file formats when saving and opening files.
The document is a glossary of terms related to sound design and production for computer games. It contains definitions for terms like Foley artistry, sound libraries, audio file formats like .wav and .mp3, limitations like mono audio, recording systems such as analog and digital, MIDI, software sequencers, and considerations for audio sampling like bit depth and sample rate. For each term, the student provided a short definition from an online source as well as how the term relates to their own production practice, such as using sound libraries to try different audio levels or saving files as .wav for flexibility.
Jordan Smith has produced a glossary of terms related to sound design and production for computer games. The glossary contains definitions for terms such as Foley artistry, sound libraries, audio file formats like .wav and .mp3, audio limitations including sound processor units and random access memory, audio recording systems like analog and digital, MIDI, software sequencers, and audio sampling concepts like bit depth and sample rate. For each term, Jordan has provided a researched definition from an online source as well as his own comments on the relevance of the term to his production practice where possible.
Audio ResourcesChoose one of them or any other of your c.docxikirkton
Audio Resources
Choose one of them or any other of your choice to record your voice with a short discussion of these ideas and how you might use SOUND in your Integrated Thematic Unit and how your ITU is progressing. Conclude by stating which application you are using to record, and save as a sound file to the Discussion Board.
Sound
Sound Technologies are available for classroom and training use via Windows, Apple, Microsoft Office, software, the WWW, Internet applications, APPs, etc. and can be created in many ways. This important multimedia component often brings new life and excitement into learning and is often neglected. Remember that research shows that the more senses stimulated, the greater the retention. Special Needs students benefit in many ways, as well.
FILE FORMATS
WAV or waveform
.wav
A file extension developed by IBM and Microsoft for a standard Microsoft audio file.
It is supported by all computers running Windows and by all the most popular web browsers. The WAVE format is one of the most popular sound formats on the Internet for music or speech.
Audio Interchange File Format
.aif or .aiff
A file most commonly used in Macintosh Operating System
Musical Instrument Digital Interface
.midi
A digitally synthesized sound file format for sending music between electronic music devices like synthesizers and PC sound cards. This interface was created in 1982 by the music industry; it is very flexible, ranging from very simple to real professional music making.
MIDI files are supported by all the most popular Internet browsers, software systems, and platforms. The downside of MIDI is that it cannot record sounds (only notes), or to put it another way, it cannot store songs, only tunes.
MIDI files do not contain sampled sound but a set of digital musical instructions (musical notes) that can be interpreted by your PC's sound card. The upside of the MIDI format is that since it contains only instructions (notes), MIDI files can be extremely small.
Via Wikipedia
Real Audio Media
.rm or .ram
These are two file extensions used for Real Audio players. The RealAudio format was developed for the Internet by Real Media. The format also supports video.
MP3
.mp3
MPEG-1 Audio Layer 3, more commonly referred to as MP3, is a digital audio encoding format using a form of lossy data compression. It is a common audio format for consumer audio storage, for the transfer and playback of music on digital audio players. MP3 is an audio-specific format that was designed by the Moving Picture Experts Group.
Applications (ideas for both PC and MAC)
Text to Speech
Make a choice under Voice selection. Preview Voice. Click Apply. You will hear this chosen voice when we open an application later. Under the Speech icon, you will find a tab Text to Speech (originally Text to Speech and Sound Recognition).
Siri
Voice Comments in Word *** cool functionality
Click on the sound icon on the right to insert comments for Word 2003.
Sound in Excel
...
The document is a glossary of terms related to sound design and production for computer games. It contains definitions for over 20 key terms, sourced from online references. For each term, the student also provides a brief explanation of how the term relates to their own production practice. The glossary covers areas such as sound file formats, audio limitations, recording systems, sampling and more.
1. The document is a glossary of terms related to sound design and production for computer games created by Joshua Crooke. It contains definitions of terms researched from various websites and describes how some of the terms relate to Joshua's own production practice.
2. The glossary includes terms like foley artistry, sound libraries, audio file formats (wav, aiff), audio limitations (sound processor unit, digital sound processor, RAM), mono/stereo audio, surround sound, audio recording systems (analogue, MIDI), software plug-ins, and constraints on audio sampling like bit-depth and sample rate.
3. Joshua recorded sound effects using an analogue recording system and edited sounds using software plug-ins in
Podcasting involves recording audio or video files and making them available for digital distribution over the Internet. Listeners can subscribe to podcasts using an RSS feed and download files to computers or mobile devices like MP3 players to listen to anytime. The document provides tips on how to create podcasts, including using free or low-cost audio and video recording and editing software on computers, planning content that is 10-20 minutes long, and considering audio quality and background noise when recording.
Porting a command line tool to Android involves cross-compiling the code using the Android NDK toolchain, which may require patching the code to address issues like different file paths, endianness, and library dependencies. While compiling and running static binaries is straightforward, dynamic binaries require position-independent executable (PIE) support added in Android 5. Calling native executables from Android code requires using Runtime.exec() or ProcessBuilder and parsing output streams. Special care needs to be taken to avoid security issues like command injection when passing untrusted inputs to native programs run as root on Android.
This document is a glossary of terms related to sound design and production for computer games. It contains definitions for terms like Foley artistry, sound libraries, audio file formats like .wav and .mp3, audio limitations regarding mono/stereo sound, audio recording systems, MIDI, software sequencers, and considerations for audio sampling like bit-depth and sample rate. Each term's definition includes a short description and a citation of the source. Accompanying each definition is a brief explanation from the student of how the term relates to their own production work.
Brandon McNamara produced a glossary of 15 terms related to sound design and production for computer games. For each term, he provided a short definition from an online source along with details about how the term relates to his own production practice. Some of the key terms he defined and related to his work included Foley artistry, which he will use to add most sounds to his game, sound libraries which will be used to create most of his sounds, and software sequencers and plug-ins which he uses to edit most of the sounds.
The document is a glossary assignment for a games design course requiring the student to research terms related to sound design and production. It includes definitions for over 20 terms sourced from online references. For each term, the student provides a short definition and URL source, and describes how the term relates to their own production practice, such as using uncompressed audio formats, lossy compression to reduce file sizes, and mono/stereo audio.
This document contains a glossary of terms related to sound design and production. It includes definitions for terms like foley artistry, sound libraries, file formats like .wav and .aiff, audio limitations like mono and stereo audio, audio recording systems like analog and digital, MIDI, software sequencers, software plugins, and audio sampling concepts like bit-depth and sample rate. The student has researched definitions for each term and provided details on how some of the terms relate to their own production practice, such as using foley artistry to record task sounds and creating sound libraries for sound effects.
Similar to Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos speaker (20)
Bringing nullability into existing code - dammit is not the answer.pptxMaarten Balliauw
The C# nullability features help you minimize the likelihood of encountering that dreaded System.NullReferenceException. Nullability syntax and annotations give hints as to whether a type can be nullable or not, and better static analysis is available to catch unhandled nulls while developing your code. What's not to like?
Introducing explicit nullability into an existing code bases is a Herculean effort. There's much more to it than just sprinkling some `?` and `!` throughout your code. It's not a silver bullet either: you'll still need to check non-nullable variables for null.
In this talk, we'll see some techniques and approaches that worked for me, and explore how you can migrate an existing code base to use the full potential of C# nullability.
Building a friendly .NET SDK to connect to SpaceMaarten Balliauw
Space is a team tool that integrates chats, meetings, git hosting, automation, and more. It has an HTTP API to integrate third party apps and workflows, but it's massive! And slightly opinionated.
In this session, we will see how we built the .NET SDK for Space, and how we make that massive API more digestible. We will see how we used code generation, and incrementally made the API feel more like a real .NET SDK.
Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...Maarten Balliauw
Ever wondered how IDE’s are built? In this talk, we’ll skip the marketing bit and dive into the architecture and implementation of JetBrains Rider. We’ll look at how and why we have built (and open sourced) a reactive protocol, and how the IDE uses a “microservices” architecture to communicate with the debugger, Roslyn, a WPF renderer and even other tools like Unity3D. We’ll explore how things are wired together, both in-process and across those microservices.
Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday...Maarten Balliauw
Which NuGet package was that type in again? In this session, let's build a "reverse package search" that helps finding the correct NuGet package based on a public type.
Together, we will create a highly-scalable serverless search engine using Azure Functions and Azure Search that performs 3 tasks: listening for new packages on NuGet.org (using a custom binding), indexing packages in a distributed way, and exposing an API that accepts queries and gives our clients the best result.
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...Maarten Balliauw
Ever wondered how IDE’s are built? In this talk, we’ll skip the marketing bit and dive into the architecture and implementation of JetBrains Rider.
We’ll look at how and why we have built (and open sourced) a reactive protocol, and how the IDE uses a “microservices” architecture to communicate with the debugger, Roslyn, a WPF renderer and even other tools like Unity3D. We’ll explore how things are wired together, both in-process and across those microservices. Let’s geek out!
JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m...Maarten Balliauw
This document discusses .NET memory management and the garbage collector. It explains that the CLR manages memory in a heap and the garbage collector reclaims unused memory. It describes how objects are allocated in generations and discusses how to help the garbage collector perform better by reducing allocations, using value types when possible, and properly disposing of objects. The document also provides examples of hidden allocations and demonstrates tools for analyzing memory usage like ClrMD and dotMemory Unit.
.NET Conf 2019 - Indexing and searching NuGet.org with Azure Functions and Se...Maarten Balliauw
Which NuGet package was that type in again? In this session, let's build a "reverse package search" that helps finding the correct NuGet package based on a public type.
Together, we will create a highly-scalable serverless search engine using Azure Functions and Azure Search that performs 3 tasks: listening for new packages on NuGet.org (using a custom binding), indexing packages in a distributed way, and exposing an API that accepts queries and gives our clients the best result.
https://blog.maartenballiauw.be/post/2019/07/30/indexing-searching-nuget-with-azure-functions-and-search.html
CloudBurst 2019 - Indexing and searching NuGet.org with Azure Functions and S...Maarten Balliauw
Which NuGet package was that type in again? In this session, let's build a "reverse package search" that helps finding the correct NuGet package based on a public type.
Together, we will create a highly-scalable serverless search engine using Azure Functions and Azure Search that performs 3 tasks: listening for new packages on NuGet.org (using a custom binding), indexing packages in a distributed way, and exposing an API that accepts queries and gives our clients the best result.
NDC Oslo 2019 - Indexing and searching NuGet.org with Azure Functions and SearchMaarten Balliauw
Which NuGet package was that type in again? In this session, let's build a "reverse package search" that helps finding the correct NuGet package based on a public type.
Together, we will create a highly-scalable serverless search engine using Azure Functions and Azure Search that performs 3 tasks: listening for new packages on NuGet.org (using a custom binding), indexing packages in a distributed way, and exposing an API that accepts queries and gives our clients the best result.
Approaches for application request throttling - Cloud Developer Days PolandMaarten Balliauw
Speaking from experience building a SaaS: users are insane. If you are lucky, they use your service, but in reality, they probably abuse. Crazy usage patterns resulting in more requests than expected, request bursts when users come back to the office after the weekend, and more! These all pose a potential threat to the health of our web application and may impact other users or the service as a whole. Ideally, we can apply some filtering at the front door: limit the number of requests over a given timespan, limiting bandwidth, ...
In this talk, we’ll explore the simple yet complex realm of rate limiting. We’ll go over how to decide on which resources to limit, what the limits should be and where to enforce these limits – in our app, on the server, using a reverse proxy like Nginx or even an external service like CloudFlare or Azure API management. The takeaway? Know when and where to enforce rate limits so you can have both a happy application as well as happy customers.
Indexing and searching NuGet.org with Azure Functions and Search - Cloud Deve...Maarten Balliauw
This document discusses indexing NuGet packages using Azure Functions and Azure Search to power search capabilities in ReSharper and Rider. It proposes using Functions triggered by changes to the NuGet.org catalog to download packages, index them using reflection metadata, and upload the results to an Azure Search index. Each step would be a separate function to allow independent scaling. The final system would watch the catalog, index new/updated packages, and provide APIs for searching packages by type or namespace.
Approaches for application request throttling - dotNetCologneMaarten Balliauw
Speaking from experience building a SaaS: users are insane. If you are lucky, they use your service, but in reality, they probably abuse. Crazy usage patterns resulting in more requests than expected, request bursts when users come back to the office after the weekend, and more! These all pose a potential threat to the health of our web application and may impact other users or the service as a whole. Ideally, we can apply some filtering at the front door: limit the number of requests over a given timespan, limiting bandwidth, ...
In this talk, we’ll explore the simple yet complex realm of rate limiting. We’ll go over how to decide on which resources to limit, what the limits should be and where to enforce these limits – in our app, on the server, using a reverse proxy like Nginx or even an external service like CloudFlare or Azure API management. The takeaway? Know when and where to enforce rate limits so you can have both a happy application as well as happy customers.
CodeStock - Exploring .NET memory management - a trip down memory laneMaarten Balliauw
The .NET Garbage Collector (GC) is really cool. It helps providing our applications with virtually unlimited memory, so we can focus on writing code instead of manually freeing up memory. But how does .NET manage that memory? What are hidden allocations? Are strings evil? It still matters to understand when and where memory is allocated. In this talk, we’ll go over the base concepts of .NET memory management and explore how .NET helps us and how we can help .NET – making our apps better. Expect profiling, Intermediate Language (IL), ClrMD and more!
ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...Maarten Balliauw
Ever wondered how IDE’s are built? In this talk, we’ll skip the marketing bit and dive into the architecture and implementation of JetBrains Rider. We’ll look at how and why we have built (and open sourced) a reactive protocol, and how the IDE uses a “microservices” architecture to communicate with the debugger, Roslyn, a WPF renderer and even other tools like Unity3D. We’ll explore how things are wired together, both in-process and across those microservices. Let’s geek out!
ConFoo Montreal - Approaches for application request throttlingMaarten Balliauw
Speaking from experience building a SaaS: users are insane. If you are lucky, they use your service, but in reality, they probably abuse. Crazy usage patterns resulting in more requests than expected, request bursts when users come back to the office after the weekend, and more! These all pose a potential threat to the health of our web application and may impact other users or the service as a whole. Ideally, we can apply some filtering at the front door: limit the number of requests over a given timespan, limiting bandwidth, ...
In this talk, we’ll explore the simple yet complex realm of rate limiting. We’ll go over how to decide on which resources to limit, what the limits should be and where to enforce these limits – in our app, on the server, using a reverse proxy like Nginx or even an external service like CloudFlare or Azure API management. The takeaway? Know when and where to enforce rate limits so you can have both a happy application as well as happy customers.
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...Maarten Balliauw
Ever wondered how IDE’s are built? In this talk, we’ll skip the marketing bit and dive into the architecture and implementation of JetBrains Rider. We’ll look at how and why we have built (and open sourced) a reactive protocol, and how the IDE uses a “microservices” architecture to communicate with the debugger, Roslyn, a WPF renderer and even other tools like Unity3D. We’ll explore how things are wired together, both in-process and across those microservices. Let’s geek out!
JetBrains Day Seoul - Exploring .NET’s memory management – a trip down memory...Maarten Balliauw
The .NET Garbage Collector (GC) is really cool. It helps providing our applications with virtually unlimited memory, so we can focus on writing code instead of manually freeing up memory. But how does .NET manage that memory? What are hidden allocations? Are strings evil? It still matters to understand when and where memory is allocated. In this talk, we’ll go over the base concepts of .NET memory management and explore how .NET helps us and how we can help .NET – making our apps better. Expect profiling, Intermediate Language (IL), ClrMD and more!
The .NET Garbage Collector (GC) is really cool. It helps providing our applications with virtually unlimited memory, so we can focus on writing code instead of manually freeing up memory. But how does .NET manage that memory? What are hidden allocations? Are strings evil? It still matters to understand when and where memory is allocated. In this talk, we’ll go over the base concepts of .NET memory management and explore how .NET helps us and how we can help .NET – making our apps better. Expect profiling, Intermediate Language (IL), ClrMD and more!
VISUG - Approaches for application request throttlingMaarten Balliauw
Speaking from experience building a SaaS: users are insane. If you are lucky, they use your service, but in reality, they probably abuse. Crazy usage patterns resulting in more requests than expected, request bursts when users come back to the office after the weekend, and more! These all pose a potential threat to the health of our web application and may impact other users or the service as a whole. Ideally, we can apply some filtering at the front door: limit the number of requests over a given timespan, limiting bandwidth, ...
In this talk, we’ll explore the simple yet complex realm of rate limiting. We’ll go over how to decide on which resources to limit, what the limits should be and where to enforce these limits – in our app, on the server, using a reverse proxy like Nginx or even an external service like CloudFlare or Azure API management. The takeaway? Know when and where to enforce rate limits so you can have both a happy application as well as happy customers.
What is going on - Application diagnostics on Azure - TechDays FinlandMaarten Balliauw
We all like building and deploying cloud applications. But what happens once that’s done? How do we know if our application behaves like we expect it to behave? Of course, logging! But how do we get that data off of our machines? How do we sift through a bunch of seemingly meaningless diagnostics? In this session, we’ll look at how we can keep track of our Azure application using structured logging, AppInsights and AppInsights analytics to make all that data more meaningful.
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...Erasmo Purificato
Slide of the tutorial entitled "Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Emerging Trends" held at UMAP'24: 32nd ACM Conference on User Modeling, Adaptation and Personalization (July 1, 2024 | Cagliari, Italy)
The Rise of Supernetwork Data Intensive ComputingLarry Smarr
Invited Remote Lecture to SC21
The International Conference for High Performance Computing, Networking, Storage, and Analysis
St. Louis, Missouri
November 18, 2021
Sustainability requires ingenuity and stewardship. Did you know Pigging Solutions pigging systems help you achieve your sustainable manufacturing goals AND provide rapid return on investment.
How? Our systems recover over 99% of product in transfer piping. Recovering trapped product from transfer lines that would otherwise become flush-waste, means you can increase batch yields and eliminate flush waste. From raw materials to finished product, if you can pump it, we can pig it.
Best Programming Language for Civil EngineersAwais Yaseen
The integration of programming into civil engineering is transforming the industry. We can design complex infrastructure projects and analyse large datasets. Imagine revolutionizing the way we build our cities and infrastructure, all by the power of coding. Programming skills are no longer just a bonus—they’re a game changer in this era.
Technology is revolutionizing civil engineering by integrating advanced tools and techniques. Programming allows for the automation of repetitive tasks, enhancing the accuracy of designs, simulations, and analyses. With the advent of artificial intelligence and machine learning, engineers can now predict structural behaviors under various conditions, optimize material usage, and improve project planning.
How RPA Help in the Transportation and Logistics Industry.pptxSynapseIndia
Revolutionize your transportation processes with our cutting-edge RPA software. Automate repetitive tasks, reduce costs, and enhance efficiency in the logistics sector with our advanced solutions.
UiPath Community Day Kraków: Devs4Devs ConferenceUiPathCommunity
We are honored to launch and host this event for our UiPath Polish Community, with the help of our partners - Proservartner!
We certainly hope we have managed to spike your interest in the subjects to be presented and the incredible networking opportunities at hand, too!
Check out our proposed agenda below 👇👇
08:30 ☕ Welcome coffee (30')
09:00 Opening note/ Intro to UiPath Community (10')
Cristina Vidu, Global Manager, Marketing Community @UiPath
Dawid Kot, Digital Transformation Lead @Proservartner
09:10 Cloud migration - Proservartner & DOVISTA case study (30')
Marcin Drozdowski, Automation CoE Manager @DOVISTA
Pawel Kamiński, RPA developer @DOVISTA
Mikolaj Zielinski, UiPath MVP, Senior Solutions Engineer @Proservartner
09:40 From bottlenecks to breakthroughs: Citizen Development in action (25')
Pawel Poplawski, Director, Improvement and Automation @McCormick & Company
Michał Cieślak, Senior Manager, Automation Programs @McCormick & Company
10:05 Next-level bots: API integration in UiPath Studio (30')
Mikolaj Zielinski, UiPath MVP, Senior Solutions Engineer @Proservartner
10:35 ☕ Coffee Break (15')
10:50 Document Understanding with my RPA Companion (45')
Ewa Gruszka, Enterprise Sales Specialist, AI & ML @UiPath
11:35 Power up your Robots: GenAI and GPT in REFramework (45')
Krzysztof Karaszewski, Global RPA Product Manager
12:20 🍕 Lunch Break (1hr)
13:20 From Concept to Quality: UiPath Test Suite for AI-powered Knowledge Bots (30')
Kamil Miśko, UiPath MVP, Senior RPA Developer @Zurich Insurance
13:50 Communications Mining - focus on AI capabilities (30')
Thomasz Wierzbicki, Business Analyst @Office Samurai
14:20 Polish MVP panel: Insights on MVP award achievements and career profiling
How Social Media Hackers Help You to See Your Wife's Message.pdfHackersList
In the modern digital era, social media platforms have become integral to our daily lives. These platforms, including Facebook, Instagram, WhatsApp, and Snapchat, offer countless ways to connect, share, and communicate.
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - MydbopsMydbops
This presentation, delivered at the Postgres Bangalore (PGBLR) Meetup-2 on June 29th, 2024, dives deep into connection pooling for PostgreSQL databases. Aakash M, a PostgreSQL Tech Lead at Mydbops, explores the challenges of managing numerous connections and explains how connection pooling optimizes performance and resource utilization.
Key Takeaways:
* Understand why connection pooling is essential for high-traffic applications
* Explore various connection poolers available for PostgreSQL, including pgbouncer
* Learn the configuration options and functionalities of pgbouncer
* Discover best practices for monitoring and troubleshooting connection pooling setups
* Gain insights into real-world use cases and considerations for production environments
This presentation is ideal for:
* Database administrators (DBAs)
* Developers working with PostgreSQL
* DevOps engineers
* Anyone interested in optimizing PostgreSQL performance
Contact info@mydbops.com for PostgreSQL Managed, Consulting and Remote DBA Services
Kief Morris rethinks the infrastructure code delivery lifecycle, advocating for a shift towards composable infrastructure systems. We should shift to designing around deployable components rather than code modules, use more useful levels of abstraction, and drive design and deployment from applications rather than bottom-up, monolithic architecture and delivery.
Details of description part II: Describing images in practice - Tech Forum 2024BookNet Canada
This presentation explores the practical application of image description techniques. Familiar guidelines will be demonstrated in practice, and descriptions will be developed “live”! If you have learned a lot about the theory of image description techniques but want to feel more confident putting them into practice, this is the presentation for you. There will be useful, actionable information for everyone, whether you are working with authors, colleagues, alone, or leveraging AI as a collaborator.
Link to presentation recording and transcript: https://bnctechforum.ca/sessions/details-of-description-part-ii-describing-images-in-practice/
Presented by BookNet Canada on June 25, 2024, with support from the Department of Canadian Heritage.
Mitigating the Impact of State Management in Cloud Stream Processing SystemsScyllaDB
Stream processing is a crucial component of modern data infrastructure, but constructing an efficient and scalable stream processing system can be challenging. Decoupling compute and storage architecture has emerged as an effective solution to these challenges, but it can introduce high latency issues, especially when dealing with complex continuous queries that necessitate managing extra-large internal states.
In this talk, we focus on addressing the high latency issues associated with S3 storage in stream processing systems that employ a decoupled compute and storage architecture. We delve into the root causes of latency in this context and explore various techniques to minimize the impact of S3 latency on stream processing performance. Our proposed approach is to implement a tiered storage mechanism that leverages a blend of high-performance and low-cost storage tiers to reduce data movement between the compute and storage layers while maintaining efficient processing.
Throughout the talk, we will present experimental results that demonstrate the effectiveness of our approach in mitigating the impact of S3 latency on stream processing. By the end of the talk, attendees will have gained insights into how to optimize their stream processing systems for reduced latency and improved cost-efficiency.
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfNeo4j
Presented at Gartner Data & Analytics, London Maty 2024. BT Group has used the Neo4j Graph Database to enable impressive digital transformation programs over the last 6 years. By re-imagining their operational support systems to adopt self-serve and data lead principles they have substantially reduced the number of applications and complexity of their operations. The result has been a substantial reduction in risk and costs while improving time to value, innovation, and process automation. Join this session to hear their story, the lessons they learned along the way and how their future innovation plans include the exploration of uses of EKG + Generative AI.
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionBert Blevins
Cybersecurity is a major concern in today's connected digital world. Threats to organizations are constantly evolving and have the potential to compromise sensitive information, disrupt operations, and lead to significant financial losses. Traditional cybersecurity techniques often fall short against modern attackers. Therefore, advanced techniques for cyber security analysis and anomaly detection are essential for protecting digital assets. This blog explores these cutting-edge methods, providing a comprehensive overview of their application and importance.
YOUR RELIABLE WEB DESIGN & DEVELOPMENT TEAM — FOR LASTING SUCCESS
WPRiders is a web development company specialized in WordPress and WooCommerce websites and plugins for customers around the world. The company is headquartered in Bucharest, Romania, but our team members are located all over the world. Our customers are primarily from the US and Western Europe, but we have clients from Australia, Canada and other areas as well.
Some facts about WPRiders and why we are one of the best firms around:
More than 700 five-star reviews! You can check them here.
1500 WordPress projects delivered.
We respond 80% faster than other firms! Data provided by Freshdesk.
We’ve been in business since 2015.
We are located in 7 countries and have 22 team members.
With so many projects delivered, our team knows what works and what doesn’t when it comes to WordPress and WooCommerce.
Our team members are:
- highly experienced developers (employees & contractors with 5 -10+ years of experience),
- great designers with an eye for UX/UI with 10+ years of experience
- project managers with development background who speak both tech and non-tech
- QA specialists
- Conversion Rate Optimisation - CRO experts
They are all working together to provide you with the best possible service. We are passionate about WordPress, and we love creating custom solutions that help our clients achieve their goals.
At WPRiders, we are committed to building long-term relationships with our clients. We believe in accountability, in doing the right thing, as well as in transparency and open communication. You can read more about WPRiders on the About us page.
What’s New in Teams Calling, Meetings and Devices May 2024
Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos speaker
1. Nerd sniping myself into a rabbit hole...
Streaming online audio to a Sonos
speaker
Maarten Balliauw
@maartenballiauw
2. Disclaimer
I will share bits of source code where they matter, but will
not be sharing the full application.
I have built this application for personal and learning use,
and I do not intend to share it.
Don’t ask, the answer is no.
4. January 2020
“Let’s replace our old speakers with new and shiny!”
Requirements:
“Smart” speakers that can stream from the Internet
2 for living room, 1-2 for home office
9. Now what…
Searched online for solutions…
…all I found was excuses.
Legal, patents, … Don’t really care as a consumer!
12. Nerd Sniping
1. The act of presenting someone, often
a mathematician/physicist with a time consuming problem or
challenge (often impossible to solve or complete) in the hopes
of it appealing to a person's obsessive tendencies.
Urban Dictionary
And https://xkcd.com/356
16. Connect to speakers
Connect to one speaker
Play an MP3 from webserver
This seems very, very promising!
#!/usr/bin/env python
from soco import SoCo
if __name__ == '__main__’:
sonos = SoCo('192.168.1.102’)
sonos.play_uri('http://host/file.mp3')
https://python-soco.com/
17. Get MP4 URL of online video
Video metadata endpoint, used by web player
Returns urlencoded data about video (with JSON sprinkled in)
https://www.youtube.com/watch?v=-zJoP2qPgTg
https://www.youtube.com/get_video_info?video_id=-zJoP2qPgTg
18. Get MP4 URL of online video
{
"responseContext":{ },
"playabilityStatus":{ },
"streamingData":{
"expiresInSeconds":"21540",
"formats":[
{
"itag":18,
"url":"https://r3---sn-uxaxoxu-cg0k.googlevideo.com/videoplayback?expire=1599574779u0026ei=mz5XX6-fKdOIgQeBp6PgDwu0026
"mimeType":"video/mp4;+codecs="avc1.42001E,+mp4a.40.2"",
"bitrate":234221,
"width":640,
"height":360,
"lastModified":"1586173729658545",
"contentLength":"92057863",
"quality":"medium",
19. Get MP4 URL of online video
More reading by Alexey Golub
https://tyrrrz.me/blog/reverse-engineering-youtube
Signed videos
Video player JS code contains decryption routine as JavaScript
Need to evaluate that to be able to access video (or Regex the cipher)
Too much hassle to write manually!
There exist scripts & libraries in many programing languages
In summary: we have the MP4 URL now.
20. Send URL to speakers
#!/usr/bin/env python
from soco import SoCo
if __name__ == '__main__’:
sonos = SoCo('192.168.1.102’)
sonos.play_uri('http://host/file.mp4')
https://python-soco.com/
Expected:
Actual:
22. Side track: speaker webserver
Anything useful to find?
http://192.168.1.123:1400/status
http://192.168.1.123:1400/support/review
http://192.168.1.123:1400/tools.htm
https://bsteiner.info/articles/hidden-sonos-interface
24. 💡 Maybe it’s that SoCo library!
“Because maybe 65 contributors have it wrong!”
The official application can send a stream to the speakers...
...can I listen on the network and see what the request looks like?
25. Sniffing the network
WireShark https://www.wireshark.org/
Sniff traffic that passes your computer’s network adapter
Traffic does not pass my computer :-/
Phone on wifi, speaker on wifi, computer on wifi – huh?
Turns out access point does just send all traffic to all devices
💡💡 Unifi access point is *nix
tcpdump there?
26. Sniffing the network
🤓 On my Windows box, connected to wired network
Run Ubuntu
SSH into access point and run tcpdump
Pipe data back to Windows
Access point IP Capture ethernet side From/to my phone IP
30. Replaying SOAP payload
Tried MP3 URLs and MP4 URLs
MP3 worked, MP4 did not
The SoCo library did not have any issues...
Searched around for DIDL-Lite in payload
Seems speakers use good old UPnP
http://www.upnp.org/schemas/av/didl-lite-v2.xsd
31. 💡 Maybe it’s the MP4 format!
https://support.sonos.com/s/article/79?language=en_US
32. Our (potential) options...
Download MP4, push it to speaker as a local file
or
Proxy MP4 and do on-the-fly transcoding to MP3
Send MP3 URL as “Internet Radio”
or
Investigate MP4 and see if they indeed use AAC
Send AAC URL as “Internet Radio”
34. MP4
MPEG-4 Part 14 or MP4 is a digital multimedia container
format most commonly used to store video and audio, but
it can also be used to store other data such
as subtitles and still images. (…) allows streaming (…)
Wikipedia
Can we extract this to a separate file?
MP4 file
Header
Video 1
Video N
Audio 1
Audio N
Subtitles
MP4 file (optimized for streaming)
Header
Video 1 (short)
Audio 1 (short)
Video N (short)
Audio N (short)
35. FFMpeg to the rescue!
“A complete, cross-platform solution to record, convert and stream
audio and video.”
Swiss army knife for video/audio formats.
ffmpeg -i original.mp4 -c:a copy output-aac.m4a
Extracts the audio track from MP4 container
Use SoCo to send file to speakers.
https://ffmpeg.org/
Expected: Actual:
37. deadf00d
“How I hacked Sonos and YouTube in the same day.”
https://www.deadf00d.com/post/how-i-hacked-sonos-and-youtube-the-same-day.html
@deadf0od - https://twitter.com/deadf0od
“HEY, kAn 1 Dm J00?
w0rK1n' 0N 51M1Lar 7h1n' AnD wE M19h7 8E a8le 70 HElP EaCH 07heR.”
...
“It’s AAC, but in ADTS format. Each atom needs a header in every frame!”
39. MP4 to AAC with ADTS
ffmpeg -i original.mp4 -acodec copy
-f adts -vn output-adts.aac
Extracts the audio track from MP4 container
Adds ADTS headers
Use SoCo to send file to speakers.
Expected: Actual:
41. Let the app building start!
1. Connect to speakers ✅
2. Get MP4 URL of online video ✅
3. (new) Extract MP4 audio track to ADTS ✅
4. Send URL to speakers ✅
5. Enjoy music!
47. Research…
Android-specific
Activity (main screen to handle everything)
Intent (ACTION_SEND to receive data from others)
Libraries (or code)
YouTube metadata extractor (get audio URL)
Sonos communication library (discover speakers, send URL to speakers)
Webserver (reverse proxy)
Something to do the MP4 to AAC (ADTS) conversion
49. And checking the intent…
class MainActivity : CoroutineScope, AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val url = intent?.extras?.getString(Intent.EXTRA_TEXT)
51. SSDP Simple Device Discovery Protocol
Used to discover printers, routers, Sonos, ...
Send UDP datagram as multicast/broadcast
M-SEARCH * HTTP/1.1
HOST: 239.255.255.250:1900
MAN: "ssdp:discover"
MX: 1
ST: urn:schemas-upnp-org:device:ZonePlayer:1
Devices send back HTTP response as UDP
Supported services, endpoint URL, ...
https://en.wikipedia.org/wiki/Simple_Service_Discovery_Protocol
https://github.com/vmichalak/ssdp-client
52. Android – Running webserver
Prevent server stop when application is closed or device goes to sleep
<service
android:name=".RunEmbeddedWebServerService"
android:enabled="true"
android:exported="true" /> class RunEmbeddedWebServerService : CoroutineScope, Service() {
private val server = embeddedServer(Netty, 36362) {
routing {
get("/{videoId}.mp4") { /* ... */ }
}
}
override fun onStartCommand(...): Int {
server.start(wait = false)
return START_NOT_STICKY
}
override fun onDestroy() {
server.stop(0, 1000)
super.onDestroy()
}
https://developer.android.com/guide/components/services#Types-of-services
63. In summary…
Learned a lot of random things along the way ✅
There is so much knowledge out there!
Talk to people (thanks, deadF00d!)
You can build anything!
Even if it seems impossible at first!
Wife and I built house, set of old PC speakers. Time for a replacement!
Mostly play streaming music, Spoify, TuneIn, SoundCloud, YouTube, ...
Requirements: smart, so that works
2 for living room, 1 or 2 for home office, and multiroom would be even better!
Unfortunately, it being January, everything out there was full-price. Not that we are cheap, but in terms of value proposition we do find 2k for some speakers a bit skewed.
But then, we passed an IKEA store, and saw... Symfonisk.
They are a colaboration with Sonos. Essentially, Sonos speakers, rumour has that it’s the same hardware as that Sonos from earlier, at 1/5 the price.
Same software, 100% compatible with that Sonos stuff.
And as you can see on the picture, I can even put my glasses on top of it.
Listened to it in the store, and seemed fine. DEAL! We walked out with those speakers.
So we took them home (click)
Read the manual (click)
Followed all instructions, so we took a seat (click)
And installed, the app!
It was brilliant. We were able to tune a local radio station on TuneIn, push a playlist from Spotify to those speakers, and listen downstairs and upstairs.
We were almost in love with this new setup. SO GOOD.
There’s this video streaming site that lets me cast videos to my TV, and very often there is good music to be found as well.
This is where the honeymoon phase with our new speakers ended.
There is no support to cast video, or at least the audio of a video, to our smart speakers. NOT VERY SMART!
Now what? And yes this slide looks bad. But this was our feeling!
Searched online, but all I could fine were excuses. These two companies are fighting patents, and generally not playing nice together.
I don’t care as a consumer!
But no way around it, this is what it was going to be.
In one of my searches, I did find an app which seemed to sort of do what I was after.
Except, yet another party to give permissions to. Why can’t I just use the “Share” button in that other app?
But then I found this page on the Sonos website.
Supported audio formats: MP4.
And that streaming website is MP4.
How hard can it be to push the video/audio URL to the device and be done with it?
Mention colleague usually snipes, although I have become proficient at sniping myself. Whih is not ideal.
Puting those steps in an app should be easy once the individual steps work.
So a few Google searches later, I found this Python library, SoCo.
It supports writing Python, or use command line to do things like discover speakers, change volume, play music, ...
This seemed great! So I went of and installed a Python environment.
That did not work...
Actual is wrong, it did say “pop” about a second after a send.
HUH? Now what?
Check some Sonos web UI, do some pinging/traceroute/...
Irony: finding a license free picture of a rabbit hole was quite the rabbit hole in itself.
The SoCo library did not have any issues, it seems. Who would have thought.
UPnP! Not sure what that knowledge brings, but does mean there migh be more documentation out there.
MP4 does not support streaming... Only local library.
Should I sniff payloads to se what is sent if I play MP4 from my phone library?
Seems like good fallbak in case needed, but ideally don’t want to download the full video first, then upload to the speaker. I want close to instant!
Maybe I could transcode MP4 to MP3 on the fly? Rabbit hole is deep enough as it is...
AAC does seem to work for Internet radio. And AAC is the audio compression format used in many MP4 files... Could this be an option?
Let’s talk a bit about containers.
Explain container format. Analogy: a ZIP file (but it’s not a ZIP file).
Frustration. But, we’re now so deep in the rabbit hole, this SHOULD work, right? RIGHT????
What do developers do when something does not work? Google!
All sites I found had “visited” color, damned! But on page 25 of some search I did, I found somthing...
I found a hacker! Who was investigating the same stuff... Since then, he did elaborate on the entire process, but back then he was around the same stage as I was in this investigation.
“hey, can i dm you? working on similar thing and we might be able to help each other.”
We startd chatting, and at some point he says to me:
“It’s AAC, but in ADTS format. Each atom needs a header in every frame!”
WAT?
All we need now is an app!
Also, I know NOTHING about Android development
Went wth Android Studio, at least I know the general workings of the IDE, as it’s the same base IDE as IntelliJ and Rider.
Started with empty activity. It’s debatable, but I prefer clean templates that I can add incremental things to, as opposed to full-blown templates that I have no idea what they are doing.
Could have picked Java, but chose Kotlin. It’s the de-facto Android language nowadays, and it’s very similar to C# - my “mother tongue” in programming languages, so to speak.
Also fully compatible with Java, so can use any libraries out there and whn needed, even mix languages in one project.
NOW WHAT?
Decided to start with the most important thing...
Behold, the UI design! This is also the final design of the app.
Activity already present, added the intent filter to accept URL data with https and something that looks like YouTube.
Based on a null check, we can do other things. So with that out of the way, we can start building!
Explain coroutine scope, it’s to enable async/await like features in Kotlin for this class.
Went to packages tab (package search plugin), and started adding random things that matched what I was after.
Ktor I knew from my colleague, who is building it out, and is a webserver/client framework.
Turns out there are many packages that can help run FFMpeg, even on android!
They are wrappers, and “sort of” run command line.
Which means we would have to download MP4 first, convert to ADTS, then stream to device.
Workable for 2-3 minute songs, but for a 1h30 DJ set that is 250 MB, it’s not ideal. We’re also messing up temporary storage on the device and all.
I want close to zero delay between playing and the stream starting!
Explain MP4 is a set of boxes, lots of pointers. But we will try to better visualize on the next slide.
Explain logic of injecting ADTS header for each frame
Start with AndroidManifest.xml, mention more than we saw on slides. For example, permissions.
Trial and error, based on what I was doing Android would throw an exception telling me which permission I was missing.
MainActivity - onCreate
Extract YouTube URL
If found, discover Sonos devices - discoverSonosDevices()
Explain withContext(Dispatchers.IO) { - run this on IO thread
Discover using multicast
Discover using broadcast
Look at code for those
If devices found, prompt using AlertDialog builder
When device selected, trySetupStreamingFor
Get YouTube metadata
Generate video URL on local IP address (wifi only)
Extract album art and all
device.playUri(....) using that SOAP request from earlier
onCreate also started a webserver, which runs as a foreground service
Needed to make sure our server keeps running even if we’re doing other stuff on our phone
RunEmbeddedWebServerService
get("/{videoId}.mp4")
Extract metadata again, get MP4 audio URL
Run MP4AacToAdtsAacConverter on the MP4 URL stream, using AacAdtsWriter
MP4AacToAdtsAacConverter is something I had to cook up. Lots of trial and error, and deadF00d helped with insights
Parse boxes, read header, then skip to samples and push those out with ADTS header each time
AacAdtsWriter - go through the byteshifting...
I recorded a demo back in january, but I think I look a bit tired there. So lt’s do that aga