This dataset is freely available for personal, educational and academic use only. Please add the following citation to any research paper referring to these data:
DREGON: Dataset and Methods for UAV-Embedded Sound Source Localization, Martin Strauss, Pol Mordel, Victor Miguet and Antoine Deleforge, IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) 2018.
All details on the hardware and environements used for this dataset are given inside the paper.
To download the files, right-click on their links and select “Save the link as…”.
For any enquiry, please contact Antoine Deleforge.
Microphone Array: Geometry and Properties
The positions of the 8 microphones in the array’s coordinate frame centered at the barycenter of the array are given in the following file: micPos.txt. The 8 microphones are omnidirectional. Detailed specifications of the microphone array and sound card used (8 sound USB) can be found here: https://sourceforge.net/p/eightsoundsusb/wiki/Main_Page/.
NEW! The files for reproducing our 3D print of the structure holding the microphones can be downloaded here in .stl format: 3Dprint.zip.
The structure holding the microphones is cubic, while the microphone constellation forms two parallel horizontal squares, each being twisted in opposite directions in the azimuthal plane. The figures below depicts the array geometry, the source spherical coordinate frame and the relative positions of the drone’s rotors (click to enlarge):
A Matlab script containing the precise coordinate values to reproduce these figures is available on GitHub: plot_structure.m.
In-Flight Source Recordings
Free Flight – Speech Source at High Volume (Room 1)
The average signal-to-noise ratio between take off and landing is -12.8 dB.
Download all data for this flight (details below): DREGON_free-flight_speech-high_room1.zip.
- 8-channel raw audio file @44.1 kHz: DREGON_free-flight_speech-high_room1.wav.
- Audio timestamps: DREGON_free-flight_speech-high_room1_audiots.mat. The vector audio_timestamps in this Matlab file contains as many entries as samples in the .wav file. Each entry is the universal timestamp of the corresponding audio sample. These timestamps were manually aligned based on the motor logs, with errors inferior to 0.1 second.
- Ground-truth relative source position: DREGON_free-flight_speech-high_room1_sourcepos.mat. The structure source_position in this Matlab file contains 4 fields timestamps, azimuth, elevation and distance which are vectors of the same size. They contain the time-stamped 3D relative positions of the target source in the UAV’s frame in spherical coordinates, as obtained by the Vicon motion capture system.
- Motor speed logs: DREGON_free-flight_speech-high_room1_motors.mat. The structure motor in this Matlab file contains 3 fields timestamps, measured, and command, containing arrays with the same number of rows. These arrays respectively contain the motor timestamps, the measured speeds of the 4 rotors and the command speed of the 4 rotors.
- Innertial Measurement Unit (IMU) logs: DREGON_free-flight_speech-high_room1_imu.mat. The structure imu in this Matlab file contains 3 fields timestamps, angular_velocity, and acceleration, containing arrays with the same number of rows. These arrays respectively contain the imu timestamps, the imu 3D angular velocities and the imu 3D accelerations.
Free Flight – Speech Source at Low Volume (Room 1)
The average signal-to-noise ratio between take off and landing is -16.2 dB.
Download all data for this flight (details below): DREGON_free-flight_speech-low_room1.zip.
- 8-channel raw audio file @44.1 kHz: DREGON_free-flight_speech-low_room1.wav.
- Audio timestamps: DREGON_free-flight_speech-low_room1_audiots.mat. The vector audio_timestamps in this Matlab file contains as many entries as samples in the .wav file. Each entry is the universal timestamp of the corresponding audio sample. These timestamps were manually aligned based on the motor logs, with errors inferior to 0.1 second.
- Ground-truth relative source position: DREGON_free-flight_speech-low_room1_sourcepos.mat. The structure source_position in this Matlab file contains 4 fields timestamps, azimuth, elevation and distance which are vectors of the same size. They contain the time-stamped 3D relative positions of the target source in the UAV’s frame in spherical coordinates, as obtained by the Vicon motion capture system.
- Motor speed logs: DREGON_free-flight_speech-low_room1_motors.mat. The structure motor in this Matlab file contains 3 fields timestamps, measured, and command, containing arrays with the same number of rows. These arrays respectively contain the motor timestamps, the measured speeds of the 4 rotors and the command speed of the 4 rotors.
- Innertial Measurement Unit (IMU) logs: DREGON_free-flight_speech-low_room1_imu.mat. The structure imu in this Matlab file contains 3 fields timestamps, angular_velocity, and acceleration, containing arrays with the same number of rows. These arrays respectively contain the imu timestamps, the imu 3D angular velocities and the imu 3D accelerations.
Free Flight – White Noise Source at High Volume (Room 1)
The average signal-to-noise ratio between take off and landing is -11.8 dB.
Download all data for this flight (details below): DREGON_free-flight_whitenoise-high_room1.zip.
- 8-channel raw audio file @44.1 kHz: DREGON_free-flight_whitenoise-high_room1.wav.
- Audio timestamps: DREGON_free-flight_whitenoise-high_room1_audiots.mat. The vector audio_timestamps in this Matlab file contains as many entries as samples in the .wav file. Each entry is the universal timestamp of the corresponding audio sample. These timestamps were manually aligned based on the motor logs, with errors inferior to 0.1 second.
- Ground-truth relative source position: DREGON_free-flight_whitenoise-high_room1_sourcepos.mat. The structure source_position in this Matlab file contains 4 fields timestamps, azimuth, elevation and distance which are vectors of the same size. They contain the time-stamped 3D relative positions of the target source in the UAV’s frame in spherical coordinates, as obtained by the Vicon motion capture system.
- Motor speed logs: DREGON_free-flight_whitenoise-high_room1_motors.mat. The structure motor in this Matlab file contains 3 fields timestamps, measured, and command, containing arrays with the same number of rows. These arrays respectively contain the motor timestamps, the measured speeds of the 4 rotors and the command speed of the 4 rotors.
- Innertial Measurement Unit (IMU) logs: DREGON_free-flight_whitenoise-high_room1_imu.mat. The structure imu in this Matlab file contains 3 fields timestamps, angular_velocity, and acceleration, containing arrays with the same number of rows. These arrays respectively contain the imu timestamps, the imu 3D angular velocities and the imu 3D accelerations.
Free Flight – White Noise Source at Low Volume (Room 1)
The average signal-to-noise ratio between take off and landing is -16.0 dB.
Download all data for this flight (details below): DREGON_free-flight_whitenoise-low_room1.zip.
- 8-channel raw audio file @44.1 kHz: DREGON_free-flight_whitenoise-low_room1.wav.
- Audio timestamps: DREGON_free-flight_whitenoise-low_room1_audiots.mat. The vector audio_timestamps in this Matlab file contains as many entries as samples in the .wav file. Each entry is the universal timestamp of the corresponding audio sample. These timestamps were manually aligned based on the motor logs, with errors inferior to 0.1 second.
- Ground-truth relative source position: DREGON_free-flight_whitenoise-low_room1_sourcepos.mat. The structure source_position in this Matlab file contains 4 fields timestamps, azimuth, elevation and distance which are vectors of the same size. They contain the time-stamped 3D relative positions of the target source in the UAV’s frame in spherical coordinates, as obtained by the Vicon motion capture system.
- Motor speed logs: DREGON_free-flight_whitenoise-low_room1_motors.mat. The structure motor in this Matlab file contains 3 fields timestamps, measured, and command, containing arrays with the same number of rows. These arrays respectively contain the motor timestamps, the measured speeds of the 4 rotors and the command speed of the 4 rotors.
- Innertial Measurement Unit (IMU) logs: DREGON_free-flight_whitenoise-low_room1_imu.mat. The structure imu in this Matlab file contains 3 fields timestamps, angular_velocity, and acceleration, containing arrays with the same number of rows. These arrays respectively contain the imu timestamps, the imu 3D angular velocities and the imu 3D accelerations.
Silent Flight – White Noise Source at Low Volume (Room 1)
In this recording, the motors of the UAV were off, and a “flight” was simulated by a human operator moving the drone around in the room.
Download all data for this flight (details below): DREGON_silent-flight_whitenoise-low_room1.zip.
- 8-channel raw audio file @44.1 kHz: DREGON_silent-flight_whitenoise-low_room1.wav.
- Audio timestamps: DREGON_silent-flight_whitenoise-low_room1_audiots.mat. The vector audio_timestamps in this Matlab file contains as many entries as samples in the .wav file. Each entry is the universal timestamp of the corresponding audio sample. These timestamps were manually aligned based on the motor logs, with errors inferior to 0.1 second.
- Ground-truth relative source position: DREGON_silent-flight_whitenoise-low_room1_sourcepos.mat. The structure source_position in this Matlab file contains 4 fields timestamps, azimuth, elevation and distance which are vectors of the same size. They contain the time-stamped 3D relative positions of the target source in the UAV’s frame in spherical coordinates, as obtained by the Vicon motion capture system.
Clean Emitted Source Signals During Flights
These are the emitted source signals:
- Speech : 2min_TIMIT.wav.
- White Noise : 2min_white_noise.wav.
In-Flight Noise-Only Recordings
Free Flight – No Source (Room 1)
Download all data for this flight: DREGON_free-flight_nosource_room1.zip.
Individual files description:
- 8-channel raw audio file @44.1 kHz: DREGON_free-flight_nosource_room1.wav.
- Audio timestamps: DREGON_free-flight_nosource_room1_audiots.mat. The vector audio_timestamps in this Matlab file contains as many entries as samples in the .wav file. Each entry is the universal timestamp of the corresponding audio sample. These timestamps were manually aligned based on the motor logs, with errors inferior to 0.1 second.
- Motor speed logs: DREGON_free-flight_nosource_room1_motors.mat. The structure motor in this Matlab file contains 3 fields timestamps, measured, and command, containing arrays with the same number of rows. These arrays respectively contain the motor timestamps, the measured speeds of the 4 rotors and the command speed of the 4 rotors.
- Innertial Measurement Unit (IMU) logs: DREGON_free-flight_nosource_room1_imu.mat. The structure imu in this Matlab file contains 3 fields timestamps, angular_velocity, and acceleration, containing arrays with the same number of rows. These arrays respectively contain the imu timestamps, the imu 3D angular velocities and the imu 3D accelerations.
Free Flight – No Source (Room 2)
Download all data for this flight (details below): DREGON_free-flight_nosource_room2.zip.
- 8-channel raw audio file @44.1 kHz: DREGON_free-flight_nosource_room2.wav.
- Audio timestamps: DREGON_free-flight_nosource_room2_audiots.mat. The vector audio_timestamps in this Matlab file contains as many entries as samples in the .wav file. Each entry is the universal timestamp of the corresponding audio sample. These timestamps were manually aligned based on the motor logs, with errors inferior to 0.1 second.
- Motor speed logs: DREGON_free-flight_nosource_room2_motors.mat. The structure motor in this Matlab file contains 2 fields timestamps and command, containing arrays with the same number of rows. These arrays respectively contain the motor timestamps and the command speed of the 4 rotors.
- Innertial Measurement Unit (IMU) logs: DREGON_free-flight_nosource_room2_imu.mat. The structure imu in this Matlab file contains 3 fields timestamps, angular_velocity, and acceleration, containing arrays with the same number of rows. These arrays respectively contain the imu timestamps, the imu 3D angular velocities and the imu 3D accelerations.
Hovering – No Source (Room 2)
Download all data for this flight (details below): DREGON_hovering_nosource_room2.zip.
- 8-channel raw audio file @44.1 kHz: DREGON_hovering_nosource_room2.wav.
- Audio timestamps: DREGON_hovering_nosource_room2_audiots.mat. The vector audio_timestamps in this Matlab file contains as many entries as samples in the .wav file. Each entry is the universal timestamp of the corresponding audio sample. These timestamps were manually aligned based on the motor logs, with errors inferior to 0.1 second.
- Motor speed logs: DREGON_hovering_nosource_room2_motors.mat. The structure motor in this Matlab file contains 2 fields timestamps and command, containing arrays with the same number of rows. These arrays respectively contain the motor timestamps and the command speed of the 4 rotors.
- Innertial Measurement Unit (IMU) logs: DREGON_hovering_nosource_room2_imu.mat. The structure imu in this Matlab file contains 3 fields timestamps, angular_velocity, and acceleration, containing arrays with the same number of rows. These arrays respectively contain the imu timestamps, the imu 3D angular velocities and the imu 3D accelerations.
Up & Down – No Source (Room 2)
Download all data for this flight (details below): DREGON_updown_nosource_room2.zip.
- 8-channel raw audio file @44.1 kHz: DREGON_updown_nosource_room2.wav.
- Audio timestamps: DREGON_updown_nosource_room2_audiots.mat. The vector audio_timestamps in this Matlab file contains as many entries as samples in the .wav file. Each entry is the universal timestamp of the corresponding audio sample. These timestamps were manually aligned based on the motor logs, with errors inferior to 0.1 second.
- Motor speed logs: DREGON_updown_nosource_room2_motors.mat. The structure motor in this Matlab file contains 2 fields timestamps and command, containing arrays with the same number of rows. These arrays respectively contain the motor timestamps and the command speed of the 4 rotors.
- Innertial Measurement Unit (IMU) logs: DREGON_updown_nosource_room2_imu.mat. The structure imu in this Matlab file contains 3 fields timestamps, angular_velocity, and acceleration, containing arrays with the same number of rows. These arrays respectively contain the imu timestamps, the imu 3D angular velocities and the imu 3D accelerations.
Rectangle – No Source (Room 2)
Download all data for this flight (details below): DREGON_rectangle_nosource_room2.zip.
- 8-channel raw audio file @44.1 kHz: DREGON_rectangle_nosource_room2.wav.
- Audio timestamps: DREGON_rectangle_nosource_room2_audiots.mat. The vector audio_timestamps in this Matlab file contains as many entries as samples in the .wav file. Each entry is the universal timestamp of the corresponding audio sample. These timestamps were manually aligned based on the motor logs, with errors inferior to 0.1 second.
- Motor speed logs: DREGON_rectangle_nosource_room2_motors.mat. The structure motor in this Matlab file contains 2 fields timestamps and command, containing arrays with the same number of rows. These arrays respectively contain the motor timestamps and the command speed of the 4 rotors.
- Innertial Measurement Unit (IMU) logs: DREGON_rectangle_nosource_room2_imu.mat. The structure imu in this Matlab file contains 3 fields timestamps, angular_velocity, and acceleration, containing arrays with the same number of rows. These arrays respectively contain the imu timestamps, the imu 3D angular velocities and the imu 3D accelerations.
Spinning – No Source (Room 2)
Download all data for this flight (details below): DREGON_spinning_nosource_room2.zip.
- 8-channel raw audio file @44.1 kHz: DREGON_spinning_nosource_room2.wav.
- Audio timestamps: DREGON_spinning_nosource_room2_audiots.mat. The vector audio_timestamps in this Matlab file contains as many entries as samples in the .wav file. Each entry is the universal timestamp of the corresponding audio sample. These timestamps were manually aligned based on the motor logs, with errors inferior to 0.1 second.
- Motor speed logs: DREGON_spinning_nosource_room2_motors.mat. The structure motor in this Matlab file contains 2 fields timestamps and command, containing arrays with the same number of rows. These arrays respectively contain the motor timestamps and the command speed of the 4 rotors.
- Innertial Measurement Unit (IMU) logs: DREGON_spinning_nosource_room2_imu.mat. The structure imu in this Matlab file contains 3 fields timestamps, angular_velocity, and acceleration, containing arrays with the same number of rows. These arrays respectively contain the imu timestamps, the imu 3D angular velocities and the imu 3D accelerations.
Noise-Free Recordings
For these recordings, the microphone array was fixed on a tripod while a loudspeaker (also fixed on a tripod) was placed at different relative directions (azimuth, elevation) and distances from the array. The recordings were made in a third, semi-anechoic and acoustically isolated room. They can be conveniently summed up with the noise-only recordings provided above in order to simulate various audio-scenes.
All .zip files provided below contain 28 8-channel .wav files @44.1 kHz. The .wav files are named according to the format XX_YY_ZZ.wav where XX denotes the relative azimuth, YY the relative elevation and ZZ the relative distance of the loudspeaker from the array.
- The loudspeaker emits speech: DREGON_clean_recordings_speech.zip.
- The loudspeaker emits whitenoise: DREGON_clean_recordings_whitenoise.zip.
- The loudspeaker emits chirps: DREGON_clean_recordings_chirps.zip.
Individual Motor Recordings
For these recordings, the UAV equipped with the microphone array was fixed on a nylon string hanging freely in the room and held still by a human operator. This was done in order to record pure motor noise at a chosen speed without having the influence of balancing and stabilizing movements and with limited amount of in-flight wind noise.
The .zip file provided below contains 21 8-channel .wav files @44.1 kHz. The .wav files are named according to the convention MotorX_YY.wav where X is the motor number from 1 to 4 and YY is the motor speed in turn/second from 50 to 90. An additional recording allMotors_70.wav is also provided.
- Individual motor recordings at different speed: DREGON_individual_motors_recordings.zip.