~CONSTRUCTION OF AN ELECTRONIC TIMBRE DICTIONARY IN C++ FOR MULTIPLE PLATFORMS Naotoshi Osaka Hiromichi Tsuda Yoshitada Yamada Tokyo Denki University School of Science and Technology for Future life Tokyo, Japan osaka@im.dendai.ac.jp, (tsuda,yamadagsrl.im.dendai.ac.jp) ABSTRACT We have been building an electronic timbre dictionary as a support tool for sound creators, which provides them with sound materials from environmental sound database. Since in the previous system sub-modules were written independently in multiple languages, we restructured and integrated the subsystems in C++ to improve the processing speed and usability. In order to verify these improvements, we ran usability test using the search function of the three types, which resulted in a 96.3% rate of task completion, and a MOS (easiness) of 2.9, which was better than the previous system. These scores are considered to be satisfactory. This paper describes the system configuration as well. 1. INTRODUCTION We have been constructing an electronic timbre dictionary for the purpose of supporting computer music composition and multimedia content creation. For computer music composition and other sound media content creation, finding sound material can be the very first phase of the work sequence. However, recording all the materials on one's own is costly and sometimes impossible. We have been constructing an electronic timbre dictionary which provides sound material from an environmental sound database for such sound creators, with various search functions [1][2]. Freesound is a well known system of sound data [3]. The electronic timbre dictionary introduced here has a browsing mode as well as sound registration with an upload function for the users. The major features of our system are: a variety of search functions including inverse look up of the sound using onomatopoeia besides forward search and keyword search, and GUIbased sound exploration: a single stream of a sound is defined as a sound object and represented by a sphere in a 3D domain [2]. Acoustic feature types to define the displacement in 3D space are being under study that fits well to our auditory perception. Another aspect is that the system aims to act as a highquality sound database, so that the search results can be used in content creation. We have built a server-client application and a desktop (stand-alone) application. For the former type, the database can be shared publicly or limited to a closed group. The latter type is useful for personal and private use. The purpose of the system construction so far is to implement each module and examine each function assigned to the module. Therefore each module has been developed in different languages by different developers the - sound browser mode is written in Adobe Flex and the 3D timbre display function is written in Adobe Flash, while the coordinate mapping of sounds are written in C++. Resultantly, each module behaves rather independently and only the intrinsic function in each module has been tested, and the sequential flow of two related models or operation between two modules have not been sophisticated. Since the first stage of system goal is almost accomplished, we move to the second stage. Our next goal is in specified sound search. These independent functions should be integrated and the relevant data should be available via fast and shared access between modules. Previous sub-modules were constructed in different languages and some modules ran as a different application. Resultantly, cross-compilation and linking of two different languages were not necessarily possible, and sharing parameters and data became complicated. Because of the frequent update of the flash platform or Flex SDK, its portability was low. Moreover, the resultant application is more difficult to maintain and has slower processing speed than one written in a native program language. Therefore we have implemented the second version to consider strong cooperation among sub-systems. Specifically, we aimed to achieve three goals: multiplatform (Windows, Mac OS and Linux), fast processing speed, and easiness of linking modules. For these goals we selected a single lower level language: C++. The system adopts the Creative Commons licence [4] for sound data, which is considered to be suitable for sound content creators. For example, it is the license offered by freesound. This paper describes the system concepts and system configuration and evaluation test results for various sound search method. 2. SYSTEM CONFIGURATION 2.1. OpenGL as 3D graphics API For 3D timbre display, OpenGL[5] is adopted as a cross-platform 3D Graphics API. OpenGL is a portable programming interface, and does not depend on the OS and hardware types. Also, we adopted the GLUT (OpenGL Utility Toolkit), which is a class library of C++ designed based on the OpenGL, which reduces system development costs. 471 2013 ICMC 0
Top of page Top of page